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 | 30 ++++++++++++++++++++++--------
1 files changed, 22 insertions(+), 8 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 9f44995..923a97e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -249,7 +249,6 @@
patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
} else {
for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) {
- //todo 1
writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 1, config);
}
patMedInhosp1.setDeptcheckFlag("1");
@@ -301,7 +300,6 @@
patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
} else {
for (ServiceTaskdept serviceTaskdept1 : serviceTaskdeptList) {
- //todo 2
writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiBQ1, patArchive, 2, config);
}
pmiBQ1.setWardcheckFlag("1");
@@ -355,7 +353,6 @@
patMedInhospMapper.updatePatMedInhosp(pmiJB);
} else {
for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) {
- //todo 3
writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
}
pmiJB.setDiagcheckFlag("1");
@@ -539,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();
@@ -567,9 +563,9 @@
patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
return;
}
+ }else {
serviceTask = serviceTasks.get(0);
}
-
if (Objects.isNull(patMedInhosp1.getEndtime())) {
return;
}
@@ -587,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());
@@ -605,8 +601,26 @@
if (type == 1 || type == 2) {
Date endTime = serviceSubtask.getEndtime();
Date endTime1 = serviceSubtask1.getEndtime();
- String serviceType1 = serviceSubtask1.getServiceType();
- if (endTime1.before(endTime) && "2".equals(serviceType1)) {
+ //鍑洪櫌鏃堕棿鍒ょ┖锛屽鏋滀负绌鸿烦杩�
+ if(Objects.isNull(endTime)){
+ serviceSubtask.setResult("error");
+ serviceSubtask.setRemark("鍑洪櫌鏃堕棿涓虹┖锛宻erviceSubtask鐨処d涓�" + serviceSubtask.getId());
+ serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
+ serviceSubtask.setUpdateTime(new Date());
+ Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
+ if (aBoolean) i = 1;
+ continue;
+ }
+ if(Objects.isNull(endTime1)){
+ serviceSubtask1.setResult("error");
+ serviceSubtask1.setRemark("鍑洪櫌鏃堕棿涓虹┖锛宻erviceSubtask鐨処d涓�" + serviceSubtask1.getId());
+ serviceSubtask1.setUpdateBy(serviceTask.getUpdateBy());
+ serviceSubtask1.setUpdateTime(new Date());
+ Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
+ if (aBoolean) i = 1;
+ continue;
+ }
+ if (endTime1.before(endTime) && serviceSubtask1.getServiceType().equals("2")) {
//濡傛灉褰撳墠寰幆鐨勫瓙浠诲姟鐨勫嚭闄㈡椂闂村湪鈥滃噯澶囨柊澧炵殑瀛愪换鍔♀�濈殑鍑洪櫌鏃堕棿涔嬪墠锛屽垯灏嗗惊鐜殑瀛愪换鍔″仠鎺�
serviceSubtask1.setSendstate(4L);
if (StringUtils.isNotEmpty(serviceSubtask.getRemark()))
--
Gitblit v1.9.3