From 3fc51e7cbdabb7dcd1615c6efac52323f6ca8adb Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 03 七月 2024 18:28:34 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java | 190 +++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 175 insertions(+), 15 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 30012c2..8de8496 100644 --- a/smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java @@ -1,13 +1,26 @@ 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.smartor.domain.SvyTaskSingle; +import com.ruoyi.common.utils.DtoConversionUtils; +import com.smartor.domain.*; import com.smartor.mapper.SvyTaskSingleMapper; +import com.smartor.service.ISvyTaskService; import com.smartor.service.ISvyTaskSingleService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; 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涓氬姟灞傚鐞� @@ -15,11 +28,14 @@ * @author ruoyi * @date 2024-06-12 */ +@Slf4j @Service -public class SvyTaskSingleServiceImpl implements ISvyTaskSingleService -{ +public class SvyTaskSingleServiceImpl implements ISvyTaskSingleService { @Autowired private SvyTaskSingleMapper svyTaskSingleMapper; + + @Autowired + private ISvyTaskService svyTaskService; /** * 鏌ヨ鍗曚竴浠诲姟锛堥棶鍗凤級 @@ -28,8 +44,7 @@ * @return 鍗曚竴浠诲姟锛堥棶鍗凤級 */ @Override - public SvyTaskSingle selectSvyTaskSingleById(Long id) - { + public SvyTaskSingle selectSvyTaskSingleById(Long id) { return svyTaskSingleMapper.selectSvyTaskSingleById(id); } @@ -40,8 +55,7 @@ * @return 鍗曚竴浠诲姟锛堥棶鍗凤級 */ @Override - public List<SvyTaskSingle> selectSvyTaskSingleList(SvyTaskSingle svyTaskSingle) - { + public List<SvyTaskSingle> selectSvyTaskSingleList(SvyTaskSingle svyTaskSingle) { return svyTaskSingleMapper.selectSvyTaskSingleList(svyTaskSingle); } @@ -52,8 +66,7 @@ * @return 缁撴灉 */ @Override - public int insertSvyTaskSingle(SvyTaskSingle svyTaskSingle) - { + public int insertSvyTaskSingle(SvyTaskSingle svyTaskSingle) { svyTaskSingle.setCreateTime(DateUtils.getNowDate()); return svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle); } @@ -65,8 +78,7 @@ * @return 缁撴灉 */ @Override - public int updateSvyTaskSingle(SvyTaskSingle svyTaskSingle) - { + public int updateSvyTaskSingle(SvyTaskSingle svyTaskSingle) { svyTaskSingle.setUpdateTime(DateUtils.getNowDate()); return svyTaskSingleMapper.updateSvyTaskSingle(svyTaskSingle); } @@ -78,8 +90,7 @@ * @return 缁撴灉 */ @Override - public int deleteSvyTaskSingleByIds(Long[] ids) - { + public int deleteSvyTaskSingleByIds(Long[] ids) { return svyTaskSingleMapper.deleteSvyTaskSingleByIds(ids); } @@ -90,8 +101,157 @@ * @return 缁撴灉 */ @Override - public int deleteSvyTaskSingleById(Long id) - { + public int deleteSvyTaskSingleById(Long id) { return svyTaskSingleMapper.deleteSvyTaskSingleById(id); } + + @Override + public int insertOrUpdateSvyTask(SvyTaskVO svyTaskVO) { + if (ObjectUtils.isEmpty(svyTaskVO)) { + 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) { + //寰�浠诲姟琛ㄤ腑锛屾柊澧炰换鍔� + 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); + + //灏嗕换鍔′俊鎭斁鍒版湇鍔¤〃涓� + SvyTaskSingle svyTaskSingle = DtoConversionUtils.sourceToTarget(svyTaskVO, SvyTaskSingle.class); + svyTaskSingle.setTaskid(svyTask.getTaskid()); + //鏂板 + if (CollectionUtils.isNotEmpty(svyTaskVO.getPatTaskRelevances())) { + for (PatTaskRelevance patTaskRelevance : svyTaskVO.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.setSendstate(1L); + svyTaskSingle.setHospType(patTaskRelevance.getHospType()); + svyTaskSingle.setCreateTime(DateUtils.getNowDate()); + svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle); + integer = svyTaskSingle.getId().intValue(); + } + } + + } else if (svyTaskVO.getIsoperation() != null && svyTaskVO.getIsoperation() == 2) { + //浠诲姟淇敼 + if (ObjectUtils.isNotEmpty(svyTaskVO.getSendTimeSlot())) + svyTask.setSendTimeSlot(JSON.toJSONString(svyTaskVO.getSendTimeSlot())); + //淇敼鎿嶄綔锛岄渶瑕佸皢stopState鐘舵��+1 + SvyTask svyTask1 = svyTaskService.selectSvyTaskByTaskid(svyTaskVO.getTaskid()); + svyTask.setStopState(svyTask1.getStopState() + 1); + svyTask.setTemplateid(svyTaskVO.getLibtemplateid()); + svyTaskService.updateSvyTask(svyTask); + + if (CollectionUtils.isNotEmpty(svyTaskVO.getPatTaskRelevances())) { + for (PatTaskRelevance patTaskRelevance : svyTaskVO.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.setHospType(patTaskRelevance.getHospType()); + svyTaskSingle.setCreateTime(DateUtils.getNowDate()); + svyTaskSingle.setTextParam(new Gson().toJson(svyTaskVO.getTextParamMap())); + if (patTaskRelevance.getIsoperation() != null) { + optionHandle(svyTaskSingle, svyTaskVO.getTaskid(), patTaskRelevance.getIsoperation(), patTaskRelevance.getPatid()); + } else if (patTaskRelevance.getIsoperation() == null) { + optionHandle(svyTaskSingle, svyTaskVO.getTaskid(), svyTaskVO.getIsoperation(), patTaskRelevance.getPatid()); + } + integer = svyTaskSingle.getTaskid().intValue(); + } + } + } + return integer; + } + + @Override + public SvyTaskVO queryTaskByCondition(SvyTaskSingle svyTaskSingle) { + //瀹氫箟鎮h�呬笌鍗曚竴浠诲姟鍏宠仈琛ㄩ泦鍚� + List<PatTaskRelevance> patTaskRelevances = new ArrayList<>(); + List<SvyTaskSingle> list = selectSvyTaskSingleList(svyTaskSingle); + if (CollectionUtils.isEmpty(list) || list.size() == 0) { + return new SvyTaskVO(); + } + SvyTask svyTask = svyTaskService.selectSvyTaskByTaskid(svyTaskSingle.getTaskid()); + //灏嗘煡鍑烘潵鐨勬暟鎹�掑叆ivrTasksingleVO涓� + SvyTaskVO svyTaskVO = DtoConversionUtils.sourceToTarget(list.get(0), SvyTaskVO.class); + svyTaskVO.setShowDate(svyTask.getShowDate()); + svyTaskVO.setShowTimeMorn(svyTask.getShowTimeMorn()); + svyTaskVO.setShowTimeNoon(svyTask.getShowTimeNoon()); + svyTaskVO.setShowTimeNight(svyTask.getShowTimeNight()); + svyTaskVO.setPreachform(svyTask.getPreachform()); + String sendTimeSlot = svyTask.getSendTimeSlot(); + ObjectMapper objectMapper = new ObjectMapper(); + try { + //鑾峰彇鍒板彂閫佹椂闂寸殑闆嗗悎 + if (com.ruoyi.common.utils.StringUtils.isNotEmpty(sendTimeSlot)) { + List<TaskSendTimeVO> taskSendTimeVOList = objectMapper.readValue(sendTimeSlot, List.class); + svyTaskVO.setSendTimeSlot(taskSendTimeVOList); + svyTaskVO.setSendType(svyTask.getSendType()); + } + //鏂囨湰鍙橀噺鍙傛暟 + if (com.ruoyi.common.utils.StringUtils.isNotEmpty(svyTask.getTextParam())) { + Map<String, Map<String, String>> textParam = objectMapper.readValue(svyTask.getTextParam(), Map.class); + svyTaskVO.setTextParam(textParam); + } + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + + for (SvyTaskSingle svyTaskSingle1 : list) { + PatTaskRelevance patTaskRelevance = new PatTaskRelevance(); + if (!svyTaskSingle1.getHospType().equals("2")) { + log.info("闅忚鏌ヨ涓嶄负鍑洪櫌锛寋}", svyTaskSingle1.getHospType()); + //鑾峰彇鍒版偅鑰呬俊鎭紝骞舵斁鍏ュ埌闆嗗悎涓� + patTaskRelevance.setName(svyTaskSingle1.getSendname()); + patTaskRelevance.setAge(svyTaskSingle1.getAge()); + patTaskRelevance.setSfzh(svyTaskSingle1.getSfzh()); + patTaskRelevance.setPhone(svyTaskSingle1.getPhone()); + patTaskRelevance.setAddr(svyTaskSingle1.getAddr()); + patTaskRelevance.setDiagname(svyTaskSingle1.getDiagname()); + patTaskRelevance.setPatid(svyTaskSingle1.getPatid()); + patTaskRelevance.setSendState(svyTaskSingle1.getSendstate()); + patTaskRelevances.add(patTaskRelevance); + } + if (svyTaskSingle1.getHospType().equals("2")) { + log.info("闅忚鏌ヨ涓哄嚭闄紝{}", svyTaskSingle1.getHospType()); + patTaskRelevance.setName(svyTaskSingle1.getSendname()); + patTaskRelevance.setAge(svyTaskSingle1.getAge()); + patTaskRelevance.setSfzh(svyTaskSingle1.getSfzh()); + patTaskRelevance.setPhone(svyTaskSingle1.getPhone()); + patTaskRelevance.setAddr(svyTaskSingle1.getAddr()); + patTaskRelevance.setDeptName(svyTaskSingle1.getDeptname()); + patTaskRelevance.setBedNo(svyTaskSingle1.getBedno()); + patTaskRelevance.setDiagname(svyTaskSingle1.getDiagname()); + patTaskRelevance.setPatid(svyTaskSingle1.getPatid()); + patTaskRelevance.setSendState(svyTaskSingle1.getSendstate()); + patTaskRelevances.add(patTaskRelevance); + } + } + + svyTaskVO.setPatTaskRelevances(patTaskRelevances); + return svyTaskVO; + } + + private void optionHandle(SvyTaskSingle svyTaskSingle, Long taskId, Integer isoperation, Long patid) { + if (isoperation == 1) { + svyTaskSingle.setSendstate(1L); + svyTaskSingleMapper.insertSvyTaskSingle(svyTaskSingle); + } else if (isoperation == 2) svyTaskSingleMapper.updateSvyTaskSingle(svyTaskSingle); + else if (isoperation == 3) svyTaskSingleMapper.deleteSvyTaskcallByCondition(taskId, patid); + } } -- Gitblit v1.9.3