From 6a53d35b5d56e2f6bc64bbfe41579f6f32039c90 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 24 三月 2026 15:24:33 +0800
Subject: [PATCH] 【丽水】随访增加 人工随访超时状态
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 165 ++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 127 insertions(+), 38 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 ae799e1..6c54a04 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,15 +11,16 @@
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;
import com.ruoyi.quartz.service.ICollectHISService;
+import com.ruoyi.quartz.util.CreateDataTable;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.service.ISysConfigService;
import com.smartor.common.LSHospTokenUtil;
import com.smartor.domain.*;
+import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.mapper.*;
import com.smartor.service.*;
import lombok.extern.slf4j.Slf4j;
@@ -150,6 +151,9 @@
@Autowired
ICollectHISService icollectHis;
+
+ @Autowired
+ CreateDataTable createDataTable;
@Value("${appid}")
@@ -305,11 +309,9 @@
}
log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滅敤鎴蜂俊鎭�濈粨鏉熼噰闆嗘暟鎹細{}", aBoolean);
}
-
// 鐪佺珛鍚屽痉鏁版嵁閲囬泦
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");
@@ -340,19 +342,19 @@
serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
log.debug("銆恉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.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
- serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
- log.debug("銆恉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.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+// serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+// log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
serviceSLTDInhospReqVO.setStartHeadTime(null);
@@ -370,10 +372,45 @@
serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
}
+
} catch (Exception e) {
log.error("銆恉ealHisData銆戠渷绔嬪悓寰锋暟鎹噰闆嗗紓甯�", e);
}
}
+ }
+
+ public void dealHisDataSLTD() {
+ log.info("銆恉ealHisData銆戝紑濮嬫墽琛孒IS鏁版嵁閲囬泦浠诲姟");
+
+ try {
+ LocalDate startDate = LocalDate.of(2025, 11, 1);
+ LocalDate endDate = LocalDate.of(2026, 2, 27);
+
+ // 鐪佺珛鍚屽痉鏁版嵁閲囬泦
+// String nowTime = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+ for (LocalDate date = startDate; !date.isAfter(endDate); date = date.plusDays(1)) {
+ String nowTime = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+ ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
+ serviceSLTDInhospReqVO.setOrgId("20001001");
+ serviceSLTDInhospReqVO.setCampusId(30001002L);
+ log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}", "30001002");
+ 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銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", "30001002");
+ }
+ } catch (Exception e) {
+ log.error("銆恉ealHisData銆戠渷绔嬪悓寰锋暟鎹噰闆嗗紓甯�", e);
+ }
+
}
/**
@@ -422,7 +459,7 @@
iPatMedInhospService.dealOutHospInfoByDimension(config);
//闂ㄨ瘖琛�(鏂板崕鐨勬殏鏃朵笉鍋氶棬璇婇殢璁�)
if (!active.equals("xh")) {
-// iPatMedOuthospService.dealOutpatientInfo();
+ //iPatMedOuthospService.dealOutpatientInfo();
}
}
}
@@ -434,6 +471,19 @@
public void dealOperationInfo() {
if (port.equals("8095")) iPatMedOperationService.dealOperationInfo();
+ }
+
+ /**
+ * 闂ㄨ瘖鍒嗚〃瀹氭椂浠诲姟锛氫粠 sys_config 璇诲彇鍒嗚〃妯″紡锛屾寜妯″紡寤鸿〃骞跺埛鏂拌鍥� v_pat_med_outhosp
+ * 閰嶇疆 key: outhosp.split.mode
+ * quarter -> 鎸夊搴︼紝琛ㄥ悕绀轰緥锛歱at_med_outhosp_20260103
+ * year -> 鎸夊勾锛岃〃鍚嶇ず渚嬶細pat_med_outhosp_2026
+ * month -> 鎸夋湀锛岃〃鍚嶇ず渚嬶細pat_med_outhosp_202601
+ * 鏌ヨ涓嶅埌閰嶇疆鍒欎笉鍒嗚〃
+ */
+ public void createOuthospQuarterTable() {
+ log.info("銆恈reateOuthospQuarterTable銆戝紑濮嬫墽琛岄棬璇婂垎琛ㄤ换鍔�");
+ createDataTable.createOuthospQuarterTable();
}
/**
@@ -449,7 +499,7 @@
/**
- * 闀挎湡浠诲姟鍙戦��
+ * 闀挎湡浠诲姟鍙戦��
*/
public void longTaskSend() {
//鑾峰彇浠诲姟淇℃伅
@@ -465,7 +515,7 @@
commonTaskcallMQ.setSendType("2");
//閫氳繃浠诲姟ID鎷垮埌鎮h�呬俊鎭�,骞朵笖闅忚鏃堕棿寰楁槸浠婂ぉ涔嬪墠鐨�
- ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
serviceSubtaskVO.setTaskid(commonTaskcallMQ.getTaskid());
serviceSubtaskVO.setSendstate(2L);
serviceSubtaskVO.setVisitTime(new Date());
@@ -482,7 +532,7 @@
*/
public void compensateTask() {
//鑾峰彇鍒皊endstate=3 骞朵笖 visit_time涓哄皬浜庣瓑浜庝粖澶╃殑subtask
- ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
serviceSubtaskVO.setSendstate(3L);
serviceSubtaskVO.setVisitTime(new Date());
List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.getCompensateServiceSubtaskList(serviceSubtaskVO);
@@ -508,12 +558,23 @@
//2鍒ゆ柇涓�涓嬶紝褰撳墠鐨剆ort鏄笉鏄瓑浜庨渶瑕佹墽琛岀殑鎬讳釜鏁帮紝濡傛灉绛変簬鐨勮瘽锛岃鏄庢槸鏈�鍚庝竴涓紝鐩存帴灏唖ervuce_subtask鐨勭姸鎬佹敼鎴�5锛屾墽琛屽け璐ュ氨琛屼簡
Long cs = currentSort.get();
if (cs.equals(serviceSubtaskPreachforms.size())) {
- serviceSubtask.setSendstate(5L);
- serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触");
+ if(serviceSubtask.getPreachform().equals("1")){
+ serviceSubtask.setSendstate(7L);
+ serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋� 浜哄伐瓒呮椂");
+ }else {
+ serviceSubtask.setSendstate(5L);
+ serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触");
+ }
+
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
//淇敼鍙戦�佹柟寮忕殑鐘舵�佷负澶辫触
- serviceSubtaskPreachform.setSendstate("5");
- serviceSubtaskPreachform.setId(id.get());
+ if(serviceSubtaskPreachform.getPreachform().equals("1")){
+ serviceSubtaskPreachform.setSendstate("7");
+ serviceSubtaskPreachform.setId(id.get());
+ }else {
+ serviceSubtaskPreachform.setSendstate("5");
+ serviceSubtaskPreachform.setId(id.get());
+ }
serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform);
continue;
}
@@ -548,6 +609,7 @@
/**
* 闅忚-琛ュ伩澶勭悊
+ *
* @param serviceSubtask
*/
public void sfHandlle(ServiceSubtask serviceSubtask) {
@@ -561,6 +623,7 @@
String sendPreachform = getSendPreachform(serviceSubtaskPreachform, serviceSubtask);
if (sendPreachform.equals("-1") || serviceSubtask.getSendstate() == 6 || serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 4) {
//璇存槑宸茬粡鍏ㄩ儴閬嶅巻瀹屼簡锛屽綋鍓嶇殑鎵ц鏂瑰紡搴忓彿鏄渶鍚庝竴涓簡 鎴栬�� 璇ユ偅鑰呭凡缁忛殢璁跨粨鏉燂紙鎴愬姛鎴栧け璐ヤ簡鎴栦笉鎵ц锛�
+ log.error("璇存槑宸茬粡鍏ㄩ儴閬嶅巻瀹屼簡锛屽綋鍓嶇殑鎵ц鏂瑰紡搴忓彿鏄渶鍚庝竴涓簡 鎴栬�� 璇ユ偅鑰呭凡缁忛殢璁跨粨鏉燂紙鎴愬姛鎴栧け璐ヤ簡鎴栦笉鎵ц锛�");
return;
}
//鍏堝垽鏂偅鑰呮槸涓嶆槸杩樿鍙戦��
@@ -840,12 +903,12 @@
serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
serviceSubtaskRecord.setResult("success");
Boolean wxCodeSuccess = false;
- if(active.equals("hzszlyy")){
- if(!map.isEmpty() && map.get("success") != null){
+ if (active.equals("hzszlyy")) {
+ if (!map.isEmpty() && map.get("success") != null) {
wxCodeSuccess = (boolean) map.get("success");
}
- }else {
- if(!map.isEmpty() && map.get("succ") != null){
+ } else {
+ if (!map.isEmpty() && map.get("succ") != null) {
wxCodeSuccess = (boolean) map.get("succ");
}
}
@@ -868,7 +931,7 @@
}
}
} else if (descByCode.equals("浜哄伐")) {
- setSuccessPreachForm(serviceSubtask, sendPreachform, "浜哄伐寰呮墽琛�", "2");
+ setSuccessPreachForm(serviceSubtask, sendPreachform, "浜哄伐瓒呮椂", "7");
}
}
@@ -935,7 +998,12 @@
if (allSendStateNot1AndNot9) {
//璇存槑鍏ㄥ彂閫佸け璐ヤ簡
serviceSubtask.setSendstate(5L);
- serviceSubtask.setRemark("getSendPreachform鏂规硶 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9, 鍏ㄥけ璐ヤ簡");
+ log.error("getSendPreachform鏂规硶 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9, 鍏ㄥけ璐ヤ簡");
+ //浜哄伐鍙戦�佽秴鏃�
+ if(ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")){
+ serviceSubtask.setSendstate(7L);
+ serviceSubtask.setRemark("getSendPreachform鏂规硶 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9, 浜哄伐鍙戦�佽秴鏃�");
+ }
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
//淇敼鍙戦�佺姸鎬�
setFail(serviceSubtaskPreachforms, serviceSubtask);
@@ -960,10 +1028,8 @@
//鑾峰彇褰撳墠鍙戦�佹柟寮�
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")){
+ 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");
//璺宠繃鐭俊锛屾墽琛屼笅涓�姝�
@@ -1021,6 +1087,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("浜哄伐鍙戦�佽秴鏃�");
+ }
return serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(subtaskPreachform);
}
return 0;
@@ -1145,17 +1216,30 @@
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灏辫浜�(鍏ㄥけ璐ヤ簡)
if (serviceSubtaskPreachform1.getSort() == sspCount.size()) {
- if (failSendstate.equals("4") || failSendstate.equals("5")) {
+ if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")){
serviceSubtask.setCurrentPreachform(preachform);
- serviceSubtask.setSendstate(5L);
- serviceSubtask.setRemark("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
+ serviceSubtask.setSendstate(7L);
+ serviceSubtask.setRemark("setSuccessPreachForm鏂规硶锛屼汉宸ュ彂閫佽秴鏃�");
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
return true;
+ }else {
+ if (failSendstate.equals("4") || failSendstate.equals("5")) {
+ serviceSubtask.setCurrentPreachform(preachform);
+ serviceSubtask.setSendstate(5L);
+ serviceSubtask.setRemark("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ return true;
+ }
}
+
}
} else {
log.error("銆愬畾鏃朵换鍔′腑璇ユ偅鑰呮病鏈夋煡璇㈠埌灞炰簬浠栫殑鍙戦�佹柟寮忥紝subid锛歿},prechform:{},orgid:{}銆�", serviceSubtask.getId(), preachform, serviceSubtask.getOrgid());
@@ -1164,7 +1248,12 @@
//灏嗕笅涓�娆$殑闅忚鏃堕棿涓庡綋鍓嶆墽琛屾柟寮忚褰曚竴涓�
serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime()));
serviceSubtask.setCurrentPreachform(preachform);
- serviceSubtask.setSendstate(3L);
+ if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")){
+ serviceSubtask.setSendstate(7L);
+ serviceSubtask.setRemark("浜哄伐鍙戦�佽秴鏃�");
+ }else {
+ serviceSubtask.setSendstate(3L);
+ }
if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
//濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鍒欑洿鎺ュ皢serviceSubtask鐘舵�佹敼鎴�6L锛堣繖涓偅鑰呮槸娌℃湁棰樺仛鐨勶紝涓嶄細鍐嶈Е鍙戞帴鍙h繘琛岀姸鎬佷慨鏀癸級
if (failSendstate.equals("2")) {
--
Gitblit v1.9.3