| | |
| | | } |
| | | } |
| | | |
| | | //2.药品宣教 |
| | | //2.药品宣教(省立同德的需求,其它地方没提) |
| | | if (active.equals("sltd")) { |
| | | for (PatMedInhosp patMedInhosp : patMedInhosps) { |
| | | String medicalCode = patMedInhosp.getMedicalCode(); |
| | | if (StringUtils.isNotEmpty(medicalCode)) { |
| | |
| | | serviceTaskmedical.setMedicalCode(split[i]); |
| | | // 防止下标越界:如果数组长度不一致,取最小长度 |
| | | if (i < medicalCompanyArray.length) { |
| | | serviceTaskmedical.setMedicalName(medicalCompanyArray[i]); |
| | | serviceTaskmedical.setMedicalCompany(medicalCompanyArray[i]); |
| | | } else { |
| | | log.warn("【药品宣教】药品编码{}对应的公司信息下标越界,medicalCompany 数组长度={}, 当前索引={}", split[i], medicalCompanyArray.length, i); |
| | | serviceTaskmedical.setMedicalName(""); // 越界时设置为空 |
| | |
| | | List<ServiceTaskmedical> serviceTaskmedicals = serviceTaskmedicalMapper.selectServiceTaskmedicalList(serviceTaskmedical); |
| | | if (CollectionUtils.isNotEmpty(serviceTaskmedicals)) { |
| | | PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid()); |
| | | writeInSubTask(serviceTaskmedicals.get(0).getTaskId(), false, patMedInhosp, patArchive, 0, config); |
| | | // check=true,让 writeInSubTask 内部做去重校验 |
| | | writeInSubTask(serviceTaskmedicals.get(0).getTaskId(), true, patMedInhosp, patArchive, 0, config); |
| | | } |
| | | //查不到的药品就是不需要宣教的,就不管了 |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | //3.出院随访 - 基于规则的任务生成 |
| | | // 获取所有需要处理的出院患者(科室维度未处理) |
| | | |
| | |
| | | List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st); |
| | | ServiceTask serviceTask = null; |
| | | if (CollectionUtils.isEmpty(serviceTasks)) { |
| | | if (type == 0) { |
| | | log.info("该患者药品宣教长期任务不存在,任务ID为:{}", taskid); |
| | | patMedInhosp1.setMedcheckFlag("2"); |
| | | patMedInhosp1.setLongTaskReason(longTaskReason + " & 该患者药品宣教长期任务不存在,任务ID为:" + taskid); |
| | | patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); |
| | | return; |
| | | } |
| | | if (type == 1) { |
| | | log.info("该患者出院随访长期任务不存在,任务ID为:{}", taskid); |
| | | patMedInhosp1.setDeptcheckFlag("2"); |
| | |
| | | if (type == 1) patMedInhosp2.setDeptcheckFlag("2"); |
| | | if (type == 2) patMedInhosp2.setWardcheckFlag("2"); |
| | | if (type == 3) patMedInhosp2.setDiagcheckFlag("2"); |
| | | if (type == 0) patMedInhosp2.setMedcheckFlag("2"); |
| | | patMedInhosp2.setRemark("生成子任务报错回滚 " + type); |
| | | patMedInhospMapper.updatePatMedInhosp(patMedInhosp2); |
| | | e.printStackTrace(); |