From d381ca5f089d6b2edf14d4f63b9a43b816972984 Mon Sep 17 00:00:00 2001
From: zhs <zhs18203887318@163.com>
Date: 星期一, 28 四月 2025 14:50:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |   63 +++++++++++++++++++++++++++++--
 1 files changed, 59 insertions(+), 4 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 c2f3ecb..47d2c90 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -92,6 +92,12 @@
     @Autowired
     private FtpService ftpService;
 
+    @Autowired
+    private PatMedInhospMapper patMedInhospMapper;
+
+    @Autowired
+    private PatArchiveMapper patArchiveMapper;
+
     @Value("${pri_key}")
     private String pri_key;
 
@@ -256,7 +262,6 @@
     @Override
     public List<ServiceSubtask> patItem(ServiceSubtaskVO serviceSubtaskVO) {
         List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskVO);
-
         return selectServiceSubtaskList;
     }
 
@@ -312,6 +317,49 @@
     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 (patArchive.getNotrequiredFlag().equals("1")) {
+            serviceSubtask1.setIsVisitAgain(2);
+            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
+            return "鏃犻渶鍐嶆闅忚锛屾偅鑰呰鏍囪涓嶉渶瑕佽鏈嶅姟";
+        }
+        //鏂板鍐嶆闅忚浠诲姟
+        ServiceSubtask serviceSubtask2 = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtask.class);
+        serviceSubtask2.setId(null);
+        serviceSubtask2.setVisitCount(serviceSubtask1.getVisitCount() + 1);
+        serviceSubtask2.setSendstate(2L);
+        int i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask2);
+        if (i == 1) {
+            //鏂板鎴愬姛鍚庯紝闇�瑕佸皢涔嬪墠鐨勪换鍔¤缃负涓嶈鍐嶉殢璁匡紙闃叉閲嶅鐐癸紝鐒跺悗閲嶅鐢熸垚锛�
+            serviceSubtask1.setIsVisitAgain(2);
+            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
+            return "鍐嶆闅忚浠诲姟鍒涘缓鎴愬姛";
+        }
+        return "鍐嶆闅忚浠诲姟鍒涘缓澶辫触锛屽啀璇锋閲嶈瘯";
     }
 
     /**
@@ -375,16 +423,23 @@
             if (serviceTask.getSendState() == null) {
                 serviceTask.setSendState(1L);
                 serviceTaskVO.setSendState(1L);
+            } else {
+                serviceTask.setSendState(serviceTaskVO.getSendState());
             }
             if (StringUtils.isNotEmpty(serviceTaskVO.getLibtemplateid())) {
                 serviceTask.setLibtemplateid(serviceTaskVO.getLibtemplateid());
                 serviceTask.setLibtemplatename(serviceTaskVO.getLibtemplatename());
             }
-            serviceTask.setTemplateid(tempid);
-            serviceTask.setTemplatename(tempName);
+            if (serviceTaskVO.getTemplateid() != null) {
+                serviceTask.setTemplateid(serviceTaskVO.getTemplateid());
+                serviceTask.setTemplatename(serviceTaskVO.getTemplatename());
+            } else {
+                serviceTask.setTemplateid(tempid);
+                serviceTask.setTemplatename(tempName);
+            }
             serviceTask.setLeaveldeptcodes(serviceTaskVO.getLeaveldeptcodes());
             serviceTask.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode());
-            serviceTask.setSendState(2L);
+            if (serviceTaskVO.getLongTask() == 1) serviceTask.setSendState(2L);
             serviceTask.setCreateTime(new Date());
             serviceTask.setUpdateTime(new Date());
             serviceTaskService.insertServiceTask(serviceTask);

--
Gitblit v1.9.3