From 6659135780e718758417efde4c8c351c69e3755b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 11 十二月 2025 15:52:19 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |  138 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 107 insertions(+), 31 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 36599c4..451eb72 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
@@ -1,6 +1,8 @@
 package com.ruoyi.quartz.task;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.gson.Gson;
@@ -35,7 +37,6 @@
 import java.nio.file.Files;
 import java.nio.file.Paths;
 import java.security.MessageDigest;
-import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
@@ -204,14 +205,12 @@
     }
 
     public void analysisData() {
-        System.out.println("---------------------------");
         //鏁版嵁瑙f瀽
         ServiceThirdData serviceThirdData = new ServiceThirdData();
         serviceThirdData.setDataType("ADT^A03");
         serviceThirdData.setIsDeal(0);
         serviceThirdData.setCreateTime(new Date());
         iServiceThirdDataService.queryList(serviceThirdData);
-
     }
 
     /**
@@ -223,7 +222,7 @@
 
 
     /**
-     * 澶勭悊HIS鏁版嵁閲囬泦
+     * HIS鏁版嵁閲囬泦
      * 瀹氭椂浠诲姟锛氶噰闆嗘偅鑰呬俊鎭�佸嚭闄€�侀棬璇婃暟鎹�
      */
     public void dealHisData() {
@@ -311,46 +310,68 @@
 
                 // 鐪佺珛鍚屽痉鏁版嵁閲囬泦
                 for (Long cid : campusidList) {
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    String yesterday = LocalDate.now().minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
                     String nowTime = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
                     ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
                     serviceSLTDInhospReqVO.setOrgId("20001001");
                     serviceSLTDInhospReqVO.setCampusId(cid);
+                    serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
+                    serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
+                    List<String> list = new ArrayList<>();
+//                    list.add("FH0108.02");
+                    list.add("FH0109.22");
+                    list.add("FH0109.23");
+                    list.add("FH0109.53");
+                    serviceSLTDInhospReqVO.setStatusList(list);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                    serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    serviceSLTDInhospReqVO.setOrgId("20001001");
+                    serviceSLTDInhospReqVO.setCampusId(cid);
+                    serviceSLTDInhospReqVO.setEncounterTimeStart(null);
+                    serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
                     serviceSLTDInhospReqVO.setStartHeadTime(nowTime);
                     serviceSLTDInhospReqVO.setStartTailTime(nowTime);
-                    List<String> list = new ArrayList<>();
-                    list.add("FH0108.02");
-                    serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list);
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                    List<String> listStr = new ArrayList<>();
+//                    list.add("FH0108.02");
+                    listStr.add("FH0109.26");
+                    serviceSLTDInhospReqVO.setStatusList(listStr);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
                     serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
 
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
                     serviceSLTDInhospReqVO.setStartHeadTime(null);
                     serviceSLTDInhospReqVO.setStartTailTime(null);
                     serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
                     serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
+                    serviceSLTDInhospReqVO.setStatusList(null);
                     List<String> list1 = new ArrayList<>();
                     list1.add("FH0108.01");
                     list1.add("FH0108.03");
                     serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1);
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
                     serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
 
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
                     serviceSLTDInhospReqVO.setStartHeadTime(null);
                     serviceSLTDInhospReqVO.setStartTailTime(null);
                     serviceSLTDInhospReqVO.setEncounterTimeStart(null);
                     serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
                     serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(nowTime);
                     serviceSLTDInhospReqVO.setPreOutHospitalTailDate(nowTime);
+                    serviceSLTDInhospReqVO.setHealthcareRecordTypeList(null);
                     List<String> list2 = new ArrayList<>();
-                    list2.add("FH0108.02");
-                    serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list2);
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+//                    list2.add("FH0108.02");
+                    list2.add("FH0109.27");
+                    serviceSLTDInhospReqVO.setStatusList(list2);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
                     serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
                 }
 //                SysConfig sysConfig = sysConfigs.get(0);
 //                sysConfig.setConfigValue(nowTime);
