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 |  276 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 211 insertions(+), 65 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 710bae5..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;
@@ -16,6 +18,7 @@
 import com.ruoyi.common.utils.http.HttpUtils;
 import com.ruoyi.common.utils.sms.smsUtils;
 import com.ruoyi.quartz.service.ICollectHISService;
+import com.ruoyi.system.domain.SysConfig;
 import com.ruoyi.system.service.ISysConfigService;
 import com.smartor.common.LSHospTokenUtil;
 import com.smartor.domain.*;
@@ -94,6 +97,7 @@
     @Autowired
     private ISysConfigService configService;
 
+
     @Value("${localIP}")
     private String localIP;
 
@@ -111,9 +115,6 @@
 
     @Value("${req_path}")
     private String req_path;
-
-    @Value("${visitHosp}")
-    private Integer visitHosp;
 
     @Autowired
     private ServiceTaskMapper serviceTaskMapper;
@@ -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() {
@@ -265,45 +264,118 @@
             }
         } else if (active.trim().equals("sltd")) {
             try {
+                //鑾峰彇鏄惁闇�瑕侀噰闆嗙敤鎴枫�侀儴闂ㄤ俊鎭�
+                SysConfig config = new SysConfig();
+                config.setConfigKey("sltd.gather.sysuser");
+                config.setOrgid("20001001");
+                List<SysConfig> sysConfigs = configService.selectConfigList(config);
+
+                //鑾峰彇鐪佺珛鍚屽痉瑕侀噰闆嗙殑闄㈠尯
+                SysConfig cf = new SysConfig();
+                cf.setConfigKey("sltd.gather.campusid");
+                cf.setOrgid("20001001");
+                List<SysConfig> sysConfigcampusids = configService.selectConfigList(cf);
+
+                List<Long> campusidList = new ArrayList<>();
+                if (CollectionUtils.isNotEmpty(sysConfigcampusids)) {
+                    String[] split = sysConfigcampusids.get(0).getConfigValue().split(",");
+                    campusidList = Arrays.stream(split).map(Long::valueOf).collect(Collectors.toList());
+                } else {
+                    log.error("SysConfig涓殑闄㈠尯ID涓虹┖锛�");
+                    return;
+                }
+
+                //configValue = 1 涓嶉渶瑕侀噰闆�       configValue = 2闇�瑕侀噰闆�
+                if (CollectionUtils.isNotEmpty(sysConfigs) && sysConfigs.get(0).getConfigValue().equals("2")) {
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈儴闂ㄤ俊鎭�濆紑濮嬮噰闆嗘暟鎹�");
+                    ServiceSLTDDeptReqVO serviceSLTDDeptReqVO = new ServiceSLTDDeptReqVO();
+                    serviceSLTDDeptReqVO.setOrgId("20001001");
+                    serviceSLTDDeptReqVO.setCampusIds(campusidList);
+                    Boolean aBoolean1 = serviceSLTDHealthcareRecordService.queryDeptWardAreaInfoList(serviceSLTDDeptReqVO);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈儴闂ㄤ俊鎭�濈粨鏉熼噰闆嗘暟鎹細{}", aBoolean1);
+
+                    Boolean aBoolean = false;
+                    for (Long cid : campusidList) {
+                        log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滅敤鎴蜂俊鎭�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                        ServiceSLTDInhospReqVO reqVO = new ServiceSLTDInhospReqVO();
+                        reqVO.setOrgId("20001001");
+                        reqVO.setCampusId(cid);
+                        ArrayList<String> statusList = new ArrayList<>();
+                        statusList.add("1");
+                        reqVO.setStatusList(statusList);
+                        aBoolean = serviceSLTDHealthcareRecordService.queryHospUserInfoList(reqVO);
+                    }
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滅敤鎴蜂俊鎭�濈粨鏉熼噰闆嗘暟鎹細{}", aBoolean);
+                }
+
                 // 鐪佺珛鍚屽痉鏁版嵁閲囬泦
-                log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濆紑濮嬮噰闆嗘暟鎹�");
-                String yesterday = LocalDate.now().minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
-                ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
-                serviceSLTDInhospReqVO.setOrgId("20001001");
-                serviceSLTDInhospReqVO.setCampusId(30001002L);
-                serviceSLTDInhospReqVO.setStartHeadTime(yesterday);
-                serviceSLTDInhospReqVO.setStartTailTime(yesterday);
-                List<String> list = new ArrayList<>();
-                list.add("FH0108.02");
-                serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list);
-                serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹�");
+                for (Long cid : campusidList) {
+                    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.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬮噰闆嗘暟鎹�");
-                serviceSLTDInhospReqVO.setStartHeadTime(null);
-                serviceSLTDInhospReqVO.setStartTailTime(null);
-                serviceSLTDInhospReqVO.setEncounterTimeStart(yesterday);
-                serviceSLTDInhospReqVO.setEncounterTimeEnd(yesterday);
-                List<String> list1 = new ArrayList<>();
-                list1.add("FH0108.01");
-                list1.add("FH0108.03");
-                serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1);
-                serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                log.info("銆恉ealHisData銆戞渤鍗楃粨鈥滈棬鎬ヨ瘖鈥濇潫閲囬泦鏁版嵁");
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    serviceSLTDInhospReqVO.setOrgId("20001001");
+                    serviceSLTDInhospReqVO.setCampusId(cid);
+                    serviceSLTDInhospReqVO.setEncounterTimeStart(null);
+                    serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
+                    serviceSLTDInhospReqVO.setStartHeadTime(nowTime);
+                    serviceSLTDInhospReqVO.setStartTailTime(nowTime);
+                    List<String> listStr = new ArrayList<>();
+//                    list.add("FH0108.02");
+                    listStr.add("FH0109.26");
+                    serviceSLTDInhospReqVO.setStatusList(listStr);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                    serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
 
-                log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹�");
-                serviceSLTDInhospReqVO.setStartHeadTime(null);
-                serviceSLTDInhospReqVO.setStartTailTime(null);
-                serviceSLTDInhospReqVO.setEncounterTimeStart(null);
-                serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
-                serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(yesterday);
-                serviceSLTDInhospReqVO.setPreOutHospitalTailDate(yesterday);
-                List<String> list2 = new ArrayList<>();
-                list2.add("FH0108.02");
-                serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list2);
-                serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                log.info("銆恉ealHisData銆戞渤鍗楃粨鈥滃嚭闄⑩�濇潫閲囬泦鏁版嵁");
+                    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.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                    serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+                    log.debug("銆恉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");
+                    list2.add("FH0109.27");
+                    serviceSLTDInhospReqVO.setStatusList(list2);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                    serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+                }
+//                SysConfig sysConfig = sysConfigs.get(0);
+//                sysConfig.setConfigValue(nowTime);
+//                configService.updateConfig(sysConfig);
             } catch (Exception e) {
                 log.error("銆恉ealHisData銆戠渷绔嬪悓寰锋暟鎹噰闆嗗紓甯�", e);
             }
