From 86cae0eece5c1571690d6f516a29b78040b53b28 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 16 十二月 2025 11:19:05 +0800
Subject: [PATCH] 【丽水】writeInSubTask 增加回滚事务

---
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java |   26 ++++++++++++++++++--------
 1 files changed, 18 insertions(+), 8 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 b0d1cef..fd3b395 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -16,6 +16,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 
 import java.io.IOException;
 import java.time.Instant;
@@ -572,6 +573,9 @@
         }
         //灏佽serviceSubtask
         ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp1, patArchive, config);
+        if(ObjectUtils.isEmpty(serviceSubtask)){
+            return;
+        }
         if (type != 2) {
             //绉戝鍜岀柧鐥� 閮界敤 绉戝濉厖
             serviceSubtask.setVisitDeptCode(patMedInhosp1.getLeaveldeptcode());
@@ -580,6 +584,7 @@
             serviceSubtask.setVisitDeptCode(patMedInhosp1.getLeavehospitaldistrictcode());
             serviceSubtask.setVisitDeptName(patMedInhosp1.getLeavehospitaldistrictname());
         }
+        //璁板綍insertServiceSubtask璇彞杩斿洖鐘舵��
         Integer i = 0;
         try {
             //鍏堝垽鏂竴涓嬶紝鏄惁闇�瑕佹牎楠�
@@ -602,16 +607,16 @@
                             Date endTime = serviceSubtask.getEndtime();
                             Date endTime1 = serviceSubtask1.getEndtime();
                             //鍑洪櫌鏃堕棿鍒ょ┖锛屽鏋滀负绌鸿烦杩�
-                            if(Objects.isNull(endTime)){
+                            if(ObjectUtils.isEmpty(endTime)){
                                 serviceSubtask.setResult("error");
                                 serviceSubtask.setRemark("鍑洪櫌鏃堕棿涓虹┖锛宻erviceSubtask鐨処d涓�" + serviceSubtask.getId());
                                 serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
                                 serviceSubtask.setUpdateTime(new Date());
-                                Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
+                                Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                                 if (aBoolean) i = 1;
                                 continue;
                             }
-                            if(Objects.isNull(endTime1)){
+                            if(ObjectUtils.isEmpty(endTime1)){
                                 serviceSubtask1.setResult("error");
                                 serviceSubtask1.setRemark("鍑洪櫌鏃堕棿涓虹┖锛宻erviceSubtask鐨処d涓�" + serviceSubtask1.getId());
                                 serviceSubtask1.setUpdateBy(serviceTask.getUpdateBy());
@@ -624,10 +629,9 @@
                                 //濡傛灉褰撳墠寰幆鐨勫瓙浠诲姟鐨勫嚭闄㈡椂闂村湪鈥滃噯澶囨柊澧炵殑瀛愪换鍔♀�濈殑鍑洪櫌鏃堕棿涔嬪墠锛屽垯灏嗗惊鐜殑瀛愪换鍔″仠鎺�
                                 serviceSubtask1.setSendstate(4L);
                                 if (StringUtils.isNotEmpty(serviceSubtask.getRemark()))
-                                    serviceSubtask.setRemark(serviceSubtask.getRemark() + ",鐤剧梾鎮h�呭啀鍏ラ櫌");
-                                else serviceSubtask.setRemark("鐤剧梾鎮h�呭啀鍏ラ櫌");
+                                    serviceSubtask.setRemark(serviceSubtask.getRemark() + ",绉戝/鐥呭尯鎮h�呭啀鍏ラ櫌");
+                                else serviceSubtask.setRemark("绉戝/鐥呭尯鎮h�呭啀鍏ラ櫌");
                                 serviceSubtask1.setResult("error");
-//                            serviceSubtask1.setFinishtime(new Date());
                                 serviceSubtask1.setUpdateBy(serviceTask.getUpdateBy());
                                 serviceSubtask1.setUpdateTime(new Date());
                                 Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
@@ -635,7 +639,6 @@
                             } else {
                                 //鐩稿弽,鍒欏皢褰撴湁鐨勬暟鎹仠鎺�
                                 serviceSubtask.setResult("error");
-//                            serviceSubtask.setFinishtime(new Date());
                                 serviceSubtask.setSendstate(4L);
                                 if (StringUtils.isNotEmpty(serviceSubtask.getRemark()))
                                     serviceSubtask.setRemark(serviceSubtask.getRemark() + ",褰撳墠鎮h�呭嚭闄㈡椂闂村悗鏈夊緟鎵ц鐨勫嚭闄㈤殢璁块暱鏈熶换鍔�");
@@ -716,6 +719,13 @@
         } catch (Exception e) {
             //鍑洪敊鍥炴粴浜嬪姟
             log.info("鐢熸垚瀛愪换鍔℃姤閿欏洖婊歴erviceSubtask鐨則askid涓猴細{},patid涓猴細{}", serviceSubtask.getTaskid(), serviceSubtask.getPatid());
+            PatMedInhosp patMedInhosp2 = new PatMedInhosp();
+            patMedInhosp2.setInhospid(patMedInhosp1.getInhospid());
+            if (type == 1) patMedInhosp2.setDeptcheckFlag("2");
+            if (type == 2) patMedInhosp2.setWardcheckFlag("2");
+            if (type == 3) patMedInhosp2.setDiagcheckFlag("2");
+            patMedInhosp2.setRemark("鐢熸垚瀛愪换鍔℃姤閿欏洖婊� " + type);
+            patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
             e.printStackTrace();
         }
     }
@@ -864,7 +874,7 @@
                 subtask.setSendstate(2L);
                 List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(subtask);
 //                log.error("鍏ラ櫌鐨勬偅鑰呭緟鎵ц鐨勪换鍔�:{}", selectServiceSubtaskList);
-                if (CollectionUtils.isNotEmpty(selectServiceSubtaskList) && selectServiceSubtaskList.size() > 0) {
+                if (CollectionUtils.isNotEmpty(selectServiceSubtaskList)) {
                     for (ServiceSubtask serviceSubtask1 : selectServiceSubtaskList) {
                         if (Objects.isNull(serviceSubtask1.getLongSendTime())) {
                             //涓嶆槸闀挎湡浠诲姟锛屼笉澶勭悊

--
Gitblit v1.9.3