From 6f1e752bf00b584c8a17569578fa8e54cdb71b60 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 27 十月 2025 13:34:59 +0800
Subject: [PATCH] 处理选项不显示的问题
---
smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java | 356 ++++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 293 insertions(+), 63 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 e8fe8b5..e986244 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceTaskServiceImpl.java
@@ -38,20 +38,22 @@
private ServiceSubtaskMapper serviceSubtaskMapper;
@Autowired
- private IvrTaskTemplateMapper ivrTaskTemplateMapper;
+ private ServiceTaskdeptMapper serviceTaskdeptMapper;
@Autowired
private PatArchiveImportMapper patArchiveImportMapper;
@Autowired
- private SvyTaskTemplateMapper svyTaskTemplateMapper;
+ private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper;
@Autowired
private HeLibraryMapper heLibraryMapper;
@Autowired
- private IvrLibaTemplateScriptMapper ivrLibaTemplateScriptMapper;
+ private SvyTaskTemplateScriptMapper svyTaskTemplateScriptMapper;
+ @Autowired
+ private IvrTaskTemplateScriptMapper ivrTaskTemplateScriptMapper;
@Autowired
private SvyLibTemplateScriptMapper svyLibTemplateScriptMapper;
@@ -59,12 +61,20 @@
@Autowired
private PatArchiveMapper patArchiveMapper;
+ @Autowired
+ private PatMedInhospMapper patMedInhospMapper;
@Autowired
- private IvrLibaTemplateTargetoptionMapper ivrLibaTemplateTargetOptionMapper;
+ private PatMedOuthospMapper patMedOuthospMapper;
+
@Autowired
private SvyLibTemplateTargetoptionMapper svyLibTemplateTargetoptionMapper;
+ @Autowired
+ private IvrTaskTemplateTargetoptionMapper ivrTaskTemplateTargetOptionMapper;
+
+ @Autowired
+ private SvyTaskTemplateTargetoptionMapper svyTaskTemplateTargetoptionMapper;
@Autowired
private RedisCache redisCache;
@@ -155,16 +165,67 @@
@Transactional(rollbackFor = Exception.class)
@Override
public Boolean deleteServiceTaskByTaskid(Long taskid) {
- ServiceSubtask ServiceTaskcall = new ServiceSubtask();
- ServiceTaskcall.setTaskid(taskid);
- ServiceTaskcall.setDelFlag("1");
- Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtask(ServiceTaskcall);
+ ServiceSubtask serviceSubtask = new ServiceSubtask();
+ serviceSubtask.setTaskid(taskid);
+
+ //鏌ヨ瀛愪换鍔�
+ ServiceSubtaskVO serviceSubtaskVO = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtaskVO.class);
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ for (ServiceSubtask ss : serviceSubtaskList) {
+ log.error("sfSend闇�瑕佺Щ闄ょ殑subId涓猴細{}", ss.getId().toString());
+ redisCache.removeElementFromList("cache-exist", ss.getId().toString());
+ redisCache.removeElementFromList("cache-0", ss.getId().toString());
+ redisCache.removeElementFromList("cache-1", ss.getId().toString());
+ redisCache.removeElementFromList("cache-2", ss.getId().toString());
+ redisCache.removeElementFromList("cache-3", ss.getId().toString());
+ redisCache.removeElementFromList("cache-4", ss.getId().toString());
+ }
+
+ serviceSubtask.setDelFlag("1");
+ Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtaskByPatId(serviceSubtask);
+
+ //鍏宠仈琛ㄥ垹闄�
+ ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+ serviceTaskdept.setTaskId(taskid);
+ int i = serviceTaskdeptMapper.deleteServiceTaskdeptByTaskId(serviceTaskdept);
+
Boolean isSuccess = false;
- if (!aBoolean) {
+ if (!aBoolean || i <= 0) {
new BaseException("浠诲姟鍒犻櫎澶辫触");
}
isSuccess = serviceTaskMapper.deleteServiceTaskByTaskid(taskid);
return isSuccess;
+ }
+
+
+ /**
+ * 鑾峰彇闅忚鍙婃椂鐜�
+ *
+ * @param serviceSubtask
+ * @return
+ */
+ public Map<String, Object> selectTimelyRate(ServiceSubtask serviceSubtask) {
+ if (serviceSubtask.getEndtime() != null && new Date().before(serviceSubtask.getEndtime())) {
+ serviceSubtask.setEndtime(new Date());
+ }
+ Double dob = serviceSubtaskMapper.selectTimelyRate(serviceSubtask);
+ // 1. 鏌ヨ鍏ㄩ儴鏁版嵁锛圫QL涓嶅垎椤碉級
+ List<ServiceSubtask> allList = serviceSubtaskMapper.selectTimelyRateDetail(serviceSubtask);
+ // 2. Java浠g爜鍒嗛〉
+ int pageNum = serviceSubtask.getPn() != null ? serviceSubtask.getPn() : 1;
+ int pageSize = serviceSubtask.getPs() != null ? serviceSubtask.getPs() : 10;
+ int fromIndex = (pageNum - 1) * pageSize;
+ int toIndex = Math.min(fromIndex + pageSize, allList.size());
+ List<ServiceSubtask> pageList = new ArrayList<>();
+ if (fromIndex < allList.size()) {
+ pageList = allList.subList(fromIndex, toIndex);
+ }
+ log.info("浠g爜鍒嗛〉鍙傛暟: pageNum={}, pageSize={}, fromIndex={}, toIndex={}, total={}", pageNum, pageSize, fromIndex, toIndex, allList.size());
+ Map<String, Object> map = new HashMap<>();
+ map.put("rate", dob);
+ map.put("detail", pageList);
+ map.put("total", allList.size()); // 鍙�夛細杩斿洖鎬绘暟
+ return map;
}
@Override
@@ -173,7 +234,8 @@
ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
serviceSubtaskVO.setPatid(patid);
serviceSubtaskVO.setTaskid(taskid);
-// List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ serviceSubtaskVO.setSendstate(3L);
+ List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
// //鏌ヨ鎮h�呮槸鍚﹂噸瑕嗗仛棰�
// if (CollectionUtils.isEmpty(selectServiceSubtaskList)) {
// Long submit = selectServiceSubtaskList.get(0).getSubmit();
@@ -201,21 +263,124 @@
ServiceSubtask ss = new ServiceSubtask();
ss.setTaskid(taskid);
ss.setPatid(patid);
- ss.setSendstate(1L);
- ss.setResult("success");
- ss.setFinishtime(new Date());
- serviceSubtaskMapper.updateServiceSubtaskByCondition(ss);
+ Integer integer = serviceSubtaskMapper.selectSendstateByCondition(ss);
+ if (integer != null && integer != 6) {
+ ss.setSendstate(1L);
+ serviceSubtaskMapper.updateServiceSubtaskByCondition(ss);
+ }
}
}
- SvyTaskTemplate svyTaskTemplate = svyTaskTemplateMapper.selectSvyTaskTemplateBySvyid(serviceTask.getTemplateid());
+ if (CollectionUtils.isNotEmpty(selectServiceSubtaskList)) {
+ //灏嗗綋鍓嶆柟寮忕殑鍙戦�佺姸鎬佹敼鎴愬凡棰嗗彇
+ ServiceSubtask serviceSubtask = selectServiceSubtaskList.get(0);
+ ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
+ serviceSubtaskPreachform.setPreachform(serviceSubtask.getCurrentPreachform());
+ serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
+ serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
+ List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
+ ServiceSubtaskPreachform ssp = serviceSubtaskPreachforms.get(0);
+ ssp.setSendstate("3");
+ serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(ssp);
+ }
+ }
+
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 map;
+ }
+ @Override
+ public Map<String, Object> getScriptByCondition(Long taskid, String zyserialnum, String mzserialnum, String tsserialnum) {
+ //閫氳繃浠诲姟ID鑾峰彇妯℃澘ID
+ ServiceTask serviceTask = selectServiceTaskByTaskid(taskid);
+ //閫氳繃妯℃澘ID鑾峰彇闂淇℃伅
+ SvyTaskTemplateScript svyTaskTemplateScript = new SvyTaskTemplateScript();
+ svyTaskTemplateScript.setTemplateID(Long.valueOf(serviceTask.getTemplateid()));
+ svyTaskTemplateScript.setDelFlag("0");
+ List<SvyTaskTemplateScript> svyTaskTemplateScripts = svyTaskTemplateScriptMapper.selectSvyTaskTemplateScriptList(svyTaskTemplateScript);
+ if (CollectionUtils.isEmpty(svyTaskTemplateScripts) || svyTaskTemplateScripts.size() == 0) {
+ log.error("svyTaskTemplateScripts涓虹┖浜嗭紝璇峰敖蹇仈绯荤鐞嗗憳澶勭悊");
+ throw new BaseException("svyTaskTemplateScripts涓虹┖浜嗭紝璇峰敖蹇仈绯荤鐞嗗憳澶勭悊");
+ }
+ PatArchive patArchive = null;
+ if (StringUtils.isNotEmpty(zyserialnum)) {
+ PatMedInhospVO patMedInhospVO = new PatMedInhospVO();
+ patMedInhospVO.setSerialnum(zyserialnum);
+ List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospListByCondition(patMedInhospVO);
+ if (CollectionUtils.isNotEmpty(patMedInhospList)) {
+ patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhospList.get(0).getPatid());
+ }
+ } else if (StringUtils.isNotEmpty(mzserialnum)) {
+ PatMedOuthosp patMedOuthosp = new PatMedOuthosp();
+ patMedOuthosp.setSerialnum(mzserialnum);
+ List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.selectPatMedOuthospList(patMedOuthosp);
+ if (CollectionUtils.isNotEmpty(patMedOuthosps)) {
+ patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOuthosps.get(0).getPatid());
+ }
+ } else if (StringUtils.isNotEmpty(tsserialnum)) {
+ PatArchive pa = new PatArchive();
+ pa.setPatientno(tsserialnum);
+ List<PatArchive> patArchives = patArchiveMapper.selectPatArchiveList(pa);
+ if (CollectionUtils.isNotEmpty(patArchives)) patArchive = patArchives.get(0);
+ }
+
+ //鍒ゆ柇涓�涓嬩粖澶╂槸鍚﹀凡缁忓仛杩囬锛屽仛杩囧氨涓嶈鍐嶅仛浜�
+ ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ serviceSubtaskVO.setTaskid(taskid);
+ serviceSubtaskVO.setPatid(patArchive.getId());
+ serviceSubtaskVO.setVisitTime(new Date());
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList) && serviceSubtaskList.size() > 0) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("result", "浠婃棩宸茬粡鍋氳繃婊℃剰搴﹁皟鏌� 锛屾棤闇�鍐嶉噸澶嶅仛绛旓紒");
+ return map;
+ }
+
+ List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOS = DtoConversionUtils.sourceToTarget(svyTaskTemplateScripts, SvyTaskTemplateScriptVO.class);
+ //灏嗘ā鏉块棶棰樿瘽鏈噷鐨勯�氶厤绗︽浛鎹�
+ ObjectMapper objectMapper = new ObjectMapper();
+ Map<String, Map<String, String>> serviceTaskMap = null;
+ try {
+ serviceTaskMap = objectMapper.readValue(serviceTask.getTextParam(), Map.class);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ List<Map<String, String>> mapList = new ArrayList<>();
+
+ for (Map<String, String> map : serviceTaskMap.values()) {
+ mapList.add(map);
+ }
+ for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : svyTaskTemplateScriptVOS) {
+ if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptContent())) {
+ for (Map<String, String> map : mapList) {
+ for (String key : map.keySet()) {
+
+ svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
+ }
+ }
+ //鏇挎崲鎮h�呬釜浜轰俊鎭暟鎹�
+ log.error("闂id锛歿}, 闂鍐呭锛歿}", svyTaskTemplateScriptVO.getId(), svyTaskTemplateScriptVO.getScriptContent());
+ if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptContent()) && ObjectUtils.isNotEmpty(patArchive)) {
+ svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : ""));
+ svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : ""));
+ svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : ""));
+ }
+ //鑾峰彇闂閫夐」
+ SvyTaskTemplateTargetoption svyTaskTemplateTargetoption = new SvyTaskTemplateTargetoption();
+ svyTaskTemplateTargetoption.setScriptid(svyTaskTemplateScriptVO.getId());
+ List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateTargetoptionMapper.selectSvyTaskTemplateTargetoptionList(svyTaskTemplateTargetoption);
+ svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions);
+ }
+ }
+ Map<String, Object> map = new HashMap<>();
+ map.put("result", null);
+ map.put("svyLibTemplateScriptVOS", svyTaskTemplateScriptVOS);
return map;
}
@@ -228,15 +393,15 @@
*/
public List sfInfo(ServiceTask serviceTask, Long patid, String patfrom) {
//閫氳繃妯℃澘ID鑾峰彇闂淇℃伅
- IvrLibaTemplateScript ivrLibaTemplateScript = new IvrLibaTemplateScript();
- ivrLibaTemplateScript.setTemplateid(Long.valueOf(serviceTask.getLibtemplateid()));
- ivrLibaTemplateScript.setDelFlag("0");
- List<IvrLibaTemplateScript> ivrLibaTemplateScripts = ivrLibaTemplateScriptMapper.selectIvrLibaTemplateScriptList(ivrLibaTemplateScript);
- if (CollectionUtils.isEmpty(ivrLibaTemplateScripts) || ivrLibaTemplateScripts.size() == 0) {
+ IvrTaskTemplateScript ivrTaskTemplateScript = new IvrTaskTemplateScript();
+ ivrTaskTemplateScript.setTemplateID(Long.valueOf(serviceTask.getTemplateid()));
+ ivrTaskTemplateScript.setDelFlag("0");
+ List<IvrTaskTemplateScript> ivrTaskTemplateScripts = ivrTaskTemplateScriptMapper.selectIvrTaskTemplateScriptList(ivrTaskTemplateScript);
+ if (CollectionUtils.isEmpty(ivrTaskTemplateScripts) || ivrTaskTemplateScripts.size() == 0) {
log.info("ivrLibaTemplateScripts涓虹┖浜嗭紝璇峰敖蹇仈绯荤鐞嗗憳澶勭悊");
return new ArrayList<>();
}
- List<IvrLibaTemplateScriptVO> ivrLibaTemplateScriptVOS = DtoConversionUtils.sourceToTarget(ivrLibaTemplateScripts, IvrLibaTemplateScriptVO.class);
+ List<IvrTaskTemplateScriptVO> ivrTaskTemplateScriptVOS = DtoConversionUtils.sourceToTarget(ivrTaskTemplateScripts, IvrTaskTemplateScriptVO.class);
//鑾峰彇鎮h�呬俊鎭�
PatArchive patArchive = null;
@@ -261,29 +426,29 @@
}
//灏嗘ā鏉块棶棰樿瘽鏈噷鐨勯�氶厤绗︽浛鎹�
- for (IvrLibaTemplateScriptVO ivrLibaTemplateScriptVO : ivrLibaTemplateScriptVOS) {
- if (StringUtils.isNotEmpty(ivrLibaTemplateScriptVO.getScriptContent())) {
+ for (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : ivrTaskTemplateScriptVOS) {
+ if (StringUtils.isNotEmpty(ivrTaskTemplateScriptVO.getScriptContent())) {
for (Map<String, String> map : mapList) {
for (String key : map.keySet()) {
- ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
+ ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
}
}
//鏇挎崲鎮h�呬釜浜轰俊鎭暟鎹�
- ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : ""));
- ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : ""));
- ivrLibaTemplateScriptVO.setScriptContent(ivrLibaTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : ""));
+ ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : ""));
+ ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : ""));
+ ivrTaskTemplateScriptVO.setScriptContent(ivrTaskTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : ""));
//鑾峰彇闂閫夐」
- IvrLibaTemplateTargetoption ivrLibaTemplateTargetoption = new IvrLibaTemplateTargetoption();
- ivrLibaTemplateTargetoption.setScriptid(ivrLibaTemplateScriptVO.getId());
- List<IvrLibaTemplateTargetoption> ivrLibaTemplateTargetoptions = ivrLibaTemplateTargetOptionMapper.selectIvrLibaTemplateTargetoptionList(ivrLibaTemplateTargetoption);
- ivrLibaTemplateScriptVO.setIvrLibaScriptTargetoptionList(ivrLibaTemplateTargetoptions);
+ IvrTaskTemplateTargetoption ivrTaskTemplateTargetoption = new IvrTaskTemplateTargetoption();
+ ivrTaskTemplateTargetoption.setScriptid(ivrTaskTemplateScriptVO.getId());
+ List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = ivrTaskTemplateTargetOptionMapper.selectIvrTaskTemplateTargetoptionList(ivrTaskTemplateTargetoption);
+ ivrTaskTemplateScriptVO.setIvrTaskScriptTargetoptionList(ivrTaskTemplateTargetoptions);
}
}
- Collections.sort(ivrLibaTemplateScriptVOS, Comparator.comparingInt(IvrLibaTemplateScriptVO::getSort));
+ Collections.sort(ivrTaskTemplateScriptVOS, Comparator.comparingLong(IvrTaskTemplateScriptVO::getSort));
- return ivrLibaTemplateScriptVOS;
+ return ivrTaskTemplateScriptVOS;
}
/**
@@ -301,24 +466,27 @@
serviceSubtaskVO.setPatid(patid);
List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
if (CollectionUtils.isNotEmpty(serviceSubtaskList) && serviceSubtaskList.size() == 1) {
- if (serviceSubtaskList.get(0).getSendstate() != 6 && isFinish == true) {
+ if (serviceSubtaskList.get(0).getSendstate() == 3 && isFinish == true) {
ServiceSubtask serviceSubtask = new ServiceSubtask();
- serviceSubtask.setSendstate(7L);
+ serviceSubtask.setSendstate(1L);
serviceSubtask.setPatid(patid);
serviceSubtask.setTaskid(serviceTask.getTaskid());
serviceSubtaskMapper.updateServiceSubtaskByPatId(serviceSubtask);
}
}
//閫氳繃妯℃澘ID鑾峰彇闂淇℃伅
- SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript();
- svyLibTemplateScript.setSvyid(Long.valueOf(serviceTask.getLibtemplateid()));
- svyLibTemplateScript.setDelFlag("0");
- List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript);
- if (CollectionUtils.isEmpty(svyLibTemplateScripts) || svyLibTemplateScripts.size() == 0) {
- log.info("ivrLibaTemplateScripts涓虹┖浜嗭紝璇峰敖蹇仈绯荤鐞嗗憳澶勭悊");
- return new ArrayList<>();
+ SvyTaskTemplateScript svyTaskTemplateScript = new SvyTaskTemplateScript();
+ svyTaskTemplateScript.setTemplateID(Long.valueOf(serviceTask.getTemplateid()));
+ svyTaskTemplateScript.setDelFlag("0");
+ List<SvyTaskTemplateScript> svyTaskTemplateScripts = svyTaskTemplateScriptMapper.selectSvyTaskTemplateScriptList(svyTaskTemplateScript);
+ if (CollectionUtils.isEmpty(svyTaskTemplateScripts) || svyTaskTemplateScripts.size() == 0) {
+ insertSvyTaskTempScript(null, serviceTask);
+ svyTaskTemplateScripts = svyTaskTemplateScriptMapper.selectSvyTaskTemplateScriptList(svyTaskTemplateScript);
+ if (CollectionUtils.isEmpty(svyTaskTemplateScripts)) {
+ throw new BaseException("璇疯仈绯荤鐞嗗憳锛屾鏌ラ棶棰樻ā鏉夸俊鎭�!");
+ }
}
- List<SvyLibTemplateScriptVO> svyLibTemplateScriptVOS = DtoConversionUtils.sourceToTarget(svyLibTemplateScripts, SvyLibTemplateScriptVO.class);
+ List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOS = DtoConversionUtils.sourceToTarget(svyTaskTemplateScripts, SvyTaskTemplateScriptVO.class);
//鑾峰彇鎮h�呬俊鎭�
PatArchive patArchive = null;
@@ -344,30 +512,90 @@
}
//灏嗘ā鏉块棶棰樿瘽鏈噷鐨勯�氶厤绗︽浛鎹�
- for (SvyLibTemplateScriptVO svyLibTemplateScriptVO : svyLibTemplateScriptVOS) {
- if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent())) {
+ for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : svyTaskTemplateScriptVOS) {
+ if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptContent())) {
for (Map<String, String> map : mapList) {
for (String key : map.keySet()) {
-
- svyLibTemplateScriptVO.setScriptContent(svyLibTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
+ svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : ""));
}
}
//鏇挎崲鎮h�呬釜浜轰俊鎭暟鎹�
- log.error("闂id锛歿}, 闂鍐呭锛歿}", svyLibTemplateScriptVO.getId(), svyLibTemplateScriptVO.getScriptContent());
- if (StringUtils.isNotEmpty(svyLibTemplateScriptVO.getScriptContent()) && ObjectUtils.isNotEmpty(patArchive)) {
- 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锛歿}, 闂鍐呭锛歿}", svyTaskTemplateScriptVO.getId(), svyTaskTemplateScriptVO.getScriptContent());
+ if (StringUtils.isNotEmpty(svyTaskTemplateScriptVO.getScriptContent()) && ObjectUtils.isNotEmpty(patArchive)) {
+ svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${name}", StringUtils.isNotEmpty(patArchive.getName()) ? patArchive.getName() : ""));
+ svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${dzz}", StringUtils.isNotEmpty(patArchive.getPlaceOfResidence()) ? patArchive.getPlaceOfResidence() : ""));
+ svyTaskTemplateScriptVO.setScriptContent(svyTaskTemplateScriptVO.getScriptContent().replace("${dhh}", StringUtils.isNotEmpty(patArchive.getTelcode()) ? patArchive.getTelcode() : ""));
}
//鑾峰彇闂閫夐」
- SvyLibTemplateTargetoption svyLibTemplateTargetoption = new SvyLibTemplateTargetoption();
- svyLibTemplateTargetoption.setScriptid(svyLibTemplateScriptVO.getId());
- List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(svyLibTemplateTargetoption);
- svyLibTemplateScriptVO.setSvyLibTemplateTargetoptions(svyLibTemplateTargetoptions);
+ SvyTaskTemplateTargetoption svyTaskTemplateTargetoption = new SvyTaskTemplateTargetoption();
+ svyTaskTemplateTargetoption.setScriptid(svyTaskTemplateScriptVO.getId());
+ if (svyTaskTemplateTargetoption.getDynamiccruxs().size() == 0)
+ svyTaskTemplateTargetoption.setDynamiccruxs(null);
+ if (svyTaskTemplateTargetoption.getNodynamiccruxs().size() == 0)
+ svyTaskTemplateTargetoption.setNodynamiccruxs(null);
+ List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateTargetoptionMapper.selectSvyTaskTemplateTargetoptionList(svyTaskTemplateTargetoption);
+ if (CollectionUtils.isNotEmpty(svyTaskTemplateTargetoptions)) {
+ svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions);
+ } else {
+ //濡傛灉閫夐」娌℃湁鏌ュ埌锛岄渶瑕佸幓鍩虹妯℃澘搴撳皢閫夐」鏌ヨ鍑烘潵锛屾斁鍒颁换鍔℃ā鏉块�夐」搴撲腑
+ insertSvyTaskTempScript(svyTaskTemplateScriptVO, serviceTask);
+
+ }
}
}
- Collections.sort(svyLibTemplateScriptVOS, Comparator.comparingLong(SvyLibTemplateScriptVO::getSort));
- return svyLibTemplateScriptVOS;
+ Collections.sort(svyTaskTemplateScriptVOS, Comparator.comparingLong(SvyTaskTemplateScriptVO::getSort));
+ return svyTaskTemplateScriptVOS;
+ }
+
+
+ private void insertSvyTaskTempScript(SvyTaskTemplateScriptVO svyTaskTemplateScriptVO, ServiceTask serviceTask) {
+ log.info("-------鍩虹妯℃澘libtemplateid鐨勫�间负锛歿}", serviceTask.getLibtemplateid());
+ if (StringUtils.isEmpty(serviceTask.getLibtemplateid())) {
+ return;
+ }
+
+ SvyLibTemplateScript svyLibTemplateScript = new SvyLibTemplateScript();
+ svyLibTemplateScript.setSvyid(Long.valueOf(serviceTask.getLibtemplateid()));
+ List<SvyLibTemplateScript> svyLibTemplateScripts = svyLibTemplateScriptMapper.selectSvyLibTemplateScriptList(svyLibTemplateScript);
+ log.info("-------鍩虹妯℃澘svyLibTemplateScripts闂鍊间负锛歿}", svyLibTemplateScripts.size());
+ for (SvyLibTemplateScript sll : svyLibTemplateScripts) {
+ if (ObjectUtils.isNotEmpty(svyTaskTemplateScriptVO)) {
+ if (sll.getScriptContent().trim().equals(svyTaskTemplateScriptVO.getScriptContent().trim())) {
+ SvyLibTemplateTargetoption sltto = new SvyLibTemplateTargetoption();
+ sltto.setScriptid(sll.getId());
+ List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(sltto);
+
+ //灏嗘煡鍑烘潵鐨勯�夐」锛屾斁鍒皊vyTaskTemplateTargetoption涓�
+ List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptionList = DtoConversionUtils.sourceToTarget(svyLibTemplateTargetoptions, SvyTaskTemplateTargetoption.class);
+ for (int i = 0; i < svyTaskTemplateTargetoptionList.size(); i++) {
+ svyTaskTemplateTargetoptionList.get(i).setTemplateID(svyTaskTemplateScriptVO.getTemplateID());
+ svyTaskTemplateTargetoptionList.get(i).setScriptid(svyTaskTemplateScriptVO.getId());
+ svyTaskTemplateTargetoptionMapper.insertSvyTaskTemplateTargetoption(svyTaskTemplateTargetoptionList.get(i));
+ log.info("-------鏂板瀹屼箣鍚庣殑閫夐」ID鍊间负锛歿}", svyTaskTemplateTargetoptionList.get(i).getId());
+ }
+ svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptionList);
+ }
+ } else {
+ //鏂板闂
+ SvyTaskTemplateScript stts = DtoConversionUtils.sourceToTarget(sll, SvyTaskTemplateScript.class);
+ stts.setId(null);
+ stts.setTaskid(serviceTask.getTaskid());
+ stts.setTemplateID(serviceTask.getTemplateid());
+ svyTaskTemplateScriptMapper.insertSvyTaskTemplateScript(stts);
+
+ //鏂板闂閫夐」
+ SvyLibTemplateTargetoption sltto = new SvyLibTemplateTargetoption();
+ sltto.setScriptid(sll.getId());
+ List<SvyLibTemplateTargetoption> svyLibTemplateTargetoptions = svyLibTemplateTargetoptionMapper.selectSvyLibTemplateTargetoptionList(sltto);
+ List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptionList = DtoConversionUtils.sourceToTarget(svyLibTemplateTargetoptions, SvyTaskTemplateTargetoption.class);
+ for (int i = 0; i < svyTaskTemplateTargetoptionList.size(); i++) {
+ svyTaskTemplateTargetoptionList.get(i).setTemplateID(serviceTask.getTemplateid());
+ svyTaskTemplateTargetoptionList.get(i).setScriptid(stts.getId());
+ svyTaskTemplateTargetoptionMapper.insertSvyTaskTemplateTargetoption(svyTaskTemplateTargetoptionList.get(i));
+ }
+
+ }
+ }
}
private List xjInfo(Long templateId, Long taskid, Long patid, Boolean isFinish) {
@@ -375,11 +603,13 @@
ServiceSubtask serviceSubtask = new ServiceSubtask();
serviceSubtask.setTaskid(taskid);
serviceSubtask.setPatid(patid);
- serviceSubtask.setResult("瀹屾垚");
- serviceSubtask.setFinishtime(new Date());
- serviceSubtask.setUpdateTime(new Date());
- log.error("serviceSubtask---xjInfo-鐨勪慨鏀规暟鎹細{}", serviceSubtask);
- serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
+ Integer integer = serviceSubtaskMapper.selectSendstateByCondition(serviceSubtask);
+ if (integer == 3) {
+ serviceSubtask.setResult("瀹屾垚");
+ serviceSubtask.setFinishtime(new Date());
+ serviceSubtask.setSendstate(6L);
+ serviceSubtaskMapper.updateServiceSubtaskByCondition(serviceSubtask);
+ }
}
HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(Long.valueOf(templateId));
List list = new ArrayList();
--
Gitblit v1.9.3