From 5389773b2d1ae86daec68b00f67c3682dc907e01 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期五, 22 十一月 2024 14:35:48 +0800 Subject: [PATCH] 代码提交(长期任务电话完成) --- smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java | 98 +++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 78 insertions(+), 20 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java index 861dcbb..0773844 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java @@ -4,16 +4,19 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.gson.Gson; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DtoConversionUtils; +import com.ruoyi.common.utils.http.HttpUtils; import org.apache.commons.lang3.StringUtils; import com.smartor.domain.*; import com.smartor.mapper.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import com.smartor.service.IServiceTaskService; import org.springframework.transaction.annotation.Transactional; @@ -34,6 +37,15 @@ private ServiceSubtaskMapper serviceSubtaskMapper; @Autowired + private IvrTaskTemplateMapper ivrTaskTemplateMapper; + + @Autowired + private SvyTaskTemplateMapper svyTaskTemplateMapper; + + @Autowired + private HeLibraryMapper heLibraryMapper; + + @Autowired private IvrLibaTemplateScriptMapper ivrLibaTemplateScriptMapper; @Autowired @@ -41,9 +53,6 @@ @Autowired private PatArchiveMapper patArchiveMapper; - - @Autowired - private HeLibraryMapper heLibraryMapper; @Autowired @@ -75,6 +84,11 @@ @Override public List<ServiceTask> selectServiceTaskList(ServiceTask serviceTask) { + //濡傛灉涓�0涓嶇疆绌猴紝浼氬奖鍝嶅埌鎴戠殑鏌ヨ + if (CollectionUtils.isEmpty(serviceTask.getLeaveldeptcodes()) || serviceTask.getLeaveldeptcodes().size() == 0) + serviceTask.setLeaveldeptcodes(null); + if (CollectionUtils.isEmpty(serviceTask.getLeavehospitaldistrictcodes()) || serviceTask.getLeavehospitaldistrictcodes().size() == 0) + serviceTask.setLeavehospitaldistrictcodes(null); return serviceTaskMapper.selectServiceTaskList(serviceTask); } @@ -136,7 +150,20 @@ } @Override - public List getScriptInfoByCondition(Long taskid, Long patid) { + public Map<String, Object> getScriptInfoByCondition(Long taskid, Long patid, Boolean isFinish) { + Map<String, Object> map = new HashMap<>(); + ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); + serviceSubtaskVO.setPatid(patid); + serviceSubtaskVO.setTaskid(taskid); + List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); + //鏌ヨ鎮h�呮槸鍚﹂噸瑕嗗仛棰� + if (CollectionUtils.isEmpty(selectServiceSubtaskList)) { + Long submit = selectServiceSubtaskList.get(0).getSubmit(); + if (submit == 1L) { + map.put("submit", "1"); + return map; + } + } //閫氳繃浠诲姟ID鑾峰彇妯℃澘ID ServiceTask serviceTask = selectServiceTaskByTaskid(taskid); List info = new ArrayList(); @@ -145,21 +172,31 @@ info = sfInfo(serviceTask, patid); } else if (serviceTask.getType().equals("2")) { //闂嵎 - info = wjInfo(serviceTask, patid); + info = wjInfo(serviceTask, patid, isFinish); } else { //瀹f暀 - info = xjInfo(serviceTask.getTemplateid()); + info = xjInfo(Long.valueOf(serviceTask.getLibtemplateid()), taskid, patid, isFinish); } //鍙鎵撳紑浜嗛〉闈紝灏辩畻鎴愬姛 - ServiceSubtask ServiceTaskSingle = new ServiceSubtask(); - ServiceTaskSingle.setTaskid(taskid); - ServiceTaskSingle.setPatid(patid); - ServiceTaskSingle.setResult("success"); - ServiceTaskSingle.setFinishtime(new Date()); - serviceSubtaskMapper.updateServiceSubtaskByCondition(ServiceTaskSingle); + if (isFinish) { + ServiceSubtask ss = new ServiceSubtask(); + ss.setTaskid(taskid); + ss.setPatid(patid); + ss.setSendstate(1L); + ss.setResult("success"); + ss.setFinishtime(new Date()); + serviceSubtaskMapper.updateServiceSubtaskByCondition(ss); + } + SvyTaskTemplate svyTaskTemplate = svyTaskTemplateMapper.selectSvyTaskTemplateBySvyid(serviceTask.getTemplateid()); + if (StringUtils.isNotEmpty(serviceTask.getKcb())) map.put("kcb", serviceTask.getKcb()); + map.put("script", info); + if (StringUtils.isNotEmpty(serviceTask.getJsy())) map.put("jsy", serviceTask.getJsy()); + map.put("type", serviceTask.getType()); + map.put("taskName", serviceTask.getTaskName()); + map.put("submit", "0"); - return info; + return map; } /** @@ -219,6 +256,8 @@ ivrLibaTemplateScriptVO.setIvrLibaScriptTargetoptionList(ivrLibaTemplateTargetoptions); } } + Collections.sort(ivrLibaTemplateScriptVOS, Comparator.comparingInt(IvrLibaTemplateScriptVO::getSort)); + return ivrLibaTemplateScriptVOS; } @@ -229,10 +268,18 @@ * @param patid * @return */ - private List wjInfo(ServiceTask serviceTask, Long patid) { + private List wjInfo(ServiceTask serviceTask, Long patid, Boolean isFinish) { + //鐢ㄦ埛鐐瑰嚮浜嗗閾撅紝灏辩畻浠栭鍙栦簡 + if (isFinish == true) { + ServiceSubtask serviceSubtask = new ServiceSubtask(); + serviceSubtask.setSendstate(1L); + serviceSubtask.setPatid(patid); + serviceSubtask.setTaskid(serviceTask.getTaskid()); + serviceSubtaskMapper.updateServiceSubtaskByPatId(serviceSubtask); + } //閫氳繃妯℃澘ID鑾峰彇闂淇℃伅 SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript(); - svyLibTemplateScript.setId(Long.valueOf(serviceTask.getTemplateid())); + svyLibTemplateScript.setSvyid(Long.valueOf(serviceTask.getLibtemplateid())); svyLibTemplateScript.setDelFlag("0"); List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript); if (CollectionUtils.isEmpty(svyLibTemplateScripts) || svyLibTemplateScripts.size() == 0) { @@ -268,10 +315,12 @@ } } //鏇挎崲鎮h�呬釜浜轰俊鎭暟鎹� - svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : "")); - svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : "")); - svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : "")); - + log.error("闂id锛歿}, 闂鍐呭锛歿}", svyLibTemplateScriptVO.getId(), svyLibTemplateScriptVO.getScriptContent()); + if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent())) { + svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : "")); + svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : "")); + svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : "")); + } //鑾峰彇闂閫夐」 SvyLibTemplateTargetoption svyLibTemplateTargetoption = new SvyLibTemplateTargetoption(); svyLibTemplateTargetoption.setScriptid(svyLibTemplateScriptVO.getId()); @@ -279,10 +328,19 @@ svyLibTemplateScriptVO.setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions); } } + Collections.sort(svyLibTemplateScriptVOS, Comparator.comparingLong(SvyLibTemplateScriptVO::getSort)); return svyLibTemplateScriptVOS; } - private List xjInfo(Long templateId) { + private List xjInfo(Long templateId, Long taskid, Long patid, Boolean isFinish) { + if (isFinish == true) { + ServiceSubtask serviceSubtask = new ServiceSubtask(); + serviceSubtask.setTaskid(taskid); + serviceSubtask.setPatid(patid); + serviceSubtask.setResult("瀹屾垚"); + serviceSubtask.setFinishtime(new Date()); + serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask); + } HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(Long.valueOf(templateId)); List list = new ArrayList(); list.add(heLibrary); -- Gitblit v1.9.3