From 63e17909e1eee7ff54c38827a4096cbad82e5dad Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 16 四月 2024 11:56:55 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java |  247 +++++++++++++++++++++++++++++++------------------
 1 files changed, 155 insertions(+), 92 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java
index e0db640..bf9143d 100644
--- a/smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java
@@ -1,14 +1,16 @@
 package com.smartor.service.impl;
 
-import com.ruoyi.common.enums.SendTypeEnum;
+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.common.SendService;
 import com.smartor.domain.*;
 import com.smartor.mapper.HeTaskMapper;
 import com.smartor.mapper.PatArchiveMapper;
-import com.smartor.mapper.PatHetaskRelevanceMapper;
+import com.smartor.mapper.PatTaskRelevanceMapper;
 import com.smartor.service.IHeTaskService;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,8 +19,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Timer;
-import java.util.TimerTask;
 
 /**
  * 瀹f暀浠诲姟Service涓氬姟灞傚鐞�
@@ -26,6 +26,7 @@
  * @author ruoyi
  * @date 2024-01-07
  */
+@Slf4j
 @Service
 public class HeTaskServiceImpl implements IHeTaskService {
     @Autowired
@@ -41,7 +42,7 @@
     private HeLibraryServiceImpl heLibraryService;
 
     @Autowired
-    private PatHetaskRelevanceMapper patHetaskRelevanceMapper;
+    private PatTaskRelevanceMapper PatTaskRelevanceMapper;
 
     @Autowired
     private SendService sendService;
@@ -82,20 +83,112 @@
     /**
      * 鏌ヨ瀹f暀浠诲姟鍒楄〃
      *
-     * @param patHetaskRelevanceVO 瀹f暀浠诲姟
+     * @param patTaskRelevanceVO 瀹f暀浠诲姟
      * @return 瀹f暀浠诲姟
      */
     @Override
-    public List<PatHetaskRelevanceVO> selectHeTaskList(PatHetaskRelevanceVO patHetaskRelevanceVO) {
-        PatHetaskRelevance patHetaskRelevance = new PatHetaskRelevance();
-        List<PatHetaskRelevance> patHetaskRelevances = patHetaskRelevanceMapper.selectPatHetaskRelevanceList(patHetaskRelevance);
-        List<PatHetaskRelevanceVO> patHetaskRelevanceVOS = DtoConversionUtils.sourceToTarget(patHetaskRelevances, PatHetaskRelevanceVO.class);
-        for (PatHetaskRelevanceVO patHetaskRelevanceVO1 : patHetaskRelevanceVOS) {
-            HeTask heTask1 = heTaskMapper.selectHeTaskById(patHetaskRelevanceVO1.getHeTaskId());
-            patHetaskRelevanceVO1.setHeTask(heTask1);
+    public List<PatTaskRelevanceVO> selectHeTaskList(PatTaskRelevanceVO patTaskRelevanceVO) {
+        PatTaskRelevance patTaskRelevance = new PatTaskRelevance();
+        List<PatTaskRelevance> patTaskRelevances = PatTaskRelevanceMapper.selectPatTaskRelevanceList(patTaskRelevance);
+        List<PatTaskRelevanceVO> PatTaskRelevanceVOS = DtoConversionUtils.sourceToTarget(patTaskRelevances, PatTaskRelevanceVO.class);
+        for (PatTaskRelevanceVO patTaskRelevanceVO1 : PatTaskRelevanceVOS) {
+            HeTask heTask1 = heTaskMapper.selectHeTaskById(patTaskRelevanceVO1.getTaskId());
+            patTaskRelevanceVO1.setHeTask(heTask1);
         }
-        return patHetaskRelevanceVOS;
+        return PatTaskRelevanceVOS;
     }
+
+    /**
+     * 鏂板瀹f暀浠诲姟
+     *
+     * @param heTaskVO 瀹f暀浠诲姟
+     * @return 缁撴灉
+     */
+//    @Transactional(rollbackFor = Exception.class)
+//    @Override
+//    public int insertHeTask(HeTaskVO heTaskVO) {
+//
+//        Integer integer = 0;
+//        //鍒ゆ柇鍙戦�佺姸鎬�  0 鏆傚仠鍙戦��  1 瀹氭椂鍙戦��  2 绔嬪嵆鍙戦��
+//        if (heTaskVO.getIsSend() == 2) {
+//            //鍙戦�佹柟寮�
+//            String sendtype = SendTypeEnum.getDescByCode(heTaskVO.getPreachform().intValue());
+//            for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
+//                //寮�濮嬪彂閫�
+//                SendMagParam sendMagParam = new SendMagParam();
+//                sendMagParam.setType(sendtype);
+//                sendMagParam.setPhone(PatTaskRelevance.getPhone());
+//                //杩欓噷鐨勬ā鏉縄D涓嶇‘瀹氾紝鍏堣繖鏍峰啓
+//                sendMagParam.setTmpCode("SMS_461860582");
+//                sendMagParam.setContent("Test鍙戦�佹暟鎹�");
+//                Boolean success = sendService.sendMsg(sendMagParam);
+//                if (success) {
+//                    integer = integer + 1;
+//                }
+//
+//                //蹇呴』鍏ㄩ儴鎴愬姛锛屾墠鑳戒慨鏀瑰彂閫佺姸鎬�
+//                if (heTaskVO.getPatTaskRelevances().size() == integer) {
+//                    //濡傛灉鍙戦�佹垚鍔�
+//                    heTaskVO.setSendState(1L);
+//                }
+//            }
+//            //灏嗕换鍔′俊鎭柊澧炲埌瀹f暀浠诲姟琛ㄤ腑
+//            HeTask heTask = DtoConversionUtils.sourceToTarget(heTaskVO, HeTask.class);
+//            heTask.setCreateTime(DateUtils.getNowDate());
+//            heTaskMapper.insertHeTask(heTask);
+//
+//            //灏嗕换鍔′笌鎮h�呭叧鑱�
+//            Integer i = null;
+//            if (ObjectUtils.isNotEmpty(heTaskVO.getPatTaskRelevances())) {
+//                for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
+//                    PatTaskRelevance.setHeTaskId(heTask.getId());
+//                    i = PatTaskRelevanceMapper.insertPatTaskRelevance(PatTaskRelevance);
+//                }
+//
+//            }
+//
+//        } else if (heTaskVO.getIsSend() == 1) {
+//            //瀹氭椂鍙戦��(寮傛)
+//            Timer timer = new Timer();
+//            timer.schedule(new TimerTask() {
+//                @Override
+//                public void run() {
+//                    Integer integer = 0;
+//                    for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
+//                        String sendtype = SendTypeEnum.getDescByCode(heTaskVO.getPreachform().intValue());
+//                        SendMagParam sendMagParam = new SendMagParam();
+//                        sendMagParam.setType(sendtype);
+//                        sendMagParam.setPhone(PatTaskRelevance.getPhone());
+//                        //杩欓噷鐨勬ā鏉縄D涓嶇‘瀹氾紝鍏堣繖鏍峰啓
+//                        sendMagParam.setTmpCode("SMS_461860582");
+//                        sendMagParam.setContent("Test鍙戦�佹暟鎹�");
+//                        Boolean success = sendService.sendMsg(sendMagParam);
+//                        if (success) {
+//                            integer = integer + 1;
+//                        }
+//                    }
+//                    //蹇呴』鍏ㄩ儴鎴愬姛锛屾墠鑳戒慨鏀瑰彂閫佺姸鎬�
+//                    if (heTaskVO.getPatTaskRelevances().size() == integer) {
+//                        //濡傛灉鍙戦�佹垚鍔�
+//                        heTaskVO.setSendState(1L);
+//                    }
+//                    HeTask heTask = DtoConversionUtils.sourceToTarget(heTaskVO, HeTask.class);
+//                    heTask.setCreateTime(DateUtils.getNowDate());
+//                    heTaskMapper.insertHeTask(heTask);
+//
+//                    if (ObjectUtils.isNotEmpty(heTaskVO.getPatTaskRelevances())) {
+//                        for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
+//                            PatTaskRelevance.setHeTaskId(heTask.getId());
+//                            PatTaskRelevanceMapper.insertPatTaskRelevance(PatTaskRelevance);
+//                        }
+//
+//                    }
+//                }
+//            }, heTaskVO.getSendTime());
+//
+//        }
+//        return 1;
+//    }
 
     /**
      * 鏂板瀹f暀浠诲姟
@@ -105,89 +198,60 @@
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public int insertHeTask(HeTaskVO heTaskVO) {
-
+    public int insertOrUpdateHeTask(HeTaskVO heTaskVO) {
+        if (ObjectUtils.isEmpty(heTaskVO)) {
+            log.info("瀹f暀浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+            throw new BaseException("瀹f暀浠诲姟鍏ュ弬涓虹┖锛岃妫�鏌ュ叆鍙�");
+        }
         Integer integer = 0;
-        //鍒ゆ柇鍙戦�佺姸鎬�  0 鏆傚仠鍙戦��  1 瀹氭椂鍙戦��  2 绔嬪嵆鍙戦��
-        if (heTaskVO.getIsSend() == 2) {
-            //鍙戦�佹柟寮�
-            String sendtype = SendTypeEnum.getDescByCode(heTaskVO.getPreachform().intValue());
-            for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
-                //寮�濮嬪彂閫�
-                SendMagParam sendMagParam = new SendMagParam();
-                sendMagParam.setType(sendtype);
-                sendMagParam.setPhone(patHetaskRelevance.getPhone());
-                //杩欓噷鐨勬ā鏉縄D涓嶇‘瀹氾紝鍏堣繖鏍峰啓
-                sendMagParam.setTmpCode("SMS_461860582");
-                sendMagParam.setContent("Test鍙戦�佹暟鎹�");
-                Boolean success = sendService.sendMsg(sendMagParam);
-                if (success) {
-                    integer = integer + 1;
-                }
+        if (heTaskVO.getIsoperation() != null && heTaskVO.getIsoperation() == 1) {
 
-                //蹇呴』鍏ㄩ儴鎴愬姛锛屾墠鑳戒慨鏀瑰彂閫佺姸鎬�
-                if (heTaskVO.getPatHetaskRelevances().size() == integer) {
-                    //濡傛灉鍙戦�佹垚鍔�
-                    heTaskVO.setSendState(1L);
-                }
-            }
             //灏嗕换鍔′俊鎭柊澧炲埌瀹f暀浠诲姟琛ㄤ腑
             HeTask heTask = DtoConversionUtils.sourceToTarget(heTaskVO, HeTask.class);
+
             heTask.setCreateTime(DateUtils.getNowDate());
+            heTask.setPreachform(new Gson().toJson(heTaskVO.getPreachform()));
+            heTask.setTextParam(new Gson().toJson(heTaskVO.getTextParam()));
             heTaskMapper.insertHeTask(heTask);
-
-            //灏嗕换鍔′笌鎮h�呭叧鑱�
-            Integer i = null;
-            if (ObjectUtils.isNotEmpty(heTaskVO.getPatHetaskRelevances())) {
-                for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
-                    patHetaskRelevance.setHeTaskId(heTask.getId());
-                    i = patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
+            integer = heTask.getId().intValue();
+            //鏂板
+            if (CollectionUtils.isNotEmpty(heTaskVO.getPatTaskRelevances())) {
+                for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
+                    PatTaskRelevance.setTaskId(heTask.getId());
+                    PatTaskRelevanceMapper.insertPatTaskRelevance(PatTaskRelevance);
                 }
-
             }
 
-        } else if (heTaskVO.getIsSend() == 1) {
-            //瀹氭椂鍙戦��(寮傛)
-            Timer timer = new Timer();
-            timer.schedule(new TimerTask() {
-                @Override
-                public void run() {
-                    Integer integer = 0;
-                    for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
-                        String sendtype = SendTypeEnum.getDescByCode(heTaskVO.getPreachform().intValue());
-                        SendMagParam sendMagParam = new SendMagParam();
-                        sendMagParam.setType(sendtype);
-                        sendMagParam.setPhone(patHetaskRelevance.getPhone());
-                        //杩欓噷鐨勬ā鏉縄D涓嶇‘瀹氾紝鍏堣繖鏍峰啓
-                        sendMagParam.setTmpCode("SMS_461860582");
-                        sendMagParam.setContent("Test鍙戦�佹暟鎹�");
-                        Boolean success = sendService.sendMsg(sendMagParam);
-                        if (success) {
-                            integer = integer + 1;
-                        }
-                    }
-                    //蹇呴』鍏ㄩ儴鎴愬姛锛屾墠鑳戒慨鏀瑰彂閫佺姸鎬�
-                    if (heTaskVO.getPatHetaskRelevances().size() == integer) {
-                        //濡傛灉鍙戦�佹垚鍔�
-                        heTaskVO.setSendState(1L);
-                    }
-                    HeTask heTask = DtoConversionUtils.sourceToTarget(heTaskVO, HeTask.class);
-                    heTask.setCreateTime(DateUtils.getNowDate());
-                    heTaskMapper.insertHeTask(heTask);
-
-                    if (ObjectUtils.isNotEmpty(heTaskVO.getPatHetaskRelevances())) {
-                        for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
-                            patHetaskRelevance.setHeTaskId(heTask.getId());
-                            patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
-                        }
-
-                    }
+        } else if (heTaskVO.getIsoperation() != null && heTaskVO.getIsoperation() == 2) {
+            HeTask heTask = DtoConversionUtils.sourceToTarget(heTaskVO, HeTask.class);
+            heTask.setUpdateTime(DateUtils.getNowDate());
+            heTaskMapper.updateHeTask(heTask);
+            //鏂板銆佸垹闄ゃ�佷慨鏀规偅鑰呬俊鎭�
+            for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
+                if (PatTaskRelevance.getIsoperation() != null && PatTaskRelevance.getIsoperation() == 1) {
+                    PatTaskRelevanceMapper.insertPatTaskRelevance(PatTaskRelevance);
+                } else if (PatTaskRelevance.getIsoperation() != null && PatTaskRelevance.getIsoperation() == 2) {
+                    PatTaskRelevance.setTaskId(heTask.getId());
+                    PatTaskRelevanceMapper.updatePatTaskRelevance(PatTaskRelevance);
+                } else if (PatTaskRelevance.getIsoperation() != null && PatTaskRelevance.getIsoperation() == 3) {
+                    PatTaskRelevanceMapper.deletePatTaskRelevanceById(PatTaskRelevance.getId());
                 }
-            }, heTaskVO.getSendTime());
+            }
+            integer = heTask.getId().intValue();
+        } else if (heTaskVO.getIsoperation() != null && heTaskVO.getIsoperation() == 3) {
+            heTaskMapper.deleteHeTaskById(heTaskVO.getId());
 
+            //鍒犻櫎鎮h�呬俊鎭�
+            for (PatTaskRelevance PatTaskRelevance : heTaskVO.getPatTaskRelevances()) {
+                if (PatTaskRelevance.getIsoperation() != null && PatTaskRelevance.getIsoperation() == 3) {
+                    PatTaskRelevanceMapper.deletePatTaskRelevanceById(PatTaskRelevance.getId());
+                }
+            }
+            integer = heTaskVO.getId().intValue();
         }
-        return 1;
+        return integer;
     }
+
 
     /**
      * 淇敼瀹f暀浠诲姟
@@ -234,8 +298,8 @@
      * @return
      */
     @Override
-    public List<PatHetaskRelevance> getPatientInfo(PatArchiveReq patArchiveReq) {
-        List<PatHetaskRelevance> patHetaskRelevances = new ArrayList<>();
+    public List<PatTaskRelevance> getPatientInfo(PatArchiveReq patArchiveReq) {
+        List<PatTaskRelevance> PatTaskRelevances = new ArrayList<>();
 
         List<PatArchive> patArchiveList = new ArrayList<>();
         if (patArchiveReq.getAllhosp() != null && patArchiveReq.getAllhosp() == 1) {
@@ -258,14 +322,13 @@
             }
         }
         for (PatArchive patArchive : patArchiveList) {
-            PatHetaskRelevance patHetaskRelevance = DtoConversionUtils.sourceToTarget(patArchive, PatHetaskRelevance.class);
-            patHetaskRelevance.setDept(patArchive.getArchiveby());
-            patHetaskRelevance.setCreateTime(patArchive.getCreateTime());
-            patHetaskRelevance.setCreateBy(patArchive.getCreateBy());
-            patHetaskRelevances.add(patHetaskRelevance);
+            PatTaskRelevance PatTaskRelevance = DtoConversionUtils.sourceToTarget(patArchive, PatTaskRelevance.class);
+            PatTaskRelevance.setCreateTime(patArchive.getCreateTime());
+            PatTaskRelevance.setCreateBy(patArchive.getCreateBy());
+            PatTaskRelevances.add(PatTaskRelevance);
         }
 
-        return patHetaskRelevances;
+        return PatTaskRelevances;
     }
 
 }

--
Gitblit v1.9.3