From 7518413aeb91ea9b9dd80c7a5d51057ff616a8f1 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 13 五月 2026 14:53:13 +0800
Subject: [PATCH] 补偿问题处理提交

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |  294 ++++++++++++++++++++++++++++------------------------------
 1 files changed, 142 insertions(+), 152 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 dff18ff..0cfa4c9 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
@@ -11,6 +11,7 @@
 import com.ruoyi.common.enums.MsgLSEnum;
 import com.ruoyi.common.enums.ServiceFromEnum;
 import com.ruoyi.common.enums.WxGZHEnum;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.*;
 import com.ruoyi.common.utils.http.HttpUtils;
 import com.ruoyi.common.utils.sms.smsUtils;
@@ -19,6 +20,7 @@
 import com.ruoyi.system.domain.SysConfig;
 import com.ruoyi.system.service.ISysConfigService;
 import com.smartor.common.LSHospTokenUtil;
+import com.smartor.common.MtSubmitSmUtil;
 import com.smartor.domain.*;
 import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.mapper.*;
@@ -128,7 +130,7 @@
     private IServiceSubtaskRecordService serviceSubtaskRecordService;
 
     @Autowired
-    IBaseSmsaccountService baseSmsaccountService;
+    IIcd10Service iIcd10Service;
 
     @Autowired
     IPatArchiveService patArchiveService;
@@ -162,6 +164,8 @@
     @Value("${server.port}")
     private String port;
 
+    @Autowired
+    private MtSubmitSmUtil mtSubmitSmUtil;
 
     @Value("${spring.profiles.active}")
     private String active;
@@ -226,11 +230,16 @@
     /**
      * HIS鏁版嵁閲囬泦
      * 瀹氭椂浠诲姟锛氶噰闆嗘偅鑰呬俊鎭�佸嚭闄€�侀棬璇婃暟鎹�
+     * todayZeroStr  褰撳墠鐨勬椂闂�   渚嬪锛�2026-05-06 00:00:00
      */
-    public void dealHisData() {
+    public void dealHisData(String todayZeroStr) {
         log.info("銆恉ealHisData銆戝紑濮嬫墽琛孒IS鏁版嵁閲囬泦浠诲姟");
         // 鑾峰彇鏄ㄥぉ0鐐瑰埌浠婂ぉ0鐐圭殑鏃堕棿鑼冨洿
         LocalDateTime todayZero = LocalDateTime.now().with(LocalTime.MIN);
+        if (StringUtils.isNotBlank(todayZeroStr)) {
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            todayZero = LocalDateTime.parse(todayZeroStr, formatter);
+        }
         LocalDateTime yesterdayZero = todayZero.minusDays(1);
         log.info("銆恉ealHisData銆戦噰闆嗘椂闂磋寖鍥达細{} ~ {}", yesterdayZero, todayZero);
 
@@ -264,7 +273,9 @@
             } catch (Exception e) {
                 log.error("銆恉ealHisData銆戞渤鍗楁暟鎹噰闆嗗紓甯�", e);
             }
-        } else if (active.trim().equals("sltd")) {
+        } else if (active.trim().equals("sltd") || active.trim().equals("nhfy")) {
+            //鐪佺珛鍚屽痉涓庡崕鍗楅檮涓�鐢ㄥ悓涓�濂楅噰闆嗘柟娉曪紙閮芥槸鏉ユ湭鏉ユ彁渚涳級
+
             try {
                 //鑾峰彇鏄惁闇�瑕侀噰闆嗙敤鎴枫�侀儴闂ㄤ俊鎭�
                 SysConfig config = new SysConfig();
@@ -309,87 +320,107 @@
                     }
                     log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滅敤鎴蜂俊鎭�濈粨鏉熼噰闆嗘暟鎹細{}", aBoolean);
                 }
+                //鐤剧梾瀛楀吀閲囬泦
+                iIcd10Service.queryAddIcd10();
+
                 // 鐪佺珛鍚屽痉鏁版嵁閲囬泦
                 for (Long cid : campusidList) {
-                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
                     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);
