From a2dd18982406d0b859ba8a6f3aa1696014faf966 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 15 十二月 2025 17:05:22 +0800
Subject: [PATCH] 【丽水】处理患者信息,进入子任务表定时任务 空指针异常修复

---
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java            |    5 ++---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java |   12 ++++++++++++
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
index 3ccd381..e6e0859 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
@@ -10,6 +10,7 @@
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.system.service.ISysConfigService;
 import com.smartor.domain.PatMedInhosp;
 import com.smartor.domain.PatMedInhospVO;
 import com.smartor.domain.PatMedReq;
@@ -41,6 +42,10 @@
 
     @Autowired
     private IPatMedOuthospService iPatMedOuthospService;
+
+    //todo
+    @Autowired
+    private ISysConfigService configService;
 
 
     /**
@@ -207,4 +212,11 @@
 //        }
 //    }
 
+    @ApiOperation("娴嬭瘯瀹氭椂浠诲姟dealOutHospInfo")
+    @PostMapping("/dealOutHospInfo")
+    public void dealOutHospInfo() {
+        String config = configService.selectConfigByKey("visit.early.day");
+        //鍑洪櫌琛�
+        patMedInhospService.dealOutHospInfo(config);
+    }
 }
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 cff1ca9..923a97e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -536,7 +536,6 @@
         return calendar.getTime();
     }
 
-    //todo
     //灏嗘偅鑰呮斁鍒皊ubtask涓�
     private void writeInSubTask(Long taskid, Boolean check, PatMedInhosp patMedInhosp1, PatArchive patArchive, Integer type, String config) {
         String longTaskReason = patMedInhosp1.getLongTaskReason();
@@ -564,9 +563,9 @@
                 patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
                 return;
             }
+        }else {
             serviceTask = serviceTasks.get(0);
         }
-
         if (Objects.isNull(patMedInhosp1.getEndtime())) {
             return;
         }
@@ -584,7 +583,7 @@
 
         Integer i = 0;
         //鍏堝垽鏂竴涓嬶紝鏄惁闇�瑕佹牎楠�
-        if (check && serviceSubtask.getTaskSituation() != 6) {
+        if (check && (Objects.isNull(serviceSubtask.getTaskSituation()) || serviceSubtask.getTaskSituation() != 6)) {
             //鍦ㄦ柊澧炰箣鍓嶏紝鍏堥�氳繃鎮h�匢D锛宻endstate=2鏌ヨ涓�涓嬶紝鍦ㄦ墍鏈夐暱鏈熶换鍔′腑锛屾槸涓嶆槸杩樻湁璇ユ偅鑰呭緟鎵ц鐨勪换鍔★紝鏈夌殑璇�,姣旇緝涔嬪墠鐨別ndtime鏄惁灏忎簬褰撳墠鐨別ndtaime,濡傛灉涔嬪墠鐨勫皬浜庣幇鍦ㄧ殑锛屽垯鐩存帴灏嗕箣鍓嶇殑鍋滄帀锛堝師鍥犲啀鍏ラ櫌锛�
             ServiceSubtaskVO subtask = new ServiceSubtaskVO();
             subtask.setPatid(patArchive.getId());

--
Gitblit v1.9.3