From cc3fe1ad9b366533d184d9e239b45f731f014e74 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 23 四月 2026 11:22:38 +0800
Subject: [PATCH] Merge branch 'master' into master-手术随访

---
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java |   38 +++++++++++++++++++++++++++++++++-----
 1 files changed, 33 insertions(+), 5 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 d3c7238..26ceb31 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -85,6 +85,16 @@
      */
     @Override
     public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp) {
+        if (patMedInhosp.getCry() == 0) {
+            patMedInhosp.setDeptcodeList(patMedInhosp.getLeaveldeptcodes());
+            patMedInhosp.setHospitaldistrictcodeList(patMedInhosp.getLeavehospitaldistrictcodes());
+            patMedInhosp.setLeaveldeptcodes(null);
+            patMedInhosp.setLeavehospitaldistrictcodes(null);
+            patMedInhosp.setInhospstate("0");
+        } else if (patMedInhosp.getCry() == 1) {
+            patMedInhosp.setInhospstate("1");
+        }
+
         List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
         for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
             String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
@@ -975,8 +985,18 @@
         if (Objects.isNull(patArchive)) {
             return;
         }
+        PatMedInhosp patMedInhosp = new PatMedInhosp();
+        patMedInhosp.setPatid(patMedOperation.getPatid());
+        patMedInhosp.setInhospstate("1");
+        patMedInhosp.setFuflag("1");
+        List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+
+        if (CollectionUtils.isEmpty(patMedInhospList)) {
+            return;
+        }
+
         //灏佽serviceSubtask
-        ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedOperation, patMedOperationItem, patArchive, config);
+        ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperation, patMedOperationItem, patArchive, config);
         if (ObjectUtils.isEmpty(serviceSubtask)) {
             return;
         }
@@ -1187,7 +1207,7 @@
     }
 
     //灏佽serviceSubtask
-    private ServiceSubtask boxedServiceSubtaskForOp(ServiceTask serviceTask, PatMedOperation patMedOperation, PatMedOperationItem patMedOperationItem, PatArchive patArchive, String config) {
+    private ServiceSubtask boxedServiceSubtaskForOp(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatMedOperation patMedOperation, PatMedOperationItem patMedOperationItem, PatArchive patArchive, String config) {
         ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class);
         serviceSubtask.setTaskid(serviceTask.getTaskid());
         if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid()))
@@ -1226,11 +1246,20 @@
         serviceSubtask.setOperationItemId(patMedOperationItem.getId());
         serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
         serviceSubtask.setUpdateTime(new Date());
+
+        //todo
         //璁剧疆鍙戦�佹椂闂�
         if (serviceTask.getSendDay() == null) serviceTask.setSendDay(1L);
         Date newDate = null;
-        //todo
-        newDate = addDays(patMedOperation.getCreateTime(), serviceTask.getSendDay().intValue());
+        if (!Objects.isNull(patMedInhosp1.getEndtime())) {
+            newDate = addDays(patMedInhosp1.getEndtime(), serviceTask.getSendDay().intValue());
+        } else {
+            patMedInhosp1.setDeptcheckFlag("2");
+            patMedInhosp1.setRemark(patMedInhosp1.getRemark() + "& 璇ユ偅鑰呮墜鏈嚭闄㈡椂闂翠负绌�,鍑洪櫌璁板綍ID涓�:" + patMedInhosp1.getInhospid());
+            patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+            //濡傛灉鍑洪櫌鏃堕棿涓虹┖锛屽垯杩斿洖涓�涓柊瀵硅薄
+            return new ServiceSubtask();
+        }
         serviceSubtask.setLongSendTime(newDate);
         serviceSubtask.setVisitTime(newDate);
 
@@ -1238,7 +1267,6 @@
         if ("3".equals(serviceTask.getType())) {
             serviceSubtask.setVisitTime(minusDay(newDate, StringUtils.isNotEmpty(config) ? Integer.parseInt(config) : 0));
         }
-
         //鎮h�呭彂閫佹椂闂�
         if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) {
             String remark = patArchive.getNotrequiredreason();

--
Gitblit v1.9.3