From 723d38375c45d24737bfef6f33a9686254abf99b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 17 十月 2024 13:42:27 +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