From 6a53d35b5d56e2f6bc64bbfe41579f6f32039c90 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 24 三月 2026 15:24:33 +0800
Subject: [PATCH] 【丽水】随访增加 人工随访超时状态
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 107 +++++++++++++++++++++++++++++++++++++----------------
1 files changed, 74 insertions(+), 33 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 7117122..fa36706 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -104,10 +104,16 @@
private IServiceOutPathService iServiceOutPathService;
@Autowired
+ private IPatMedOuthospService iPatMedOuthospService;
+
+ @Autowired
private FtpService ftpService;
@Autowired
private PatMedInhospMapper patMedInhospMapper;
+
+ @Autowired
+ private PatMedOuthospMapper patMedOuthospMapper;
@Autowired
private PatArchiveMapper patArchiveMapper;
@@ -315,7 +321,7 @@
List<ServiceSubtaskRes> serviceSubtaskResList = new ArrayList<>();
for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
ServiceSubtaskRes serviceSubtaskRes = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskRes.class);
- if(ObjectUtils.isNotEmpty(serviceSubtask.getContinueContent())){
+ if (ObjectUtils.isNotEmpty(serviceSubtask.getContinueContent())) {
serviceSubtaskRes.setContinueContent(serviceSubtask.getContinueContent());
}
serviceSubtaskResList.add(serviceSubtaskRes);
@@ -593,6 +599,7 @@
ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
+ serviceTaskoper.setOplevelcode(serviceTaskVO.getOplevelcode());
serviceTaskoper.setTaskId(serviceTask.getTaskid());
serviceTaskoper.setTaskName(serviceTask.getTaskName());
serviceTaskoper.setLongtask(Long.valueOf(serviceTask.getLongTask()));
@@ -620,8 +627,7 @@
serviceTaskdept.setDeptCode(deptCode);
serviceTaskdept.setDeptType("1");
serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
- //鍏堥�氳繃浠诲姟ID銆侀儴闂╟ode,鍒ゆ柇ServiceTaskdept鏄惁瀛樺湪锛屼笉瀛樺湪鍒欐柊澧烇紝瀛樺湪鍒欎慨鏀�
- serviceTaskdeptService.insertOrUpdateServiceTaskdept(serviceTaskdept);
+ serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
}
}
if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) {
@@ -630,8 +636,7 @@
serviceTaskdept.setDeptCode(districtcode);
serviceTaskdept.setDeptType("2");
serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
- //鍏堥�氳繃浠诲姟ID銆侀儴闂╟ode,鍒ゆ柇ServiceTaskdept鏄惁瀛樺湪锛屼笉瀛樺湪鍒欐柊澧烇紝瀛樺湪鍒欎慨鏀�
- serviceTaskdeptService.insertOrUpdateServiceTaskdept(serviceTaskdept);
+ serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
}
}
}
@@ -764,8 +769,15 @@
serviceTaskdept.setDeptCode(deptCode);
serviceTaskdept.setDeptType("1");
serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
- //鍏堥�氳繃浠诲姟ID銆侀儴闂╟ode,鍒ゆ柇ServiceTaskdept鏄惁瀛樺湪锛屼笉瀛樺湪鍒欐柊澧烇紝瀛樺湪鍒欎慨鏀�
- serviceTaskdeptService.insertOrUpdateServiceTaskdept(serviceTaskdept);
+ ServiceTaskdept st = new ServiceTaskdept();
+ st.setDeptCode(deptCode);
+ st.setTaskId(serviceTask.getTaskid());
+ List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptService.selectServiceTaskdeptList(st);
+ if (CollectionUtils.isEmpty(serviceTaskdepts)) {
+ serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
+ } else {
+ serviceTaskdeptService.updateServiceTaskdept(serviceTaskdept);
+ }
}
}
if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) {
@@ -780,7 +792,15 @@
serviceTaskdept.setDeptType("2");
serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
//鍏堥�氳繃浠诲姟ID銆侀儴闂╟ode,鍒ゆ柇ServiceTaskdept鏄惁瀛樺湪锛屼笉瀛樺湪鍒欐柊澧烇紝瀛樺湪鍒欎慨鏀�
- serviceTaskdeptService.insertOrUpdateServiceTaskdept(serviceTaskdept);
+ ServiceTaskdept st = new ServiceTaskdept();
+ st.setDeptCode(districtcode);
+ st.setTaskId(serviceTask.getTaskid());
+ List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptService.selectServiceTaskdeptList(st);
+ if (CollectionUtils.isEmpty(serviceTaskdepts)) {
+ serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept);
+ } else {
+ serviceTaskdeptService.updateServiceTaskdept(serviceTaskdept);
+ }
}
}
} else if (serviceTaskVO.getAppltype().equals("3")) {
@@ -821,31 +841,32 @@
}
// serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
+ serviceTaskoper.setOplevelcode(serviceTaskVO.getOplevelcode());
serviceTaskoper.setTaskId(serviceTask.getTaskid());
serviceTaskoper.setTaskName(serviceTask.getTaskName());
serviceTaskoper.setLongtask(Long.valueOf(serviceTask.getLongTask()));
serviceTaskoper.setGuid(serviceTask.getGuid());
serviceTaskoper.setOrgid(serviceTask.getOrgid());
serviceTaskoper.setCreateTime(new Date());
- if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
- String[] opcodes = serviceTaskVO.getOpcode().split(",");
- for (String opcode : opcodes) {
- //鍏堟煡璇竴涓嬫槸鍚﹀瓨鍦�
- ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
- serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
- serviceTaskoper2.setOpcode(serviceTaskVO.getOpcode());
- List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
-
- serviceTaskoper.setOpcode(opcode);
- log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
- if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
- serviceTaskoper.setId(serviceTaskopers.get(0).getId());
- serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
- } else {
- serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
- }
- }
- }
+// if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
+// String[] opcodes = serviceTaskVO.getOpcode().split(",");
+// for (String opcode : opcodes) {
+// //鍏堟煡璇竴涓嬫槸鍚﹀瓨鍦�
+// ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
+// serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
+// serviceTaskoper2.setOpcode(serviceTaskVO.getOpcode());
+// List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
+//
+// serviceTaskoper.setOpcode(opcode);
+// log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
+// if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
+// serviceTaskoper.setId(serviceTaskopers.get(0).getId());
+// serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
+// } else {
+// serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+// }
+// }
+// }
}
}
if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) {
@@ -2181,6 +2202,26 @@
List<ServiceStatisticsResponse> result = serviceSubtaskMapper.getServiceStatistics(request);
+ //鑾峰彇闂ㄦ�ヨ瘖鏁版嵁
+
+ //濉厖闂ㄨ瘖鏁版嵁
+ for (ServiceStatisticsResponse serviceStatisticsResponse : result) {
+ PatMedOuthospQueryReq req = new PatMedOuthospQueryReq();
+ String deptcodes = CollectionUtils.isEmpty(request.getDeptcodes()) ? null : String.join(",", request.getDeptcodes());
+ if (!request.getTimeType().equals("month")) {
+ req.setBeginAdmitdate(DateUtils.parseDate(serviceStatisticsResponse.getTimePeriod()));
+ req.setEndAdmitdate(DateUtils.parseDate(serviceStatisticsResponse.getTimePeriod()));
+ } else {
+ // year 绫诲瀷锛歵imePeriod 鏍煎紡涓� "yyyy-MM"锛屽彇褰撴湀绗竴澶╁拰鏈�鍚庝竴澶�
+ java.time.YearMonth ym = java.time.YearMonth.parse(serviceStatisticsResponse.getTimePeriod());
+ req.setBeginAdmitdate(DateUtils.toDate(ym.atDay(1)));
+ req.setEndAdmitdate(DateUtils.toDate(ym.atEndOfMonth()));
+ }
+ req.setDeptcode(deptcodes);
+ req.setOrgid(request.getOrgid());
+ Long count = patMedOuthospMapper.callSpQueryOuthospCount(req);
+ serviceStatisticsResponse.setPmoCount(count);
+ }
log.info("getServiceStatistics杩斿洖缁撴灉鏁伴噺锛歿}", result.size());
return result;
@@ -2596,8 +2637,8 @@
serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L);
pendingFollowUpInfo.add(serviceSubtask);
}
- //棣栨闅忚澶辫触
- if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
+ //棣栨闅忚澶辫触(鍖呮嫭闅忚澶辫触+浜哄伐瓒呮椂)
+ if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
followUpFailInfo.add(serviceSubtask);
}
@@ -2826,7 +2867,7 @@
if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 6)) {
serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
}
- if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
+ if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
}
if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {
@@ -2944,7 +2985,7 @@
if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 6)) {
serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
}
- if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
+ if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
}
if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {
@@ -3167,7 +3208,7 @@
* @return
*/
@Override
- @Cacheable(value = "getSfStatisticsScript", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#serviceSubtaskCountReq.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
+// @Cacheable(value = "getSfStatisticsScript", key = "T(org.springframework.util.DigestUtils).md5DigestAsHex(#serviceSubtaskCountReq.toString().getBytes())", unless = "#result == null or #result.isEmpty()")
public List<ServiceSubtaskStatistic> getSfStatisticsScript(ServiceSubtaskCountReq serviceSubtaskCountReq) {
log.info("getSfStatisticsScript鐨勫叆鍙備负锛歿}", serviceSubtaskCountReq);
List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>();
@@ -3522,7 +3563,7 @@
diagname.setSuggest(subtask.getSuggest());
diagname.setOperator(subtask.getOperator());
diagname.setFinishtime(subtask.getFinishtime());
- diagname.setLongSendTime(subtask.getLongSendTime());
+ diagname.setVisitTime(subtask.getVisitTime());
diagname.setEndtime(subtask.getEndtime());
//璁$畻鍑洪櫌澶╂暟
if (!Objects.isNull(diagname.getEndtime())) {
--
Gitblit v1.9.3