From d67891153f82b9d7606f91bd2db0f8dd4d2a258d Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 02 七月 2026 17:44:45 +0800
Subject: [PATCH] 【市一】任务组调试
---
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java | 119 +++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 91 insertions(+), 28 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 abd8d24..49f947d 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -349,7 +349,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();
@@ -364,10 +364,13 @@
String opLevelCodes = serviceTaskSchedule.getOplevelCodes();
List<String> icd10CodeList = new ArrayList<>();
- List<String> opLevelList = new ArrayList<>();
+ List<String> opLevelCodeList = new ArrayList<>();
List<String> deptCodeList = new ArrayList<>();
List<String> wardCodeList = new ArrayList<>();
+ /**
+ * 闅忚绫诲瀷(1-绉戝锛�2-鐥呭尯锛�3-鐤剧梾 4-鍏ラ櫌绉戝 5-鍏ラ櫌鐥呭尯 6-鎵嬫湳)
+ */
Integer type = 1;
if (StringUtils.isNotEmpty(deptCodes)) {
type = 1;
@@ -382,38 +385,98 @@
icd10CodeList = Arrays.asList(icd10Codes.split(","));
}
if (StringUtils.isNotEmpty(opLevelCodes)) {
- opLevelList = Arrays.asList(opLevelCodes.split(","));
+ type = 6;
+ opLevelCodeList = Arrays.asList(opLevelCodes.split(","));
}
- PatMedInhosp patMedInhospVo = new PatMedInhosp();
- patMedInhospVo.setDeptcodeList(deptCodeList);
- patMedInhospVo.setLeavehospitaldistrictcodes(wardCodeList);
- patMedInhospVo.setIcd10codeList(icd10CodeList);
- List<PatMedInhosp> patList = patMedInhospMapper.selectPatMedInhospList(patMedInhospVo);
- log.info("dealOutHospInfoBySchedule 浠诲姟缁勯殢璁�, taskid = {}, 鎵弿鎮h�呬汉鏁� {}", serviceTask.getTaskid(), patList.size());
+ //闈炴墜鏈鐞嗘柟寮�
+ if(type != 6){
+ PatMedInhosp patMedInhospVo = new PatMedInhosp();
+ patMedInhospVo.setScheduleCheckFlag("0");
+ patMedInhospVo.setInhospstate("1");
+ patMedInhospVo.setFuflag("1");
+// patMedInhospVo.setDeptcodeList(deptCodeList);
+ patMedInhospVo.setLeaveldeptcodes(deptCodeList);
+ patMedInhospVo.setLeavehospitaldistrictcodes(wardCodeList);
+ patMedInhospVo.setIcd10codeList(icd10CodeList);
+ List<PatMedInhosp> patList = patMedInhospMapper.selectPatMedInhospList(patMedInhospVo);
+ log.info("dealOutHospInfoBySchedule 浠诲姟缁勯殢璁�, taskid = {}, 鎵弿鎮h�呬汉鏁� {}", serviceTask.getTaskid(), patList.size());
- for(PatMedInhosp patMedInhosp : patList){
- ServiceTaskScheduleDetail scheduleDetailVo = new ServiceTaskScheduleDetail();
- scheduleDetailVo.setTaskid(serviceTask.getTaskid());
- scheduleDetailVo.setScheduleid(serviceTaskSchedule.getId());
- List<ServiceTaskScheduleDetail> serviceTaskScheduleDetails = serviceTaskScheduleDetailMapper.selectServiceTaskScheduleDetailList(scheduleDetailVo);
+ for(PatMedInhosp patMedInhosp : patList){
+ ServiceTaskScheduleDetail scheduleDetailVo = new ServiceTaskScheduleDetail();
+ scheduleDetailVo.setTaskid(serviceTask.getTaskid());
+ scheduleDetailVo.setScheduleid(serviceTaskSchedule.getId());
+ List<ServiceTaskScheduleDetail> serviceTaskScheduleDetails = serviceTaskScheduleDetailMapper.selectServiceTaskScheduleDetailList(scheduleDetailVo);
- List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = new ArrayList<>();
- PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid());
- if (Objects.isNull(patArchive)) {
- break;
+ PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid());
+ if (Objects.isNull(patArchive)) {
+ continue;
+ }
+ //灏佽serviceSubtask
+
+ ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp, patArchive, config, type);
+ List<Map<String, Object>> preachformList = new ArrayList<>();
+ if(StringUtils.isNotEmpty(serviceTask.getPreachformDesc())){
+ try {
+ ObjectMapper objectMapper = new ObjectMapper();
+ preachformList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
+ }catch (Exception e){
+ 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);
}
- //灏佽serviceSubtask
- ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp, patArchive, config, type);
- List<Map<String, Object>> preachformList = new ArrayList<>();
- if(StringUtils.isNotEmpty(serviceTask.getPreachformDesc())){
- try {
- ObjectMapper objectMapper = new ObjectMapper();
- preachformList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
- }catch (Exception e){
- break;
+ }else {
+ //浠诲姟缁� - 鎵嬫湳闅忚
+ if(CollectionUtils.isNotEmpty(opLevelCodeList)){
+ PatMedOperationItem pmoi = new PatMedOperationItem();
+ //鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁
+ pmoi.setOpercheckFlag("0");
+ pmoi.setMainFlag("1");
+ 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)) {
+ continue;
+ }
+ PatMedInhosp patMedInhospVo = new PatMedInhosp();
+ patMedInhospVo.setPatid((patMedOperationItem.getPatid()));
+ patMedInhospVo.setScheduleCheckFlag("0");
+ patMedInhospVo.setInhospstate("1");
+ patMedInhospVo.setFuflag("1");
+ List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhospVo);
+ if(CollectionUtils.isNotEmpty(patMedInhospList)){
+ ServiceTaskScheduleDetail scheduleDetailVo = new ServiceTaskScheduleDetail();
+ scheduleDetailVo.setTaskid(serviceTask.getTaskid());
+ scheduleDetailVo.setScheduleid(serviceTaskSchedule.getId());
+ List<ServiceTaskScheduleDetail> serviceTaskScheduleDetails = serviceTaskScheduleDetailMapper.selectServiceTaskScheduleDetailList(scheduleDetailVo);
+ //灏佽serviceSubtask
+ ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperationItem, patArchive, config);
+ List<Map<String, Object>> preachformList = new ArrayList<>();
+ if(StringUtils.isNotEmpty(serviceTask.getPreachformDesc())){
+ try {
+ ObjectMapper objectMapper = new ObjectMapper();
+ preachformList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
+ }catch (Exception e){
+ 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);
+ }
}
}
- scheduleSubtaskBuilder.buildSubtasksForPatient(serviceTask, serviceTaskSchedule, serviceTaskScheduleDetails, serviceSubtask, preachformList);
}
}
}
--
Gitblit v1.9.3