From c62e26954e41360fc6a2efc874815aa84f8b0073 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 21 五月 2025 14:45:10 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   69 ++++++++++++++++++++++++++++++++--
 1 files changed, 64 insertions(+), 5 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 888f5b5..307c5f1 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -8,7 +8,6 @@
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.*;
 import com.smartor.common.FtpService;
-import com.smartor.common.SendService;
 import com.smartor.config.PhoneUtils;
 import com.smartor.domain.*;
 import com.smartor.mapper.*;
@@ -24,7 +23,6 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.time.Duration;
@@ -92,6 +90,12 @@
     @Autowired
     private FtpService ftpService;
 
+    @Autowired
+    private PatMedInhospMapper patMedInhospMapper;
+
+    @Autowired
+    private PatArchiveMapper patArchiveMapper;
+
     @Value("${pri_key}")
     private String pri_key;
 
@@ -103,9 +107,6 @@
 
     @Autowired
     private RedisTemplate redisTemplate;
-
-    @Autowired
-    private SendService sendService;
 
     @Value("${hangup}")
     private String hangup;
@@ -153,6 +154,10 @@
     @Override
     public List<ServiceSubtask> selectServiceSubtaskList(ServiceSubtaskVO serviceSubtaskVO) {
         return serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+    }
+
+    public List<ServiceSubtask> selectServiceSubtaskListAgain(ServiceSubtaskVO serviceSubtaskVO) {
+        return serviceSubtaskMapper.selectServiceSubtaskListAgain(serviceSubtaskVO);
     }
 
     @Override
@@ -283,11 +288,13 @@
         Integer fssb = 0;
         Integer yfs = 0;
         Integer blq = 0;
+        Integer dsf = 0;
         for (ServiceSubtask serviceSubtask : selectServiceSubtaskList) {
             if (serviceSubtask.getSendstate() == 4L) wzx = wzx + 1;
             else if (serviceSubtask.getSendstate() != 4L) ysf = ysf + 1;
             if (serviceSubtask.getSendstate() == 5L) fssb = fssb + 1;
             if (serviceSubtask.getSendstate() >= 3L || serviceSubtask.getSendstate() == 1L) yfs = yfs + 1;
+            if (serviceSubtask.getSendstate() == 2L) dsf = dsf + 1;
             if (serviceSubtask.getSendstate() == 1L) blq = blq + 1;
             if (serviceSubtask.getExcep().equals("1")) yc = yc + 1;
         }
@@ -297,6 +304,7 @@
         map.put("fssb", fssb);
         map.put("yfs", yfs);
         map.put("blq", blq);
+        map.put("dsf", dsf);
 
         return map;
     }
@@ -311,6 +319,54 @@
     public int insertServiceSubtask(ServiceSubtask serviceSubtask) {
         serviceSubtask.setCreateTime(DateUtils.getNowDate());
         return serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
+    }
+
+    /**
+     * 鍐嶆鏂板鍗曚竴浠诲姟锛堥殢璁匡級
+     *
+     * @param serviceSubtask 鍐嶆鏂板鍗曚竴浠诲姟锛堥殢璁匡級
+     * @return 缁撴灉
+     */
+    @Override
+    public String addSubTaskAgain(ServiceSubtask serviceSubtask) {
+        ServiceSubtask serviceSubtask1 = selectServiceSubtaskById(serviceSubtask.getId());
+        PatMedInhosp patMedInhosp = new PatMedInhosp();
+        patMedInhosp.setPatid(serviceSubtask1.getPatid());
+        patMedInhosp.setInhospstate("0");
+        List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+        PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(serviceSubtask1.getPatid());
+
+        if (patMedInhospList.size() > 0) {
+            serviceSubtask1.setIsVisitAgain(2);
+            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
+            return "鏃犻渶鍐嶆闅忚锛屾偅鑰呭啀鍏ラ櫌浜�";
+        } else if (serviceSubtask1.getSendstate() == 4L) {
+            serviceSubtask1.setIsVisitAgain(2);
+            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
+            return "鏃犻渶鍐嶆闅忚锛屼换鍔¤鏍囪涓嶅湪鎵ц";
+        } else if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) {
+            serviceSubtask1.setIsVisitAgain(2);
+            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
+            return "鏃犻渶鍐嶆闅忚锛屾偅鑰呰鏍囪涓嶉渶瑕佽鏈嶅姟";
+        } else if (ObjectUtils.isNotEmpty(serviceSubtask1.getIsVisitAgain()) && serviceSubtask1.getIsVisitAgain() == 2) {
+            return "鏃犻渶鍐嶆闅忚锛岃浠诲姟宸茬粡鍐嶆闅忚杩囦簡";
+        }
+        //鏂板鍐嶆闅忚浠诲姟
+        ServiceSubtask serviceSubtask2 = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtask.class);
+        serviceSubtask2.setId(null);
+        serviceSubtask2.setUpid(serviceSubtask1.getId().intValue());
+        serviceSubtask2.setVisitCount(serviceSubtask1.getVisitCount() + 1);
+        serviceSubtask2.setSendstate(2L);
+        serviceSubtask2.setCreateTime(new Date());
+        serviceSubtask2.setUpdateTime(new Date());
+        int i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask2);
+        if (i == 1) {
+            //鏂板鎴愬姛鍚庯紝闇�瑕佸皢涔嬪墠鐨勪换鍔¤缃负涓嶈鍐嶉殢璁匡紙闃叉閲嶅鐐癸紝鐒跺悗閲嶅鐢熸垚锛�
+            serviceSubtask1.setIsVisitAgain(2);
+            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
+            return "鍐嶆闅忚浠诲姟鍒涘缓鎴愬姛";
+        }
+        return "鍐嶆闅忚浠诲姟鍒涘缓澶辫触锛屽啀璇锋閲嶈瘯";
     }
 
     /**
@@ -439,6 +495,7 @@
                     ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
                     serviceTaskdept.setTaskId(serviceTask.getTaskid());
                     serviceTaskdept.setTaskName(serviceTask.getTaskName());
+                    serviceTaskdept.setOrgid(serviceTask.getOrgid());
                     serviceTaskdept.setLongtask(0L);
                     if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L);
                     if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
@@ -497,6 +554,8 @@
                     serviceSubtask.setDrname(patTaskRelevance.getDrname());
                     serviceSubtask.setDrcode(patTaskRelevance.getDrcode());
                     serviceSubtask.setInhosptime(patTaskRelevance.getInhosptime());
+                    serviceSubtask.setLeaveicd10code(patTaskRelevance.getLeaveicd10code());
+                    serviceSubtask.setLeavediagname(patTaskRelevance.getLeavediagname());
                     serviceSubtask.setEndtime(patTaskRelevance.getEndtime());
                     serviceSubtask.setNurseId(patTaskRelevance.getNurseId());
                     serviceSubtask.setNurseName(patTaskRelevance.getNurseName());

--
Gitblit v1.9.3