From 53b7afbfbc83b9ed3dbe3eaa656faf1edd5258d4 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 23 四月 2026 11:22:25 +0800
Subject: [PATCH] 【丽水】四级手术随访

---
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java |   28 +++++++++++++++++++++++-----
 1 files changed, 23 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..4e3ffb2 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -975,8 +975,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 +1197,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 +1236,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 +1257,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