@@ -335,11 +407,12 @@
      * 澶勭悊鎮h�呬俊鎭紝杩涘叆瀛愪换鍔¤〃
      */
     public void dealOutHospInfo() {
+        String config = configService.selectConfigByKey("visit.early.day");
         if (port.equals("8095")) {
             //鍑洪櫌琛�
-            iPatMedInhospService.dealOutHospInfo();
-            //闂ㄨ瘖琛�
-            if (visitHosp != 1) {
+            iPatMedInhospService.dealOutHospInfo(config);
+            //闂ㄨ瘖琛�(鏂板崕鐨勬殏鏃朵笉鍋氶棬璇婇殢璁�)
+            if (!active.equals("xh")) {
                 iPatMedOuthospService.dealOutpatientInfo();
             }
         }
@@ -367,7 +440,7 @@
 
 
     /**
-     * 闀挎湡浠诲姟鎵ц
+     *
      */
     public void longTaskSend() {
         //鑾峰彇浠诲姟淇℃伅
@@ -582,28 +655,52 @@
                         sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
                     } else {
                         HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid());
-                        if ("2".equals(heLibrary.getHetype())) {
+                        if (heLibrary.getHetype().equals("1")) {
+                            sendMagParam.setPhone(serviceSubtask.getPhone());
+                            sendMagParam.setUrl(localIP + ":" + req_path + "/xj?p=" + format);
+                            if (active.equals("ls") || active.equals("sltd")) {
+                                sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                            } else if (active.equals("xh")) {
+                                sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
+                            }
+                        } else if (heLibrary.getHetype().equals("2")) {
+                            //閫氱煡
                             sendMagParam.setPhone(serviceSubtask.getPhone());
                             sendMagParam.setContent(heLibrary.getPreachcontent());
                         }
+
                     }
                     String isSuccess = null;
-                    if (visitHosp == 1) {
+                    log.info("active鐨勫�间负锛歿}", active);
+                    if (active.equals("xh")) {
                         Map<String, String> req = new HashMap<>();
                         req.put("phone", sendMagParam.getPhone());
                         req.put("content", sendMagParam.getContent());
                         isSuccess = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
-                    } else if (visitHosp == 2) {
-                        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"))) {
+                    } else if (active.equals("ls")) {
+//                        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);
@@ -611,18 +708,20 @@
                         if (code.equals("0")) {
                             isSuccess = "true";
                         }
-                    } else if (visitHosp == 4) {
+                    } else if (active.equals("sltd")) {
+                        log.info("sltd杩涙潵浜嗗悧锛焮}   ,---sendMagParam.getContent()鐨勫弬鏁颁负锛歿}", active, sendMagParam.getContent());
                         //鐪佺珛鍚屽痉鐨勭煭淇″彂閫佹柟寮�
-                        JSONObject data = MessageSend.sendMsg(sendMagParam.getContent(), "2", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
-                        String code = data.get("code").toString();
-                        if (StringUtils.isNotEmpty(code) && code.equals("00000")) {
+                        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";
                         }
-                    } else if (visitHosp == 3) {//甯備竴鍖婚櫌
+                    } else if (active.equals("hzszlyy")) {//甯備竴鍖婚櫌
                         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";
+                        }
 
                     }
                     //浠诲姟鍙戦�佽褰�
@@ -679,10 +778,8 @@
                         return;
                     }
                     String wxCode = "";
-                    if (visitHosp == 3) {//甯備竴鍖婚櫌
-                        String urlTemp = "http://192.200.54.14:5003/sfjk/SendMessage?sfzh=" + serviceSubtask.getSfzh()
-                                + "&title=鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��&content=鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��&phone=" + patArchive.getTelcode()
-                                + "&url=" + url + "&key=ff76f8904f5f32b5ee1739e8ea46e60g";
+                    if (active.equals("hzszlyy")) {//甯備竴鍖婚櫌
+                        String urlTemp = "http://192.200.54.14:5003/sfjk/SendMessage?sfzh=" + serviceSubtask.getSfzh() + "&title=鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��&content=鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��&phone=" + patArchive.getTelcode() + "&url=" + url + "&key=ff76f8904f5f32b5ee1739e8ea46e60g";
                         HttpUtils.sendGet(urlTemp);
                     } else {
                         wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), patArchive.getTelcode(), serviceSubtask.getSendname(), patArchive.getPatidHis(), wxqqxx);
@@ -742,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);
@@ -786,6 +893,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) {
@@ -913,6 +1049,10 @@
         if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
             ServiceSubtaskPreachform serviceSubtaskPreachform1 = serviceSubtaskPreachforms.get(0);
             serviceSubtaskPreachform1.setSendstate(failSendstate);
+            if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
+                //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鐩存帴灏嗗彂閫佺姸鎬佹敼鎴�9
+                if (failSendstate.equals("2")) serviceSubtaskPreachform1.setSendstate("9");
+            }
             serviceSubtaskPreachform1.setRemark(remark);
             serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1);
 
@@ -933,6 +1073,12 @@
         serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime()));
         serviceSubtask.setCurrentPreachform(preachform);
         serviceSubtask.setSendstate(3L);
+        if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
+            //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鍒欑洿鎺ュ皢serviceSubtask鐘舵�佹敼鎴�6L锛堣繖涓偅鑰呮槸娌℃湁棰樺仛鐨勶紝涓嶄細鍐嶈Е鍙戞帴鍙h繘琛岀姸鎬佷慨鏀癸級
+            if (failSendstate.equals("2")) {
+                serviceSubtask.setSendstate(6L);
+            }
+        }
         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
         return true;
     }

--
Gitblit v1.9.3