From 91b61e8412bd4f59ac44a3dcc42adb584d1119c5 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 04 六月 2026 17:59:45 +0800
Subject: [PATCH] 新增满意度功能
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 86 ++++++++++++++++++++++++------------------
1 files changed, 49 insertions(+), 37 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 c80b12c..e1bc0ae 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -350,11 +350,16 @@
public List<ServiceSubtaskRes> patItem(ServiceSubtaskEntity serviceSubtaskEntity) {
if (serviceSubtaskEntity.getSendstateView() != null) {
// 1锛氬緟闅忚锛�2 寰呭彂閫侊級锛�2锛氶殢璁夸腑锛�3 宸插彂閫併��1 琚鍙栵級銆�3锛氭湭瀹屾垚锛�5 鍙戦�佸け璐ャ��7銆佽秴鏃讹級銆�4锛氬凡瀹屾垚锛� 6 宸插畬鎴愶級銆�5锛氭棤闇�闅忚锛�4 涓嶆墽琛岋級
- if (serviceSubtaskEntity.getSendstateView() == 1) serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(2L)));
- if (serviceSubtaskEntity.getSendstateView() == 2) serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 3L)));
- if (serviceSubtaskEntity.getSendstateView() == 3) serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(5L, 7L)));
- if (serviceSubtaskEntity.getSendstateView() == 4) serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L)));
- if (serviceSubtaskEntity.getSendstateView() == 5) serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L)));
+ if (serviceSubtaskEntity.getSendstateView() == 1)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(2L)));
+ if (serviceSubtaskEntity.getSendstateView() == 2)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(1L, 3L)));
+ if (serviceSubtaskEntity.getSendstateView() == 3)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(5L, 7L)));
+ if (serviceSubtaskEntity.getSendstateView() == 4)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(6L)));
+ if (serviceSubtaskEntity.getSendstateView() == 5)
+ serviceSubtaskEntity.setSendstates(new ArrayList<>(Arrays.asList(4L)));
}
List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskEntity);
@@ -747,11 +752,10 @@
serviceSubtask.setPatid(patTaskRelevance.getPatid());
serviceSubtask.setCreateTime(DateUtils.getNowDate());
serviceSubtask.setInhospid(patTaskRelevance.getHospid());
- serviceSubtask.setSendstate(1L);
- if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1)
- serviceSubtask.setSendstate(2L);
- serviceSubtask.setDeptcode(patTaskRelevance.getDeptcode());
- serviceSubtask.setDeptname(patTaskRelevance.getDeptName());
+ //鏂板缓瀹屾垚灏辨槸寰呭彂閫佺姸鎬�
+ serviceSubtask.setSendstate(2L);
+ serviceSubtask.setDeptcode(StringUtils.isNotEmpty(patTaskRelevance.getDeptcode())?patTaskRelevance.getDeptcode():serviceTaskVO.getDeptcode());
+ serviceSubtask.setDeptname(StringUtils.isNotEmpty(patTaskRelevance.getDeptName())?patTaskRelevance.getDeptName():serviceTaskVO.getDeptname());
serviceSubtask.setLeavehospitaldistrictcode(patTaskRelevance.getLeavehospitaldistrictcode());
serviceSubtask.setLeavehospitaldistrictname(patTaskRelevance.getLeavehospitaldistrictname());
serviceSubtask.setType(serviceTaskVO.getType());
@@ -772,9 +776,13 @@
serviceSubtask.setContinueTimeNow(patTaskRelevance.getContinueTimeNow());
serviceSubtask.setCreateBy(serviceTask.getCreateBy());
serviceSubtask.setUpdateBy(serviceTask.getCreateBy());
- serviceSubtask.setVisitTime(patTaskRelevance.getVisittime());
- if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1)
+ serviceSubtask.setVisitTime(DateUtils.parseDate(serviceTaskVO.getShowTimeMorn()));
+ //濡傛灉绔嬪嵆鎵ц锛屾椂闂村氨鏄綋鍓嶆椂闂�
+ if(serviceTaskVO.getSendType()!=null&&serviceTaskVO.getSendType()==2) serviceSubtask.setVisitTime(new Date());
+ if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1) {
serviceSubtask.setLongSendTime(patTaskRelevance.getLongSendTime());
+ serviceSubtask.setVisitTime(patTaskRelevance.getVisittime());
+ }
serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
serviceSubtask.getId().intValue();
@@ -826,20 +834,23 @@
redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
//灏嗗嚭鍏ラ櫌琛ㄧ殑鏁版嵁锛岃繕鍘熸垚杩樻湭澶勭悊鐨勭姸鎬�
- if(serviceSubtask.getServiceType().equals("2")) {
- PatMedInhosp patMedInhosp = new PatMedInhosp();
- patMedInhosp.setDeptcheckFlag("0");
- patMedInhosp.setWardcheckFlag("0");
- patMedInhosp.setDiagcheckFlag("0");
- patMedInhosp.setInhospid(serviceSubtask.getInhospid());
- patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
- }else if(serviceSubtask.getServiceType().equals("3")) {
-
- if(serviceSubtask.getInhospid()!=null) {
- PatMedOuthospQueryReq req=new PatMedOuthospQueryReq();
+ if (serviceSubtask.getServiceType().equals("2")) {
+ ServiceTask st = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
+ //濡傛灉浠诲姟鏄暱鏈熶换鍔★紝闇�瑕佸皢璇ユ偅鑰呯殑鍑哄叆闄㈡暟鎹繕鍘熸垚杩樻湭澶勭悊鐨勭姸鎬�
+ if (st != null && st.getLongTask() == 1) {
+ PatMedInhosp patMedInhosp = new PatMedInhosp();
+ patMedInhosp.setDeptcheckFlag("0");
+ patMedInhosp.setWardcheckFlag("0");
+ patMedInhosp.setDiagcheckFlag("0");
+ patMedInhosp.setInhospid(serviceSubtask.getInhospid());
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
+ }
+ } else if (serviceSubtask.getServiceType().equals("3")) {
+ if (serviceSubtask.getInhospid() != null) {
+ PatMedOuthospQueryReq req = new PatMedOuthospQueryReq();
req.setOuthospno(serviceSubtask.getHospno());
List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.callSpQueryOuthosp(req);
- if(CollectionUtils.isNotEmpty(patMedOuthosps)) {
+ if (CollectionUtils.isNotEmpty(patMedOuthosps)) {
PatMedOuthosp patMedOuthosp = patMedOuthosps.get(0);
patMedOuthosp.setServerState("0");
patMedOuthospService.updatePatMedOuthosp(patMedOuthosp);
@@ -922,8 +933,10 @@
if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) {
String[] icd10codes = serviceTaskVO.getIcd10code().split(",");
String[] icd10names = serviceTaskVO.getIcd10name().split(",");
- if (icd10codes.length != icd10names.length) {
- throw new BaseException("鐤剧梾缂栫爜鍜岀柧鐥呭悕绉版暟閲忎笉涓�鑷�");
+ if(!active.equals("nhfy")&&!active.equals("druid")){
+ if (icd10codes.length != icd10names.length) {
+ throw new BaseException("鐤剧梾缂栫爜鍜岀柧鐥呭悕绉版暟閲忎笉涓�鑷�");
+ }
}
for (int i = 0; i < icd10codes.length; i++) {
//鍏堟煡璇竴涓嬫槸鍚﹀瓨鍦�
@@ -2214,6 +2227,8 @@
IvrTaskTemplateScript ivrTaskTemplateScript = iIvrTaskTemplateScriptService.selectIvrTaskTemplateScriptByID(serviceSubtaskDetail.getScriptid());
if (ivrTaskTemplateScript != null)
serviceSubtaskDetail.setCategoryid(ivrTaskTemplateScript.getScriptAssortid());
+ serviceSubtaskDetail.setIsMydException(ivrTaskTemplateScript.getIsMydException());
+ serviceSubtaskDetail.setDimension(ivrTaskTemplateScript.getDimension());
}
serviceSubtaskDetail.setSubId(selectServiceSubtaskList.get(0).getId());
@@ -2818,7 +2833,7 @@
if (serviceSubtask.getSendstate() != null && !serviceSubtask.getSendstate().equals(4L) && ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("5")) {
serviceSubtaskStatistic.setWeChat(serviceSubtaskStatistic.getWeChat() + 1L);
}
- } else if(StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
+ } else if (StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
//棣栨闅忚鎴愬姛
if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(6L))) {
serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
@@ -2839,7 +2854,7 @@
if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate().equals(6L) && ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("5")) {
serviceSubtaskStatistic.setWeChat(serviceSubtaskStatistic.getWeChat() + 1L);
}
- }else {
+ } else {
//棣栨闅忚鎴愬姛 - 缁熻鏃跺�欏姞涓婁笉鎵ц鐨勶紝宸插彂閫佺殑
if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(6L) || serviceSubtask.getSendstate().equals(3L) || serviceSubtask.getSendstate().equals(4L))) {
serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
@@ -2909,7 +2924,7 @@
if (serviceSubtask.getSendstate() != null && !serviceSubtask.getSendstate().equals(4L) && ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("5")) {
serviceSubtaskStatistic.setWeChatAgain(serviceSubtaskStatistic.getWeChatAgain() + 1L);
}
- } else if(StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
+ } else if (StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
//鍐嶆闅忚鎴愬姛
if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(6L))) {
serviceSubtaskStatistic.setFollowUpSuccessAgain(serviceSubtaskStatistic.getFollowUpSuccessAgain() + 1L);
@@ -3059,7 +3074,7 @@
if (serviceSubtask.getSendstate() != null && !serviceSubtask.getSendstate().equals(4L) && ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("5")) {
serviceSubtaskStatistic.setWeChat(serviceSubtaskStatistic.getWeChat() + 1L);
}
- } else if(StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
+ } else if (StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
//棣栨闅忚鎴愬姛
if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(6L))) {
serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
@@ -3206,7 +3221,7 @@
if (serviceSubtask.getSendstate() != null && !serviceSubtask.getSendstate().equals(4L) && ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("5")) {
serviceSubtaskStatistic.setWeChatAgain(serviceSubtaskStatistic.getWeChatAgain() + 1L);
}
- } else if(StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
+ } else if (StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("3")) {
//鍐嶆闅忚鎴愬姛
if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate().equals(6L)) {
serviceSubtaskStatistic.setFollowUpSuccessAgain(serviceSubtaskStatistic.getFollowUpSuccessAgain() + 1L);
@@ -3707,8 +3722,8 @@
*/
if (StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("2")) {
List<Long> sendstates = serviceSubtaskCountReq.getSendstates();
- if(CollectionUtils.isNotEmpty(sendstates) && sendstates.get(0).equals(6L)){
- List<Long> sendstates1 =new ArrayList<>();
+ if (CollectionUtils.isNotEmpty(sendstates) && sendstates.get(0).equals(6L)) {
+ List<Long> sendstates1 = new ArrayList<>();
sendstates1.add(3L);
sendstates1.add(4L);
sendstates1.add(6L);
@@ -3884,10 +3899,7 @@
//鑾峰彇鍙婃椂鐜囩粺璁″悎闆�
Map<String, Map<String, Object>> jsRates = getSsRateForSfStatistics(serviceSubtaskCountReq, collect);
//涓�娆℃�ф煡璇㈡墍鏈夊垎缁勭殑棰樼洰缁熻锛岄伩鍏嶆瘡涓垎缁勪竴娆QL锛圢+1锛�
- List<Long> allSubTaskIds = rawData.stream().map(ServiceSubtask::getId)
- .filter(Objects::nonNull)
- .distinct()
- .collect(Collectors.toList());
+ List<Long> allSubTaskIds = rawData.stream().map(ServiceSubtask::getId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
List<ServiceSubtaskCount> subCounts = new ArrayList<>();
if (CollectionUtils.isNotEmpty(allSubTaskIds)) {
serviceSubtaskCountReq.setSubTaskIds(allSubTaskIds);
--
Gitblit v1.9.3