陈昶聿
2 天以前 a606e176a6047983266be645036f37e184b247e3
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;
@@ -374,6 +376,60 @@
                    pmiJB.setDiagcheckFlag("2");
                    pmiJB.setLongTaskReason("人员疾病处理异常:" + e.getMessage());
                    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);
                }
            }
        }
@@ -996,7 +1052,7 @@
        serviceSubtask.setLongSendTime(newDate);
        serviceSubtask.setVisitTime(newDate);
        if (patMedInhosp1.getFudate() != null && !patMedInhosp1.getOrgid().equals("47255004333112711A1001")) serviceSubtask.setVisitTime(patMedInhosp1.getFudate());
//        if (patMedInhosp1.getFudate() != null && !patMedInhosp1.getOrgid().equals("47255004333112711A1001")) serviceSubtask.setVisitTime(patMedInhosp1.getFudate());
        //如果是通知的话,需要提前几天将通过短信发出去(具体几天,这个可以配置在sys_conf表中)
        if ("3".equals(serviceTask.getType())) {
            serviceSubtask.setVisitTime(minusDay(newDate, StringUtils.isNotEmpty(config) ? Integer.parseInt(config) : 0));