From 3a8937f753ae22127557818158465fed83ca2916 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 03 九月 2026 10:38:27 +0800
Subject: [PATCH] 【丽水】手术随访调整
---
smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java | 90 +++++++++++++++++++++++++++++++++++++++++---
1 files changed, 83 insertions(+), 7 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
index 4488aed..226d9b9 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedOuthospServiceImpl.java
@@ -512,6 +512,7 @@
serviceSubtask.setVisitDeptCode(patMedOuthosp.getDeptcode());
serviceSubtask.setVisitDeptName(patMedOuthosp.getDeptname());
serviceSubtask.setUpdateTime(new Date());
+ serviceSubtask.setAdmindate(patMedOuthosp.getAdmitdate());
//璁剧疆鍙戦�佹椂闂�
if (serviceTask.getSendDay() == null) serviceTask.setSendDay(1L);
Date newDate = addDays(patMedOuthosp.getAdmitdate(), serviceTask.getSendDay().intValue());
@@ -536,15 +537,82 @@
/**
*
* @param patMedOuthosp
+ * @param visitTimeNum
* @return
*/
@Override
- public Integer followUpAgainByPatMedOuthosp(PatMedOuthosp patMedOuthosp, Date adminDate, Integer visitTimeNum) {
- int hoursToAdd = visitTimeNum * 24;
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(adminDate);
- calendar.add(Calendar.HOUR_OF_DAY, hoursToAdd);
- Date newDate = calendar.getTime();
+ public Integer dealPatMedOuthosp(PatMedOuthosp patMedOuthosp, Integer visitTimeNum){
+ Integer num = 0;
+ ServiceSubtaskEntity serviceSubtask = new ServiceSubtaskEntity();
+ serviceSubtask.setInhospid(patMedOuthosp.getId());
+ serviceSubtask.setServiceType("3");
+ serviceSubtask.setVisitCount(1);
+ List<ServiceSubtask> serviceSubtasks = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtask);
+ if(CollectionUtils.isEmpty(serviceSubtasks)){
+ num = followUpByPatMedOuthosp(patMedOuthosp, visitTimeNum);
+ }else {
+ num = followUpAgainByPatMedOuthosp(patMedOuthosp, visitTimeNum);
+ }
+ return num;
+ }
+
+ /**
+ * 闂ㄨ瘖棣栨闅忚
+ * @param patMedOuthosp
+ * @return
+ */
+ @Override
+ public Integer followUpByPatMedOuthosp(PatMedOuthosp patMedOuthosp, Integer visitTimeNum) {
+// if(ObjectUtils.isEmpty(patMedOuthosp.getFudate())){
+ Date adminDate = patMedOuthosp.getAdmitdate();
+ Date fuDate = addDays(adminDate, visitTimeNum);
+ patMedOuthosp.setFudate(fuDate);
+// }
+
+ PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOuthosp.getPatid());
+
+ //鏍规嵁鎮h�呯瀹わ紝鑾峰彇璇ョ柧鐥呯殑闀挎湡浠诲姟
+ ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+ serviceTaskdept.setLongtask(1L);
+ serviceTaskdept.setDeptCode(patMedOuthosp.getDeptcode());
+ serviceTaskdept.setServiceType("3");
+ List<ServiceTaskdept> serviceTaskdeptList = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
+ if (CollectionUtils.isEmpty(serviceTaskdeptList) || serviceTaskdeptList.size() == 0) {
+ patMedOuthosp.setDeptcheckFlag("2");
+ patMedOuthosp.setRemark("閫氳繃閮ㄩ棬,娌℃湁鎵惧埌闂ㄨ瘖闅忚浠诲姟ID");
+ updatePatMedOuthosp(patMedOuthosp);
+ } else {
+ for (ServiceTaskdept serviceTaskdept1 : serviceTaskdeptList) {
+ writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedOuthosp, patArchive, 1);
+ }
+ }
+
+ // 鏍规嵁鎮h�呯殑鐤剧梾锛岃幏鍙栬鐤剧梾鐨勯暱鏈熶换鍔�
+// ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
+// serviceTaskdiag.setLongtask(1L);
+// serviceTaskdiag.setIcd10code(patMedOuthosp.getIcd10code());
+// List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagMapper.selectServiceTaskdiagList(serviceTaskdiag);
+// //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
+// if (org.apache.commons.collections4.CollectionUtils.isEmpty(serviceTaskdiags) || serviceTaskdiags.size() == 0) {
+// patMedOuthosp.setDiagcheckFlag("2");
+// patMedOuthosp.setRemark("閫氳繃icd10,娌℃湁鎵惧埌闂ㄨ瘖闅忚浠诲姟ID");
+// updatePatMedOuthosp(patMedOuthosp);
+// } else {
+// for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) {
+// writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedOuthosp, patArchive, 2);
+// }
+// }
+ return 1;
+ }
+ /**
+ * 闂ㄨ瘖鍐嶆闅忚
+ * @param patMedOuthosp
+ * @return
+ */
+ @Override
+ public Integer followUpAgainByPatMedOuthosp(PatMedOuthosp patMedOuthosp, Integer visitTimeNum) {
+ Date adminDate = patMedOuthosp.getAdmitdate();
+ Date newDate = addDays(adminDate, visitTimeNum);
Integer i = 0;
String deptcode = patMedOuthosp.getDeptcode();
@@ -564,10 +632,18 @@
serviceSubtask0.setFinishtime(adminDate);
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask0);
- ServiceSubtask serviceSubtask1 = serviceSubtaskList0.get(0);
+ ServiceSubtask serviceSubtask1 = DtoConversionUtils.sourceToTarget(serviceSubtask0, ServiceSubtask.class);
+ serviceSubtask1.setId(null);
serviceSubtask1.setSendstate(2L);
+ serviceSubtask1.setUpid(serviceSubtask0.getId().intValue());
+ serviceSubtask1.setVisitCount(serviceSubtask0.getVisitCount() + 1);
+ serviceSubtask1.setVisitType(serviceSubtask0.getVisitType());
+ serviceSubtask1.setVisitDeptCode(serviceSubtask0.getVisitDeptCode());
+ serviceSubtask1.setVisitDeptName(serviceSubtask0.getVisitDeptName());
serviceSubtask1.setCreateTime(new Date());
serviceSubtask1.setUpdateTime(new Date());
+ serviceSubtask1.setFinishtime(null);
+ serviceSubtask1.setAdmindate(adminDate);
serviceSubtask1.setVisitTime(newDate);
serviceSubtask1.setLongSendTime(newDate);
--
Gitblit v1.9.3