From 28446c1489c8977d634e7a39dbbc96967e22c6f1 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 11 五月 2026 11:32:31 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 64 ++++++++++++++++++++++++++------
1 files changed, 52 insertions(+), 12 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 5db97f8..93186db 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -479,7 +479,7 @@
pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
patMedInhospMapper.updatePatMedInhosp(pmiJB);
} else if (CollectionUtils.isEmpty(serviceTaskdiags)) {
- errorIcd = "璇ユ偅鑰呮墍鍦ㄧ梾鍖烘湭閰嶇疆闀挎湡浠诲姟;";
+ errorIcd = "璇ユ偅鑰呮墍鎮g柧鐥呮湭閰嶇疆闀挎湡浠诲姟;";
PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
pmiJB.setDiagcheckFlag("2");
pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
@@ -856,7 +856,7 @@
* @param check 鏄惁闇�瑕佹牎楠�
* @param patMedInhosp1 鐥呬汉鍑哄叆闄俊鎭�
* @param patArchive 鐥呬汉淇℃伅
- * @param type 闅忚绫诲瀷(1-绉戝锛�2-鐥呭尯锛�3-鐤剧梾锛�
+ * @param type 闅忚绫诲瀷(1-绉戝锛�2-鐥呭尯锛�3-鐤剧梾 4-鍏ラ櫌绉戝 5-鍏ラ櫌鐥呭尯)
* @param config 閰嶇疆淇℃伅 visit.early.day
*/
//灏嗘偅鑰呮斁鍒皊ubtask涓�
@@ -886,22 +886,41 @@
patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯柧鐥呴暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
return;
+ } else if (type == 4) {
+ patMedInhosp1.setInDeptcheckFlag("2");
+ patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭叆闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ return;
+ } else if (type == 5) {
+ patMedInhosp1.setInWardcheckFlag("2");
+ patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭叆闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ return;
}
} else {
serviceTask = serviceTasks.get(0);
}
- if (Objects.isNull(patMedInhosp1.getEndtime())) {
+ if (patMedInhosp1.getInhospstate().equals("1") && Objects.isNull(patMedInhosp1.getEndtime())) {
return;
}
//灏佽serviceSubtask
- ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp1, patArchive, config);
+ ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp1, patArchive, config, type);
if (ObjectUtils.isEmpty(serviceSubtask)) {
return;
}
if (type != 2) {
//绉戝鍜岀柧鐥� 閮界敤 绉戝濉厖
- serviceSubtask.setVisitDeptCode(patMedInhosp1.getLeaveldeptcode());
- serviceSubtask.setVisitDeptName(patMedInhosp1.getLeaveldeptname());
+ if (patMedInhosp1.getInhospstate().equals("1")) {
+ serviceSubtask.setVisitDeptCode(patMedInhosp1.getLeaveldeptcode());
+ serviceSubtask.setVisitDeptName(patMedInhosp1.getLeaveldeptname());
+ } else if (patMedInhosp1.getInhospstate().equals("0")) {
+ serviceSubtask.setVisitDeptCode(patMedInhosp1.getDeptcode());
+ serviceSubtask.setVisitDeptName(patMedInhosp1.getDeptname());
+ if(type==5){
+ serviceSubtask.setVisitDeptCode(patMedInhosp1.getHospitaldistrictcode());
+ serviceSubtask.setVisitDeptName(patMedInhosp1.getHospitaldistrictname());
+ }
+ }
} else if (type == 2) {
serviceSubtask.setVisitDeptCode(patMedInhosp1.getLeavehospitaldistrictcode());
serviceSubtask.setVisitDeptName(patMedInhosp1.getLeavehospitaldistrictname());
@@ -1035,6 +1054,8 @@
if (type == 1) patMedInhosp2.setDeptcheckFlag("1");
if (type == 2) patMedInhosp2.setWardcheckFlag("1");
if (type == 3) patMedInhosp2.setDiagcheckFlag("1");
+ if (type == 4) patMedInhosp2.setInDeptcheckFlag("1");
+ if (type == 5) patMedInhosp2.setInWardcheckFlag("1");
patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
} else {
//鐢熸垚瀛愪换鍔″け璐ワ紝
@@ -1044,6 +1065,8 @@
if (type == 1) patMedInhosp2.setDeptcheckFlag("2");
if (type == 2) patMedInhosp2.setWardcheckFlag("2");
if (type == 3) patMedInhosp2.setDiagcheckFlag("2");
+ if (type == 4) patMedInhosp2.setInDeptcheckFlag("2");
+ if (type == 5) patMedInhosp2.setInWardcheckFlag("2");
patMedInhosp2.setRemark("鐢熸垚瀛愪换鍔″け璐� " + type);
patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
}
@@ -1235,7 +1258,7 @@
//灏佽serviceSubtask
- private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive, String config) {
+ private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive, String config, Integer type) {
//澧炲姞serviceTask鍒ょ┖
// if(Objects.isNull(serviceTask)){
// return null;
@@ -1251,6 +1274,15 @@
serviceSubtask.setDrname(patMedInhosp1.getDrname());
serviceSubtask.setDeptcode(patMedInhosp1.getLeaveldeptcode());
serviceSubtask.setDeptname(patMedInhosp1.getLeaveldeptname());
+ serviceSubtask.setLeavehospitaldistrictcode(patMedInhosp1.getLeavehospitaldistrictcode());
+ serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getLeavehospitaldistrictname());
+ if (type == 4 || type == 5) {
+ //璁剧疆鍏ラ櫌鐨�
+ serviceSubtask.setDeptcode(patMedInhosp1.getDeptcode());
+ serviceSubtask.setDeptname(patMedInhosp1.getDeptname());
+ serviceSubtask.setLeavehospitaldistrictcode(patMedInhosp1.getHospitaldistrictcode());
+ serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getHospitaldistrictname());
+ }
serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code());
serviceSubtask.setLeavediagname(patMedInhosp1.getDiagname());
serviceSubtask.setTemplateid(serviceTask.getTemplateid());
@@ -1270,6 +1302,7 @@
serviceSubtask.setServiceType(serviceTask.getServiceType());
serviceSubtask.setPreachform(serviceTask.getPreachform());
serviceSubtask.setHospType("2");
+ if (type == 4 || type == 5) serviceSubtask.setHospType("6");
serviceSubtask.setCreateTime(new Date());
serviceSubtask.setUpdateTime(new Date());
serviceSubtask.setCreateBy(patMedInhosp1.getNurseName());
@@ -1277,17 +1310,24 @@
serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getLeavehospitaldistrictname());
serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
serviceSubtask.setUpdateTime(new Date());
+ //濡傛灉鏄鏁欏氨璁剧疆涓�7
+ if (serviceTask.getServiceType().equals("17")) serviceSubtask.setTaskSituation(7);
//璁剧疆鍙戦�佹椂闂�
if (serviceTask.getSendDay() == null) serviceTask.setSendDay(1L);
Date newDate = null;
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();
+ //濡傛灉绛変簬4,璇存槑鏄叆闄㈠鏁欙紝鍏ラ櫌涓嶅彲鑳芥湁endTime
+ if (type != 4 && type != 5) {
+ patMedInhosp1.setDeptcheckFlag("2");
+ patMedInhosp1.setRemark(patMedInhosp1.getRemark() + "& 璇ユ偅鑰呯柧鐥呭嚭闄㈡椂闂翠负绌�,鍑洪櫌璁板綍ID涓�:" + patMedInhosp1.getInhospid());
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ //濡傛灉鍑洪櫌鏃堕棿涓虹┖锛屽垯杩斿洖涓�涓柊瀵硅薄
+ return new ServiceSubtask();
+ }
+ //鍏ラ櫌瀹f暀锛屽熀鏈綋澶╂垨闅斿ぉ灏辫鍙戝嚭
+ newDate = addDays(new Date(), serviceTask.getSendDay().intValue());
}
serviceSubtask.setLongSendTime(newDate);
serviceSubtask.setVisitTime(newDate);
--
Gitblit v1.9.3