From 1d906908a013b6b991eeb0d9a116a04fdf0a7865 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期日, 26 十月 2025 19:24:00 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 764 ++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 470 insertions(+), 294 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 bc69fb7..76af007 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -23,7 +23,6 @@
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
-import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.time.Duration;
@@ -48,6 +47,9 @@
public class ServiceSubtaskServiceImpl implements IServiceSubtaskService {
@Autowired
private ServiceSubtaskMapper serviceSubtaskMapper;
+
+ @Autowired
+ private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper;
@Autowired
private ServiceSubtaskDetailMapper serviceSubtaskDetailMapper;
@@ -170,9 +172,20 @@
ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
if (CollectionUtils.isEmpty(list) || list.size() == 0) {
- return DtoConversionUtils.sourceToTarget(serviceTask, ServiceTaskVO.class);
- }
+ ServiceTaskVO serviceTaskVO = DtoConversionUtils.sourceToTarget(serviceTask, ServiceTaskVO.class);
+ ObjectMapper objectMapper = new ObjectMapper();
+ try {
+ List<Map<String, Object>> mapList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
+ serviceTaskVO.setPreachformList(mapList);
+//
+// String result = mapList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(","));
+// serviceTaskVO.setPreachform(result);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ return serviceTaskVO;
+ }
//灏嗘煡鍑烘潵鐨勬暟鎹�掑叆ServiceSubtaskVO涓�
ServiceTaskVO serviceTaskVO = DtoConversionUtils.sourceToTarget(serviceTask, ServiceTaskVO.class);
@@ -253,6 +266,23 @@
patTaskRelevance.setNurseName(serviceSubtask1.getNurseName());
patTaskRelevances.add(patTaskRelevance);
}
+
+ //鑾峰彇璇ユ偅鑰呮墍鏈夌殑鎵ц鐘舵��
+ ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+ serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
+ serviceSubtaskPreachform.setSubid(serviceSubtask1.getId());
+ List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+ List<Map<String, Object>> resultList = serviceSubtaskPreachformList.stream().map(item -> {
+ Map<String, Object> map = new HashMap<>();
+ map.put("sort", item.getSort());
+ map.put("preachform", item.getPreachform());
+ map.put("compensateTime", item.getCompensateTime());
+ return map;
+ }).collect(Collectors.toList());
+ serviceTaskVO.setPreachformList(resultList);
+
+// String result = resultList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(","));
+// serviceTaskVO.setPreachform(result);
}
serviceTaskVO.setPatTaskRelevances(patTaskRelevances);
@@ -297,7 +327,8 @@
if (serviceSubtask.getSendstate() >= 3L || serviceSubtask.getSendstate() == 1L) yfs = yfs + 1;
if (serviceSubtask.getSendstate() == 2L) dsf = dsf + 1;
if (serviceSubtask.getSendstate() == 1L) blq = blq + 1;
- if (serviceSubtask.getExcep().equals("1")) yc = yc + 1;
+ if (StringUtils.isNotEmpty(serviceSubtask.getExcep()) && !serviceSubtask.getExcep().equals("0"))
+ yc = yc + 1;
}
map.put("wzx", wzx);
map.put("ysf", ysf);
@@ -414,6 +445,16 @@
throw new BaseException("浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
}
ServiceTask serviceTask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceTask.class);
+ if (CollectionUtils.isEmpty(serviceTaskVO.getPreachformList())) throw new BaseException("浠诲姟鐨勫彂閫佹柟寮忎负绌�");
+ //灏唒reachfromList鏀惧埌serviceTask涓殑preachfrom涓�
+ ObjectMapper mapper = new ObjectMapper();
+ try {
+ String preachformList = mapper.writeValueAsString(serviceTaskVO.getPreachformList());
+ serviceTask.setPreachformDesc(preachformList);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+
serviceTask.setTextParam(JSON.toJSONString(serviceTaskVO.getTextParam()));
if (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 1) {
//鏂板妯℃澘淇℃伅
@@ -460,7 +501,7 @@
ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
serviceTaskdiag.setTaskId(serviceTask.getTaskid());
serviceTaskdiag.setTaskName(serviceTask.getTaskName());
- serviceTaskdiag.setLongtask(0L);
+ serviceTaskdiag.setLongtask(Long.valueOf(serviceTask.getLongTask()));
if (serviceTaskVO.getLongTask() == 1) serviceTaskdiag.setLongtask(1L);
serviceTaskdiag.setIcd10code(serviceTaskVO.getIcd10code());
serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name());
@@ -481,11 +522,10 @@
serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
serviceTaskoper.setTaskId(serviceTask.getTaskid());
serviceTaskoper.setTaskName(serviceTask.getTaskName());
- serviceTaskoper.setLongtask(0L);
+ serviceTaskoper.setLongtask(Long.valueOf(serviceTask.getLongTask()));
serviceTaskoper.setGuid(serviceTask.getGuid());
serviceTaskoper.setOrgid(serviceTask.getOrgid());
serviceTaskoper.setCreateTime(new Date());
- if (serviceTaskVO.getLongTask() == 1) serviceTaskoper.setLongtask(1L);
if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
String[] opcodes = serviceTaskVO.getOpcode().split(",");
for (String opcode : opcodes) {
@@ -500,8 +540,7 @@
serviceTaskdept.setTaskId(serviceTask.getTaskid());
serviceTaskdept.setTaskName(serviceTask.getTaskName());
serviceTaskdept.setOrgid(serviceTask.getOrgid());
- serviceTaskdept.setLongtask(0L);
- if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
+ serviceTaskdept.setLongtask(Long.valueOf(serviceTaskVO.getLongTask()));
if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
String[] deptcodes = serviceTaskVO.getDeptcode().split(",");
for (String deptCode : deptcodes) {
@@ -522,11 +561,12 @@
}
}
}
- if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1 && serviceTaskVO.getPatCycle() == 0L) {
- Map<String, Integer> map = new HashMap<>();
- map.put("taskId", serviceTask.getTaskid().intValue());
- return map;
- }
+//闀挎湡浠诲姟锛屼篃鍏佽鍔犱汉浜�
+// if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1 && serviceTaskVO.getPatCycle() == 0L) {
+// Map<String, Integer> map = new HashMap<>();
+// map.put("taskId", serviceTask.getTaskid().intValue());
+// return map;
+// }
//灏嗕换鍔′俊鎭斁鍒版湇鍔¤〃涓�
ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class);
@@ -565,11 +605,29 @@
serviceSubtask.setNurseName(patTaskRelevance.getNurseName());
serviceSubtask.setCreateBy(serviceTask.getCreateBy());
serviceSubtask.setUpdateBy(serviceTask.getCreateBy());
- serviceSubtask.setVisitTime(patTaskRelevance.getVisitTime());
+ serviceSubtask.setVisitTime(patTaskRelevance.getVisittime());
if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1)
serviceSubtask.setLongSendTime(patTaskRelevance.getLongSendTime());
serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
serviceSubtask.getId().intValue();
+
+ //闇�瑕佹寜service_task閲岀殑preachform鐨勯『搴忓皢鍙戦�佹柟寮忎繚瀛樺埌service_subtask_preachform琛ㄤ腑
+ if (StringUtils.isNotEmpty(serviceTaskVO.getPreachformList())) {
+ List<Map<String, Object>> pfList = serviceTaskVO.getPreachformList();
+ for (Map<String, Object> map : pfList) {
+ ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+ serviceSubtaskPreachform.setSort(ObjectUtils.isEmpty(map.get("sort")) ? 0 : Long.valueOf(map.get("sort").toString()));
+ serviceSubtaskPreachform.setPreachform(ObjectUtils.isEmpty(map.get("preachform")) ? "" : map.get("preachform").toString());
+ serviceSubtaskPreachform.setCompensateTime(ObjectUtils.isEmpty(map.get("compensateTime")) ? "" : map.get("compensateTime").toString());
+ serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
+ serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
+ //杩欎釜sendstate闇�瑕佸湪鏁版嵁搴撹缃竴涓粯璁ゅ�间负鈥�1鈥�
+ serviceSubtaskPreachform.setSendstate("1");
+ serviceSubtaskPreachform.setOrgid(serviceTask.getOrgid());
+ serviceSubtaskPreachform.setCreateTime(new Date());
+ serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform);
+ }
+ }
}
}
@@ -579,8 +637,6 @@
serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot()));
//淇敼鎿嶄綔锛岄渶瑕佸皢stopState鐘舵��+1
ServiceTask serviceTask1 = serviceTaskService.selectServiceTaskByTaskid(serviceTask.getTaskid());
-// long l = serviceTask1.getStopState() + 1;
-// serviceTask.setStopState(l);
//鑾峰彇鍒拌浠诲姟鎵�鏈夌殑鏈嶅姟锛屽苟浠庨槦鍒楅噷鍒犻櫎
ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
serviceSubtaskVO.setTaskid(serviceTask1.getTaskid());
@@ -593,18 +649,6 @@
} else {
if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
}
- if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
- for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
- log.info("insertOrUpdateTask闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
- serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
- redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
- redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
- redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
- redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
- redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
- redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
- }
- }
if (serviceTaskVO.getLibtemplateid() != null)
serviceTask.setLibtemplateid(serviceTaskVO.getLibtemplateid().toString());
@@ -613,17 +657,14 @@
serviceTask.setUpdateTime(new Date());
serviceTaskService.updateServiceTask(serviceTask);
if (serviceTaskVO.getAppltype().equals("1") || serviceTaskVO.getAppltype().equals("2")) {
-
-
if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
String[] deptcodes = serviceTaskVO.getDeptcode().split(",");
for (String deptCode : deptcodes) {
ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
serviceTaskdept.setTaskId(serviceTask.getTaskid());
serviceTaskdept.setTaskName(serviceTask.getTaskName());
- serviceTaskdept.setLongtask(0L);
+ serviceTaskdept.setLongtask(Long.valueOf(serviceTask.getLongTask()));
serviceTaskdept.setOrgid(serviceTaskVO.getOrgid());
- if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
serviceTaskdept.setDeptCode(deptCode);
serviceTaskdept.setDeptType("1");
serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
@@ -644,9 +685,8 @@
ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
serviceTaskdept.setTaskId(serviceTask.getTaskid());
serviceTaskdept.setTaskName(serviceTask.getTaskName());
- serviceTaskdept.setLongtask(0L);
+ serviceTaskdept.setLongtask(Long.valueOf(serviceTask.getLongTask()));
serviceTaskdept.setOrgid(serviceTaskVO.getOrgid());
- if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
serviceTaskdept.setDeptCode(districtcode);
serviceTaskdept.setDeptType("2");
serviceTaskdept.setServiceType(serviceTaskVO.getServiceType());
@@ -669,9 +709,7 @@
if (StringUtils.isEmpty(serviceTaskVO.getIcd10code())) {
throw new BaseException("鐤剧梾缂栫爜涓虹┖");
}
-// serviceTaskdiag.setIcd10code(serviceTaskVO.getIcd10code());
-
- serviceTaskdiag.setLongtask(1L);
+ serviceTaskdiag.setLongtask(Long.valueOf(serviceTask.getLongTask()));
serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name());
serviceTaskdiag.setGuid(serviceTask.getGuid());
serviceTaskdiag.setOrgid(serviceTask.getOrgid());
@@ -695,7 +733,6 @@
}
}
-
} else if (serviceTaskVO.getAppltype().equals("4")) {
ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
if (StringUtils.isEmpty(serviceTaskVO.getOpcode())) {
@@ -705,7 +742,7 @@
serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
serviceTaskoper.setTaskId(serviceTask.getTaskid());
serviceTaskoper.setTaskName(serviceTask.getTaskName());
- serviceTaskoper.setLongtask(1L);
+ serviceTaskoper.setLongtask(Long.valueOf(serviceTask.getLongTask()));
serviceTaskoper.setGuid(serviceTask.getGuid());
serviceTaskoper.setOrgid(serviceTask.getOrgid());
serviceTaskoper.setCreateTime(new Date());
@@ -728,7 +765,6 @@
}
}
}
-
}
if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) {
IvrTaskTemplate ivrTaskTemplate = new IvrTaskTemplate();
@@ -771,12 +807,13 @@
serviceSubtask.setEndtime(patTaskRelevance.getEndtime());
serviceSubtask.setNurseId(patTaskRelevance.getNurseId());
serviceSubtask.setNurseName(patTaskRelevance.getNurseName());
- serviceSubtask.setVisitTime(patTaskRelevance.getVisitTime());
+ serviceSubtask.setVisitTime(patTaskRelevance.getVisittime());
serviceSubtask.setTextParam(new Gson().toJson(serviceTaskVO.getTextParam()));
if (patTaskRelevance.getIsoperation() != null) {
- if (patTaskRelevance.getIsoperation() == 2)
+ if (patTaskRelevance.getIsoperation() == 2) {
serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
- serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
+ serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
+ }
if (patTaskRelevance.getIsoperation() == 1) {
serviceSubtask.setSendstate(1L);
serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
@@ -788,6 +825,36 @@
serviceSubtaskMapper.deleteServiceSubtaskByCondition(serviceTaskVO.getTaskid(), patTaskRelevance.getPatid());
}
serviceSubtask.getTaskid().intValue();
+ }
+ }
+ // 鏈夊彲鑳戒細鎶婂彂閫侀『搴忎篃淇敼浜嗭紙闇�瑕佹牴鎹畉askId灏嗘墍鏈夌殑sendstate锛�=4,5,6鐨剆ubTask鎷夊嚭鏉ワ紝杩涜淇敼涓�涓嬶級
+ ServiceSubtaskVO ssVo = new ServiceSubtaskVO();
+ ssVo.setTaskid(serviceTaskVO.getTaskid());
+ ssVo.setDelFlag("0");
+ List<Long> ssList = new ArrayList<>();
+ ssList.add(1l);
+ ssList.add(2L);
+ ssList.add(3L);
+ ssVo.setSendstates(ssList);
+ List<ServiceSubtask> ssTaskList = serviceSubtaskMapper.selectServiceSubtaskBySendstate(ssVo);
+ for (int i = 0; i < ssTaskList.size(); i++) {
+ ServiceSubtask serviceSubtask = ssTaskList.get(i);
+ serviceSubtaskPreachformMapper.deleteServiceSubtaskPreachformBySubid(serviceSubtask.getId());
+ if (StringUtils.isNotEmpty(serviceTaskVO.getPreachformList())) {
+ List<Map<String, Object>> pfList = serviceTaskVO.getPreachformList();
+ for (Map<String, Object> map : pfList) {
+ ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+ serviceSubtaskPreachform.setSort(ObjectUtils.isEmpty(map.get("sort")) ? 0 : Long.valueOf(map.get("sort").toString()));
+ serviceSubtaskPreachform.setPreachform(ObjectUtils.isEmpty(map.get("preachform")) ? "" : map.get("preachform").toString());
+ serviceSubtaskPreachform.setCompensateTime(ObjectUtils.isEmpty(map.get("compensateTime")) ? "" : map.get("compensateTime").toString());
+ serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
+ serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
+ //杩欎釜sendstate闇�瑕佸湪鏁版嵁搴撹缃竴涓粯璁ゅ�间负鈥�1鈥�
+ serviceSubtaskPreachform.setSendstate("1");
+ serviceSubtaskPreachform.setOrgid(serviceTask.getOrgid());
+// serviceSubtaskPreachform.setSort(Long.valueOf(i));
+ serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform);
+ }
}
}
}
@@ -1055,7 +1122,7 @@
//鍒ゆ柇鏄惁鎸傛満
String hangupState = redisCache.getCacheObject(phoneCallReqYQVO.getUuid() + "- hangup");
Object cacheObject1 = redisCache.getCacheObject(phoneCallReqYQVO.getTaskid() + "recordAccept-hungup");
- if (StringUtils.isNotEmpty(hangupState) && hangup.equals("1") || ObjectUtils.isNotEmpty(cacheObject1) && String.valueOf(cacheObject1).equals("1")) {
+ if (StringUtils.isNotEmpty(hangupState) && hangupState.equals("1") || ObjectUtils.isNotEmpty(cacheObject1) && String.valueOf(cacheObject1).equals("1")) {
return new PhoneCallBackYQVO();
}
if ("AsrCallback".equals(phoneCallReqYQVO.getOperate()) && phoneCallReqYQVO.getEnd_time() != null && phoneCallReqYQVO.getEnd_time() != -1) {
@@ -1064,6 +1131,8 @@
//鍒ゆ柇 recordAccept-hungup 鏄惁鏈夊�硷紝濡傛灉鏈夛紝鍒欒鏄庝笉鐢ㄥ鐞嗕簡锛屼箣鍓嶅凡缁忓鐞嗚繃浜嗭紙recordAccept-hungup杩欎釜涓昏鏄粰"閫氳瘽璁板綍鐢ㄧ殑锛�"锛�
Object cacheObject = redisCache.getCacheObject(phoneCallReqYQVO.getTaskid() + "recordAccept-hungup");
if (ObjectUtils.isNotEmpty(cacheObject) && String.valueOf(cacheObject).equals("1")) {
+ ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(Long.valueOf(phoneCallReqYQVO.getTaskid()));
+ setFailPreachForm(serviceSubtask, "3", "鎷ㄥ彨鐨勭敤鎴锋蹇�", "4");
return new PhoneCallBackYQVO();
}
//濡傛灉鍙戦�佺姸鎬佷负6锛屽氨璇存槑宸茬粡鎵撳畬浜嗭紝涔熸病鏈夊繀瑕佺户缁線涓嬭蛋浜�
@@ -1085,8 +1154,12 @@
//鍏堟妸榛樿鐨剅ecordAccept-hungup鍒犻櫎锛屽啀鏇存柊
redisCache.deleteObject(phoneCallReqYQVO.getTaskid() + "recordAccept-hungup");
redisCache.setCacheObject(phoneCallReqYQVO.getTaskid() + "recordAccept-hungup", "1", 10, TimeUnit.MINUTES);
+
+ //璁板綍鐢佃瘽鍙戦�佺姸鎬�
+ setFailPreachForm(serviceSubtask2, "3", "鐢佃瘽鍙戦�佹垚鍔燂紙鎮h�呮寕鏂級", "4");
+
//杩欎釜鏃跺�欏氨闇�瑕佽蛋琛ュ伩鏈哄埗浜嗭紝鍏堟殏瀹氳蛋鐭俊
- getSmsCompensate(Long.valueOf(phoneCallReqYQVO.getTaskid()));
+// getSmsCompensate(Long.valueOf(phoneCallReqYQVO.getTaskid()));
return new PhoneCallBackYQVO();
}
}
@@ -1115,6 +1188,9 @@
req.put("caller", phoneCallReqYQVO.getPhone());
// HttpUtils.sendPost(hangup, new Gson().toJson(req));
HttpUtil.postJsonRequest(hangup, new Gson().toJson(req));
+ ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(Long.valueOf(phoneCallReqYQVO.getTaskid()));
+ //璁板綍鐢佃瘽鍙戦�佺姸鎬�
+ setFailPreachForm(serviceSubtask, "3", "閫氳瘽姝e父缁撴潫", "9");
//鍒犻櫎缁撴潫璇殑鎮e瓨
redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "- jsy");
} else {
@@ -1122,6 +1198,7 @@
log.error("-------PlayEventCallbackPlaystop鐨勫�间负锛歿}", true);
}
}
+
return phoneCallBackYQVO;
}
//鑾峰彇鏀鹃煶鏄惁缁撴潫
@@ -1198,6 +1275,9 @@
serviceSubtask.setUpdateTime(new Date());
log.error("鍏堟洿鏂颁竴涓嬪垎鏁�,鐢佃瘽鐨剆erviceSubtask鐨勫�间负锛歿}", serviceSubtask);
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ //璁板綍鐘舵��
+ setFailPreachForm(serviceSubtask, "3", "闈欓粯娆℃暟杈惧埌" + num + "娆�", "4");
+
Map<String, String> map = delRedisValue(null, id.toString());
if (ObjectUtils.isNotEmpty(map)) redisCache.setCacheObject(map.get("cacheName"), map.get("val"));
redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone());
@@ -1252,6 +1332,8 @@
ss.setSendstate(6L);
ss.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
serviceSubtaskMapper.updateServiceSubtask(ss);
+ //璁板綍鐘舵��
+ setFailPreachForm(serviceSubtask, "3", "鐢佃瘽鎷ㄦ墦宸插畬鎴�", "9");
//鍙互鎸傛満浜�
redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone());
redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "SCORE");
@@ -1336,6 +1418,8 @@
redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "- jsy", serviceTask.getJsy(), 120, TimeUnit.MINUTES);
phoneCallBackYQVO.setType("text");
phoneCallBackYQVO.setValue(phoneCallBackYQVO.getCommonValue() + serviceTask.getJsy());
+ //璁板綍鐘舵��
+ setFailPreachForm(serviceSubtask, "3", "鐢佃瘽鎷ㄦ墦宸插畬鎴�", "9");
return phoneCallBackYQVO;
}
@@ -1367,6 +1451,9 @@
ss.setSendstate(6L);
ss.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
serviceSubtaskMapper.updateServiceSubtask(ss);
+ //璁板綍鐘舵��
+ setFailPreachForm(serviceSubtask, "3", "鐢佃瘽鎷ㄦ墦宸插畬鎴�", "9");
+
redisCache.deleteObject(serviceSubtask.getId() + "-" + serviceSubtask.getPhone());
redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "SCORE");
redisCache.deleteObject(phoneCallReqYQVO.getUuid() + "PlayEventCallbackPlaystop");
@@ -1414,6 +1501,8 @@
serviceSubtask.setSendstate(6L);
serviceSubtask.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ //璁板綍鐘舵��
+ setFailPreachForm(serviceSubtask, "3", "鐢佃瘽鎷ㄦ墦宸插畬鎴�", "9");
//璁剧疆缁撴潫璇�
phoneCallBackYQVO.setValue(phoneCallBackYQVO.getCommonValue() + serviceTask1.getJsy());
Long id = serviceSubtask.getId();
@@ -1484,7 +1573,8 @@
serviceSubtask.setSendstate(6L);
serviceSubtask.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
-
+ //璁板綍鐘舵��
+ setFailPreachForm(serviceSubtask, "3", "鐢佃瘽鎷ㄦ墦宸插畬鎴�", "9");
//鍦╮edis涓繚瀛樹竴涓嬬粨鏉熻锛屽湪璋冪敤鎸傜數璇濈殑鏂规硶鏃跺垹闄�
ServiceTask serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
redisCache.setCacheObject(phoneCallReqYQVO.getUuid() + "- jsy", serviceTask.getJsy(), 120, TimeUnit.MINUTES);
@@ -1588,7 +1678,8 @@
serviceSubtask.setRemark("鐢佃瘽鎷ㄦ墦宸插畬鎴�");
serviceSubtask.setSendstate(6L);
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
-
+ //璁板綍鐘舵��
+ setFailPreachForm(serviceSubtask, "3", "鐢佃瘽鎷ㄦ墦宸插畬鎴�", "9");
//鍘籸edis涓紝鎶婅瀛愪换鍔D鍒犻櫎
Long id = serviceSubtask.getId();
Map<String, String> map = delRedisValue(null, id.toString());
@@ -1813,241 +1904,6 @@
}
- //涓嬮潰鐨勪唬鐮佷笉鑳藉垹闄わ紝涓婇潰鐨勬柟娉曞彧鏄厤鍚堢數璇濈鑱旇皟鐢ㄧ殑锛�
-// @Override
-// public PhoneCallBackVO phoneCallBack(PhoneCallBackVO phoneCallBackVO) {
-// log.error("phoneCallBackVO鐨勫叆鍙傦細{},{},{},{},{},{},{}", phoneCallBackVO.getResultType(), phoneCallBackVO.getUuid(), phoneCallBackVO.getErrResult(), phoneCallBackVO.getTextResult(), phoneCallBackVO.getHangUpResult(), phoneCallBackVO.getEnumState(), phoneCallBackVO.getUint8());
-// //鑾峰彇鏁版嵁
-// Boolean aBoolean = redisCache.hasKey(phoneCallBackVO.getUuid());
-// if (!aBoolean) {
-// throw new BaseException("璇uid涓嶅瓨鍦�");
-// }
-// Integer hangupValue = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "hangup");
-// if (hangupValue != null && hangupValue == 1) {
-// //hangupValue == 1 闅忚缁撴潫锛岀洿鎺ュ彲浠ユ寕鐢佃瘽
-// PhoneUtils phoneUtils = new PhoneUtils();
-// phoneUtils.hangup(phoneCallBackVO.getUuid(), null, null, null, null, null, null, null);
-//
-// }
-//
-// Map<String, Object> map = redisCache.getCacheObject(phoneCallBackVO.getUuid());
-//// ObjectMapper objectMapper = new ObjectMapper();
-//// Map<String, Object> map = null;
-//// try {
-//// map = objectMapper.readValue(cacheObject, Map.class);
-//// } catch (JsonProcessingException e) {
-//// e.printStackTrace();
-//// }
-//
-// ServiceSubtask ServiceSubtask = (ServiceSubtask) map.get("ServiceSubtask");
-// List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOs = (List<IvrLibaTemplateScriptVO>) map.get("ivrLibaTemplateScriptVO");
-// //灏唘uid鏇存柊鍒版暟鎹簱涓�
-// ServiceSubtask.setSenduuid(phoneCallBackVO.getUuid());
-// ServiceSubtaskMapper.updateServiceSubtask(ServiceSubtask);
-//
-// //鑾峰彇妯℃澘淇℃伅
-// IvrLibaTemplateVO ivrLibaTemplateVO = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "ivrLibaTemplateVO");
-//
-//
-// //棣栧厛鍒ゆ柇resultType
-// if (phoneCallBackVO.getResultType() == 1) {
-// //鍛煎彨缁撴灉鎺ュ彛: 1
-// if (phoneCallBackVO.getUint8() == 1) {
-// //鍛煎彨澶辫触锛屽幓redis涓褰曚竴涓嬪け璐ユ鏁帮紝杩涜鍐嶆鍛煎彨
-// Integer integer = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "uint8");
-// if (integer != null) {
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "uint8", integer + 1, 120, TimeUnit.MINUTES);
-// } else {
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "uint8", 1, 120, TimeUnit.MINUTES);
-// }
-//
-// if (integer != null && integer == ServiceSubtask.getRecallcount().intValue()) {
-// log.info("鏃犱汉鎺ュ惉锛歿}, {}", phoneCallBackVO.getErrResult(), phoneCallBackVO.getUuid());
-// //杩炵画鎵撹瀹氭锛屽鏋滆娌′汉鎺ワ紝閭e氨缁撴潫
-// ServiceSubtask.setResult(phoneCallBackVO.getErrResult());
-// ServiceSubtaskMapper.updateServiceSubtask(ServiceSubtask);
-// redisCache.deleteObject(phoneCallBackVO.getUuid() + "uint8");
-// } else if (integer != null && integer < ServiceSubtask.getRecallcount().intValue()) {
-// //杩涜閲嶆嫧
-// PhoneUtils phoneUtils = new PhoneUtils();
-// phoneUtils.ob(null, null, null, null, null, null, null, ServiceSubtask.getPhone(), phoneCallBackVO.getUuid(), true);
-// }
-// }
-//
-// } else if (phoneCallBackVO.getResultType() == 2) {
-// //閫氳瘽鐘舵�佹洿鏂版帴鍙�: 2
-// if (phoneCallBackVO.getEnumState() == 0) {
-// // 0-鎸搩
-// Integer integer = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "enumState");
-//
-// if (integer != null && integer < ServiceSubtask.getRecallcount().intValue()) {
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "enumState", integer + 1, 120, TimeUnit.MINUTES);
-// } else if (integer == null) {
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "enumState", 1, 120, TimeUnit.MINUTES);
-// } else if (integer != null && integer == ServiceSubtask.getRecallcount().intValue()) {
-// ServiceSubtask.setResult("鏃犱汉鎺ュ惉");
-// ServiceSubtaskMapper.updateServiceSubtask(ServiceSubtask);
-// redisCache.deleteObject(phoneCallBackVO.getUuid() + "enumState");
-// }
-// } else if (phoneCallBackVO.getEnumState() == 2) {
-// //鎮h�呮寕鏂數璇�
-// log.info("鎮h�呮寕鏂數璇濓細{}", phoneCallBackVO.getUuid());
-// ServiceSubtask.setResult(phoneCallBackVO.getHangUpResult());
-// ServiceSubtaskMapper.updateServiceSubtask(ServiceSubtask);
-// redisCache.deleteObject(phoneCallBackVO.getUuid() + "enumState");
-// }
-//
-//
-// } else if (phoneCallBackVO.getResultType() == 3) {
-// //璇煶璇嗗埆缁撴灉涓婃姤鎺ュ彛: 3
-// Integer noVoice = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "noVoice");
-// QuestionMessage returnQues = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "returnQues");
-// IvrLibaTemplateScriptVO nowQuestion = returnQues.getNowQuestion();
-// PhoneUtils phoneUtils = new PhoneUtils();
-//
-// if (StringUtils.isEmpty(phoneCallBackVO.getTextResult())) {
-// //鏃犲洖璇�
-// //鍒ゆ柇noVoice鏄惁宸茬粡鍒颁簡鏈�澶у��
-// if (noVoice == ivrLibaTemplateVO.getNoVoiceNum().intValue()) {
-// //宸茬粡闂簡瀵瑰簲鐨勯亶鏁帮紝灏卞垽鏂槸鍚﹁繕鏈変笅涓�棰�
-// if (nowQuestion.getTargetid() == ivrLibaTemplateScriptVOs.size()) {
-// //娌℃湁涓嬩竴棰樹簡锛屽氨鎸傛柇鐢佃瘽锛屾挱鏀剧粨鏉熻
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "hangup", 1, 120, TimeUnit.MINUTES);
-// phoneUtils.ttsPlayback(ivrLibaTemplateVO.getRevisitAfter(), phoneCallBackVO.getUuid());
-// } else {
-// //鏈変笅涓�棰�
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "noVoice", 0, 120, TimeUnit.MINUTES);
-// IvrLibaTemplateScriptVO nextQuestion = getNextQuestion(ivrLibaTemplateScriptVOs, nowQuestion);
-// // 闂锛� 鍘昏皟鐢�"tts鍚堟垚鍜屾挱鏀�"鎺ュ彛
-// phoneUtils.ttsPlayback(nowQuestion.getQuestionText(), phoneCallBackVO.getUuid());
-// }
-// } else {
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "noVoice", noVoice + 1, 120, TimeUnit.MINUTES);
-// //璋冪敤ivrLibaTemplateScriptVO涓殑slienceText(闈欓粯璇濇湳)
-// String slienceText = nowQuestion.getSlienceText();
-// //闈欓粯璇濇湳 + 闂锛� 鍘昏皟鐢�"tts鍚堟垚鍜屾挱鏀�"鎺ュ彛
-// phoneUtils.ttsPlayback(slienceText + nowQuestion.getQuestionText(), phoneCallBackVO.getUuid());
-// return new PhoneCallBackVO();
-// }
-//
-// } else {
-// //鏈夊洖璇濓紝瀵瑰洖绛旂殑闂,杩涜姝e垯鍖归厤锛堣繖閲屽彧閽堝閫夋嫨棰橈紝鍏跺畠棰樺瀷涓嶈锛�
-// for (int j = 0; j < nowQuestion.getIvrLibaScriptTargetoptionList().size(); j++) {
-// //鍖呭惈
-// Matcher matcher = null;
-// if (StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex())) {
-// Pattern pattern = Pattern.compile(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex());
-// matcher = pattern.matcher(phoneCallBackVO.getTextResult());
-// }
-// //涓嶅寘鍚�
-// Matcher matcher2 = null;
-// if (StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2())) {
-// Pattern pattern2 = Pattern.compile(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2());
-// matcher2 = pattern2.matcher(phoneCallBackVO.getTextResult());
-// }
-// log.info("phoneCallBack--Targetregex鐨勫�间负锛歿}, phoneCallBack--Targetregex2鐨勫�间负锛歿}", nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex(), nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2());
-// if (StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex()) && matcher.matches() && StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2()) && matcher2.matches() || StringUtils.isEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex()) && StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2()) && matcher2.matches() || StringUtils.isEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex2()) && StringUtils.isNotEmpty(nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getTargetregex()) && matcher.matches()) {
-// //璇存槑鍖归厤姝g‘浜�
-// //杩欓噷搴旇鍏堝垽鏂被鍨嬶紝鍘诲啀淇敼锛岃缃甀sUserOperation鏄崟閫夐鐨勬敼娉�
-// nowQuestion.getIvrLibaScriptTargetoptionList().get(j).setIsUserOperation(true);
-// ivrLibaScriptTargetoptionMapper.updateIvrLibaTemplateTargetoption(nowQuestion.getIvrLibaScriptTargetoptionList().get(j));
-//
-//
-// //灏嗛潤榛樼疆涓�0
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "noVoice", 0, 120, TimeUnit.MINUTES);
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "mateNum", 0, 120, TimeUnit.MINUTES);
-// //鑾峰彇涓嬩竴棰�
-// Integer nextQuestion = nowQuestion.getIvrLibaScriptTargetoptionList().get(j).getNextQuestion();
-// for (IvrLibaTemplateScriptVO script : ivrLibaTemplateScriptVOs) {
-// if (script.getTargetid() == nextQuestion) {
-// QuestionMessage questionMessage = new QuestionMessage();
-// questionMessage.setNowQuestion(script);
-// questionMessage.setQuestionList(ivrLibaTemplateScriptVOs);
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES);
-// break;
-// }
-// }
-// break;
-// } else {
-// //娌℃湁鍖归厤鍒�
-// Integer mateNum = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "mateNum");
-// //鏃犲尮閰嶆鏁板幓鍒ゆ柇鏄惁鍒版渶澶ц闂鏁帮紝骞朵笖鎵�鏈夌殑閫夐」閮藉尮閰嶅畬浜�
-// if (mateNum == ivrLibaTemplateVO.getMateNum().intValue() && j == nowQuestion.getIvrLibaScriptTargetoptionList().size() - 1) {
-// //濡傛灉涓嬩竴棰樹负绌�.鍒欐柊鐨勬暟鎹繑鍥�,骞跺姞涓婃劅璋㈣
-// if (nowQuestion.getTargetid() < ivrLibaTemplateScriptVOs.size()) {
-// QuestionMessage questionMessage = new QuestionMessage();
-// IvrLibaTemplateScriptVO nextQuestion = getNextQuestion(ivrLibaTemplateScriptVOs, nowQuestion);
-// questionMessage.setQuestionList(ivrLibaTemplateScriptVOs);
-// questionMessage.setNowQuestion(nextQuestion);
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES);
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "mateNum", 0, 120, TimeUnit.MINUTES);
-// } else {
-// //灏卞彲浠ユ寕鏂數璇濅簡
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "hangup", 1, 120, TimeUnit.MINUTES);
-// phoneUtils.ttsPlayback(ivrLibaTemplateVO.getRevisitAfter(), phoneCallBackVO.getUuid());
-// break;
-// }
-// } else if (mateNum < ivrLibaTemplateVO.getMateNum().intValue() && j == nowQuestion.getIvrLibaScriptTargetoptionList().size() - 1) {
-// //娌℃湁闂埌瑙勫畾娆℃暟
-// mateNum = mateNum + 1;
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "mateNum", mateNum, 120, TimeUnit.MINUTES);
-// }
-// }
-//
-// }
-// //閫夐」鍖归厤瀹屾垚鍚庯紝闇�瑕佸啀鍘婚�氳繃搴撳啀杩涜鍖归厤涓�娆�
-// String extemplateID = ivrLibaTemplateVO.getSubmoduleID();
-// String[] split = extemplateID.split(",");
-// List<String> list = Arrays.asList(split);
-// List<Long> list1 = new ArrayList<>();
-// if (StringUtils.isNotEmpty(extemplateID)) {
-// for (String str : list) {
-// list1.add(Long.valueOf(str));
-// }
-// List<IvrLibaExtemplatescript> ivrLibaExtemplatescripts = ivrLibaExtemplatescriptMapper.queryIvrLibaExtemplatescriptList(list1);
-// for (IvrLibaExtemplatescript ivrLibaExtemplatescript : ivrLibaExtemplatescripts) {
-// Matcher matcher = null;
-// if (StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex())) {
-// Pattern pattern = Pattern.compile(ivrLibaExtemplatescript.getSelfRegex());
-// matcher = pattern.matcher(returnQues.getContent());
-// }
-//
-// Matcher matcher2 = null;
-// if (StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex2())) {
-// Pattern pattern2 = Pattern.compile(ivrLibaExtemplatescript.getSelfRegex2());
-// matcher2 = pattern2.matcher(returnQues.getContent());
-// }
-// log.info("++++++++++++++++++++++++++閫氱敤搴撴槸鍚︿负绌猴細selfRegex : {} , selfRegex2 : {}", ivrLibaExtemplatescript.getSelfRegex(), ivrLibaExtemplatescript.getSelfRegex2());
-// if (StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex()) && matcher.matches() && StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex2()) && matcher2.matches() || StringUtils.isEmpty(ivrLibaExtemplatescript.getSelfRegex()) && StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex2()) && matcher2.matches() || StringUtils.isEmpty(ivrLibaExtemplatescript.getSelfRegex2()) && StringUtils.isNotEmpty(ivrLibaExtemplatescript.getSelfRegex()) && matcher.matches()) {
-// QuestionMessage questionMessage = redisCache.getCacheObject(phoneCallBackVO.getUuid() + "returnQues");
-// IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO = returnQues.getNowQuestion();
-// ivrLibaTemplateScriptVO.setSubmoduleText(ivrLibaExtemplatescript.getSwitchText());
-// ivrLibaTemplateScriptVO.setSubmoduleVoice(ivrLibaExtemplatescript.getSwitchWav());
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES);
-// if (ivrLibaExtemplatescript.getIsEnd() == 1) {
-// //灏嗛棶棰樼疆绌�
-// IvrLibaTemplateScriptVO nowQuestion1 = questionMessage.getNowQuestion();
-// nowQuestion1.setQuestionText(null);
-// nowQuestion1.setQuestionVoice(null);
-// questionMessage.setNowQuestion(nowQuestion1);
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "returnQues", questionMessage, 120, TimeUnit.MINUTES);
-//
-// redisCache.setCacheObject(phoneCallBackVO.getUuid() + "isOver", 1, 120, TimeUnit.MINUTES);
-// }
-//
-// //璋冪敤"15銆乼ts鍚堟垚鍜屾挱鏀撅紝 tts_playback"灏嗙粨鏋滀紶鍥�
-//
-//
-// }
-// break;
-// }
-// }
-//
-// }
-// }
-// return phoneCallBackVO;
-// }
-
@Override
public Integer saveQuestionAnswerPhone(ServiceSubTaskDetailReq serviceSubTaskDetailReq) {
int i = 0;
@@ -2066,7 +1922,7 @@
//闅忚
for (ServiceSubtaskDetail serviceSubtaskDetail : serviceSubTaskDetailReq.getServiceSubtaskDetailList()) {
serviceSubtaskDetail.setSubId(selectServiceSubtaskList.get(0).getId());
- serviceSubtaskDetail.setId(UUID.randomUUID().toString());
+// serviceSubtaskDetail.setId(UUID.randomUUID().toString());
serviceSubtaskDetail.setCreateTime(new Date());
serviceSubtaskDetail.setGuid(selectServiceSubtaskList.get(0).getGuid());
serviceSubtaskDetail.setOrgid(serviceSubTaskDetailReq.getOrgid());
@@ -2112,7 +1968,11 @@
Object cacheObject = redisCache.getCacheObject(phoneCallRecordVO.getTaskid() + "recordAccept-hungup");
if (phoneCallRecordVO.getHangup_cause().equals("NO_USER_RESPONSE") || ObjectUtils.isNotEmpty(cacheObject) && String.valueOf(cacheObject).equals("1")) {
//鏃犱汉鎺ュ惉
- getSmsCompensate(Long.valueOf(phoneCallRecordVO.getTaskid()));
+ //璁板綍鐢佃瘽鍙戦�佺姸鎬�
+ ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(Long.valueOf(phoneCallRecordVO.getTaskid()));
+ setFailPreachForm(serviceSubtask, "3", "鏃犱汉鎺ュ惉", "4");
+ //杩涜鐭俊琛ュ伩
+// getSmsCompensate(Long.valueOf(phoneCallRecordVO.getTaskid()));
redisCache.deleteObject(phoneCallRecordVO.getTaskid() + "recordAccept-hungup");
redisCache.removeElementFromList("cache-exist", phoneCallRecordVO.getTaskid());
} else if (ObjectUtils.isNotEmpty(cacheObject) && String.valueOf(cacheObject).equals("2")) {
@@ -2130,6 +1990,7 @@
serviceSubtask.setUpdateTime(new Date());
log.error("鐢佃瘽鎷ㄦ墦宸插畬鎴恠erviceSubtask鐨勫�间负:{}", serviceSubtask);
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ setFailPreachForm(serviceSubtask, StringUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) ? serviceSubtask.getCurrentPreachform() : "3", "鐢佃瘽鎷ㄦ墦宸插畬鎴�", "9");
//涓嬭浇鏂囦欢
ftpService.downloadFolder("/" + LocalDate.now().toString(), profile + "/upload/vadio/voice/" + LocalDate.now().toString());
redisCache.deleteObject(phoneCallRecordVO.getTaskid() + "recordAccept-hungup");
@@ -2147,8 +2008,10 @@
// int endIndex = phoneCallRecordVO.getRecord_path().lastIndexOf("/");
// String result = phoneCallRecordVO.getRecord_path().substring(startIndex, endIndex);
//涓嬭浇鏂囦欢
- ftpService.downloadFolder("/" + LocalDate.now().toString(), profile + "/upload/vadio/voice/" + LocalDate.now().toString());
+// ftpService.downloadFolder("/" + LocalDate.now().toString(), profile + "/upload/vadio/voice/" + LocalDate.now().toString());
redisCache.deleteObject(phoneCallRecordVO.getTaskid() + "recordAccept-hungup");
+ ServiceSubtask ss = serviceSubtaskMapper.selectServiceSubtaskById(serviceSubtask.getId());
+ setFailPreachForm(ss, StringUtils.isNotEmpty(ss.getCurrentPreachform()) ? ss.getCurrentPreachform() : "3", "鐢佃瘽鎺ラ�氭垚鍔燂紝鎮h�呮嫆缁濋殢璁�", "5");
}
return 1;
@@ -2227,14 +2090,25 @@
public List<ServiceSubtaskStatistic> getSfStatistics(ServiceSubtaskCountReq serviceSubtaskCountReq) {
log.error("getSfStatistics鐨勫叆鍙備负锛歿}", serviceSubtaskCountReq);
List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>();
- //Map<String, List<ServiceSubtask>> collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getLeavehospitaldistrictname()).orElse("Unknown")));
- Map<String, List<ServiceSubtask>> collect = new HashMap<>();
- if (serviceSubtaskCountReq.getLeavehospitaldistrictcodes() != null && serviceSubtaskCountReq.getLeavehospitaldistrictcodes().size() > 0) {
- collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getLeavehospitaldistrictname()).orElse("Unknown")));
+// List<ServiceSubtask> rawData = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq);
+ // 鏍规嵁鏉′欢杩涜鍒嗙粍
+ Map<String, List<ServiceSubtask>> collect = new HashMap<>();
+
+ if (serviceSubtaskCountReq.getLeavehospitaldistrictcodes() != null && serviceSubtaskCountReq.getLeavehospitaldistrictcodes().size() > 0) {
+ if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) {
+ collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDrname()).orElse("Unknown")));
+ } else {
+ collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getLeavehospitaldistrictname()).orElse("Unknown")));
+ }
} else if (serviceSubtaskCountReq.getDeptcodes() != null && serviceSubtaskCountReq.getDeptcodes().size() > 0) {
- collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDeptname()).orElse("Unknown")));
+ if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) {
+ collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDrname()).orElse("Unknown")));
+ } else {
+ collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDeptname()).orElse("Unknown")));
+ }
}
+
for (List<ServiceSubtask> serviceSubtaskList : collect.values()) {
if (CollectionUtils.isEmpty(serviceSubtaskList)) {
continue;
@@ -2244,11 +2118,86 @@
//鍙婃椂鐜�
ServiceSubtask ss = new ServiceSubtask();
ss.setOrgid(serviceSubtaskList.get(0).getOrgid());
- if (CollectionUtils.isNotEmpty(serviceSubtaskCountReq.getLeavehospitaldistrictcodes())) {
- ss.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode());
+
+ // 濡傛灉鏈夊尰鐢熺紪鐮侊紝璁剧疆鍖荤敓缂栫爜鐢ㄤ簬鍙婃椂鐜囨煡璇�
+ if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) {
+ ss.setDrcode(serviceSubtaskList.get(0).getDrcode());
} else {
- ss.setDeptcode(serviceSubtaskList.get(0).getDeptcode());
+ if (CollectionUtils.isNotEmpty(serviceSubtaskCountReq.getLeavehospitaldistrictcodes())) {
+ ss.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode());
+ } else if (CollectionUtils.isNotEmpty(serviceSubtaskCountReq.getDeptcodes())) {
+ ss.setDeptcode(serviceSubtaskList.get(0).getDeptcode());
+ }
}
+
+ ss.setStarttime(serviceSubtaskCountReq.getStartTime());
+ ss.setEndtime(serviceSubtaskCountReq.getEndTime());
+ if (serviceSubtaskCountReq.getEndTime() != null && new Date().before(serviceSubtaskCountReq.getEndTime())) {
+ ss.setEndtime(new Date());
+ }
+ Double jsRate = serviceSubtaskMapper.selectTimelyRate(ss);
+ statistic.setRate(jsRate);
+
+ if (ObjectUtils.isNotEmpty(statistic)) {
+ serviceSubtaskStatistics.add(statistic);
+ }
+ }
+ return serviceSubtaskStatistics;
+ }
+
+ /**
+ * 鑾峰彇闅忚缁熻姣斾緥
+ *
+ * @param serviceSubtaskCountReq
+ * @return
+ */
+ @Override
+ public List<ServiceSubtaskStatistic> getSfStatisticsJoy(ServiceSubtaskCountReq serviceSubtaskCountReq) {
+ log.error("getSfStatistics鐨勫叆鍙備负锛歿}", serviceSubtaskCountReq);
+ List<ServiceSubtaskStatistic> serviceSubtaskStatistics = new ArrayList<>();
+
+ // 鏍规嵁鏉′欢杩涜鍒嗙粍
+ Map<String, List<ServiceSubtask>> collect = new HashMap<>();
+
+ if (serviceSubtaskCountReq.getLeavehospitaldistrictcodes() != null && serviceSubtaskCountReq.getLeavehospitaldistrictcodes().size() > 0) {
+ if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) {
+ collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDrname()).orElse("Unknown")));
+
+ } else {
+ collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getLeavehospitaldistrictname()).orElse("Unknown")));
+ }
+ } else if (serviceSubtaskCountReq.getDeptcodes() != null && serviceSubtaskCountReq.getDeptcodes().size() > 0) {
+ if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) {
+ collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDrname()).orElse("Unknown")));
+ } else {
+ collect = serviceSubtaskMapper.getSfStatistics(serviceSubtaskCountReq).stream().collect(Collectors.groupingBy(subtask -> Optional.ofNullable(subtask.getDeptname()).orElse("Unknown")));
+ }
+ }
+ List<ServiceSubtaskCount> joySubCount = serviceSubtaskMapper.getSfStatisticsJoy(serviceSubtaskCountReq);
+ for (List<ServiceSubtask> serviceSubtaskList : collect.values()) {
+ if (CollectionUtils.isEmpty(serviceSubtaskList)) {
+ continue;
+ }
+ ServiceSubtaskStatistic statistic = getStatisticJoy(serviceSubtaskList, joySubCount);
+ if (statistic.getJoyCount() != 0 && statistic.getJoyAllCount() != 0) {
+ Double joyTotal = Double.parseDouble(statistic.getJoyCount() + "") / Double.parseDouble(statistic.getJoyAllCount() + "") * 100;
+ statistic.setJoyTotal(String.format("%.2f", joyTotal) + "%");
+ }
+ //鍙婃椂鐜�
+ ServiceSubtask ss = new ServiceSubtask();
+ ss.setOrgid(serviceSubtaskList.get(0).getOrgid());
+
+ // 濡傛灉鏈夊尰鐢熺紪鐮侊紝璁剧疆鍖荤敓缂栫爜鐢ㄤ簬鍙婃椂鐜囨煡璇�
+ if (serviceSubtaskCountReq.getDrcode() != null && !serviceSubtaskCountReq.getDrcode().isEmpty()) {
+ ss.setDrcode(serviceSubtaskList.get(0).getDrcode());
+ } else {
+ if (CollectionUtils.isNotEmpty(serviceSubtaskCountReq.getLeavehospitaldistrictcodes())) {
+ ss.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode());
+ } else if (CollectionUtils.isNotEmpty(serviceSubtaskCountReq.getDeptcodes())) {
+ ss.setDeptcode(serviceSubtaskList.get(0).getDeptcode());
+ }
+ }
+
ss.setStarttime(serviceSubtaskCountReq.getStartTime());
ss.setEndtime(serviceSubtaskCountReq.getEndTime());
if (serviceSubtaskCountReq.getEndTime() != null && new Date().before(serviceSubtaskCountReq.getEndTime())) {
@@ -2272,6 +2221,8 @@
serviceSubtaskStatistic.setDeptcode(serviceSubtaskList.get(0).getDeptcode());
serviceSubtaskStatistic.setLeavehospitaldistrictname(serviceSubtaskList.get(0).getLeavehospitaldistrictname());
serviceSubtaskStatistic.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode());
+ serviceSubtaskStatistic.setDrcode(serviceSubtaskList.get(0).getDrcode());
+ serviceSubtaskStatistic.setDrname(serviceSubtaskList.get(0).getDrname());
//鍑洪櫌浜烘
serviceSubtaskStatistic.setDischargeCount(serviceSubtaskList.size());
for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
@@ -2292,7 +2243,129 @@
if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L);
}
+ if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 6)) {
+ serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
+ }
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
+ serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
+ }
+ if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {
+ double rate = (double) (serviceSubtaskStatistic.getFollowUpSuccess() + serviceSubtaskStatistic.getFollowUpFail()) / serviceSubtaskStatistic.getNeedFollowUp();
+ serviceSubtaskStatistic.setFollowUpRate(percentFormat.format(rate));
+ } else {
+ serviceSubtaskStatistic.setFollowUpRate("0.00%");
+ }
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("1")) {
+ serviceSubtaskStatistic.setManual(serviceSubtaskStatistic.getManual() + 1L);
+ }
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("4")) {
+ serviceSubtaskStatistic.setSms(serviceSubtaskStatistic.getSms() + 1L);
+ }
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("5")) {
+ serviceSubtaskStatistic.setWeChat(serviceSubtaskStatistic.getWeChat() + 1L);
+ }
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getExcep().equals("1")) {
+ serviceSubtaskStatistic.setAbnormal(serviceSubtaskStatistic.getAbnormal() + 1L);
+ }
+ }//浜屾鍑洪櫌闅忚
+ else if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() > 1) {
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
+ serviceSubtaskStatistic.setNeedFollowUpAgain(serviceSubtaskStatistic.getNeedFollowUpAgain() + 1L);
+ }
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
+ serviceSubtaskStatistic.setPendingFollowUpAgain(serviceSubtaskStatistic.getPendingFollowUpAgain() + 1L);
+ }
if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 1 || serviceSubtask.getSendstate() == 3 || serviceSubtask.getSendstate() == 6)) {
+ serviceSubtaskStatistic.setFollowUpSuccessAgain(serviceSubtaskStatistic.getFollowUpSuccessAgain() + 1L);
+ }
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
+ serviceSubtaskStatistic.setFollowUpFailAgain(serviceSubtaskStatistic.getFollowUpFailAgain() + 1L);
+ }
+ if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {
+ double rate = (double) (serviceSubtaskStatistic.getFollowUpSuccessAgain() + serviceSubtaskStatistic.getFollowUpFailAgain()) / serviceSubtaskStatistic.getNeedFollowUpAgain();
+ serviceSubtaskStatistic.setFollowUpRateAgain(percentFormat.format(rate));
+ } else {
+ serviceSubtaskStatistic.setFollowUpRateAgain("0.00%");
+ }
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("1")) {
+ serviceSubtaskStatistic.setManualAgain(serviceSubtaskStatistic.getManualAgain() + 1L);
+ }
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("4")) {
+ serviceSubtaskStatistic.setSmsAgain(serviceSubtaskStatistic.getSmsAgain() + 1L);
+ }
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getPreachform().equals("5")) {
+ serviceSubtaskStatistic.setWeChatAgain(serviceSubtaskStatistic.getWeChatAgain() + 1L);
+ }
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getExcep().equals("1")) {
+ serviceSubtaskStatistic.setAbnormalAgain(serviceSubtaskStatistic.getAbnormalAgain() + 1L);
+ }
+ }
+ //闅忚鎯呭喌
+ if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 1) {
+ serviceSubtaskStatistic.setTaskSituation1(serviceSubtaskStatistic.getTaskSituation1() + 1);
+ }
+ if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 2) {
+ serviceSubtaskStatistic.setTaskSituation2(serviceSubtaskStatistic.getTaskSituation2() + 1);
+ }
+ if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 3) {
+ serviceSubtaskStatistic.setTaskSituation3(serviceSubtaskStatistic.getTaskSituation3() + 1);
+ }
+ if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 4) {
+ serviceSubtaskStatistic.setTaskSituation4(serviceSubtaskStatistic.getTaskSituation4() + 1);
+ }
+ if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 5) {
+ serviceSubtaskStatistic.setTaskSituation5(serviceSubtaskStatistic.getTaskSituation5() + 1);
+ }
+ if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 6) {
+ serviceSubtaskStatistic.setTaskSituation6(serviceSubtaskStatistic.getTaskSituation6() + 1);
+ }
+ }
+
+
+ return serviceSubtaskStatistic;
+ }
+
+ private ServiceSubtaskStatistic getStatisticJoy(List<ServiceSubtask> serviceSubtaskList, List<ServiceSubtaskCount> joySubCount) {
+ ServiceSubtaskStatistic serviceSubtaskStatistic = new ServiceSubtaskStatistic();
+ //鏍煎紡鍖栦负涓や綅灏忔暟鐨勭櫨鍒嗘瘮
+ DecimalFormat percentFormat = new DecimalFormat("##.##%");
+ serviceSubtaskStatistic.setDeptname(serviceSubtaskList.get(0).getDeptname());
+ serviceSubtaskStatistic.setDeptcode(serviceSubtaskList.get(0).getDeptcode());
+ serviceSubtaskStatistic.setLeavehospitaldistrictname(serviceSubtaskList.get(0).getLeavehospitaldistrictname());
+ serviceSubtaskStatistic.setLeavehospitaldistrictcode(serviceSubtaskList.get(0).getLeavehospitaldistrictcode());
+ serviceSubtaskStatistic.setDrcode(serviceSubtaskList.get(0).getDrcode());
+ serviceSubtaskStatistic.setDrname(serviceSubtaskList.get(0).getDrname());
+ //鍑洪櫌浜烘
+ serviceSubtaskStatistic.setDischargeCount(serviceSubtaskList.size());
+ serviceSubtaskStatistic.setJoyCount(0);
+ serviceSubtaskStatistic.setJoyAllCount(0);
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ //婊℃剰搴�
+ List<ServiceSubtaskCount> joyCountTemp = joySubCount.stream().filter(r -> r.getSubTaskId().equals(serviceSubtask.getId())).collect(Collectors.toList());
+ if (joyCountTemp != null && joyCountTemp.size() > 0) {
+ if (ObjectUtils.isNotEmpty(joyCountTemp.get(0).getJoyCount()))
+ serviceSubtaskStatistic.setJoyCount(serviceSubtaskStatistic.getJoyCount() + joyCountTemp.get(0).getJoyCount());
+ if (ObjectUtils.isNotEmpty(joyCountTemp.get(0).getJoyAllCount()))
+ serviceSubtaskStatistic.setJoyAllCount(serviceSubtaskStatistic.getJoyAllCount() + joyCountTemp.get(0).getJoyAllCount());
+ }
+ //鏃犻渶闅忚浜烘
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
+ serviceSubtaskStatistic.setNonFollowUp(serviceSubtaskStatistic.getNonFollowUp() + 1L);
+ }
+ //搴旈殢璁夸汉娆�
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
+ serviceSubtaskStatistic.setFollowUpNeeded(serviceSubtaskStatistic.getFollowUpNeeded() + 1L);
+ }
+
+ //棣栨鍑洪櫌闅忚
+ if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() == 1) {
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
+ serviceSubtaskStatistic.setNeedFollowUp(serviceSubtaskStatistic.getNeedFollowUp() + 1L);
+ }
+ if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
+ serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L);
+ }
+ if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 6)) {
serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
}
if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
@@ -2417,6 +2490,11 @@
return serviceSubtaskDetail;
}
+ /**
+ * 鐢佃瘽鐨勮ˉ鍋挎柟娉曪紙鑰侊級
+ *
+ * @param subTaskId
+ */
private void getSmsCompensate(Long subTaskId) {
ServiceSubtask serviceSubtask = serviceSubtaskMapper.selectServiceSubtaskById(subTaskId);
RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
@@ -2447,6 +2525,34 @@
serviceSubtask.setSendstate(3L);
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ //闇�瑕佸湪servicePreachform閲岃褰曚竴涓嬬煭淇$姸鎬�
+ ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+ serviceSubtaskPreachform.setPreachform("4");
+ serviceSubtaskPreachform.setSubid(subTaskId);
+ serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
+ serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
+ List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
+ ServiceSubtaskPreachform serviceSubtaskPreachform1 = serviceSubtaskPreachforms.get(0);
+ serviceSubtaskPreachform1.setSendstate("9");
+ serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1);
+ } else if (CollectionUtils.isEmpty(serviceSubtaskPreachforms)) {
+ //濡傛灉涓虹┖鐨勮瘽锛岃鏄庣敤鎴锋病鏈夐�夌煭淇″彂閫佹柟寮忥紝杩欎釜鏃跺�欓渶瑕佸己鍒舵柊澧炰竴鏉�
+ //鑾峰彇sort鐨勬渶澶у��
+ ServiceSubtaskPreachform ssp = new ServiceSubtaskPreachform();
+ ssp.setSubid(subTaskId);
+ ssp.setTaskid(serviceSubtask.getTaskid());
+ ssp.setOrgid(serviceSubtask.getOrgid());
+ List<ServiceSubtaskPreachform> sspf2 = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(ssp);
+
+ serviceSubtaskPreachform.setSort(0L);
+ if (CollectionUtils.isNotEmpty(sspf2)) {
+ serviceSubtaskPreachform.setSort(Long.valueOf(sspf2.size()));
+ }
+ serviceSubtaskPreachform.setSendstate("2");
+ serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform);
+ }
+
}
//閫氳繃褰撳墠鏃堕棿锛屾媺鍙栫數璇濇�绘暟
@@ -2469,4 +2575,74 @@
int remainingCalls = (int) (remainingHours * phoneUpEveryHour);
return remainingCalls;
}
+
+ public List<ServiceSubtaskCount> getSfStatisticsJoydetails(ServiceSubtaskCountReq serviceSubtaskCountReq) {
+ return serviceSubtaskMapper.getSfStatisticsJoydetails(serviceSubtaskCountReq);
+ }
+
+
+ /**
+ * @param serviceSubtask
+ * @param preachform
+ * @param remark
+ * @param failSendstate
+ * @return
+ */
+ public Boolean setFailPreachForm(ServiceSubtask serviceSubtask, String preachform, String remark, String failSendstate) {
+ //灏嗙姸鎬佽缃负澶辫触
+ ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+ serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
+ serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
+ serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
+ //鑾峰彇璇ユ偅鑰呯殑鍙戦�佹柟寮忔�绘暟
+ List<ServiceSubtaskPreachform> spSize = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+
+ serviceSubtaskPreachform.setPreachform(preachform);
+ //1:鏈彂閫佺姸鎬�
+ serviceSubtaskPreachform.setSendstate("1");
+ if (preachform.equals("3")) {
+ //鐢佃瘽杩涘叆闃熷垪鍚庯紝鐘舵�佷細鍙樻垚2
+ serviceSubtaskPreachform.setSendstate("2");
+ }
+ List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
+ ServiceSubtaskPreachform serviceSubtaskPreachform1 = serviceSubtaskPreachforms.get(0);
+ serviceSubtaskPreachform1.setSendstate(failSendstate);
+ serviceSubtaskPreachform1.setRemark(remark);
+ serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1);
+
+ //濡傛灉褰撳墠鐨刾reachform宸茬粡鏄渶鍚庝竴涓簡锛岄偅鐩存帴灏唖erviceSubtask鐨剆endstate鐘舵�佹敼鎴�5灏辫浜�(鍏ㄥけ璐ヤ簡)
+ if (serviceSubtaskPreachform1.getSort() == spSize.size() && failSendstate.equals("4")) {
+ serviceSubtask.setCurrentPreachform(preachform);
+ serviceSubtask.setSendstate(5L);
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ return true;
+ }
+ }
+
+ serviceSubtask.setCurrentPreachform(preachform);
+ serviceSubtask.setSendstate(3L);
+ //濡傛灉绛変簬9锛屽垯璇存槑鐢佃瘽姝e父缁撴潫浜�
+ if (failSendstate.equals("9")) serviceSubtask.setSendstate(6L);
+ serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime()));
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ return true;
+ }
+
+ private Date getNextVisitTime(Long subid, Long taskid, Date visitTime) {
+ ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+ serviceSubtaskPreachform.setSubid(subid);
+ serviceSubtaskPreachform.setTaskid(taskid);
+ List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
+ String compensateTime = serviceSubtaskPreachforms.get(0).getCompensateTime();
+ int hoursToAdd = Integer.valueOf(compensateTime) * 24;
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(visitTime);
+ calendar.add(Calendar.HOUR_OF_DAY, hoursToAdd);
+ Date newDate = calendar.getTime();
+ return newDate;
+ }
+ return visitTime;
+ }
}
--
Gitblit v1.9.3