陈昶聿
13 小时以前 f1f9e42e3714dc51cd63e8187add28e4138cb8e8
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -897,7 +897,7 @@
        //封装serviceSubtask
        ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperationItem, patArchive, config);
        if (ObjectUtils.isEmpty(serviceSubtask)) {
        if (ObjectUtils.isEmpty(serviceSubtask) || Objects.isNull(serviceSubtask.getTaskid())) {
            return;
        }
        if (StringUtils.isNotEmpty(patMedOperationItem.getLeaveldeptcode())) {
@@ -972,15 +972,18 @@
                patMedOperationItem2.setId(patMedOperationItem.getId());
                patMedOperationItem2.setOpercheckFlag("2");
                patMedOperationItem2.setLongTaskReason("生成子任务失败 4;");
                patMedOperationItem2.setUpdateTime(new Date());
                patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem2);
            }
        } catch (Exception e) {
            //出错回滚事务
            log.info("生成子任务报错回滚sserviceSubtask的taskid为:{},patid为:{}", serviceSubtask.getTaskid(), serviceSubtask.getPatid());
            log.error("生成子任务报错回滚sserviceSubtask的taskid为:{},patid为:{},手术详情ID为:{}",
                    serviceSubtask.getTaskid(), serviceSubtask.getPatid(), patMedOperationItem.getId(), e);
            PatMedOperationItem patMedOperationItem2 = new PatMedOperationItem();
            patMedOperationItem2.setId(patMedOperationItem.getId());
            patMedOperationItem2.setOpercheckFlag("2");
            patMedOperationItem2.setUpdateTime(new Date());
            patMedOperationItem2.setLongTaskReason("生成子任务报错回滚 4;");
            patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem2);
            e.printStackTrace();
@@ -990,6 +993,10 @@
    private Integer addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) {
        //将preachformDesc的json对象,放到list集合中
        ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
        if (Objects.isNull(serviceTask)) {
            log.error("addServiceSubtaskPreachform taskid={} 查不到任务,跳过preachform子表生成", serviceSubtask.getTaskid());
            return 0;
        }
        String preachformDesc = serviceTask.getPreachformDesc();
        ObjectMapper objectMapper = new ObjectMapper();
@@ -1000,6 +1007,11 @@
                });
            } catch (JsonProcessingException e) {
                log.error("preachform转List<ServiceSubtaskPreachform>报错了:{}", e.getMessage());
            }
            if (CollectionUtils.isEmpty(serviceSubtaskPreachformList)) {
                log.error("preachformDesc解析后为空,跳过preachform子表生成,taskid为:{},preachformDesc为:{}",
                        serviceSubtask.getTaskid(), preachformDesc);
                return 0;
            }
            for (ServiceSubtaskPreachform serviceSubtaskPreachform : serviceSubtaskPreachformList) {
                serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
@@ -1194,7 +1206,7 @@
//            patMedInhosp1.setRemark(patMedInhosp1.getRemark() + "& 该患者手术出院时间为空,出院记录ID为:" + patMedInhosp1.getInhospid());
//            patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
            //如果出院时间为空,则返回一个新对象
            return new ServiceSubtask();
            return null;
        }
        serviceSubtask.setLongSendTime(newDate);
        serviceSubtask.setVisitTime(newDate);
@@ -1284,6 +1296,7 @@
        }
        pmoi.setOpercheckFlag("0");
        pmoi.setMainFlag("1");
        pmoi.setOpid("5414");
        List<PatMedOperationItem> patMedOperationItems = patMedOperationItemMapper.selectOperationItemList(pmoi);
        log.info("dealOutHospInfo需要处理的出院手术患者信息:{}", CollectionUtils.isNotEmpty(patMedOperationItems) ? patMedOperationItems.size() : null);
@@ -1325,6 +1338,7 @@
                    PatMedOperationItem patMedOperationItem = patMedOperationItemMapper.selectPatMedOperationItemById(opItem.getId());
                    patMedOperationItem.setOpercheckFlag("2");
                    patMedOperationItem.setLongTaskReason("所患的手术未配置长期任务;");
                    patMedOperationItem.setUpdateTime(new Date());
                    patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem);
                } else {
                    for (ServiceTaskoper serviceTaskoper : serviceTaskopers) {
@@ -1335,6 +1349,7 @@
            } catch (Exception e) {
                e.printStackTrace();
                log.error("人员手术处理出异常了:{}", e.getMessage());
                opItem.setUpdateTime(new Date());
                opItem.setOpercheckFlag("2");
                opItem.setLongTaskReason("人员手术处理异常");
                patMedOperationItemMapper.updatePatMedOperationItem(opItem);