@@ -386,11 +407,12 @@
      * 澶勭悊鎮h�呬俊鎭紝杩涘叆瀛愪换鍔¤〃
      */
     public void dealOutHospInfo() {
+        String config = configService.selectConfigByKey("visit.early.day");
         if (port.equals("8095")) {
             //鍑洪櫌琛�
-            iPatMedInhospService.dealOutHospInfo();
-            //闂ㄨ瘖琛�
-            if (active.equals("xh")) {
+            iPatMedInhospService.dealOutHospInfo(config);
+            //闂ㄨ瘖琛�(鏂板崕鐨勬殏鏃朵笉鍋氶棬璇婇殢璁�)
+            if (!active.equals("xh")) {
                 iPatMedOuthospService.dealOutpatientInfo();
             }
         }
@@ -418,7 +440,7 @@
 
 
     /**
-     * 闀挎湡浠诲姟鎵ц
+     *
      */
     public void longTaskSend() {
         //鑾峰彇浠诲姟淇℃伅
@@ -656,16 +678,29 @@
                         req.put("content", sendMagParam.getContent());
                         isSuccess = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
                     } else if (active.equals("ls")) {
-                        String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid());
-                        //涓芥按鐨勭煭淇″彂閫佹柟寮�
-                        Map<String, String> map = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid());
-                        String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid(), url);
-                        if (ObjectUtils.isNotEmpty(map) && StringUtils.isEmpty(map.get("address"))) {
+//                        String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid());
+//                        //涓芥按鐨勭煭淇″彂閫佹柟寮�
+//                        Map<String, String> map = MsgLSEnum.getAddressByCode(serviceSubtask.getOrgid());
+                        SysConfig config = new SysConfig();
+                        config.setConfigKey("ls.msg.info");
+                        config.setOrgid(serviceSubtask.getOrgid());
+                        List<SysConfig> sysConfigs = configService.selectConfigList(config);
+                        Map<String, String> msgInfo = new HashMap<>();
+                        if (CollectionUtils.isNotEmpty(sysConfigs)) {
+                            String configValue = sysConfigs.get(0).getConfigValue();
+                            ObjectMapper objectMapper = new ObjectMapper();
+                            if (StringUtils.isNotEmpty(configValue)) {
+                                msgInfo = objectMapper.readValue(configValue, Map.class);
+                            }
+                        }
+                        log.info("-----------map鐨勫�间负锛歿}", msgInfo);
+                        String token = LSHospTokenUtil.getToken(serviceSubtask.getOrgid(), msgInfo.get("tokenUrl"));
+                        if (ObjectUtils.isNotEmpty(msgInfo) && StringUtils.isEmpty(msgInfo.get("address"))) {
                             setSuccessPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�,璇ユ満鏋勬病鏈夐厤缃煭淇″湴鍧�", "5");
                             return;
                         }
-                        log.info("銆恠fHandlle銆戜附姘寸煭淇″彂閫侊紝鍦板潃锛歿}锛屽弬鏁帮細{}锛屾満鏋処D锛歿}", map.get("address"), sendMagParam, serviceSubtask.getOrgid());
-                        String dxCode = getDXCode(map.get("address"), sendMagParam.getPhone(), sendMagParam.getContent(), map.get("sendPersonId"), map.get("sendPersonName"), MsgLSEnum.getHeaderByCode(serviceSubtask.getOrgid()), token);
+                        log.info("銆恠fHandlle銆戜附姘寸煭淇″彂閫侊紝鍦板潃锛歿}锛屽弬鏁帮細{}锛屾満鏋処D锛歿}", msgInfo.get("address"), sendMagParam, serviceSubtask.getOrgid());
+                        String dxCode = getDXCode(msgInfo.get("address"), sendMagParam.getPhone(), sendMagParam.getContent(), msgInfo.get("sendPersonId"), msgInfo.get("sendPersonName"), MsgLSEnum.getHeaderByCode(msgInfo), token);
                         log.info("銆恠fHandlle銆戜附姘寸煭淇″彂閫佺粨鏋滐細{}", dxCode);
                         ObjectMapper objectMapper = new ObjectMapper();
                         Map<String, Object> textParam = objectMapper.readValue(dxCode, Map.class);
@@ -676,7 +711,7 @@
                     } else if (active.equals("sltd")) {
                         log.info("sltd杩涙潵浜嗗悧锛焮}   ,---sendMagParam.getContent()鐨勫弬鏁颁负锛歿}", active, sendMagParam.getContent());
                         //鐪佺珛鍚屽痉鐨勭煭淇″彂閫佹柟寮�
-                        String data = MessageSend.sendMsg(sendMagParam.getContent(), "2", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
+                        String data = MessageSend.sendMsg(sendMagParam.getContent(), "6", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
                         if (StringUtils.isNotEmpty(data) && data.contains("result=0")) {
                             isSuccess = "true";
                         }
@@ -684,7 +719,9 @@
                         String content = sendMagParam.getContent().replace("銆愭柊鍗庡尰闄€��", "");
                         String result = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, sendMagParam.getPhone(), content);
                         //杩欓噷闇�瑕佹牴鎹畆esult杩斿洖鐨勫�煎幓鍒ゆ柇锛屾槸鍚︽垚鍔燂紝鐒跺悗灏嗗�艰祴鍊肩粰isSuccess
-
+                        if (StringUtils.isNotEmpty(result) && result.contains("澶勭悊鎴愬姛")) {
+                            isSuccess = "true";
+                        }
 
                     }
                     //浠诲姟鍙戦�佽褰�
@@ -802,6 +839,16 @@
     private String getSendPreachform(ServiceSubtaskPreachform serviceSubtaskPreachform, ServiceSubtask serviceSubtask) {
         List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
 
+        if (CollectionUtils.isEmpty(serviceSubtaskPreachforms)) {
+            //濡傛灉serviceSubtaskPreachforms涓虹┖鐨勮瘽锛屽垯闇�瑕佽繘琛屾柊澧炰竴涓�
+            List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = addServiceSubtaskPreachform(serviceSubtask, "1");
+            if (CollectionUtils.isEmpty(serviceSubtaskPreachformList)) {
+                log.error("ryTask--鍙戦�佹柟寮忓け璐ヤ簡serviceSubtask鐨勫叆鍙備负锛歿}", serviceSubtask);
+                return null;
+            }
+            serviceSubtaskPreachforms = serviceSubtaskPreachformList;
+        }
+
         // 鎯呭喌1锛歝urrentPreachform涓虹┖锛屽彇sort涓�1鐨刾reachform
         if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())) {
             return serviceSubtaskPreachforms.stream().filter(item -> item.getSort() == 1L).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null);
