From f5e6c4a3c7b8d392ce2e6f2964b8498afcd011c1 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 30 七月 2026 15:51:45 +0800
Subject: [PATCH] 【市一】AI
---
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 63 ++++++++++++++++++++++++-------
1 files changed, 49 insertions(+), 14 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 f12c0f4..46a1457 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -11,6 +11,7 @@
import com.ruoyi.common.utils.StringUtils;
import com.smartor.common.ScheduleSubtaskBuilder;
import com.smartor.domain.*;
+import com.smartor.domain.DTO.PatMedInhospDTO;
import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.mapper.*;
import com.smartor.service.IPatMedInhospService;
@@ -98,14 +99,18 @@
*/
@Override
public List<PatMedInhosp> selectPatMedInhospList(PatMedInhosp patMedInhosp) {
- if (patMedInhosp.getCry() == 0) {
+ if (patMedInhosp.getCry() != null && patMedInhosp.getCry() == 0) {
patMedInhosp.setDeptcodeList(patMedInhosp.getLeaveldeptcodes());
patMedInhosp.setHospitaldistrictcodeList(patMedInhosp.getLeavehospitaldistrictcodes());
patMedInhosp.setLeaveldeptcodes(null);
patMedInhosp.setLeavehospitaldistrictcodes(null);
patMedInhosp.setInhospstate("0");
- } else if (patMedInhosp.getCry() == 1) {
+ } else if (patMedInhosp.getCry() != null && patMedInhosp.getCry() == 1) {
patMedInhosp.setInhospstate("1");
+ } else if (patMedInhosp.getCry() != null && patMedInhosp.getCry() == 2) {
+ patMedInhosp.setInhospstate("2");
+ } else if (patMedInhosp.getCry() != null && patMedInhosp.getCry() == 3) {
+ patMedInhosp.setInhospstate("3");
}
List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
@@ -114,6 +119,24 @@
patMedInhosp1.setTagname(tagname);
}
return patMedInhospList;
+ }
+
+ @Override
+ public List<PatMedInhospDTO> selectPatMedInhospByApplication(PatMedInhosp patMedInhosp) {
+ List<PatMedInhosp> patMedInhosps = selectPatMedInhospList(patMedInhosp);
+ if (!org.springframework.util.CollectionUtils.isEmpty(patMedInhosps)) {
+ return null;
+ }
+ List<PatMedInhospDTO> patMedInhospDTOList = DtoConversionUtils.sourceToTarget(patMedInhosps, PatMedInhospDTO.class);
+ for (PatMedInhospDTO pmd : patMedInhospDTOList) {
+ ServiceSubtaskEntity serviceSubtask = new ServiceSubtaskEntity();
+ serviceSubtask.setServiceType("4");
+ serviceSubtask.setInhospid(pmd.getInhospid());
+ List<ServiceSubtask> serviceSubtasks = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtask);
+ if (CollectionUtils.isNotEmpty(serviceSubtasks)) pmd.setFinishFlag("1");
+ }
+
+ return patMedInhospDTOList;
}
@Override
@@ -349,7 +372,7 @@
serviceTaskVo.setAppltype("5");
List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(serviceTaskVo);
- if (CollectionUtils.isEmpty(serviceTasks)) {
+ if (CollectionUtils.isNotEmpty(serviceTasks)) {
for (ServiceTask serviceTask : serviceTasks) {
if(!ObjectUtils.isEmpty(serviceTask.getTaskid())){
ServiceTaskSchedule serviceTaskSchedule = new ServiceTaskSchedule();
@@ -394,7 +417,8 @@
patMedInhospVo.setScheduleCheckFlag("0");
patMedInhospVo.setInhospstate("1");
patMedInhospVo.setFuflag("1");
- patMedInhospVo.setDeptcodeList(deptCodeList);
+// patMedInhospVo.setDeptcodeList(deptCodeList);
+ patMedInhospVo.setLeaveldeptcodes(deptCodeList);
patMedInhospVo.setLeavehospitaldistrictcodes(wardCodeList);
patMedInhospVo.setIcd10codeList(icd10CodeList);
List<PatMedInhosp> patList = patMedInhospMapper.selectPatMedInhospList(patMedInhospVo);
@@ -408,9 +432,10 @@
PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid());
if (Objects.isNull(patArchive)) {
- break;
+ continue;
}
//灏佽serviceSubtask
+
ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp, patArchive, config, type);
List<Map<String, Object>> preachformList = new ArrayList<>();
if(StringUtils.isNotEmpty(serviceTask.getPreachformDesc())){
@@ -418,28 +443,31 @@
ObjectMapper objectMapper = new ObjectMapper();
preachformList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
}catch (Exception e){
- break;
+ log.error("浠诲姟缁刾reachformDesc瑙f瀽澶辫触,taskid={},inhospid={}", serviceTask.getTaskid(), patMedInhosp.getInhospid());
}
}
scheduleSubtaskBuilder.buildSubtasksForPatient(serviceTask, serviceTaskSchedule, serviceTaskScheduleDetails, serviceSubtask, preachformList);
+ //缃杞撼鍏ユ爣璁帮紝閬垮厤涓嬫鎵弿閲嶅鐢熸垚锛堝悗缁疆娆$敱 rollTaskGroupCycle 璐熻矗锛�
+ PatMedInhosp flagUpd = new PatMedInhosp();
+ flagUpd.setInhospid(patMedInhosp.getInhospid());
+ flagUpd.setScheduleCheckFlag("1");
+ patMedInhospMapper.updatePatMedInhosp(flagUpd);
}
}else {
//浠诲姟缁� - 鎵嬫湳闅忚
if(CollectionUtils.isNotEmpty(opLevelCodeList)){
- //鐩墠浠呴檺鍗曚竴鎵嬫湳绛夌骇
- String opLevelCode = opLevelCodeList.get(0);
PatMedOperationItem pmoi = new PatMedOperationItem();
//鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁
pmoi.setOpercheckFlag("0");
pmoi.setMainFlag("1");
- pmoi.setOplevelcode(opLevelCode);
pmoi.setDeptCodes(deptCodeList);
pmoi.setWardCodes(wardCodeList);
+ pmoi.setOpLevelCodes(opLevelCodeList);
List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemList(pmoi);
for(PatMedOperationItem patMedOperationItem : patMedOperationItems){
PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperationItem.getPatid());
if (Objects.isNull(patArchive)) {
- break;
+ continue;
}
PatMedInhosp patMedInhospVo = new PatMedInhosp();
patMedInhospVo.setPatid((patMedOperationItem.getPatid()));
@@ -460,10 +488,15 @@
ObjectMapper objectMapper = new ObjectMapper();
preachformList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
}catch (Exception e){
- break;
+ log.error("浠诲姟缁�(鎵嬫湳)preachformDesc瑙f瀽澶辫触,taskid={}", serviceTask.getTaskid());
}
}
scheduleSubtaskBuilder.buildSubtasksForPatient(serviceTask, serviceTaskSchedule, serviceTaskScheduleDetails, serviceSubtask, preachformList);
+ //缃杞撼鍏ユ爣璁帮紝閬垮厤閲嶅鐢熸垚
+ PatMedInhosp flagUpd = new PatMedInhosp();
+ flagUpd.setInhospid(patMedInhospList.get(0).getInhospid());
+ flagUpd.setScheduleCheckFlag("1");
+ patMedInhospMapper.updatePatMedInhosp(flagUpd);
}
}
}
@@ -818,10 +851,10 @@
if (ObjectUtils.isEmpty(serviceSubtask)) {
return;
}
- if(StringUtils.isNotEmpty(patMedOperationItem.getDeptcode())){
+ if (StringUtils.isNotEmpty(patMedOperationItem.getDeptcode())) {
serviceSubtask.setVisitDeptCode(patMedOperationItem.getDeptcode());
serviceSubtask.setVisitDeptName(patMedOperationItem.getDeptname());
- }else {
+ } else {
serviceSubtask.setVisitDeptCode(patMedOperationItem.getHospitaldistrictcode());
serviceSubtask.setVisitDeptName(patMedOperationItem.getHospitaldistrictname());
}
@@ -942,7 +975,8 @@
//灏佽serviceSubtask
- private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive, String config, Integer type) {
+ @Override
+ public ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive, String config, Integer type) {
//澧炲姞serviceTask鍒ょ┖
// if(Objects.isNull(serviceTask)){
// return null;
@@ -980,6 +1014,7 @@
serviceSubtask.setSex(patArchive.getSex());
serviceSubtask.setAge(patArchive.getAge());
serviceSubtask.setSendstate(2L);
+ serviceSubtask.setCampusid(patMedInhosp1.getCampusid());
serviceSubtask.setManagementDoctor(patMedInhosp1.getManagementDoctor());
serviceSubtask.setManagementDoctorCode(patMedInhosp1.getManagementDoctorCode());
serviceSubtask.setStarttime(patMedInhosp1.getStarttime());
--
Gitblit v1.9.3