From 10aaa035f5be0312304d20f022bdb714a8f4900a Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 11 十二月 2024 22:16:23 +0800
Subject: [PATCH] 代码提交
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 152 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 105 insertions(+), 47 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 0d260ff..dd4509f 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
@@ -18,11 +18,13 @@
import com.ruoyi.common.utils.http.HttpUtils;
import com.smartor.common.SendService;
import com.smartor.domain.*;
+import com.smartor.mapper.ServiceSubtaskMapper;
import com.smartor.mapper.ServiceTaskMapper;
import com.smartor.mapper.SysUserImportMapper;
import com.smartor.service.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@@ -42,6 +44,7 @@
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.time.LocalTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
@@ -70,6 +73,9 @@
private IServiceSubtaskService iServiceSubtaskService;
@Autowired
+ private IServicePatientTempService iServicePatientTempService;
+
+ @Autowired
private PlatformTransactionManager transactionManager;
@Autowired
@@ -94,7 +100,7 @@
private ServiceTaskMapper serviceTaskMapper;
@Autowired
- private SendService sendService;
+ private ServiceSubtaskMapper serviceSubtaskMapper;
@Autowired
private RedisCache redisCache;
@@ -116,6 +122,9 @@
@Autowired
ISvyTaskTemplateService svyTaskTemplateService;
+
+ @Autowired
+ IIvrTaskTemplateService iIvrTaskTemplateService;
@Value("${hosp_info_url}")
private String hospInfoUrl;
@@ -186,8 +195,13 @@
//灏嗘偅鑰呬俊鎭�佸嚭闄€�侀棬璇婃暟鎹叏閮ㄩ噰闆�
// 鑾峰彇褰撳墠鏃ユ湡鍜屾椂闂�
LocalDateTime endTime = LocalDateTime.now();
+ endTime = endTime.with(LocalTime.MIN);
+// String dateStr = "2024/11/30 00:00:00";
+// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
+// LocalDateTime endTime = LocalDateTime.parse(dateStr, formatter);
// 鑾峰彇鍓嶄竴澶╃殑鏃ユ湡鍜屾椂闂�
LocalDateTime startTime = endTime.minusDays(1);
+ startTime = startTime.with(LocalTime.MIN);
getInHospInfo("0", startTime, endTime);
getInHospInfo("1", startTime, endTime);
@@ -224,7 +238,18 @@
}
/**
- * 闀挎湡浠诲姟鎵ц
+ * 澶勭悊鎮h�呬俊鎭紝杩涘叆瀛愪换鍔¤〃(寰俊灏忕▼搴�)
+ */
+ public void dealOutHospInfoXHC() {
+ PatMedInhosp patMedInhosp = new PatMedInhosp();
+ //鑾峰彇鏈鐞嗙殑鏁版嵁
+ List<ServicePatientTemp> servicePatientTemps = iServicePatientTempService.selectServicePatientTempList(new ServicePatientTemp());
+
+ }
+
+
+ /**
+ * 闀挎湡浠诲姟鎵ц锛堢數璇濓級
*/
public void longTaskSend() {
//鑾峰彇浠诲姟淇℃伅
@@ -286,60 +311,81 @@
ivrTaskcall.setSendstate(2L);
List<ServiceSubtask> selectServiceSubtaskList = iServiceSubtaskService.selectServiceSubtaskList(ivrTaskcall);
if (descByCode.equals("鐢佃瘽")) {
+ String value = "";
for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
ServiceTask ivrTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
if (ivrTask.getSendState() != null && ivrTask.getSendState() == 3 || ivrTask.getSendState() != null && ivrTask.getSendState() == 4) {
//濡備綍浠诲姟琚�滄殏鍋溾�濇垨鈥滅粓姝⑩��
break;
}
- //鑾峰彇鍒皏alue鍊兼渶灏戠殑key
- String key = getKey();
- if (commonTaskcallMQ.getSendType().equals("2")) {
- //璇存槑鏄珛鍗冲彂閫�
- String value = redisCache.getCacheObject("cache-0");
- ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO();
- serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid());
- List<ServiceSubtask> selectServiceSubtaskList1 = iServiceSubtaskService.selectServiceSubtaskList(serviceSubtask1);
- for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) {
+ boolean dateToday = isDateToday(serviceSubtask.getLongSendTime());
+ //璇存槑鏄珛鍗冲彂閫�(鍏堟妸娑堟伅鏀惧埌cache-0涓紝 displayNo涓嶇煡閬撴�庝箞閰嶇疆)
+ if (dateToday) {
+ try {
+// ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO();
+// serviceSubtask1.setTaskid(ivrTask.getTaskid());
+// List<ServiceSubtask> selectServiceSubtaskList1 = iServiceSubtaskService.selectServiceSubtaskList(serviceSubtask1);
+// for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) {
if (StringUtils.isEmpty(value)) {
- value = "," + serviceSubtask2.getId().toString() + ",";
+ value = "," + serviceSubtask.getId().toString() + ",";
} else {
- value = value + "," + serviceSubtask2.getId().toString() + ",";
+ if (!value.contains("," + serviceSubtask.getId().toString()))
+ value = value + "," + serviceSubtask.getId().toString() + ",";
}
+// }
+ } catch (Exception e) {
+ String guid = UUID.randomUUID().toString();
+ log.error("闀挎湡浠诲姟锛岀數璇濆彂閫佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid);
+ serviceSubtask.setResult("error");
+ serviceSubtask.setRemark("绯荤粺閿欒");
+ serviceSubtask.setSendstate(3L);
+ serviceSubtask.setFinishtime(new Date());
+ serviceSubtask.setGuid(guid);
+ iServiceSubtaskService.updateServiceSubtask(serviceSubtask);
}
- redisCache.setCacheObject("cache-0", value);
- } else {
- //闈炵珛鍗冲彂閫�
- String value = redisCache.getCacheObject(key);
- ServiceSubtaskVO serviceSubtask1 = new ServiceSubtaskVO();
- serviceSubtask1.setTaskid(commonTaskcallMQ.getTaskid());
- List<ServiceSubtask> selectServiceSubtaskList1 = iServiceSubtaskService.selectServiceSubtaskList(serviceSubtask1);
- for (ServiceSubtask serviceSubtask2 : selectServiceSubtaskList1) {
- if (StringUtils.isEmpty(value)) {
- value = "," + serviceSubtask2.getId().toString() + ",";
- } else {
- value = value + "," + serviceSubtask2.getId().toString() + ",";
- }
- }
- redisCache.setCacheObject(key, value);
+
+ //鍦ㄥ瓙浠诲姟琛ㄩ噷璁板綍涓�涓�
+ String uuid = UUID.randomUUID().toString();
+ serviceSubtask.setResult("success");
+ serviceSubtask.setRemark("闀挎湡浠诲姟锛岀數璇濊繘鍏ラ槦鍒楁垚鍔�");
+ serviceSubtask.setGuid(uuid);
+ serviceSubtask.setSendstate(3L);
+ serviceSubtask.setFinishtime(new Date());
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+
+ //浠诲姟鍙戦�佽褰�
+ ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
+ serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
+ serviceSubtaskRecord.setSubtaskId(serviceSubtask.getId());
+ serviceSubtaskRecord.setUuid(uuid);
+ serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
+ serviceSubtaskRecord.setPreachform("3");
+ serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
+ serviceSubtaskRecord.setRemark("闀挎湡浠诲姟锛岀數璇濊繘鍏ラ槦鍒楁垚鍔�");
+ serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
+
}
-
- //浠诲姟鍙戦�佽褰曪紙杩欎釜浠g爜搴旇鍐欏湪phoneTask涓紝鍏堝啓鍦ㄨ繖锛屽悗闈㈠啀鏀癸級
- ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
- serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
- serviceSubtaskRecord.setUuid(UUID.randomUUID().toString());
- serviceSubtaskRecord.setTasktype(serviceSubtask.getType());
- serviceSubtaskRecord.setPreachform("3");
- serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
- serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
-
-// //閫氳繃澶氱嚎绋嬬殑鏂瑰紡鍘绘墦鐢佃瘽
+// //閫氳繃澶氱嚎绋嬬殑鏂瑰紡鍘绘墦鐢佃瘽锛堣繖涓槸涓婃捣鐨勬柟娉曪級
// executorService.submit(new PhoneTask(serviceSubtask, ivrTaskTemplateVO1, redisCache, sendService, phonePath, robotPhoneUtils));
+ }
+ //灏嗚鎵ц鐨勬斁鍒扮紦瀛樹腑
+ String cache0 = redisCache.getCacheObject("cache-0");
+ if (StringUtils.isNotEmpty(cache0)) {
+ redisCache.setCacheObject("cache-0", cache0 + value);
+ } else if (StringUtils.isEmpty(cache0) && StringUtils.isNotEmpty(value)) {
+ redisCache.setCacheObject("cache-0", value);
}
} else if (descByCode.equals("澶氬獟浣�")) {
//澶氬獟浣�
} else if (descByCode.equals("绾歌川")) {
//绾歌川
+ } else if (descByCode.equals("寰俊灏忕▼搴�")) {
+ //寰俊灏忕▼搴�
+ for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
+ log.error("寰俊灏忕▼搴忔湡浠诲姟鍙戦��---------杩涙潵浜嗗悧锛焮}", serviceSubtask);
+
+
+ }
} else if (descByCode.equals("鐭俊")) {
RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key);
@@ -395,6 +441,7 @@
serviceSubtask.setSendstate(3L);
if (StringUtils.isNotEmpty(isSuccess) && !isSuccess.equals("true")) {
serviceSubtask.setResult("success");
+ serviceSubtask.setRemark("鐭俊鍙戦�佹垚鍔�");
} else {
serviceSubtask.setResult("error");
serviceSubtask.setSendstate(5L);
@@ -403,7 +450,7 @@
iServiceSubtaskService.updateServiceSubtask(serviceSubtask);
} catch (Exception e) {
String guid = UUID.randomUUID().toString();
- log.error("闀挎湡浠诲姟锛屽彂閫佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid);
+ log.error("闀挎湡浠诲姟锛岀煭淇″彂閫佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid);
serviceSubtask.setResult("error");
serviceSubtask.setRemark("绯荤粺閿欒");
serviceSubtask.setSendstate(5L);
@@ -464,7 +511,7 @@
iServiceSubtaskService.updateServiceSubtask(serviceSubtask);
} catch (Exception e) {
String guid = UUID.randomUUID().toString();
- log.error("闀挎湡浠诲姟锛屽彂閫佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid);
+ log.error("闀挎湡浠诲姟锛屽叕浼楀彿鍙戦�佸け璐ュ師鍥狅細{},{}", e.getMessage(), guid);
serviceSubtask.setResult("error");
serviceSubtask.setRemark("绯荤粺閿欒");
serviceSubtask.setSendstate(5L);
@@ -491,8 +538,8 @@
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S");
Map<String, String> req = new HashMap<>();
if (cry.equals("1")) {
- req.put("startTime", startTime.format(formatter));
- req.put("endTime", endTime.format(formatter));
+ req.put("cashStartDate", startTime.format(formatter));
+ req.put("cashEndDate", endTime.format(formatter));
req.put("currStatus", "4");
} else if (cry.equals("0")) {
req.put("admissStartDate", startTime.format(formatter));
@@ -561,7 +608,7 @@
patArchive.setNotrequiredreason(thiedInhospInfo.getOutWayName());
}
if (cry.equals("1") && StringUtils.isEmpty(thiedInhospInfo.getOutWayId())) {
- //濡傛灉涓�4灏辨槸姝讳骸
+ //鍑洪櫌鏂瑰紡涓虹┖
patArchive.setNotrequiredFlag("1");
patArchive.setNotrequiredreason("鍑洪櫌鏂瑰紡涓虹┖");
}
@@ -589,7 +636,9 @@
patArchive.setName(thiedInhospInfo.getPatiRecordName());
patArchiveService.insertPatArchive(patArchive);
} else {
- patArchive = patArchives.get(0);
+ patArchive.setId(patArchives.get(0).getId());
+ patArchiveService.update(patArchive);
+// patArchive = patArchives.get(0);
}
log.error("鍏ュ弬鐨刾atArchive锛歿}", patArchive);
@@ -615,8 +664,8 @@
e.printStackTrace();
}
try {
- if (StringUtils.isNotEmpty(thiedInhospInfo.getOutDate()))
- patMedInhosp.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getOutDate()));
+ if (StringUtils.isNotEmpty(thiedInhospInfo.getCashDate()))
+ patMedInhosp.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(thiedInhospInfo.getCashDate()));
} catch (ParseException e) {
e.printStackTrace();
}
@@ -651,8 +700,10 @@
log.error("鏄惁闇�瑕佹洿鏂帮細{}", patMedInhosps.size());
if (CollectionUtils.isNotEmpty(patMedInhosps)) {
patMedInhosp.setInhospid(patMedInhosps.get(0).getInhospid());
+ log.error("------鎮h�呭嚭鍏ラ櫌淇敼淇℃伅锛歿}", patMedInhosp);
patMedInhospService.updatePatMedInhosp(patMedInhosp);
} else {
+ log.error("----鎮h�呭嚭鍏ラ櫌鏂板淇℃伅锛歿}", patMedInhosp);
patMedInhospService.insertPatMedInhosp(patMedInhosp);
}
@@ -704,4 +755,11 @@
// String code = (String) jsonObject.get("code");
return jsonObject.toString();
}
+
+// public static void main(String[] args) {
+// LocalDateTime originalDateTime = LocalDateTime.now();
+// LocalDateTime startOfDay = originalDateTime.with(LocalTime.MIN);
+// System.out.println("Original DateTime: " + originalDateTime);
+// System.out.println("Start of Day: " + startOfDay);
+// }
}
--
Gitblit v1.9.3