From 5595ea6a69345f135defbe5c75eb3a9cf957fa0d Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 03 十一月 2025 13:58:07 +0800
Subject: [PATCH] BUG修改
---
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 77 +++++++++++++++++++++++++++++++++-----
1 files changed, 66 insertions(+), 11 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 dbf6662..964e0b8 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -1,5 +1,8 @@
package com.smartor.service.impl;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
@@ -46,10 +49,11 @@
@Autowired
private ServiceSubtaskMapper serviceSubtaskMapper;
@Autowired
- private SysUserDeptMapper sysUserDeptMapper;
+ private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper;
- @Value("${visitHosp}")
- private Integer visitHosp;
+ @Value("${spring.profiles.active}")
+ private String active;
+
/**
* 鏌ヨ鎮h�呬綇闄㈣褰�
@@ -257,8 +261,7 @@
}
//鏍规嵁鎮h�呮墍鍦ㄧ梾鍖猴紝鑾峰彇璇ョ梾鍖虹殑闀挎湡浠诲姟,鏂板崕鍖婚櫌鍙互鍏堜笉鐢ㄦ牴鎹梾鍖哄拰鐤剧梾鏉ュ仛
- if (visitHosp != 1) {
-
+ if (active.equals("xh")) {
PatMedInhosp pmbq = new PatMedInhosp();
//鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁
pmbq.setWardcheckFlag("0");
@@ -540,14 +543,28 @@
st.setTaskid(taskid);
st.setSendState(2L);
List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st);
- if (CollectionUtils.isEmpty(serviceTasks)) {
+ if (CollectionUtils.isEmpty(serviceTasks) && type == 1) {
log.info("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
patMedInhosp1.setDeptcheckFlag("2");
- patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+ patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ return;
+ } else if (CollectionUtils.isEmpty(serviceTasks) && type == 2) {
+ patMedInhosp1.setWardcheckFlag("2");
+ patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+ patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ return;
+ } else if (CollectionUtils.isEmpty(serviceTasks) && type == 3) {
+ patMedInhosp1.setDiagcheckFlag("2");
+ patMedInhosp1.setLongTaskReason(longTaskReason + " & 璇ユ偅鑰呯柧鐥呴暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
return;
}
ServiceTask serviceTask = serviceTasks.get(0);
+
+ if (Objects.isNull(patMedInhosp1.getEndtime())) {
+ return;
+ }
//灏佽serviceSubtask
ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp1, patArchive);
if (type != 2) {
@@ -609,6 +626,8 @@
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
//閲嶆柊鏂板瀛愪换鍔�
i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
+ //杩欓噷闇�瑕佸叏澶辫触
+ addServiceSubtaskPreachform(serviceSubtask, "5");
}
}
@@ -617,7 +636,6 @@
serviceSubtask.setRemark("鎵嬫満鍙蜂负绌�");
serviceSubtask.setSendstate(4L);
serviceSubtask.setResult("error");
-// serviceSubtask.setFinishtime(new Date());
}
serviceSubtask.setCreateBy(serviceTask.getCreateBy());
serviceSubtask.setCreateTime(new Date());
@@ -628,12 +646,11 @@
serviceSubtask.setRemark("鎵嬫満鍙蜂负绌�");
serviceSubtask.setSendstate(4L);
serviceSubtask.setResult("error");
-// serviceSubtask.setFinishtime(new Date());
-
}
serviceSubtask.setCreateBy(serviceTask.getCreateBy());
serviceSubtask.setCreateTime(new Date());
i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
+ addServiceSubtaskPreachform(serviceSubtask, null);
}
if (i == 1) {
//灏哻heck_flag鏀规垚1锛堝凡澶勭悊锛�
@@ -656,6 +673,36 @@
patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
}
}
+
+ private Integer addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) {
+ //灏唒reachform鐨刯son瀵硅薄锛屾斁鍒發ist闆嗗悎涓�
+ String preachform = serviceSubtask.getPreachform();
+ ObjectMapper objectMapper = new ObjectMapper();
+ if (org.apache.commons.lang3.StringUtils.isNotEmpty(preachform)) {
+ List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = null;
+ try {
+ serviceSubtaskPreachformList = objectMapper.readValue(preachform, new TypeReference<List<ServiceSubtaskPreachform>>() {
+ });
+ } catch (JsonProcessingException e) {
+ log.error("preachform杞琇ist<ServiceSubtaskPreachform>鎶ラ敊浜嗭細{}", e.getMessage());
+ }
+ for (ServiceSubtaskPreachform serviceSubtaskPreachform : serviceSubtaskPreachformList) {
+ serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
+ serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
+ //杩欎釜sendstate闇�瑕佸湪鏁版嵁搴撹缃竴涓粯璁ゅ�间负鈥�1鈥�
+ serviceSubtaskPreachform.setSendstate("1");
+ if (StringUtils.isNotEmpty(sendstate)) serviceSubtaskPreachform.setSendstate(sendstate);
+
+ serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
+ return serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform);
+
+ }
+
+ }
+
+ return 0;
+ }
+
//灏佽serviceSubtask
private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive) {
@@ -682,6 +729,8 @@
serviceSubtask.setSex(patArchive.getSex());
serviceSubtask.setAge(patArchive.getAge());
serviceSubtask.setSendstate(2L);
+ serviceSubtask.setManagementDoctor(patMedInhosp1.getManagementDoctor());
+ serviceSubtask.setManagementDoctorCode(patMedInhosp1.getManagementDoctorCode());
serviceSubtask.setStarttime(patMedInhosp1.getStarttime());
serviceSubtask.setEndtime(patMedInhosp1.getEndtime());
serviceSubtask.setServiceType(serviceTask.getServiceType());
@@ -696,7 +745,13 @@
serviceSubtask.setUpdateTime(new Date());
//璁剧疆鍙戦�佹椂闂�
if (serviceTask.getSendDay() == null) serviceTask.setSendDay(1L);
- Date newDate = addDays(patMedInhosp1.getEndtime(), serviceTask.getSendDay().intValue());
+ Date newDate = null;
+ if (!Objects.isNull(patMedInhosp1.getEndtime())) {
+ newDate = addDays(patMedInhosp1.getEndtime(), serviceTask.getSendDay().intValue());
+ } else {
+ //濡傛灉鍑洪櫌鏃堕棿涓虹┖锛屽垯杩斿洖涓�涓柊瀵硅薄
+ return new ServiceSubtask();
+ }
serviceSubtask.setLongSendTime(newDate);
serviceSubtask.setVisitTime(newDate);
//濡傛灉鏄�氱煡鐨勮瘽锛岄渶瑕佹彁鍓嶅嚑澶╁皢閫氳繃鐭俊鍙戝嚭鍘伙紙鍏蜂綋鍑犲ぉ锛岃繖涓彲浠ラ厤缃湪sys_conf琛ㄤ腑锛�
--
Gitblit v1.9.3