| | |
| | | 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(); |
| | |
| | | |
| | | PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid()); |
| | | if (Objects.isNull(patArchive)) { |
| | | break; |
| | | continue; |
| | | } |
| | | //封装serviceSubtask |
| | | ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp, patArchive, config, type); |
| | |
| | | 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 { |
| | | //任务组 - 手术随访 |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |