陈昶聿
昨天 a606e176a6047983266be645036f37e184b247e3
【丽水】手术随访
已修改2个文件
61 ■■■■■ 文件已修改
smartor/src/main/java/com/smartor/domain/PatMedInhosp.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
@@ -296,6 +296,11 @@
     */
    @ApiModelProperty(value = "疾病长期任务,是否处理:0未处理   1处理成功    2处理失败 ")
    private String diagcheckFlag;
    /**
     * 手术长期任务,是否处理:0未处理   1处理
     */
    @ApiModelProperty(value = "手术长期任务,是否处理:0未处理   1处理成功    2处理失败 ")
    private String opercheckFlag;
    /**
     * 年龄
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -41,6 +41,8 @@
    @Autowired
    private ServiceTaskdiagMapper serviceTaskdiagMapper;
    @Autowired
    private ServiceTaskoperMapper serviceTaskoperMapper;
    @Autowired
    private PatArchiveMapper patArchiveMapper;
    @Autowired
    private PatArchiveImportMapper patArchiveImportMapper;
@@ -376,6 +378,60 @@
                    patMedInhospMapper.updatePatMedInhosp(pmiJB);
                }
            }
            PatMedInhosp pmss = new PatMedInhosp();
            //获取需要出院疾病随访,未处理的数据
            pmss.setOpercheckFlag("0");
            pmss.setInhospstate("1");
            pmss.setFuflag("1");
            List<PatMedInhosp> patMedInhospSSs = patMedInhospMapper.selectPatMedInhospList(pmss);
            log.info("dealOutHospInfo需要处理的出院疾病患者信息:{}", CollectionUtils.isNotEmpty(patMedInhospSSs) ? patMedInhospSSs.size() : null);
            for (PatMedInhosp patMedInhosp1 : patMedInhospSSs) {
                String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
                patMedInhosp1.setTagname(tagname);
            }
            for (PatMedInhosp pmiSS : patMedInhospSSs) {
                //获取患者信息
                PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(pmiSS.getPatid());
                if (Objects.isNull(patArchive)) {
                    pmiSS.setDiagcheckFlag("2");
                    pmiSS.setLongTaskReason("患者基本信息为空");
                    patMedInhospMapper.updatePatMedInhosp(pmiSS);
                    continue;
                }
                try {
//                    if (StringUtils.isEmpty(pmiSS.getLeaveicd10code())) {
//                        continue;
//                    }
                    // 根据患者的疾病,获取该疾病的长期任务
                    ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
                    serviceTaskoper.setLongtask(1L);
                    serviceTaskoper.setOrgid(pmiSS.getOrgid());
                    //todo
                    serviceTaskoper.setOplevelcode("");
                    List<ServiceTaskoper> serviceTaskopers = serviceTaskoperMapper.selectServiceTaskoperList(serviceTaskoper);
                    //如果部门模板为空(将deptIsNull设置为true)
                    if (CollectionUtils.isEmpty(serviceTaskopers) || serviceTaskopers.size() == 0) {
                        PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiSS.getInhospid());
                        pmiSS.setOpercheckFlag("2");
                        pmiSS.setLongTaskReason(patMedInhosp.getLongTaskReason() + "所患的手术未配置长期任务;");
                        patMedInhospMapper.updatePatMedInhosp(pmiSS);
                    } else {
                        for (ServiceTaskoper serviceTaskoper1 : serviceTaskopers) {
                            writeInSubTask(serviceTaskoper1.getTaskId(), true, pmiSS, patArchive, 3, config);
                        }
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                    log.error("人员手术处理出异常了:{}", e.getMessage());
                    pmiSS.setOpercheckFlag("2");
                    pmiSS.setLongTaskReason("人员手术处理异常:" + e.getMessage());
                    patMedInhospMapper.updatePatMedInhosp(pmiSS);
                }
            }
        }
        //获取未处理在院的数据(如果刚刚出院的患者数据的出院时间,在下面查询出的入院时间之前,那之前的出院患者的数据,也得停掉,因为又入院了)