From 10aaa035f5be0312304d20f022bdb714a8f4900a Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 11 十二月 2024 22:16:23 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java | 264 +++++++++++++++++++++++++++------------------------- 1 files changed, 139 insertions(+), 125 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java index 7ec6671..338576d 100644 --- a/smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java @@ -1,15 +1,16 @@ package com.smartor.service.impl; import com.alibaba.fastjson2.JSON; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; import com.google.gson.Gson; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DtoConversionUtils; -import com.smartor.domain.PatTaskRelevance; -import com.smartor.domain.SvyTask; -import com.smartor.domain.SvyTaskSingle; -import com.smartor.domain.SvyTaskVO; +import com.smartor.domain.*; +import com.smartor.mapper.ServiceSubtaskMapper; import com.smartor.mapper.SvyTaskSingleMapper; +import com.smartor.service.IServiceTaskService; import com.smartor.service.ISvyTaskService; import com.smartor.service.ISvyTaskSingleService; import lombok.extern.slf4j.Slf4j; @@ -18,7 +19,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.Date; import java.util.List; +import java.util.Map; /** * 鍗曚竴浠诲姟锛堥棶鍗凤級Service涓氬姟灞傚鐞� @@ -29,154 +33,164 @@ @Slf4j @Service public class SvyTaskSingleServiceImpl implements ISvyTaskSingleService { - @Autowired - private SvyTaskSingleMapper svyTaskSingleMapper; + @Autowired - private ISvyTaskService svyTaskService; + private ServiceSubtaskMapper serviceSubtaskMapper; - /** - * 鏌ヨ鍗曚竴浠诲姟锛堥棶鍗凤級 - * - * @param id 鍗曚竴浠诲姟锛堥棶鍗凤級涓婚敭 - * @return 鍗曚竴浠诲姟锛堥棶鍗凤級 - */ - @Override - public SvyTaskSingle selectSvyTaskSingleById(Long id) { - return svyTaskSingleMapper.selectSvyTaskSingleById(id); - } + @Autowired + private IServiceTaskService iServiceTaskService; - /** - * 鏌ヨ鍗曚竴浠诲姟锛堥棶鍗凤級鍒楄〃 - * - * @param svyTaskSingle 鍗曚竴浠诲姟锛堥棶鍗凤級 - * @return 鍗曚竴浠诲姟锛堥棶鍗凤級 - */ - @Override - public List<SvyTaskSingle> selectSvyTaskSingleList(SvyTaskSingle svyTaskSingle) { - return svyTaskSingleMapper.selectSvyTaskSingleList(svyTaskSingle); - } - - /** - * 鏂板鍗曚竴浠诲姟锛堥棶鍗凤級 - * - * @param svyTaskSingle 鍗曚竴浠诲姟锛堥棶鍗凤級 - * @return 缁撴灉 - */ - @Override - public int insertSvyTaskSingle(SvyTaskSingle svyTaskSingle) { - svyTaskSingle.setCreateTime(DateUtils.getNowDate()); - return svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle); - } - - /** - * 淇敼鍗曚竴浠诲姟锛堥棶鍗凤級 - * - * @param svyTaskSingle 鍗曚竴浠诲姟锛堥棶鍗凤級 - * @return 缁撴灉 - */ - @Override - public int updateSvyTaskSingle(SvyTaskSingle svyTaskSingle) { - svyTaskSingle.setUpdateTime(DateUtils.getNowDate()); - return svyTaskSingleMapper.updateSvyTaskSingle(svyTaskSingle); - } - - /** - * 鎵归噺鍒犻櫎鍗曚竴浠诲姟锛堥棶鍗凤級 - * - * @param ids 闇�瑕佸垹闄ょ殑鍗曚竴浠诲姟锛堥棶鍗凤級涓婚敭 - * @return 缁撴灉 - */ - @Override - public int deleteSvyTaskSingleByIds(Long[] ids) { - return svyTaskSingleMapper.deleteSvyTaskSingleByIds(ids); - } - - /** - * 鍒犻櫎鍗曚竴浠诲姟锛堥棶鍗凤級淇℃伅 - * - * @param id 鍗曚竴浠诲姟锛堥棶鍗凤級涓婚敭 - * @return 缁撴灉 - */ - @Override - public int deleteSvyTaskSingleById(Long id) { - return svyTaskSingleMapper.deleteSvyTaskSingleById(id); - } @Override - public int insertOrUpdateSvyTask(SvyTaskVO svyTaskVO) { - if (ObjectUtils.isEmpty(svyTaskVO)) { + public int insertOrUpdateSvyTask(ServiceTaskVO serviceTaskVO) { + if (ObjectUtils.isEmpty(serviceTaskVO)) { log.info("闂嵎浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�"); throw new BaseException("闂嵎浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�"); } Integer integer = 1; - SvyTask svyTask = DtoConversionUtils.sourceToTarget(svyTaskVO, SvyTask.class); - svyTask.setTextParam(JSON.toJSONString(svyTaskVO.getTextParamMap())); - if (svyTaskVO.getIsoperation() != null && svyTaskVO.getIsoperation() == 1) { + ServiceTask serviceTask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceTask.class); + serviceTask.setTextParam(JSON.toJSONString(serviceTaskVO.getTextParam())); + if (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 1) { //寰�浠诲姟琛ㄤ腑锛屾柊澧炰换鍔� - if (ObjectUtils.isNotEmpty(svyTaskVO.getSendTimeSlot())) - svyTask.setSendTimeSlot(JSON.toJSONString(svyTaskVO.getSendTimeSlot())); - if (svyTask.getSendState() == null) svyTask.setSendState("1"); - svyTask.setTemplateid(svyTaskVO.getLibtemplateid()); - svyTaskService.insertSvyTask(svyTask); + if (ObjectUtils.isNotEmpty(serviceTaskVO.getSendTimeslot())) + serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot())); + if (serviceTask.getSendState() == null) serviceTask.setSendState(1L); + serviceTask.setTemplateid(Long.valueOf(serviceTaskVO.getLibtemplateid())); + iServiceTaskService.insertServiceTask(serviceTask); //灏嗕换鍔′俊鎭斁鍒版湇鍔¤〃涓� - SvyTaskSingle svyTaskSingle = DtoConversionUtils.sourceToTarget(svyTaskVO, SvyTaskSingle.class); - svyTaskSingle.setTaskid(svyTask.getTaskid()); + ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class); + serviceSubtask.setTaskid(serviceTask.getTaskid()); //鏂板 - if (CollectionUtils.isNotEmpty(svyTaskVO.getPatTaskRelevances())) { - for (PatTaskRelevance patTaskRelevance : svyTaskVO.getPatTaskRelevances()) { + if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) { + for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) { //灏嗕换鍔′俊鎭柊澧炲埌闅忚鏈嶅姟琛ㄤ腑 - svyTaskSingle.setSendname(patTaskRelevance.getName()); - svyTaskSingle.setAge(patTaskRelevance.getAge()); - svyTaskSingle.setSfzh(patTaskRelevance.getSfzh()); - svyTaskSingle.setPhone(patTaskRelevance.getPhone()); - svyTaskSingle.setAddr(patTaskRelevance.getAddr()); - svyTaskSingle.setPatid(patTaskRelevance.getPatid()); - svyTaskSingle.setCreateTime(DateUtils.getNowDate()); - svyTaskSingle.setCreateTime(DateUtils.getNowDate()); - svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle); - integer = svyTaskSingle.getId().intValue(); + serviceSubtask.setSendname(patTaskRelevance.getName()); + serviceSubtask.setAge(patTaskRelevance.getAge()); + serviceSubtask.setSfzh(patTaskRelevance.getSfzh()); + serviceSubtask.setPhone(patTaskRelevance.getPhone()); + serviceSubtask.setAddr(patTaskRelevance.getAddr()); + serviceSubtask.setPatid(patTaskRelevance.getPatid()); + serviceSubtask.setSendstate(1L); + serviceSubtask.setHospType(patTaskRelevance.getHospType()); + serviceSubtask.setCreateTime(DateUtils.getNowDate()); + serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); + integer = serviceSubtask.getId().intValue(); } } - } else if (svyTaskVO.getIsoperation() != null && svyTaskVO.getIsoperation() == 2) { + } else if (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 2) { //浠诲姟淇敼 - if (ObjectUtils.isNotEmpty(svyTaskVO.getSendTimeSlot())) - svyTask.setSendTimeSlot(JSON.toJSONString(svyTaskVO.getSendTimeSlot())); + if (ObjectUtils.isNotEmpty(serviceTaskVO.getSendTimeslot())) + serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot())); //淇敼鎿嶄綔锛岄渶瑕佸皢stopState鐘舵��+1 - SvyTask svyTask1 = svyTaskService.selectSvyTaskByTaskid(svyTaskVO.getTaskid()); - svyTask.setStopState(svyTask1.getStopState() + 1); - svyTask.setTemplateid(svyTaskVO.getLibtemplateid()); - svyTaskService.updateSvyTask(svyTask); + ServiceTask serviceTask2 = iServiceTaskService.selectServiceTaskByTaskid(serviceTaskVO.getTaskid()); + serviceTask2.setStopState(serviceTask.getStopState() + 1); + serviceTask2.setTemplateid(Long.valueOf(serviceTaskVO.getLibtemplateid())); + iServiceTaskService.updateServiceTask(serviceTask2); - if (CollectionUtils.isNotEmpty(svyTaskVO.getPatTaskRelevances())) { - for (PatTaskRelevance patTaskRelevance : svyTaskVO.getPatTaskRelevances()) { + if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) { + for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) { - SvyTaskSingle svyTaskSingle = DtoConversionUtils.sourceToTarget(svyTaskVO, SvyTaskSingle.class); - svyTaskSingle.setSendname(patTaskRelevance.getName()); - svyTaskSingle.setAge(patTaskRelevance.getAge()); - svyTaskSingle.setSfzh(patTaskRelevance.getSfzh()); - svyTaskSingle.setPhone(patTaskRelevance.getPhone()); - svyTaskSingle.setAddr(patTaskRelevance.getAddr()); - svyTaskSingle.setPatid(patTaskRelevance.getPatid()); - svyTaskSingle.setCreateTime(DateUtils.getNowDate()); - svyTaskSingle.setTextParam(new Gson().toJson(svyTaskVO.getTextParamMap())); + ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class); + serviceSubtask.setSendname(patTaskRelevance.getName()); + serviceSubtask.setAge(patTaskRelevance.getAge()); + serviceSubtask.setSfzh(patTaskRelevance.getSfzh()); + serviceSubtask.setPhone(patTaskRelevance.getPhone()); + serviceSubtask.setAddr(patTaskRelevance.getAddr()); + serviceSubtask.setPatid(patTaskRelevance.getPatid()); + serviceSubtask.setHospType(patTaskRelevance.getHospType()); + serviceSubtask.setCreateTime(DateUtils.getNowDate()); + serviceSubtask.setTextParam(new Gson().toJson(serviceTaskVO.getTextParam())); if (patTaskRelevance.getIsoperation() != null) { - if (patTaskRelevance.getIsoperation() == 2) - svyTaskSingleMapper.updateSvyTaskSingle(svyTaskSingle); - if (patTaskRelevance.getIsoperation() == 1) - svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle); - if (patTaskRelevance.getIsoperation() == 3) - // 閫氳繃taskid鍜宲atid鍘诲垹闄よ鏉℃暟鎹� - svyTaskSingleMapper.deleteSvyTaskcallByCondition(svyTaskVO.getTaskid(), patTaskRelevance.getPatid()); + optionHandle(serviceSubtask, serviceTaskVO.getTaskid(), patTaskRelevance.getIsoperation(), patTaskRelevance.getPatid()); + } else if (patTaskRelevance.getIsoperation() == null) { + optionHandle(serviceSubtask, serviceTaskVO.getTaskid(), serviceTaskVO.getIsoperation(), patTaskRelevance.getPatid()); } - integer = svyTaskSingle.getTaskid().intValue(); + integer = serviceSubtask.getTaskid().intValue(); } } } - - return integer; } + + @Override + public ServiceTaskVO queryTaskByCondition(ServiceSubtask serviceSubtask) { + //瀹氫箟鎮h�呬笌鍗曚竴浠诲姟鍏宠仈琛ㄩ泦鍚� + List<PatTaskRelevance> patTaskRelevances = new ArrayList<>(); + ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO(); + serviceSubtaskVO.setTaskid(serviceSubtask.getTaskid()); + List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO); + if (CollectionUtils.isEmpty(selectServiceSubtaskList) || selectServiceSubtaskList.size() == 0) { + return new ServiceTaskVO(); + } + ServiceTask serviceTask = iServiceTaskService.selectServiceTaskByTaskid(serviceSubtask.getTaskid()); + //灏嗘煡鍑烘潵鐨勬暟鎹�掑叆ivrTasksingleVO涓� + ServiceTaskVO serviceTaskVO = DtoConversionUtils.sourceToTarget(selectServiceSubtaskList.get(0), ServiceTaskVO.class); + serviceTaskVO.setShowDate(serviceTask.getShowDate()); + serviceTaskVO.setShowTimeMorn(serviceTask.getShowTimeMorn()); + serviceTaskVO.setShowTimeNoon(serviceTask.getShowTimeNoon()); + serviceTaskVO.setShowTimeNight(serviceTask.getShowTimeNight()); + serviceTaskVO.setPreachform(serviceTask.getPreachform()); + String sendTimeSlot = serviceTask.getSendTimeSlot(); + ObjectMapper objectMapper = new ObjectMapper(); + try { + //鑾峰彇鍒板彂閫佹椂闂寸殑闆嗗悎 + if (com.ruoyi.common.utils.StringUtils.isNotEmpty(sendTimeSlot)) { + List<TaskSendTimeVO> taskSendTimeVOList = objectMapper.readValue(sendTimeSlot, List.class); + serviceTaskVO.setSendTimeslot(taskSendTimeVOList); + serviceTaskVO.setSendType(serviceTask.getSendType()); + } + //鏂囨湰鍙橀噺鍙傛暟 + if (com.ruoyi.common.utils.StringUtils.isNotEmpty(serviceTask.getTextParam())) { + Map<String, Map<String, String>> textParam = objectMapper.readValue(serviceTask.getTextParam(), Map.class); + serviceTaskVO.setTextParam(textParam); + } + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + + for (ServiceSubtask serviceSubtask1 : selectServiceSubtaskList) { + PatTaskRelevance patTaskRelevance = new PatTaskRelevance(); + if (!serviceSubtask1.getHospType().equals("2")) { + log.info("闅忚鏌ヨ涓嶄负鍑洪櫌锛寋}", serviceSubtask1.getHospType()); + //鑾峰彇鍒版偅鑰呬俊鎭紝骞舵斁鍏ュ埌闆嗗悎涓� + patTaskRelevance.setName(serviceSubtask1.getSendname()); + patTaskRelevance.setAge(serviceSubtask1.getAge()); + patTaskRelevance.setSfzh(serviceSubtask1.getSfzh()); + patTaskRelevance.setPhone(serviceSubtask1.getPhone()); + patTaskRelevance.setAddr(serviceSubtask1.getAddr()); + patTaskRelevance.setDiagname(serviceSubtask1.getDiagname()); + patTaskRelevance.setPatid(serviceSubtask1.getPatid()); + patTaskRelevance.setSendStatus(serviceSubtask1.getSendstate()); + patTaskRelevances.add(patTaskRelevance); + } + if (serviceSubtask1.getHospType().equals("2")) { + log.info("闅忚鏌ヨ涓哄嚭闄紝{}", serviceSubtask1.getHospType()); + patTaskRelevance.setName(serviceSubtask1.getSendname()); + patTaskRelevance.setAge(serviceSubtask1.getAge()); + patTaskRelevance.setSfzh(serviceSubtask1.getSfzh()); + patTaskRelevance.setPhone(serviceSubtask1.getPhone()); + patTaskRelevance.setAddr(serviceSubtask1.getAddr()); + patTaskRelevance.setDeptName(serviceSubtask1.getDeptname()); + patTaskRelevance.setBedNo(serviceSubtask1.getBedNo()); + patTaskRelevance.setDiagname(serviceSubtask1.getDiagname()); + patTaskRelevance.setPatid(serviceSubtask1.getPatid()); + patTaskRelevance.setSendStatus(serviceSubtask1.getSendstate()); + patTaskRelevances.add(patTaskRelevance); + } + } + + serviceTaskVO.setPatTaskRelevances(patTaskRelevances); + return serviceTaskVO; + } + + private void optionHandle(ServiceSubtask serviceSubtask, Long taskId, Integer isoperation, Long patid) { + if (isoperation == 1) { + serviceSubtask.setSendstate(1L); + serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); + } else if (isoperation == 2) serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); + else if (isoperation == 3) serviceSubtaskMapper.deleteServiceSubtaskByCondition(taskId, patid); + } } -- Gitblit v1.9.3