@@ -848,6 +895,35 @@
         return null;
     }
 
+    private List<ServiceSubtaskPreachform> addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) {
+        //灏唒reachformDesc鐨刯son瀵硅薄锛屾斁鍒發ist闆嗗悎涓�
+        ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
+        String preachformDesc = serviceTask.getPreachformDesc();
+
+        List<ServiceSubtaskPreachform> sspl = null;
+        ObjectMapper objectMapper = new ObjectMapper();
+        if (org.apache.commons.lang3.StringUtils.isNotEmpty(preachformDesc)) {
+            try {
+                sspl = objectMapper.readValue(preachformDesc, new TypeReference<List<ServiceSubtaskPreachform>>() {
+                });
+            } catch (JsonProcessingException e) {
+                log.error("ryTask--preachform杞琇ist<ServiceSubtaskPreachform>鎶ラ敊浜嗭細{}", e.getMessage());
+            }
+            for (ServiceSubtaskPreachform serviceSubtaskPreachform : sspl) {
+                serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
+                serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
+                //杩欎釜sendstate闇�瑕佸湪鏁版嵁搴撹缃竴涓粯璁ゅ�间负鈥�1鈥�
+                serviceSubtaskPreachform.setSendstate("1");
+                if (StringUtils.isNotEmpty(sendstate)) serviceSubtaskPreachform.setSendstate(sendstate);
+                serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
+                serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform);
+            }
+
+        }
+
+        return sspl;
+    }
+
     private Integer setFail(List<ServiceSubtaskPreachform> serviceSubtaskPreachforms, ServiceSubtask serviceSubtask) {
         Optional<Long> id = serviceSubtaskPreachforms.stream().filter(item -> serviceSubtask.getCurrentPreachform().equals(item.getPreachform())).map(ServiceSubtaskPreachform::getId).findFirst();
         if (id.isPresent()) {

--
Gitblit v1.9.3