From fcb98e4558897945a316d04555923355b8e60605 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 21 七月 2026 10:16:56 +0800
Subject: [PATCH] Merge branch 'master' into master-任务组
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 371 ++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 285 insertions(+), 86 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 94a5665..941b96f 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
@@ -12,7 +12,6 @@
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;
@@ -35,7 +34,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.RequestParam;
import java.io.IOException;
import java.net.URLEncoder;
@@ -49,6 +47,7 @@
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static cn.hutool.core.convert.Convert.toHex;
@@ -115,6 +114,9 @@
@Value("${xhsmsPwd}")
private String xhsmsPwd;
+ // 铏氭嫙鎺ュ叆鐮�
+ @Value("${xhsmsjrm}")
+ private String xhsmsjrm;
@Value("${pub_key}")
private String pub_key;
@@ -179,6 +181,9 @@
@Autowired
private SysConfigMapper sysConfigMapper;
+ @Autowired
+ private IServiceTaskScheduleService serviceTaskScheduleService;
+
public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) {
System.out.println(StringUtils.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}", s, b, l, d, i));
}
@@ -235,6 +240,15 @@
serviceSubtaskAnswerService.saveQuestionAnswer(null, 0L);
}
+ /**
+ * 鑾峰彇棰勭害鍋滆瘖璁板綍淇℃伅
+ *
+ */
+ public void getAppointRecordInfo() {
+ LocalDateTime tomorrowStart = LocalDate.now().plusDays(1).atStartOfDay(); // 鏄庡ぉ 00:00:00
+ LocalDateTime tomorrowEnd = tomorrowStart.plusDays(1).minusSeconds(1); // 鏄庡ぉ 23:59:59
+ ixhGatherPatArchiveService.getAppointRecordInfo("2", tomorrowStart, tomorrowEnd);
+ }
/**
* HIS鏁版嵁閲囬泦
@@ -328,78 +342,159 @@
aBoolean = serviceSLTDHealthcareRecordService.queryHospUserInfoList(reqVO);
}
log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滅敤鎴蜂俊鎭�濈粨鏉熼噰闆嗘暟鎹細{}", aBoolean);
+ //鐤剧梾瀛楀吀閲囬泦
+ iIcd10Service.queryAddIcd10();
}
- //鐤剧梾瀛楀吀閲囬泦
- iIcd10Service.queryAddIcd10();
- // 鐪佺珛鍚屽痉鏁版嵁閲囬泦
- for (Long cid : campusidList) {
- 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")));
+ // nhfy/sltd鍥炴函30澶╁垎娈甸噰闆嗗垽鏂紙姣忔鏈�澶�7澶╋級
+ boolean isBackfill = (active.trim().equals("nhfy") || active.trim().equals("sltd")) && StringUtils.isNotBlank(todayZeroStr);
+ if (isBackfill) {
+ DateTimeFormatter dateFmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ LocalDate segStart = todayZero.toLocalDate().minusDays(30);
+ LocalDate segEndDate = todayZero.toLocalDate();
+ int segCount = 0;
+ while (!segStart.isAfter(segEndDate)) {
+ LocalDate segEnd = segStart.plusDays(6);
+ if (segEnd.isAfter(segEndDate)) {
+ segEnd = segEndDate;
+ }
+ segCount++;
+ log.info("銆恉ealHisData銆憑}鍥炴函绗瑊}娈甸噰闆嗭紝鏃ユ湡鑼冨洿锛歿} ~ {}", active.trim(), segCount, segStart.format(dateFmt), segEnd.format(dateFmt));
+ for (Long cid : campusidList) {
+ collectSegmentData(cid, segStart.format(dateFmt), segEnd.format(dateFmt));
+ }
+ segStart = segEnd.plusDays(1);
}
- List<String> list = new ArrayList<>();
- list.add("FH0109.22");
- list.add("FH0109.23");
- list.add("FH0109.53");
- serviceSLTDInhospReqVO.setStatusList(list);
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
- serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+ log.info("銆恉ealHisData銆憑}鍥炴函閲囬泦瀹屾垚锛屽叡{}娈�", active.trim(), segCount);
+ }
- 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.24");
- serviceSLTDInhospReqVO.setStatusList(listStr);
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
- serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濈祼鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+ // 鐪佺珛鍚屽痉鏁版嵁閲囬泦锛堥潪鍥炴函妯″紡鎵嶆墽琛岋級
+ if (!isBackfill) {
+ for (Long cid : campusidList) {
+ 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("FH0109.22");
+ list.add("FH0109.23");
+ list.add("FH0109.53");
+ serviceSLTDInhospReqVO.setStatusList(list);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈鍏ラ櫌鈥濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+ serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+ log.info("銆恉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<>();
+ 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.24");
+ serviceSLTDInhospReqVO.setStatusList(listStr);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+ serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+ log.info("銆恉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");
- //棰勫嚭闄�
- list2.add("FH0109.25");
- serviceSLTDInhospReqVO.setStatusList(list2);
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
- serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
- log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+ //鍑洪櫌
+ list2.add("FH0109.27");
+ //棰勫嚭闄�
+ list2.add("FH0109.25");
+ serviceSLTDInhospReqVO.setStatusList(list2);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
+ serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+ }
}
} catch (Exception e) {
log.error("銆恉ealHisData銆戠渷绔嬪悓寰锋暟鎹噰闆嗗紓甯�", e);
}
}
+ }
+
+ /**
+ * 鍒嗘閲囬泦鏁版嵁锛堥鍏ラ櫌銆佸叆闄€�佸嚭闄級
+ * 鐢ㄤ簬nhfy/sltd鍥炴函閲囬泦锛屾瘡娆℃渶澶氭煡璇�7澶╂暟鎹�
+ *
+ * @param cid 闄㈠尯ID
+ * @param startDateStr 鏃ユ湡寮�濮� yyyy-MM-dd
+ * @param endDateStr 鏃ユ湡缁撴潫 yyyy-MM-dd
+ */
+ private void collectSegmentData(Long cid, String startDateStr, String endDateStr) {
+ // 棰勫叆闄�
+ log.info("銆恉ealHisData銆戦鍏ラ櫌寮�濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}锛屾椂闂存锛歿} ~ {}", cid, startDateStr, endDateStr);
+ ServiceSLTDInhospReqVO reqVO = new ServiceSLTDInhospReqVO();
+ reqVO.setOrgId("20001001");
+ reqVO.setCampusId(cid);
+ reqVO.setEncounterTimeStart(startDateStr);
+ reqVO.setEncounterTimeEnd(endDateStr);
+ List<String> preAdmitStatus = new ArrayList<>();
+ preAdmitStatus.add("FH0109.22");
+ preAdmitStatus.add("FH0109.23");
+ preAdmitStatus.add("FH0109.53");
+ reqVO.setStatusList(preAdmitStatus);
+ log.info("銆恉ealHisData銆戦鍏ラ櫌閲囬泦鏁版嵁鍏ュ弬锛歿}", reqVO);
+ serviceSLTDHealthcareRecordService.queryHealthcareRecordList(reqVO);
+ log.info("銆恉ealHisData銆戦鍏ラ櫌绲備簡閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
+
+ // 鍏ラ櫌
+ log.info("銆恉ealHisData銆戝叆闄㈠紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}锛屾椂闂存锛歿} ~ {}", cid, startDateStr, endDateStr);
+ reqVO = new ServiceSLTDInhospReqVO();
+ reqVO.setOrgId("20001001");
+ reqVO.setCampusId(cid);
+ reqVO.setStartHeadTime(startDateStr);
+ reqVO.setStartTailTime(endDateStr);
+ List<String> admitStatus = new ArrayList<>();
+ admitStatus.add("FH0109.24");
+ reqVO.setStatusList(admitStatus);
+ log.info("銆恉ealHisData銆戝叆闄㈤噰闆嗘暟鎹叆鍙傦細{}", reqVO);
+ serviceSLTDHealthcareRecordService.queryHealthcareRecordList(reqVO);
+ log.info("銆恉ealHisData銆戝叆闄㈢祩浜嗛噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
+
+ // 鍑洪櫌
+ log.info("銆恉ealHisData銆戝嚭闄㈠紑濮嬮噰闆嗘暟鎹紝闄㈠尯锛歿}锛屾椂闂存锛歿} ~ {}", cid, startDateStr, endDateStr);
+ reqVO = new ServiceSLTDInhospReqVO();
+ reqVO.setOrgId("20001001");
+ reqVO.setCampusId(cid);
+ reqVO.setPreOutHospitalHeadDate(startDateStr);
+ reqVO.setPreOutHospitalTailDate(endDateStr);
+ List<String> dischargeStatus = new ArrayList<>();
+ //鍑洪櫌
+ dischargeStatus.add("FH0109.27");
+ //棰勫嚭闄�
+ dischargeStatus.add("FH0109.25");
+ reqVO.setStatusList(dischargeStatus);
+ log.info("銆恉ealHisData銆戝嚭闄㈤噰闆嗘暟鎹叆鍙傦細{}", reqVO);
+ serviceSLTDHealthcareRecordService.queryHealthcareRecordList(reqVO);
+ log.info("銆恉ealHisData銆戝嚭闄㈢粨鏉熼噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
}
/**
@@ -415,7 +510,7 @@
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
todayZero = LocalDateTime.parse(todayZeroStr, formatter);
}
- LocalDateTime yesterdayZero = todayZero.minusDays(1);
+ LocalDateTime tomorrowdayZero = todayZero.plusDays(1);
if (active.trim().equals("sltd") || active.trim().equals("nhfy")) {
//鐪佺珛鍚屽痉涓庡崕鍗楅檮涓�鐢ㄥ悓涓�濂楅噰闆嗘柟娉曪紙閮芥槸鏉ユ湭鏉ユ彁渚涳級
@@ -436,6 +531,7 @@
}
// 鐪佺珛鍚屽痉鏁版嵁閲囬泦
+ log.info("--campusidList鐨勫�间负锛歿}", campusidList);
for (Long cid : campusidList) {
String nowTime = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
@@ -444,24 +540,26 @@
serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
- // 闂ㄦ�ヨ瘖鍒嗛〉閲囬泦锛氭瘡椤�1000鏉★紝鐩村埌鏃犳暟鎹负姝�(鍗楀崕闄勪竴鐨勫厛涓嶉噰闂ㄦ�ヨ瘖鏁版嵁)
+ // 闂ㄦ�ヨ瘖鍒嗛〉閲囬泦锛氭瘡椤�40鏉★紝鐩村埌鏃犳暟鎹负姝�(鍗楀崕闄勪竴鐨勫厛涓嶉噰闂ㄦ�ヨ瘖鏁版嵁)
if (active.trim().equals("sltd")) {
log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濆紑濮嬪垎椤甸噰闆嗘暟鎹紝闄㈠尯锛歿}", cid);
serviceSLTDInhospReqVO.setStartHeadTime(null);
serviceSLTDInhospReqVO.setStartTailTime(null);
-// serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
-// serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
-// if (yesterdayZero != null) {
- serviceSLTDInhospReqVO.setEncounterTimeStart(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
- serviceSLTDInhospReqVO.setEncounterTimeEnd(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
-// }
+ //鏌ヨ褰撳ぉ鐨勬暟鎹�
+ serviceSLTDInhospReqVO.setEncounterTimeEnd(tomorrowdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+ serviceSLTDInhospReqVO.setEncounterTimeStart(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
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;
+ //浠庣紦瀛橀噷鑾峰彇璧峰椤碉紙闆剁偣鍓�10鍒嗛挓鍐呯敤鏄ㄥぉ鐨勬棩鏈燂紝閬垮厤璺ㄥぉ婕忛噰锛�
+ LocalDateTime now = LocalDateTime.now();
+ String mzCacheDate = (now.getHour() == 0 && now.getMinute() < 10) ? now.minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) : now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+ Long outpPage = redisCache.getCacheObject("mzCurrent" + cid + mzCacheDate);
+ if (outpPage == null) outpPage = 1L;
+ //閭h竟鏆傛椂鍙兘璁剧疆40
+ final long OUTP_PAGE_SIZE = 500L;
while (true) {
serviceSLTDInhospReqVO.setCurrent(outpPage);
serviceSLTDInhospReqVO.setSize(OUTP_PAGE_SIZE);
@@ -473,6 +571,9 @@
}
log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濈{}椤甸噰闆唟}鏉★紝闄㈠尯锛歿}", outpPage, outpResult.size(), cid);
if (outpResult.size() < OUTP_PAGE_SIZE) {
+ //璁剧疆涓�涓紦瀛橈紝鐢ㄦ潵瀛樺湪涓嬫鐨勮捣濮嬮〉
+ redisCache.setCacheObject("mzCurrent" + cid + mzCacheDate, outpPage, 24, TimeUnit.HOURS);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滈棬鎬ヨ瘖鈥濈殑缂撳瓨key:{}涓嬫鐨勮捣濮嬮〉{}锛岄櫌鍖猴細{}", "mzCurrent" + cid + mzCacheDate, outpPage, cid);
break;
}
outpPage++;
@@ -488,6 +589,26 @@
}
}
}
+
+ /**
+ * 鍚屽痉鑽搧鏁版嵁閲囬泦
+ */
+
+ public void dealHisDataMedication() {
+ final long OUTP_PAGE_SIZE = 500L;
+ ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO();
+ serviceSLTDInhospReqVO.setOrgId("20001001");
+ Long outpPage = 1L;
+ while (true) {
+ serviceSLTDInhospReqVO.setCurrent(outpPage);
+ serviceSLTDInhospReqVO.setSize(OUTP_PAGE_SIZE);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滆嵂鍝佹暟鎹�濋噰闆嗙{}椤垫暟鎹�", outpPage);
+ Boolean b = serviceSLTDHealthcareRecordService.queryMedicationItemList(serviceSLTDInhospReqVO);
+ log.info("銆恉ealHisData銆戠渷绔嬪悓寰封�滆嵂鍝佹暟鎹�濋噰闆嗙粨鏋滐細{}", b);
+ outpPage++;
+ }
+ }
+
public void dealHisDataSLTD() {
log.info("銆恉ealHisData銆戝紑濮嬫墽琛孒IS鏁版嵁閲囬泦浠诲姟");
@@ -560,17 +681,17 @@
}
/**
- * 澶勭悊鎮h�呬俊鎭紝杩涘叆瀛愪换鍔¤〃
+ * 澶勭悊鎮h�呬俊鎭紝杩涘叆瀛愪换鍔¤〃(浠诲姟缁�)
*/
- public void dealOutHospInfoByDimension() {
+ public void dealOutHospInfoBySchedule() {
String config = configService.selectConfigByKey("visit.early.day");
if (port.equals("8095")) {
//鍑洪櫌琛�
- iPatMedInhospService.dealOutHospInfoByDimension(config);
+ iPatMedInhospService.dealOutHospInfoBySchedule(config);
//闂ㄨ瘖琛�(鏂板崕鐨勬殏鏃朵笉鍋氶棬璇婇殢璁�)
- if (!active.equals("xh")) {
- //iPatMedOuthospService.dealOutpatientInfo();
- }
+// if (!active.equals("xh")) {
+// //iPatMedOuthospService.dealOutpatientInfo();
+// }
}
}
@@ -910,6 +1031,7 @@
serviceOutPath.setParam3(ivrTask1.getTaskName());
serviceOutPath.setParam6(subId);
serviceOutPath.setCreateTime(new Date());
+ serviceOutPath.setOrgid(serviceSubtask.getOrgid());
iServiceOutPathService.insertServiceOutPath(serviceOutPath);
String format = String.format("%03X", serviceOutPath.getId());
serviceOutPath.setRadix(format);
@@ -928,9 +1050,9 @@
SysConfig sysConfig = new SysConfig();
if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("6")) {
sysConfig = sysConfigMapper.checkConfigKeyUnique("zymyd.sms.template");
- }else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) {
+ } else if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && serviceSubtask.getServiceType().equals("14")) {
sysConfig = sysConfigMapper.checkConfigKeyUnique("mzmyd.sms.template");
- }else {
+ } else {
sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template");
}
if (!Objects.isNull(sysConfig)) {
@@ -964,9 +1086,29 @@
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));
+// req.put("phone", sendMagParam.getPhone());
+// req.put("content", sendMagParam.getContent());
+ Map<String, String> map2 = new HashMap<String, String>();
+ map2.put("action", "send");
+ map2.put("account", xhsmsAccount);
+ map2.put("password", xhsmsPwd);
+ map2.put("mobile", sendMagParam.getPhone());
+ map2.put("content", sendMagParam.getContent());
+ map2.put("extno", xhsmsjrm);
+ map2.put("rt", "json");
+ StringBuilder encodedParams = new StringBuilder();
+
+ for (Map.Entry<String, String> entry : map2.entrySet()) {
+ if (encodedParams.length() > 0) {
+ encodedParams.append("&");
+ }
+ // 瀵归敭鍜屽�艰繘琛孶RL缂栫爜
+ String encodedKey = URLEncoder.encode(entry.getKey(), "UTF-8");
+ String encodedValue = URLEncoder.encode(entry.getValue(), "UTF-8");
+ encodedParams.append(encodedKey).append("=").append(encodedValue);
+ }
+ Boolean result = HttpUtils.sendPost(xhsmsPath, new Gson().toJson(req));
+ if (result) isSuccess = "true";
} else if (active.equals("ls")) {
// String url = configService.selectConfigByKey("token.360", serviceSubtask.getOrgid());
// //涓芥按鐨勭煭淇″彂閫佹柟寮�
@@ -1090,8 +1232,26 @@
if (dateToday) {
try {
String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key);
+ String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key);
String url = null;
- url = localIP + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false";
+ url = localIP + ":" + req_path + "/outsideChainwt?param1=" + taskId +
+ "¶m2=" + patid +
+ "¶m3=" + URLEncoder.encode(ivrTask1.getTaskName(), StandardCharsets.UTF_8.toString()) +
+ "¶m5=false" +
+ "$param6=" + subId;
+
+ ServiceOutPath serviceOutPath = new ServiceOutPath();
+ serviceOutPath.setParam1(taskId);
+ serviceOutPath.setParam2(patid);
+ serviceOutPath.setParam3(ivrTask1.getTaskName());
+ serviceOutPath.setParam6(subId);
+ serviceOutPath.setCreateTime(new Date());
+ serviceOutPath.setOrgid(serviceSubtask.getOrgid());
+ iServiceOutPathService.insertServiceOutPath(serviceOutPath);
+ String format = String.format("%03X", serviceOutPath.getId());
+ serviceOutPath.setRadix(format);
+ serviceOutPath.setUpdateTime(new Date());
+ iServiceOutPathService.updateServiceOutPath(serviceOutPath);
//鑾峰彇寰俊鍏紬鍙疯姹備俊鎭牴鎹満鏋処D
List<String> wxqqxx = WxGZHEnum.getDescByCode(patArchive.getOrgid());
@@ -1345,7 +1505,7 @@
Map<String, String> headerMap = new HashMap<>();
headerMap.put("sign", encode);
String result = HttpUtils.sendPostByHeader(wxqqxx.get(3), body, headerMap);
-
+ log.info("銆恎etWXCode銆戝井淇″叕浼楀彿杩斿洖鍙傛暟锛歿}", result);
JSONObject jsonObject = JSONObject.parseObject(result);
String code = (String) jsonObject.toString();
return code;
@@ -1492,8 +1652,47 @@
return serviceTaskMap;
}
- public int qwenLLMTest(String questionText, String voiceText,String value,String regexText) {
+ public int qwenLLMTest(String questionText, String voiceText, String value, String regexText) {
int result = QwenLLMUtil.matchRegex(questionText, voiceText, value, regexText);
return result;
}
+
+ /**
+ * 浠诲姟缁勶紙appltype=5锛夐杞撼鍏ワ細鎵弿鏂板嚭闄㈡偅鑰咃紝鎸� schedule 缁戝畾鐨勭淮搴﹀尮閰嶄换鍔$粍锛�
+ * 涓哄懡涓殑鎮h�呮寜璁″垝鏄庣粏涓�娆℃�х敓鎴愮 0 杞� N 鏉� subtask锛屽苟缃� schedulecheck_flag=1銆�
+ * 鍚庣画杞鐢� {@link #rollTaskGroupCycle()} 璐熻矗銆�
+ * <p>
+ * 涓庝富鎵弿 dealOutHospInfo 鍒嗙锛屼簰涓嶅共鎵般�傚缓璁瘡 30 鍒嗛挓鎵ц涓�娆°��
+ */
+ public void dealTaskGroupOutHosp() {
+ log.info("銆恉ealTaskGroupOutHosp銆戝紑濮嬫壂鎻忎换鍔$粍鏂板嚭闄㈡偅鑰�");
+ if (!port.equals("8095")) {
+ return;
+ }
+ try {
+ String config = configService.selectConfigByKey("visit.early.day");
+ iPatMedInhospService.dealOutHospInfoBySchedule(config);
+ log.info("銆恉ealTaskGroupOutHosp銆戜换鍔$粍棣栬疆绾冲叆鎵弿瀹屾垚");
+ } catch (Exception e) {
+ log.error("銆恉ealTaskGroupOutHosp銆戜换鍔$粍鎵弿寮傚父", e);
+ }
+ }
+
+ /**
+ * 浠诲姟缁勶紙appltype=5锛夊惊鐜换鍔℃粴鍔ㄨ皟搴︺��
+ * <p>
+ * 鎵弿鎵�鏈� schedule_style=1 鐨勮鍒掞紝鑻ユ湰杞� subtask 鍏ㄩ儴 finalize锛坰endstate 鈭� 1/2/3锛夛紝
+ * 鍒欏厠闅嗘湰杞偅鑰呭埌涓嬩竴杞紝鎺ㄨ繘 current_loop_count 涓� visit_time銆�
+ * <p>
+ * 寤鸿姣忓皬鏃舵垨姣忓崐灏忔椂鎵ц涓�娆★紝閬垮厤杞绉帇銆�
+ */
+ public void rollTaskGroupCycle() {
+ log.info("銆恟ollTaskGroupCycle銆戝紑濮嬫壂鎻忓惊鐜换鍔$粍");
+ try {
+ int rolled = serviceTaskScheduleService.rollCycleTasks();
+ log.info("銆恟ollTaskGroupCycle銆戞湰娆℃帹杩� {} 涓鍒�", rolled);
+ } catch (Exception e) {
+ log.error("銆恟ollTaskGroupCycle銆戞粴鍔ㄨ皟搴﹀紓甯�", e);
+ }
+ }
}
--
Gitblit v1.9.3