| | |
| | | return generatedCount; |
| | | } |
| | | |
| | | @Override |
| | | public void dealIcd10Subtask(PatMedInhosp pmks, String config) { |
| | | pmks.setDiagcheckFlag("0"); |
| | | pmks.setInhospstate("1"); |
| | | pmks.setFuflag("1"); |
| | | List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks); |
| | | log.info("dealIcd10Subtask 待处理出院疾病患者数:{}", CollectionUtils.isEmpty(patMedInhosps) ? 0 : patMedInhosps.size()); |
| | | if (CollectionUtils.isNotEmpty(patMedInhosps)) { |
| | | int matchedTaskCount = 0; |
| | | for (PatMedInhosp patMedInhosp : patMedInhosps) { |
| | | // 获取患者基本信息,档案不存在时直接标记失败,避免后续空指针 |
| | | PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid()); |
| | | if (Objects.isNull(patArchive)) { |
| | | PatMedInhosp updateObj = new PatMedInhosp(); |
| | | updateObj.setInhospid(patMedInhosp.getInhospid()); |
| | | updateObj.setDiagcheckFlag("2"); |
| | | updateObj.setLongTaskReason("患者基本信息为空"); |
| | | patMedInhospMapper.updatePatMedInhosp(updateObj); |
| | | continue; |
| | | } |
| | | matchedTaskCount += addIcd10SubTaskForPatient(patMedInhosp, patArchive, config); |
| | | } |
| | | log.info("dealIcd10Subtask 处理完成,待处理:{},匹配疾病长期任务次数:{}", patMedInhosps.size(), matchedTaskCount); |
| | | } |
| | | } |
| | | |
| | | } |