From ddff387baa9c7c62e66bbe2723d2c40e4571ea51 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 15 十二月 2025 11:20:57 +0800
Subject: [PATCH] 【丽水】首次随访失败详情,首次应随访详情,首次待随访详情,首次随访成功详情,统计数字超链接,展示对应数据的任务信息
---
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 46 ++++++++++++++---------
smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java | 12 ++++++
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 27 +++++++++++++
3 files changed, 66 insertions(+), 19 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java
index 3d6597e..78786d3 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java
@@ -118,6 +118,18 @@
@Excel(name = " 棣栨闅忚澶辫触 ")
private Long followUpFail = 0L;
+ @ApiModelProperty(value = "棣栨闅忚澶辫触璇︽儏")
+ private List<ServiceSubtask> followUpFailInfo;
+
+ @ApiModelProperty(value = "棣栨搴旈殢璁胯鎯�")
+ private List<ServiceSubtask> needFollowUpInfo;
+
+ @ApiModelProperty(value = "棣栨寰呴殢璁胯鎯�")
+ private List<ServiceSubtask> pendingFollowUpInfo;
+
+ @ApiModelProperty(value = "棣栨闅忚鎴愬姛璇︽儏")
+ private List<ServiceSubtask> followUpSuccessInfo;
+
@ApiModelProperty(value = "鍙婃椂鐜�")
@Excel(name = " 鍙婃椂鐜� ")
private Double rate = 0.0;
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
index 0e49694..9f44995 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -249,6 +249,7 @@
patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
} else {
for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) {
+ //todo 1
writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 1, config);
}
patMedInhosp1.setDeptcheckFlag("1");
@@ -300,6 +301,7 @@
patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
} else {
for (ServiceTaskdept serviceTaskdept1 : serviceTaskdeptList) {
+ //todo 2
writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiBQ1, patArchive, 2, config);
}
pmiBQ1.setWardcheckFlag("1");
@@ -353,6 +355,7 @@
patMedInhospMapper.updatePatMedInhosp(pmiJB);
} else {
for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) {
+ //todo 3
writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
}
pmiJB.setDiagcheckFlag("1");
@@ -536,6 +539,7 @@
return calendar.getTime();
}
+ //todo
//灏嗘偅鑰呮斁鍒皊ubtask涓�
private void writeInSubTask(Long taskid, Boolean check, PatMedInhosp patMedInhosp1, PatArchive patArchive, Integer type, String config) {
String longTaskReason = patMedInhosp1.getLongTaskReason();
@@ -544,24 +548,27 @@
st.setTaskid(taskid);
st.setSendState(2L);
List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st);
- if (CollectionUtils.isEmpty(serviceTasks) && type == 1) {
- log.info("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
- patMedInhosp1.setDeptcheckFlag("2");
- patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
- return;
- } else if (CollectionUtils.isEmpty(serviceTasks) && type == 2) {
- patMedInhosp1.setWardcheckFlag("2");
- patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
- return;
- } else if (CollectionUtils.isEmpty(serviceTasks) && type == 3) {
- patMedInhosp1.setDiagcheckFlag("2");
- patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯柧鐥呴暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
- return;
+ ServiceTask serviceTask = null;
+ if(CollectionUtils.isEmpty(serviceTasks)){
+ if (type == 1) {
+ log.info("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
+ patMedInhosp1.setDeptcheckFlag("2");
+ patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ return;
+ } else if (type == 2) {
+ patMedInhosp1.setWardcheckFlag("2");
+ patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ return;
+ } else if (type == 3) {
+ patMedInhosp1.setDiagcheckFlag("2");
+ patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯柧鐥呴暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ return;
+ }
+ serviceTask = serviceTasks.get(0);
}
- ServiceTask serviceTask = serviceTasks.get(0);
if (Objects.isNull(patMedInhosp1.getEndtime())) {
return;
@@ -596,7 +603,10 @@
}
//type = 1鎴�2 琛ㄧず 鈥濈瀹ゃ�佺梾鍖衡��
if (type == 1 || type == 2) {
- if (serviceSubtask1.getEndtime().before(serviceSubtask.getEndtime()) && serviceSubtask1.getServiceType().equals("2")) {
+ Date endTime = serviceSubtask.getEndtime();
+ Date endTime1 = serviceSubtask1.getEndtime();
+ String serviceType1 = serviceSubtask1.getServiceType();
+ if (endTime1.before(endTime) && "2".equals(serviceType1)) {
//濡傛灉褰撳墠寰幆鐨勫瓙浠诲姟鐨勫嚭闄㈡椂闂村湪鈥滃噯澶囨柊澧炵殑瀛愪换鍔♀�濈殑鍑洪櫌鏃堕棿涔嬪墠锛屽垯灏嗗惊鐜殑瀛愪换鍔″仠鎺�
serviceSubtask1.setSendstate(4L);
if (StringUtils.isNotEmpty(serviceSubtask.getRemark()))
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 d2d92c1..3d86527 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -14,6 +14,7 @@
import com.smartor.mapper.*;
import com.smartor.service.*;
import com.sun.org.apache.bcel.internal.generic.NEW;
+import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
@@ -2431,6 +2432,15 @@
serviceSubtaskStatistic.setDischargeCount(serviceSubtaskList.size());
//璁板綍杩囨护鎮h�呰鎯�
List<ServiceSubtask> filterServiceSubtasks = new ArrayList<>();
+ //璁板綍棣栨搴旈殢璁胯鎯�
+ List<ServiceSubtask> needFollowUpInfo = new ArrayList<>();
+ //璁板綍棣栨寰呴殢璁胯鎯�
+ List<ServiceSubtask> pendingFollowUpInfo = new ArrayList<>();
+ //璁板綍棣栨闅忚鎴愬姛璇︽儏
+ List<ServiceSubtask> followUpSuccessInfo = new ArrayList<>();
+ //璁板綍棣栨闅忚澶辫触璇︽儏
+ List<ServiceSubtask> followUpFailInfo = new ArrayList<>();
+
for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
//鏃犻渶闅忚浜烘
if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
@@ -2447,17 +2457,25 @@
//棣栨鍑洪櫌闅忚
if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() == 1) {
+ //棣栨搴旈殢璁�
if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
serviceSubtaskStatistic.setNeedFollowUp(serviceSubtaskStatistic.getNeedFollowUp() + 1L);
+ needFollowUpInfo.add(serviceSubtask);
}
+ //棣栨寰呴殢璁�
if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L);
+ pendingFollowUpInfo.add(serviceSubtask);
}
+ //棣栨闅忚鎴愬姛
if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 6)) {
serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
+ followUpSuccessInfo.add(serviceSubtask);
}
+ //棣栨闅忚澶辫触
if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
+ followUpFailInfo.add(serviceSubtask);
}
if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {
double rate = (double) (serviceSubtaskStatistic.getFollowUpSuccess() + serviceSubtaskStatistic.getFollowUpFail()) / serviceSubtaskStatistic.getNeedFollowUp();
@@ -2531,7 +2549,14 @@
}
}
serviceSubtaskStatistic.setFilterCountList(filterServiceSubtasks);
-
+ //璁板綍棣栨搴旈殢璁胯鎯�
+ serviceSubtaskStatistic.setNeedFollowUpInfo(needFollowUpInfo);
+ //璁板綍棣栨寰呴殢璁胯鎯�
+ serviceSubtaskStatistic.setPendingFollowUpInfo(pendingFollowUpInfo);
+ //璁板綍棣栨闅忚鎴愬姛璇︽儏
+ serviceSubtaskStatistic.setFollowUpSuccessInfo(followUpSuccessInfo);
+ //璁板綍棣栨闅忚澶辫触璇︽儏
+ serviceSubtaskStatistic.setFollowUpFailInfo(followUpFailInfo);
return serviceSubtaskStatistic;
}
--
Gitblit v1.9.3