+                    if (active.trim().equals("nhfy")) {
+                        serviceSLTDInhospReqVO.setEncounterTimeStart(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                        serviceSLTDInhospReqVO.setEncounterTimeEnd(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                    }
                     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);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
                     serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
 
-                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
                     serviceSLTDInhospReqVO.setOrgId("20001001");
                     serviceSLTDInhospReqVO.setCampusId(cid);
                     serviceSLTDInhospReqVO.setEncounterTimeStart(null);
                     serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
                     serviceSLTDInhospReqVO.setStartHeadTime(nowTime);
                     serviceSLTDInhospReqVO.setStartTailTime(nowTime);
+                    if (active.trim().equals("nhfy")) {
+                        serviceSLTDInhospReqVO.setStartHeadTime(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                        serviceSLTDInhospReqVO.setStartTailTime(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                    }
                     List<String> listStr = new ArrayList<>();
                     listStr.add("FH0109.26");
                     serviceSLTDInhospReqVO.setStatusList(listStr);
-                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
                     serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
 
-                    // 闂ㄦ�ヨ瘖鍒嗛〉閲囬泦锛氭瘡椤�1000鏉★紝鐩村埌鏃犳暟鎹负姝�
-                    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);
-                    long outpPage = 1L;
-                    final long OUTP_PAGE_SIZE = 1000L;
-                    while (true) {
-                        serviceSLTDInhospReqVO.setCurrent(outpPage);
-                        serviceSLTDInhospReqVO.setSize(OUTP_PAGE_SIZE);
-                        log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗙{}椤垫暟鎹紝闄㈠尯锛歿}", outpPage, cid);
-                        List<ServiceSLTDInhospResDTO> outpResult = serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                        if (CollectionUtils.isEmpty(outpResult)) {
-                            log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濈{}椤垫棤鏁版嵁锛岄噰闆嗙粨鏉燂紝闄㈠尯锛歿}", outpPage, cid);
-                            break;
+                    // 闂ㄦ�ヨ瘖鍒嗛〉閲囬泦锛氭瘡椤�1000鏉★紝鐩村埌鏃犳暟鎹负姝�(鍗楀崕闄勪竴鐨勫厛涓嶉噰闂ㄦ�ヨ瘖鏁版嵁)
+                    if (active.trim().equals("sltd")) {
+                        log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬪垎椤甸噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                        serviceSLTDInhospReqVO.setStartHeadTime(null);
+                        serviceSLTDInhospReqVO.setStartTailTime(null);
+                        serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
+                        serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
+                        if (active.trim().equals("nhfy")) {
+                            serviceSLTDInhospReqVO.setEncounterTimeStart(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                            serviceSLTDInhospReqVO.setEncounterTimeEnd(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                         }
-                        log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濈{}椤甸噰闆唟}鏉★紝闄㈠尯锛歿}", outpPage, outpResult.size(), cid);
-                        if (outpResult.size() < OUTP_PAGE_SIZE) {
-                            break;
+                        serviceSLTDInhospReqVO.setStatusList(null);
+                        List<String> list1 = new ArrayList<>();
+                        list1.add("FH0108.01");
+                        list1.add("FH0108.03");
+                        serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1);
+                        long outpPage = 1L;
+                        final long OUTP_PAGE_SIZE = 1000L;
+                        while (true) {
+                            serviceSLTDInhospReqVO.setCurrent(outpPage);
+                            serviceSLTDInhospReqVO.setSize(OUTP_PAGE_SIZE);
+                            log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗙{}椤垫暟鎹紝闄㈠尯锛歿}", outpPage, cid);
+                            List<ServiceSLTDInhospResDTO> outpResult = serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+                            if (CollectionUtils.isEmpty(outpResult)) {
+                                log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濈{}椤垫棤鏁版嵁锛岄噰闆嗙粨鏉燂紝闄㈠尯锛歿}", outpPage, cid);
+                                break;
+                            }
+                            log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濈{}椤甸噰闆唟}鏉★紝闄㈠尯锛歿}", outpPage, outpResult.size(), cid);
+                            if (outpResult.size() < OUTP_PAGE_SIZE) {
+                                break;
+                            }
+                            outpPage++;
                         }
