From d3bf339bd64d7b7efddc0afdd4beb1866b8b5a04 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期六, 21 九月 2024 00:47:55 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/SvyTaskSingleServiceImpl.java | 239 ++++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 169 insertions(+), 70 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..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,13 +1,28 @@
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.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;
+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,83 +30,167 @@
* @author ruoyi
* @date 2024-06-12
*/
+@Slf4j
@Service
-public class SvyTaskSingleServiceImpl implements ISvyTaskSingleService
-{
+public class SvyTaskSingleServiceImpl implements ISvyTaskSingleService {
+
+
@Autowired
- private SvyTaskSingleMapper svyTaskSingleMapper;
+ private ServiceSubtaskMapper serviceSubtaskMapper;
- /**
- * 鏌ヨ鍗曚竴浠诲姟锛堥棶鍗凤級
- *
- * @param id 鍗曚竴浠诲姟锛堥棶鍗凤級涓婚敭
- * @return 鍗曚竴浠诲姟锛堥棶鍗凤級
- */
+ @Autowired
+ private IServiceTaskService iServiceTaskService;
+
+
@Override
- public SvyTaskSingle selectSvyTaskSingleById(Long id)
- {
- return svyTaskSingleMapper.selectSvyTaskSingleById(id);
+ public int insertOrUpdateSvyTask(ServiceTaskVO serviceTaskVO) {
+ if (ObjectUtils.isEmpty(serviceTaskVO)) {
+ log.info("闂嵎浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+ throw new BaseException("闂嵎浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+ }
+ Integer integer = 1;
+ ServiceTask serviceTask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceTask.class);
+ serviceTask.setTextParam(JSON.toJSONString(serviceTaskVO.getTextParam()));
+ if (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 1) {
+ //寰�浠诲姟琛ㄤ腑锛屾柊澧炰换鍔�
+ 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);
+
+ //灏嗕换鍔′俊鎭斁鍒版湇鍔¤〃涓�
+ ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class);
+ serviceSubtask.setTaskid(serviceTask.getTaskid());
+ //鏂板
+ if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) {
+ for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) {
+ //灏嗕换鍔′俊鎭柊澧炲埌闅忚鏈嶅姟琛ㄤ腑
+ 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 (serviceTaskVO.getIsoperation() != null && serviceTaskVO.getIsoperation() == 2) {
+ //浠诲姟淇敼
+ if (ObjectUtils.isNotEmpty(serviceTaskVO.getSendTimeslot()))
+ serviceTask.setSendTimeSlot(JSON.toJSONString(serviceTaskVO.getSendTimeslot()));
+ //淇敼鎿嶄綔锛岄渶瑕佸皢stopState鐘舵��+1
+ ServiceTask serviceTask2 = iServiceTaskService.selectServiceTaskByTaskid(serviceTaskVO.getTaskid());
+ serviceTask2.setStopState(serviceTask.getStopState() + 1);
+ serviceTask2.setTemplateid(Long.valueOf(serviceTaskVO.getLibtemplateid()));
+ iServiceTaskService.updateServiceTask(serviceTask2);
+
+ if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) {
+ for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) {
+
+ 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) {
+ optionHandle(serviceSubtask, serviceTaskVO.getTaskid(), patTaskRelevance.getIsoperation(), patTaskRelevance.getPatid());
+ } else if (patTaskRelevance.getIsoperation() == null) {
+ optionHandle(serviceSubtask, serviceTaskVO.getTaskid(), serviceTaskVO.getIsoperation(), patTaskRelevance.getPatid());
+ }
+ integer = serviceSubtask.getTaskid().intValue();
+ }
+ }
+ }
+ return integer;
}
- /**
- * 鏌ヨ鍗曚竴浠诲姟锛堥棶鍗凤級鍒楄〃
- *
- * @param svyTaskSingle 鍗曚竴浠诲姟锛堥棶鍗凤級
- * @return 鍗曚竴浠诲姟锛堥棶鍗凤級
- */
@Override
- public List<SvyTaskSingle> selectSvyTaskSingleList(SvyTaskSingle svyTaskSingle)
- {
- return svyTaskSingleMapper.selectSvyTaskSingleList(svyTaskSingle);
+ 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;
}
- /**
- * 鏂板鍗曚竴浠诲姟锛堥棶鍗凤級
- *
- * @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);
+ 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