From b17665b2645701d6eea22ab9d4662b76c97dd6e3 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 09 十月 2025 16:17:26 +0800
Subject: [PATCH] 代码提交

---
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java |   69 ++++++++++++++++++++++++----------
 1 files changed, 49 insertions(+), 20 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
index 24b91ee..7e34d50 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -1,5 +1,8 @@
 package com.smartor.service.impl;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DtoConversionUtils;
@@ -46,7 +49,7 @@
     @Autowired
     private ServiceSubtaskMapper serviceSubtaskMapper;
     @Autowired
-    private SysUserDeptMapper sysUserDeptMapper;
+    private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper;
 
     @Value("${visitHosp}")
     private Integer visitHosp;
@@ -540,10 +543,20 @@
         st.setTaskid(taskid);
         st.setSendState(2L);
         List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st);
-        if (CollectionUtils.isEmpty(serviceTasks)) {
+        if (CollectionUtils.isEmpty(serviceTasks) && type == 1) {
             log.info("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
             patMedInhosp1.setDeptcheckFlag("2");
-            patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+            patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+            patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+            return;
+        } else if (CollectionUtils.isEmpty(serviceTasks) && type == 2) {
+            patMedInhosp1.setWardcheckFlag("2");
+            patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+            patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+            return;
+        } else if (CollectionUtils.isEmpty(serviceTasks) && type == 3) {
+            patMedInhosp1.setDiagcheckFlag("2");
+            patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯柧鐥呴暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
             patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
             return;
         }
@@ -609,31 +622,17 @@
                         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
                         //閲嶆柊鏂板瀛愪换鍔�
                         i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
+                        //杩欓噷闇�瑕佸叏澶辫触
+                        addServiceSubtaskPreachform(serviceSubtask, "5");
 
                     }
                 }
-            } else {
-                if (StringUtils.isEmpty(serviceSubtask.getPhone())) {
-                    serviceSubtask.setRemark("鎵嬫満鍙蜂负绌�");
-                    serviceSubtask.setSendstate(4L);
-                    serviceSubtask.setResult("error");
-//                    serviceSubtask.setFinishtime(new Date());
-                }
-                serviceSubtask.setCreateBy(serviceTask.getCreateBy());
-                serviceSubtask.setCreateTime(new Date());
-                i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
             }
         } else {
-            if (StringUtils.isEmpty(serviceSubtask.getPhone())) {
-                serviceSubtask.setRemark("鎵嬫満鍙蜂负绌�");
-                serviceSubtask.setSendstate(4L);
-                serviceSubtask.setResult("error");
-//                serviceSubtask.setFinishtime(new Date());
-
-            }
             serviceSubtask.setCreateBy(serviceTask.getCreateBy());
             serviceSubtask.setCreateTime(new Date());
             i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
+            addServiceSubtaskPreachform(serviceSubtask, null);
         }
         if (i == 1) {
             //灏哻heck_flag鏀规垚1锛堝凡澶勭悊锛�
@@ -657,6 +656,36 @@
         }
     }
 
+    private Integer addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) {
+        //灏唒reachform鐨刯son瀵硅薄锛屾斁鍒發ist闆嗗悎涓�
+        String preachform = serviceSubtask.getPreachform();
+        ObjectMapper objectMapper = new ObjectMapper();
+        if (org.apache.commons.lang3.StringUtils.isNotEmpty(preachform)) {
+            List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = null;
+            try {
+                serviceSubtaskPreachformList = objectMapper.readValue(preachform, new TypeReference<List<ServiceSubtaskPreachform>>() {
+                });
+            } catch (JsonProcessingException e) {
+                log.error("preachform杞琇ist<ServiceSubtaskPreachform>鎶ラ敊浜嗭細{}", e.getMessage());
+            }
+            for (ServiceSubtaskPreachform serviceSubtaskPreachform : serviceSubtaskPreachformList) {
+                serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
+                serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
+                //杩欎釜sendstate闇�瑕佸湪鏁版嵁搴撹缃竴涓粯璁ゅ�间负鈥�1鈥�
+                serviceSubtaskPreachform.setSendstate("1");
+                if (StringUtils.isNotEmpty(sendstate)) serviceSubtaskPreachform.setSendstate(sendstate);
+
+                serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
+                return serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform);
+
+            }
+
+        }
+
+        return 0;
+    }
+
+
     //灏佽serviceSubtask
     private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive) {
         ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class);

--
Gitblit v1.9.3