-                        outpPage++;
+                        // 娓呴櫎鍒嗛〉鍙傛暟锛岄伩鍏嶅奖鍝嶅悗缁嚭鍏ラ櫌鏌ヨ
+                        serviceSLTDInhospReqVO.setCurrent(null);
+                        serviceSLTDInhospReqVO.setSize(null);
+                        log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆垎椤甸噰闆嗗畬鎴愶紝闄㈠尯锛歿}", cid);
                     }
-                    // 娓呴櫎鍒嗛〉鍙傛暟锛岄伩鍏嶅奖鍝嶅悗缁嚭鍏ラ櫌鏌ヨ
-                    serviceSLTDInhospReqVO.setCurrent(null);
-                    serviceSLTDInhospReqVO.setSize(null);
-                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆垎椤甸噰闆嗗畬鎴愶紝闄㈠尯锛歿}", cid);
 
-                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
                     serviceSLTDInhospReqVO.setStartHeadTime(null);
                     serviceSLTDInhospReqVO.setStartTailTime(null);
                     serviceSLTDInhospReqVO.setEncounterTimeStart(null);
                     serviceSLTDInhospReqVO.setEncounterTimeEnd(null);
                     serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(nowTime);
                     serviceSLTDInhospReqVO.setPreOutHospitalTailDate(nowTime);
+                    if (active.trim().equals("nhfy")) {
+                        serviceSLTDInhospReqVO.setPreOutHospitalHeadDate(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                        serviceSLTDInhospReqVO.setPreOutHospitalTailDate(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+                    }
                     serviceSLTDInhospReqVO.setHealthcareRecordTypeList(null);
                     List<String> list2 = new ArrayList<>();
 //                    list2.add("FH0108.02");
                     list2.add("FH0109.27");
                     serviceSLTDInhospReqVO.setStatusList(list2);
-                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
                     serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                    log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+                    log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
                 }
 
             } catch (Exception e) {
@@ -412,7 +443,7 @@
                 ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
                 serviceSLTDInhospReqVO.setOrgId("20001001");
                 serviceSLTDInhospReqVO.setCampusId(30001002L);
-                log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", "30001002");
+                log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", "30001002");
                 serviceSLTDInhospReqVO.setStartHeadTime(null);
                 serviceSLTDInhospReqVO.setStartTailTime(null);
                 serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
@@ -422,9 +453,9 @@
                 list1.add("FH0108.01");
                 list1.add("FH0108.03");
                 serviceSLTDInhospReqVO.setHealthcareRecordTypeList(list1);
-                log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+                log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
                 serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
-                log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", "30001002");
+                log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", "30001002");
             }
         } catch (Exception e) {
             log.error("銆恉ealHisData銆戠渷绔嬪悓寰锋暟鎹噰闆嗗紓甯�", e);
@@ -537,12 +568,12 @@
             ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
             serviceSubtaskVO.setTaskid(commonTaskcallMQ.getTaskid());
             serviceSubtaskVO.setSendstate(2L);
+            serviceSubtaskVO.setIsVisitAgain(1);
             serviceSubtaskVO.setVisitTime(new Date());
             List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.queryServiceSubtaskList(serviceSubtaskVO);
             for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
                 sfHandlle(serviceSubtask);
             }
-
         }
     }
 
