From d3bf339bd64d7b7efddc0afdd4beb1866b8b5a04 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期六, 21 九月 2024 00:47:55 +0800 Subject: [PATCH] 代码提交 --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 219 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 129 insertions(+), 90 deletions(-) diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java index 89d4236..dfe47ea 100644 --- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java @@ -2,6 +2,8 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.reflect.TypeToken; import com.google.gson.Gson; import com.google.gson.JsonArray; @@ -24,14 +26,18 @@ import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.Transactional; +import java.io.IOException; import java.io.UnsupportedEncodingException; import java.lang.reflect.Type; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.*; @@ -112,6 +118,40 @@ System.out.println("鎵ц鏃犲弬鏂规硶"); } + public void importData() { +// String filePath = "path/to/your/file.txt"; // 鏇挎崲涓轰綘鐨勬枃浠惰矾寰� +// +// try { +// // 璇诲彇鏂囦欢鍐呭 +// String jsonContent = new String(Files.readAllBytes(Paths.get(filePath))); +// +// // 鍒涘缓ObjectMapper瀵硅薄 +// ObjectMapper objectMapper = new ObjectMapper(); +// +// // 瑙f瀽JSON涓篔sonNode +// JsonNode rootNode = objectMapper.readTree(jsonContent); +// // 鑾峰彇resultList +// JsonNode resultListNode = rootNode.path("results").path("resultList"); +// // 閬嶅巻resultList涓殑姣忎釜瀵硅薄 +// for (JsonNode item : resultListNode) { +// String userName = item.path("staffNum").asText(); +// String idCard = item.path("idCard").asText(); +// String personnelStampNum = item.path("defaultWardId").asText(); +// String personnelStampNum = item.path("defaultWardName").asText(); +// String deptName = item.path("defaultDeptName").asText(); +// String deptCode = item.path("defaultDeptId").asText(); +// String phonenumber = item.path("telphone").asText(); +// String nickName = item.path("staffName").asText(); +// String sex = item.path("staffSex").asText(); +// +// } +// +// } catch (IOException e) { +// e.printStackTrace(); +// } + + } + public void analysisData() { System.out.println("---------------------------"); //鏁版嵁瑙f瀽 @@ -186,60 +226,11 @@ List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st); log.error("serviceTasks杩涙潵浜嗗悧锛焮}", serviceTasks); for (ServiceTask serviceTask : serviceTasks) { - - //閫氳繃taskId,鑾峰彇鏈墽琛岀殑瀛愪换鍔′俊鎭� - ServiceSubtaskVO serviceSubtask = new ServiceSubtaskVO(); - serviceSubtask.setTaskid(serviceTask.getTaskid()); - serviceSubtask.setSendstate(2L); - List<ServiceSubtask> selectServiceSubtaskList = iServiceSubtaskService.selectServiceSubtaskList(serviceSubtask); - log.error("selectServiceSubtaskList杩涙潵浜嗗悧锛焮}", selectServiceSubtaskList); - if (CollectionUtils.isNotEmpty(selectServiceSubtaskList)) { - for (ServiceSubtask serviceSubtask1 : selectServiceSubtaskList) { - //濡傛灉鎮h�呯殑鍙戦�佹棩鏈熸槸浠婂ぉ锛屽垯杩涜鍙戦�� - try { - boolean dateToday = isDateToday(serviceSubtask1.getLongSendTime()); - if (dateToday) { - //鍏堝垽鏂偅鑰呮槸涓嶆槸杩樿鍙戦�� - PatArchive patArchive = patArchiveService.selectPatArchiveByPatid(serviceSubtask1.getPatid()); - if (!Objects.isNull(patArchive) && patArchive.getNotrequiredFlag() == "1") { - //涓嶉渶瑕佸彂閫� - serviceSubtask1.setResult("error"); - serviceSubtask1.setRemark(patArchive.getNotrequiredreason()); - serviceSubtask1.setSendstate(4L); - serviceSubtask1.setFinishtime(new Date()); - iServiceSubtaskService.insertServiceSubtask(serviceSubtask1); - continue; - } - - log.error("dateToday杩涙潵浜嗗悧锛焮}", dateToday); - CommonTaskcallMQ commonTaskcallMQ = new CommonTaskcallMQ(); - commonTaskcallMQ.setTaskid(serviceTask.getTaskid()); - commonTaskcallMQ.setPreachform(serviceSubtask1.getServiceform()); - commonTaskcallMQ.setSendType("2"); - Map<String, Object> map = sfHandlle(commonTaskcallMQ, localIP); - //鍙戦�佸畬鎴愬悗锛屼慨鏀圭姸鎬� - serviceSubtask1.setSendstate(3L); - if ((Boolean) map.get("succ") == false) { - serviceSubtask1.setResult("success"); - } else { - serviceSubtask1.setResult("error"); - serviceSubtask1.setRemark(map.get("msg").toString()); - } - iServiceSubtaskService.updateServiceSubtask(serviceSubtask1); - } - } catch (Exception e) { - String guid = UUID.randomUUID().toString(); - log.error("闀挎湡浠诲姟锛屽彂閫佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid); - serviceSubtask1.setResult("error"); - serviceSubtask1.setRemark("绯荤粺閿欒"); - serviceSubtask1.setSendstate(5L); - serviceSubtask1.setFinishtime(new Date()); - serviceSubtask1.setGuid(guid); - iServiceSubtaskService.insertServiceSubtask(serviceSubtask1); - } - } - } - + CommonTaskcallMQ commonTaskcallMQ = new CommonTaskcallMQ(); + commonTaskcallMQ.setTaskid(serviceTask.getTaskid()); + commonTaskcallMQ.setPreachform(serviceTask.getPreachform()); + commonTaskcallMQ.setSendType("2"); + sfHandlle(commonTaskcallMQ, localIP); } } @@ -250,6 +241,11 @@ * @return */ public boolean isDateToday(Date date) { + //濡傛灉缁欑殑鏃ユ湡灏忎簬褰撳墠鏃ユ湡锛屼篃鐩存帴鍙戦�� + LocalDateTime localDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + if (localDateTime.isBefore(LocalDateTime.now())) { + return true; + } // 鑾峰彇褰撳墠鏃ユ湡 Calendar calendarNow = Calendar.getInstance(); int todayYear = calendarNow.get(Calendar.YEAR); @@ -264,7 +260,7 @@ return (calendarToCheck.get(Calendar.YEAR) == todayYear && calendarToCheck.get(Calendar.MONTH) == todayMonth && calendarToCheck.get(Calendar.DAY_OF_MONTH) == todayDay); } - public Map<String, Object> sfHandlle(CommonTaskcallMQ commonTaskcallMQ, String ip) { + public void sfHandlle(CommonTaskcallMQ commonTaskcallMQ, String ip) { log.error("sfHandlle杩涙潵浜嗗悧锛焮}", commonTaskcallMQ); //鍒ゆ柇涓�涓媍ommonTaskcallMQ涓殑stopstate鏄惁涓巌vr_task涓殑涓�鑷达紝涓嶄竴鑷达紝鍒欒鏄庢槸鏆傚仠浜� ServiceTask ivrTask1 = serviceTaskMapper.selectServiceTaskByTaskid(commonTaskcallMQ.getTaskid()); @@ -279,6 +275,7 @@ //閫氳繃浠诲姟ID鎷垮埌鎮h�呬俊鎭� ServiceSubtaskVO ivrTaskcall = new ServiceSubtaskVO(); ivrTaskcall.setTaskid(commonTaskcallMQ.getTaskid()); + ivrTaskcall.setSendstate(2L); List<ServiceSubtask> selectServiceSubtaskList = iServiceSubtaskService.selectServiceSubtaskList(ivrTaskcall); if (descByCode.equals("鐢佃瘽")) { for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { @@ -333,10 +330,8 @@ } } else if (descByCode.equals("澶氬獟浣�")) { //澶氬獟浣� - return null; } else if (descByCode.equals("绾歌川")) { //绾歌川 - return null; } else if (descByCode.equals("鐭俊")) { //鐭俊 // http://localhost:8099/followvisit/particty?param1=3¶m2=348 @@ -361,7 +356,7 @@ serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); serviceSubtaskRecord.setResult(aBoolean == true ? "鎴愬姛" : "澶辫触"); serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); - return null; + } } else if (descByCode.equals("鍏紬鍙�")) { log.error("鍏紬鍙疯繘鏉ヤ簡鍚楋紵{}", descByCode); @@ -370,34 +365,63 @@ String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key); for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) { log.error("serviceSubtask---------杩涙潵浜嗗悧锛焮}", serviceSubtask); - String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); - String url = null; - try { - url = ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"; - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - String wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), "鏃�"); - Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class); + boolean dateToday = isDateToday(serviceSubtask.getLongSendTime()); + if (dateToday) { + try { + //鍏堝垽鏂偅鑰呮槸涓嶆槸杩樿鍙戦�� + PatArchive patArchive = patArchiveService.selectPatArchiveByPatid(serviceSubtask.getPatid()); + if (!Objects.isNull(patArchive) && patArchive.getNotrequiredFlag() == "1") { + //涓嶉渶瑕佸彂閫� + serviceSubtask.setResult("error"); + serviceSubtask.setRemark(patArchive.getNotrequiredreason()); + serviceSubtask.setSendstate(4L); + serviceSubtask.setFinishtime(new Date()); + iServiceSubtaskService.insertServiceSubtask(serviceSubtask); + continue; + } + String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); + String url = null; + url = ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false"; + String wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), "鏃�"); + Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class); - //浠诲姟鍙戦�佽褰� - ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); - serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); - serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); - serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); - serviceSubtaskRecord.setPreachform("4"); - serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); - serviceSubtaskRecord.setResult("success"); - if (!map.isEmpty() && (Boolean) map.get("succ") == false) - serviceSubtaskRecord.setResult("error"); - serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); - return map; + //浠诲姟鍙戦�佽褰� + ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord(); + serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString()); + serviceSubtaskRecord.setUuid(UUID.randomUUID().toString()); + serviceSubtaskRecord.setTasktype(serviceSubtask.getType()); + serviceSubtaskRecord.setPreachform("4"); + serviceSubtaskRecord.setStartTime(System.currentTimeMillis()); + serviceSubtaskRecord.setResult("success"); + if (!map.isEmpty() && (Boolean) map.get("succ") == false) + serviceSubtaskRecord.setResult("error"); + serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord); + + //鍙戦�佸畬鎴愬悗锛屼慨鏀圭姸鎬� + serviceSubtask.setSendstate(3L); + if ((Boolean) map.get("succ") == true) { + serviceSubtask.setResult("success"); + } else { + serviceSubtask.setResult("error"); + serviceSubtask.setRemark(map.get("msg").toString()); + } + iServiceSubtaskService.updateServiceSubtask(serviceSubtask); + } catch (Exception e) { + String guid = UUID.randomUUID().toString(); + log.error("闀挎湡浠诲姟锛屽彂閫佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid); + serviceSubtask.setResult("error"); + serviceSubtask.setRemark("绯荤粺閿欒"); + serviceSubtask.setSendstate(5L); + serviceSubtask.setFinishtime(new Date()); + serviceSubtask.setGuid(guid); + iServiceSubtaskService.updateServiceSubtask(serviceSubtask); + } + } } } //閫氱煡 MQ 娑堟伅宸茶鎺ユ敹,鍙互ACK(浠庨槦鍒椾腑鍒犻櫎)浜� 锛堣繖涓渶瑕佹牴鎹笟鍔″啀鍘诲鐞咥CK锛� } } - return null; } @@ -407,10 +431,6 @@ */ @Transactional public void getInHospInfo(String cry, LocalDateTime startTime, LocalDateTime endTime) { - // 鑾峰彇褰撳墠鏃ユ湡鍜屾椂闂� - LocalDateTime currentDateTime = LocalDateTime.now(); - // 鑾峰彇鍓嶄竴澶╃殑鏃ユ湡鍜屾椂闂� - LocalDateTime previousDateTime = currentDateTime.minusDays(1); // 瀹氫箟鏃ユ湡鏃堕棿鏍煎紡 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"); Map<String, String> req = new HashMap<>(); @@ -428,7 +448,7 @@ header.put("x-hcsb-version", "2.0"); header.put("x-hcsb-sourcesyscode", "14"); header.put("x-hcsb-token", "ArGE2JnHtxG/Zx5nrnGY4eOfMUJGGJokAJHigG1BrCY="); - header.put("x-hcsb-msgdate", currentDateTime.format(formatter)); + header.put("x-hcsb-msgdate", startTime.format(formatter)); String result = HttpUtils.sendPostByHeader(hospInfoUrl, new Gson().toJson(req), header); //鏁版嵁瑙f瀽 Gson gson = new Gson(); @@ -453,10 +473,15 @@ patArchive.setPatientno(thiedInhospInfo.getPatiMediaNo()); patArchive.setSourcefrom(2); patArchive.setPattype("2"); - if (thiedInhospInfo.getOutWayId().equals("4")) { + if (StringUtils.isNotEmpty(thiedInhospInfo.getOutWayId()) && thiedInhospInfo.getOutWayId().equals("4")) { //濡傛灉涓�4灏辨槸姝讳骸 patArchive.setNotrequiredFlag("1"); patArchive.setNotrequiredreason(thiedInhospInfo.getOutWayName()); + } + if (cry.equals("1") && StringUtils.isEmpty(thiedInhospInfo.getOutWayId())) { + //濡傛灉涓�4灏辨槸姝讳骸 + patArchive.setNotrequiredFlag("1"); + patArchive.setNotrequiredreason("鍑洪櫌鏂瑰紡涓虹┖"); } patArchive.setSex(thiedInhospInfo.getPatiRecordGender().equals("鐢�") ? 1L : 2L); patArchive.setNation(thiedInhospInfo.getPatiNation()); @@ -468,7 +493,11 @@ } catch (ParseException e) { e.printStackTrace(); } - patArchive.setAge(Long.valueOf(thiedInhospInfo.getTreateAge())); + if (thiedInhospInfo.getTreateAge() != null) { + patArchive.setAge(Long.valueOf(thiedInhospInfo.getTreateAge())); + } else { + patArchive.setAge(null); + } patArchive.setAgeUnit(thiedInhospInfo.getTreatAgeunit()); patArchive.setTelcode(thiedInhospInfo.getCompanyTelNum()); patArchive.setRelativetelcode(thiedInhospInfo.getContactPersonPhone()); @@ -480,6 +509,7 @@ } else { patArchive = patArchives.get(0); } + log.error("鍏ュ弬鐨刾atArchive锛歿}", patArchive); PatMedInhosp patMedInhosp = new PatMedInhosp(); patMedInhosp.setPatid(patArchive.getId()); @@ -531,7 +561,16 @@ patMedInhosp.setLeavehospitaldistrictcode(thiedInhospInfo.getCurrWardId()); patMedInhosp.setLeavehospitaldistrictname(thiedInhospInfo.getCurrWardName()); patMedInhosp.setLeaveldeptid(thiedInhospInfo.getCurrDeptCode()); - patMedInhospService.insertPatMedInhosp(patMedInhosp); + //濡傛灉鏄嚭闄紝鍏堥�氳繃鎮h�呯紪鍙峰拰娴佹按鍙峰幓鏌ヤ竴涓嬶紝鎮h�呮槸鍚﹀瓨鍦紝濡傛灉瀛樺湪锛屽垯杩涜淇敼 + PatMedInhosp inhosp = new PatMedInhosp(); + inhosp.setInhospno(patArchive.getPatientno()); + inhosp.setSerialnum(patMedInhosp.getSerialnum()); + List<PatMedInhosp> patMedInhosps = patMedInhospService.selectPatMedInhospList(inhosp); + if (CollectionUtils.isNotEmpty(patMedInhosps)) { + patMedInhospService.updatePatMedInhosp(patMedInhosp); + } else { + patMedInhospService.insertPatMedInhosp(patMedInhosp); + } } } @@ -577,7 +616,7 @@ String result = HttpUtils.sendPost(thirdWXUrl, new Gson().toJson(xinHuaWXReq)); JSONObject jsonObject = JSONObject.parseObject(result); - String code = (String) jsonObject.get("code"); - return code; +// String code = (String) jsonObject.get("code"); + return jsonObject.toString(); } } -- Gitblit v1.9.3