sinake
8 天以前 ae10df8ee9a966ad76280e4a7f696b1decfc1b85
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -66,6 +66,11 @@
        return patMedInhospMapper.selectPatMedInhospByInhospid(inhospid);
    }
    @Override
    public List<PatMedInhosp> selectPatMedInhosp(PatMedInhosp patMedInhosp) {
        return patMedInhospMapper.selectPatMedInhosp(patMedInhosp);
    }
    /**
     * 查询患者住院记录列表
     *
@@ -216,7 +221,7 @@
        pmks.setInhospstate("1");
        pmks.setFuflag("1");
        List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks);
        log.info("dealOutHospInfo需要处理的出院部门患者信息:{}", patMedInhosps);
        log.info("dealOutHospInfo需要处理的出院部门患者信息:{}", CollectionUtils.isNotEmpty(patMedInhosps) ? patMedInhosps.size() : null);
        for (PatMedInhosp patMedInhosp1 : patMedInhosps) {
            String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
            patMedInhosp1.setTagname(tagname);
@@ -261,14 +266,14 @@
        }
        //根据患者所在病区,获取该病区的长期任务,新华医院可以先不用根据病区和疾病来做
        if (active.equals("xh")) {
        if (!active.equals("xh")) {
            PatMedInhosp pmbq = new PatMedInhosp();
            //获取需要出院部门随访,未处理的数据
            pmbq.setWardcheckFlag("0");
            pmbq.setInhospstate("1");
            pmbq.setFuflag("1");
            List<PatMedInhosp> patMedInhospBQs = patMedInhospMapper.selectPatMedInhospList(pmbq);
            log.info("dealOutHospInfo需要处理的出院病区患者信息:{}", patMedInhosps);
            log.info("dealOutHospInfo需要处理的出院病区患者信息:{}", CollectionUtils.isNotEmpty(patMedInhospBQs) ? patMedInhospBQs.size() : null);
            for (PatMedInhosp patMedInhosp1 : patMedInhospBQs) {
                String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
                patMedInhosp1.setTagname(tagname);
@@ -318,7 +323,7 @@
            pmjb.setInhospstate("1");
            pmjb.setFuflag("1");
            List<PatMedInhosp> patMedInhospJBs = patMedInhospMapper.selectPatMedInhospList(pmjb);
            log.info("dealOutHospInfo需要处理的出院疾病患者信息:{}", patMedInhosps);
            log.info("dealOutHospInfo需要处理的出院疾病患者信息:{}", CollectionUtils.isNotEmpty(patMedInhospJBs) ? patMedInhospJBs.size() : null);
            for (PatMedInhosp patMedInhosp1 : patMedInhospJBs) {
                String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
                patMedInhosp1.setTagname(tagname);
@@ -586,7 +591,7 @@
            subtask.setSendstate(2L);
            subtask.setTaskid(taskid);
            List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(subtask);
            log.info("该患者待执行的任务:{}", selectServiceSubtaskList);
            log.info("该患者待执行的任务:{}", CollectionUtils.isNotEmpty(selectServiceSubtaskList) ? selectServiceSubtaskList.size() : null);
            if (CollectionUtils.isNotEmpty(selectServiceSubtaskList) && selectServiceSubtaskList.size() > 0) {
                for (ServiceSubtask serviceSubtask1 : selectServiceSubtaskList) {
                    if (Objects.isNull(serviceSubtask1.getLongSendTime())) {
@@ -640,6 +645,7 @@
                serviceSubtask.setCreateBy(serviceTask.getCreateBy());
                serviceSubtask.setCreateTime(new Date());
                i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
                addServiceSubtaskPreachform(serviceSubtask, null);
            }
        } else {
            if (StringUtils.isEmpty(serviceSubtask.getPhone())) {
@@ -663,7 +669,7 @@
            patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
        } else {
            //生成子任务失败,
            log.info("生成子任务失败serviceSubtask为:{}", serviceSubtask);
            log.info("生成子任务失败serviceSubtask的taskid为:{},patid为:{}", serviceSubtask.getTaskid(),serviceSubtask.getPatid());
            PatMedInhosp patMedInhosp2 = new PatMedInhosp();
            patMedInhosp2.setInhospid(patMedInhosp1.getInhospid());
            if (type == 1) patMedInhosp2.setDeptcheckFlag("2");
@@ -675,13 +681,15 @@
    }
    private Integer addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) {
        //将preachform的json对象,放到list集合中
        String preachform = serviceSubtask.getPreachform();
        //将preachformDesc的json对象,放到list集合中
        ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
        String preachformDesc = serviceTask.getPreachformDesc();
        ObjectMapper objectMapper = new ObjectMapper();
        if (org.apache.commons.lang3.StringUtils.isNotEmpty(preachform)) {
        if (org.apache.commons.lang3.StringUtils.isNotEmpty(preachformDesc)) {
            List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = null;
            try {
                serviceSubtaskPreachformList = objectMapper.readValue(preachform, new TypeReference<List<ServiceSubtaskPreachform>>() {
                serviceSubtaskPreachformList = objectMapper.readValue(preachformDesc, new TypeReference<List<ServiceSubtaskPreachform>>() {
                });
            } catch (JsonProcessingException e) {
                log.error("preachform转List<ServiceSubtaskPreachform>报错了:{}", e.getMessage());
@@ -694,8 +702,7 @@
                if (StringUtils.isNotEmpty(sendstate)) serviceSubtaskPreachform.setSendstate(sendstate);
                serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
                return serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform);
                serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform);
            }
        }