From 7ae67ba965ea680407ae21fedbd035d43ce8c313 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 30 一月 2024 14:45:07 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java |  204 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 132 insertions(+), 72 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..e0e8366 100644
--- a/smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/HeTaskServiceImpl.java
@@ -1,6 +1,7 @@
 package com.smartor.service.impl;
 
 import com.ruoyi.common.enums.SendTypeEnum;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.smartor.common.SendService;
@@ -9,6 +10,7 @@
 import com.smartor.mapper.PatArchiveMapper;
 import com.smartor.mapper.PatHetaskRelevanceMapper;
 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;
@@ -26,6 +28,7 @@
  * @author ruoyi
  * @date 2024-01-07
  */
+@Slf4j
 @Service
 public class HeTaskServiceImpl implements IHeTaskService {
     @Autowired
@@ -103,91 +106,149 @@
      * @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 (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.getPatHetaskRelevances().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.getPatHetaskRelevances())) {
+//                for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
+//                    patHetaskRelevance.setHeTaskId(heTask.getId());
+//                    i = patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
+//                }
+//
+//            }
+//
+//        } 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);
+//                        }
+//
+//                    }
+//                }
+//            }, heTaskVO.getSendTime());
+//
+//        }
+//        return 1;
+//    }
+
+    /**
+     * 鏂板瀹f暀浠诲姟
+     *
+     * @param heTaskVO 瀹f暀浠诲姟
+     * @return 缁撴灉
+     */
     @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());
             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();
+            //鏂板
+            for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
+                patHetaskRelevance.setHeTaskId(heTask.getId());
+                patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
             }
 
-        } 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 (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
+                if (patHetaskRelevance.getIsoperation() != null && patHetaskRelevance.getIsoperation() == 1) {
+                    patHetaskRelevanceMapper.insertPatHetaskRelevance(patHetaskRelevance);
+                } else if (patHetaskRelevance.getIsoperation() != null && patHetaskRelevance.getIsoperation() == 2) {
+                    patHetaskRelevance.setHeTaskId(heTask.getId());
+                    patHetaskRelevanceMapper.updatePatHetaskRelevance(patHetaskRelevance);
+                } else if (patHetaskRelevance.getIsoperation() != null && patHetaskRelevance.getIsoperation() == 3) {
+                    patHetaskRelevanceMapper.deletePatHetaskRelevanceById(patHetaskRelevance.getId());
                 }
-            }, heTaskVO.getSendTime());
+            }
+            integer = heTask.getId().intValue();
+        } else if (heTaskVO.getIsoperation() != null && heTaskVO.getIsoperation() == 3) {
+            heTaskMapper.deleteHeTaskById(heTaskVO.getId());
 
+            //鍒犻櫎鎮h�呬俊鎭�
+            for (PatHetaskRelevance patHetaskRelevance : heTaskVO.getPatHetaskRelevances()) {
+                if (patHetaskRelevance.getIsoperation() != null && patHetaskRelevance.getIsoperation() == 3) {
+                    patHetaskRelevanceMapper.deletePatHetaskRelevanceById(patHetaskRelevance.getId());
+                }
+            }
+            integer = heTaskVO.getId().intValue();
         }
-        return 1;
+        return integer;
     }
+
 
     /**
      * 淇敼瀹f暀浠诲姟
@@ -259,7 +320,6 @@
         }
         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);

--
Gitblit v1.9.3