| | |
| | | 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(); |
| | |
| | | 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); |
| | |
| | | |
| | | 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())){ |
| | |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | preachformList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class); |
| | | }catch (Exception e){ |
| | | break; |
| | | log.error("任务组preachformDesc解析失败,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())); |
| | |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | preachformList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class); |
| | | }catch (Exception e){ |
| | | break; |
| | | log.error("任务组(手术)preachformDesc解析失败,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); |
| | | } |
| | | } |
| | | } |