@@ -577,34 +608,34 @@
                 //2鍒ゆ柇涓�涓嬶紝褰撳墠鐨剆ort鏄笉鏄瓑浜庨渶瑕佹墽琛岀殑鎬讳釜鏁帮紝濡傛灉绛変簬鐨勮瘽锛岃鏄庢槸鏈�鍚庝竴涓紝鐩存帴灏唖ervuce_subtask鐨勭姸鎬佹敼鎴�5锛屾墽琛屽け璐ュ氨琛屼簡
                 Long cs = currentSort.get();
                 if (cs.equals(serviceSubtaskPreachforms.size())) {
-                    if (serviceSubtask.getPreachform().equals("1")) {
-                        serviceSubtask.setSendstate(7L);
-                        serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋� 浜哄伐瓒呮椂");
-                    } else {
-                        serviceSubtask.setSendstate(5L);
-                        serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触");
-                    }
+                    serviceSubtask.setSendstate(7L);
+                    serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触锛堣秴鏃讹級");
 
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     //淇敼鍙戦�佹柟寮忕殑鐘舵�佷负澶辫触
-                    if (serviceSubtaskPreachform.getPreachform().equals("1")) {
-                        serviceSubtaskPreachform.setSendstate("7");
-                        serviceSubtaskPreachform.setId(id.get());
-                    } else {
-                        serviceSubtaskPreachform.setSendstate("5");
-                        serviceSubtaskPreachform.setId(id.get());
-                    }
+                    serviceSubtaskPreachform.setSendstate("5");
+                    serviceSubtaskPreachform.setId(id.get());
+
                     serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform);
                     continue;
                 }
 
                 //3.涓嶆槸鏈�鍚庝竴涓紝鑾峰彇鍒颁笅涓�涓墽琛屾柟寮�(鍥犱负閮芥槸鍦ㄤ粖澶╂墽琛岋紝閭e氨鐩存帴鍙戝嚭鍘诲氨瀹屼簡)
                 sfHandlle(serviceSubtask);
-
             }
-
         }
+    }
 
+    /**
+     * 璁剧疆澶辫触浠诲姟榛樿鍊�,骞跺皢澶辫触浠诲姟閲嶆柊缃负鎴愬姛
+     * <p>
+     * *@param failDay   (澶辫触澶╂暟锛氳窛绂诲綋鍓嶆棩鏈熷け璐ュぉ鏁�)
+     *
+     * @return
+     */
+    public void setFailSubTaskDefalutVal() {
+        String failDay = configService.selectConfigByKey("hosp.default.fail.day");
+        if (StringUtils.isNotEmpty(failDay)) iServiceSubtaskService.setFailSubTaskDefalutVal(Long.valueOf(failDay));
     }
 
 
@@ -614,7 +645,7 @@
      * @param date
      * @return
      */
-    public boolean isDateToday(Date date) {
+    private boolean isDateToday(Date date) {
         if (date == null) {
             return false;
         }
@@ -631,7 +662,7 @@
      *
      * @param serviceSubtask
      */
-    public void sfHandlle(ServiceSubtask serviceSubtask) {
+    private void sfHandlle(ServiceSubtask serviceSubtask) {
         //杩欓噷闇�瑕佹牴鎹韩浠借瘉鍘婚噸(缁欏井淇″皬绋嬪簭鐨勫浐瀹氫换鍔$敤鐨�)
         List<ServiceSubtask> serviceSubtaskListFilter = new ArrayList<>();
         ServiceTask ivrTask1 = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
@@ -650,7 +681,8 @@
         if (!Objects.isNull(patArchive) && patArchive.getNotrequiredFlag() == "1") {
             //涓嶉渶瑕佸彂閫�
             serviceSubtask.setResult("鎮h�呬笉闇�瑕侀殢璁�");
-            serviceSubtask.setRemark(patArchive.getNotrequiredreason());
+            serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "鎮h�呬笉闇�瑕侀殢璁�," + patArchive.getNotrequiredreason() : "鎮h�呬笉闇�瑕侀殢璁�," + patArchive.getNotrequiredreason());
+
             serviceSubtask.setSendstate(4L);
             iServiceSubtaskService.insertServiceSubtask(serviceSubtask);
             setSuccessPreachForm(serviceSubtask, "-1", "涓嶉渶瑕佹墽琛�", "6");
@@ -746,10 +778,11 @@
                     //鍏堝垽鏂竴涓嬪彂鐨勬槸涓嶆槸瀹f暀
                     if (!"3".equals(serviceSubtask.getType())) {
                         sendMagParam.setPhone(serviceSubtask.getPhone());
-                        sendMagParam.setUrl(localIP + ":" + req_path + "/wt?p=" + format);
+
+                        sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/wt?p=" + format : localIP + "/wt?p=" + format);
                         //濡傛灉type鏄闊抽殢璁跨殑璇濓紙璇存槑琛ュ伩鍙戦�佹柟寮忎腑鏈夌數璇濋殢璁跨殑鏂瑰紡锛岃繖閲岀殑澶栭摼灏卞湴鍧�鍙兘鐢�/sf锛�
                         if (serviceSubtask.getType().equals("1"))
-                            sendMagParam.setUrl(localIP + ":" + req_path + "/sf?p=" + format);
+                            sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/sf?p=" + format : localIP + "/sf?p=" + format);
                         sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
                         if (active.equals("xh")) {
                             sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
@@ -758,8 +791,8 @@
                         HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid());
                         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.setUrl(StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/xj?p=" + format : localIP + "/xj?p=" + format);
+                            if (active.equals("ls") || active.equals("sltd") || active.equals("nhfy")) {
                                 sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
                             } else if (active.equals("xh")) {
                                 sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌瀹f暀璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "鏌ョ湅銆傛劅璋㈡偍閰嶅悎锛�");
@@ -811,15 +844,22 @@
                         if (code.equals("0")) {
                             isSuccess = "true";
                         }
-                    } else if (active.equals("sltd")) {
+                    } else if (active.equals("sltd") || active.equals("nhfy")) {
                         log.info("sltd杩涙潵浜嗗悧锛焮}   ,---sendMagParam.getContent()鐨勫弬鏁颁负锛歿}", active, sendMagParam.getContent());
-                        //鐪佺珛鍚屽痉鐨勭煭淇″彂閫佹柟寮�
-                        String data = MessageSend.sendMsg(sendMagParam.getContent(), "6", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
-                        if (StringUtils.isNotEmpty(data)) {
-                            ObjectMapper mapper = new ObjectMapper();
-                            JsonNode root = mapper.readTree(data);
-                            String status = root.get("result").get(0).get("status").asText();
-                            if (status.equals("00000")) {
+                        if (active.equals("sltd")) {
+                            //鐪佺珛鍚屽痉鐨勭煭淇″彂閫佹柟寮�
+                            String data = MessageSend.sendMsg(sendMagParam.getContent(), "6", sendMagParam.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
+                            if (StringUtils.isNotEmpty(data)) {
+                                ObjectMapper mapper = new ObjectMapper();
+                                JsonNode root = mapper.readTree(data);
+                                String status = root.get("result").get(0).get("status").asText();
+                                if (status.equals("00000")) {
+                                    isSuccess = "true";
+                                }
+                            }
+                        } else if (active.equals("nhfy")) {
+                            Map<String, Object> smsResult = mtSubmitSmUtil.submitSm(sendMagParam.getPhone(), sendMagParam.getContent());
+                            if (smsResult != null && smsResult.get("result") != null && smsResult.get("result").toString().equals("0")) {
                                 isSuccess = "true";
                             }
                         }
@@ -848,11 +888,11 @@
                     serviceSubtask.setSendstate(3L);
                     if (StringUtils.isNotEmpty(isSuccess) && isSuccess.equals("true")) {
                         serviceSubtask.setResult("success");
-                        serviceSubtask.setRemark(serviceSubtask.getRemark() + "," + "鐭俊鍙戦�佹垚鍔�");
+                        serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + ",鐭俊鍙戦�佹垚鍔�" : "鐭俊鍙戦�佹垚鍔�");
                         setSuccessPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佹垚鍔�", "2");
                     } else {
                         serviceSubtask.setResult("error");
-                        serviceSubtask.setRemark(serviceSubtask.getRemark() + "," + "鐭俊鍙戦�佸け璐�" + now);
+                        serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + ",鐭俊鍙戦�佸け璐�" + now : "鐭俊鍙戦�佸け璐�" + now);
                         setSuccessPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�" + now, "5");
                     }
                 } catch (Exception e) {
@@ -891,20 +931,6 @@
                     //甯備竴鍖婚櫌
                     if (active.equals("hzszlyy")) {
                         //澶勭悊涓枃涔辩爜闂
-                        /**String title = URLEncoder.encode("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��", StandardCharsets.UTF_8.toString());
-                         String content = URLEncoder.encode("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��", StandardCharsets.UTF_8.toString());
-                         String encodedUrl = URLEncoder.encode(url, StandardCharsets.UTF_8.toString());
-                         String urlTemp = "http://192.200.54.14:5003/sfjk/SendMessage?sfzh=" + serviceSubtask.getSfzh() +
-                         "&title=" + title +
-                         "&content=" + content +
-                         "&phone=" + patArchive.getTelcode() +
-                         "&url=" + encodedUrl +
-                         "&key=ff76f8904f5f32b5ee1739e8ea46e60g";
-                         //                        HttpUtils.sendGet(urlTemp);
-                         String sendMsg = "";
-                         sendMsg = HttpUtils.sendPost(urlTemp);
-                         log.info(sendMsg); **/
-
                         wxCode = smsUtils.sendChat(url, patArchive.getTelcode(), serviceSubtask.getSfzh());
                         log.info(wxCode);
 
@@ -924,7 +950,12 @@
                     Boolean wxCodeSuccess = false;
                     if (active.equals("hzszlyy")) {
                         if (!map.isEmpty() && map.get("success") != null) {
-                            wxCodeSuccess = (boolean) map.get("success");
+                            Integer wxCodeSuccessShiyi = (Integer) map.get("success");
+                            if (ObjectUtils.isNotEmpty(wxCodeSuccessShiyi) && wxCodeSuccessShiyi == 1) {
+                                wxCodeSuccess = true;
+                            } else {
+                                wxCodeSuccess = false;
+                            }
                         }
                     } else {
                         if (!map.isEmpty() && map.get("succ") != null) {
@@ -950,7 +981,7 @@
                 }
             }
         } else if (descByCode.equals("浜哄伐")) {
-            setSuccessPreachForm(serviceSubtask, sendPreachform, "浜哄伐瓒呮椂", "7");
+            setSuccessPreachForm(serviceSubtask, sendPreachform, "浜哄伐鍙戦�佹垚鍔�", "2");
         }
 
     }
@@ -1016,14 +1047,9 @@
             if (currentSort.get().equals((long) serviceSubtaskPreachforms.size())) {
                 if (allSendStateNot1AndNot9) {
                     //璇存槑鍏ㄥ彂閫佸け璐ヤ簡
-                    serviceSubtask.setSendstate(5L);
+                    serviceSubtask.setSendstate(7L);
                     log.error("getSendPreachform鏂规硶 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9, 鍏ㄥけ璐ヤ簡");
-                    serviceSubtask.setRemark("鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触");
-                    //浜哄伐鍙戦�佽秴鏃�
-                    if (ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")) {
-                        serviceSubtask.setSendstate(7L);
-                        serviceSubtask.setRemark("浜哄伐鍙戦�佽秴鏃�");
-                    }
+                    serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触锛堣秴鏃讹級" : "鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触锛堣秴鏃讹級");
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     //淇敼鍙戦�佺姸鎬�
                     setFail(serviceSubtaskPreachforms, serviceSubtask);
@@ -1034,7 +1060,6 @@
             // 褰搒ort绛変簬鍒楄〃size鏃讹紝涓嬩竴涓猻ort涓�-1
             Long nextSort = currentSort.get() + 1;
             //濡傛灉褰撳墠鐨勫彂閫佹柟寮忎笉涓虹┖锛屽苟涓斿紑濮嬪噯澶囪鐢ㄤ笅涓�绉嶆柟寮忓彂閫佷簡锛岄偅褰撳墠鐨勮偗瀹氭病鏈夊彂閫佹垚鍔燂紝闇�瑕佽缃け璐�
-            // (杩欓噷涓昏鏄紝浜哄伐濡傛灉娌℃湁闅忚锛岀劧鍚庡埌鍏紬鍙风殑鏃跺�欙紝灏变笉浼氬啀鍘荤浜哄伐鏄惁鎴愬姛锛屼汉宸ョ殑鐘舵�佷細涓�鐩村崱鍦�2鐨勭姸鎬佷笂)
             if (StringUtils.isNotEmpty(serviceSubtask.getCurrentPreachform())) {
                 setFail(serviceSubtaskPreachforms, serviceSubtask);
             }
@@ -1042,23 +1067,6 @@
             // 鎵惧埌涓嬩竴涓猻ort瀵瑰簲鐨刾reachform
             String nextPreachform = serviceSubtaskPreachforms.stream().filter(item -> nextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1");
 
-            String orgid = serviceSubtask.getOrgid();
-            //寰俊宸插彂閫併�佸凡棰嗗彇璺宠繃鐭俊鍙戦�侊紝杩涜浜哄伐 -涓芥按涓尰闄�
-            if (StringUtils.isNotEmpty(orgid) && orgid.equals("47231022633110211A2101")) {
-                //鑾峰彇褰撳墠鍙戦�佹柟寮�
-                ServiceSubtaskPreachform currentServiceSubtaskPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort().equals(currentSort.get())).findFirst().orElse(new ServiceSubtaskPreachform());
-                //褰撳墠鍙戦�佹柟寮忎负寰俊鐨勶紝涓斾笅涓�鍙戦�佹柟寮忎负鐭俊鐨勶紝寰俊鍙戦�佺姸鎬佷负宸插彂閫併�佸凡棰嗗彇鐨勶紝璺宠繃鐭俊姝ラ
-                if (currentServiceSubtaskPreachform.getPreachform().equals("5") && (currentServiceSubtaskPreachform.getSendstate().equals("2") || currentServiceSubtaskPreachform.getSendstate().equals("3"))) {
-                    if (StringUtils.isNotEmpty(nextPreachform) && nextPreachform.equals("2")) {
-                        log.error("銆恠fHandlle銆戝井淇″凡鍙戦�侊紝鐭俊涓嶅彂閫侊紝璺宠浆浜哄伐");
-                        setSuccessPreachForm(serviceSubtask, "-1", "寰俊宸插彂閫侊紝鐭俊涓嶅彂閫侊紝璺宠浆浜哄伐", "6");
-                        //璺宠繃鐭俊锛屾墽琛屼笅涓�姝�
-                        Long newNextSort = nextSort + 1;
-                        //鎵惧埌鐭俊鍐嶄笅涓�涓猻ort瀵瑰簲鐨刾reachform
-                        nextPreachform = serviceSubtaskPreachforms.stream().filter(item -> newNextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1");
-                    }
-                }
-            }
             //鏇存柊涓�涓嬪綋鍓嶅彂閫佹椂闂�
             if (StringUtils.isNotEmpty(nextPreachform)) {
                 serviceSubtaskPreachform.setCurrentSendTime(new Date());
@@ -1105,16 +1113,11 @@
             ServiceSubtaskPreachform subtaskPreachform = new ServiceSubtaskPreachform();
             subtaskPreachform.setSendstate("5");
             subtaskPreachform.setId(id.get());
-            //浜哄伐鍙戦�佽秴鏃�
-            if (ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")) {
-                subtaskPreachform.setSendstate("7");
-                subtaskPreachform.setRemark("浜哄伐鍙戦�佽秴鏃�");
-            }
+            subtaskPreachform.setRemark("褰撳墠鍙戦�佹柟寮忓湪瑙勫畾鏃堕棿鍐呮湭鎴愬姛鑾峰彇缁撴灉");
             return serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(subtaskPreachform);
         }
         return 0;
     }
-
 
     private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap, String token) {
         Map<String, Object> map = new LinkedHashMap<>();
@@ -1221,9 +1224,9 @@
         //鐢佃瘽鐨勬湭鍙戦�佺姸鎬侊紝闇�瑕佹煡2锛屽洜涓猴紝鏁版嵁鍙兘鍗″湪闃熷垪閲屼簡; 锛堟病杩涢槦鍒楋紝鐢佃瘽鐘舵�佽繕鏄�1锛�
         if (preachform.equals("3") && StringUtils.isNotEmpty(failSendstate) && Long.valueOf(failSendstate) > 2)
             serviceSubtaskPreachform.setSendstate("2");
-        //浜哄伐鐨勬湭鍙戦�佺姸鎬侊紝闇�瑕佹煡2
-        if (preachform.equals("1") && StringUtils.isNotEmpty(failSendstate) && Long.valueOf(failSendstate) > 2)
-            serviceSubtaskPreachform.setSendstate("2");
+//        //浜哄伐鐨勬湭鍙戦�佺姸鎬侊紝闇�瑕佹煡2
+//        if (preachform.equals("1") && StringUtils.isNotEmpty(failSendstate) && Long.valueOf(failSendstate) > 2)
+//            serviceSubtaskPreachform.setSendstate("2");
 
         List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
         if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
@@ -1234,30 +1237,19 @@
                 if (failSendstate.equals("2")) serviceSubtaskPreachform1.setSendstate("9");
             }
             serviceSubtaskPreachform1.setRemark(remark);
-            if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")) {
-                serviceSubtaskPreachform1.setSendstate("7");
-                serviceSubtaskPreachform1.setRemark("浜哄伐鍙戦�佽秴鏃�");
-            }
             serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1);
 
-            //濡傛灉褰撳墠鐨刾reachform宸茬粡鏄渶鍚庝竴涓簡锛岄偅鐩存帴灏唖erviceSubtask鐨剆endstate鐘舵�佹敼鎴�5灏辫浜�(鍏ㄥけ璐ヤ簡)
+            //濡傛灉褰撳墠鐨刾reachform宸茬粡鏄渶鍚庝竴涓簡锛岄偅鐩存帴灏唖erviceSubtask鐨剆endstate鐘舵�佹敼鎴�7灏辫浜�(鍏ㄨ秴鏃朵簡)
             if (serviceSubtaskPreachform1.getSort() == sspCount.size()) {
-                if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")) {
+                if (failSendstate.equals("4") || failSendstate.equals("5")) {
                     serviceSubtask.setCurrentPreachform(preachform);
                     serviceSubtask.setSendstate(7L);
-                    serviceSubtask.setRemark("浜哄伐鍙戦�佽秴鏃�");
+                    log.error("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
+                    serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触锛堣秴鏃讹級" : "鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触锛堣秴鏃讹級");
+                    //serviceSubtask.setRemark("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     return true;
-                } else {
-                    if (failSendstate.equals("4") || failSendstate.equals("5")) {
-                        serviceSubtask.setCurrentPreachform(preachform);
-                        serviceSubtask.setSendstate(5L);
-                        log.error("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
-                        serviceSubtask.setRemark("鎵�鏈夊彂閫佹柟寮忓潎鏈幏鍙栫粨鏋滐紝浠诲姟澶辫触");
-                        //serviceSubtask.setRemark("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
-                        serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
-                        return true;
-                    }
+
                 }
 
             }
@@ -1265,21 +1257,19 @@
             log.error("銆愬畾鏃朵换鍔′腑璇ユ偅鑰呮病鏈夋煡璇㈠埌灞炰簬浠栫殑鍙戦�佹柟寮忥紝subid锛歿},prechform:{},orgid:{}銆�", serviceSubtask.getId(), preachform, serviceSubtask.getOrgid());
             return false;
         }
+
         //灏嗕笅涓�娆$殑闅忚鏃堕棿涓庡綋鍓嶆墽琛屾柟寮忚褰曚竴涓�
         serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime()));
         serviceSubtask.setCurrentPreachform(preachform);
-        if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")) {
-            serviceSubtask.setSendstate(7L);
-            serviceSubtask.setRemark("浜哄伐鍙戦�佽秴鏃�");
-        } else {
-            serviceSubtask.setSendstate(3L);
-        }
+        serviceSubtask.setSendstate(3L);
+
         if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
             //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鍒欑洿鎺ュ皢serviceSubtask鐘舵�佹敼鎴�6L锛堣繖涓偅鑰呮槸娌℃湁棰樺仛鐨勶紝涓嶄細鍐嶈Е鍙戞帴鍙h繘琛岀姸鎬佷慨鏀癸級
             if (failSendstate.equals("2")) {
                 serviceSubtask.setSendstate(6L);
             }
         }
+        serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + remark : remark);
         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
         return true;
     }

--
Gitblit v1.9.3