陈昶聿
13 小时以前 e12b7983327f4881f91c8d081c52abbbf5bbc1e4
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -993,7 +993,7 @@
            return;
        }
        //封装serviceSubtask
        ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedOperation, patArchive, config);
        ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedOperation, patMedOperationItem, patArchive, config);
        if (ObjectUtils.isEmpty(serviceSubtask)) {
            return;
        }
@@ -1204,7 +1204,7 @@
    }
    //封装serviceSubtask
    private ServiceSubtask boxedServiceSubtaskForOp(ServiceTask serviceTask, PatMedOperation patMedOperation, PatArchive patArchive, String config) {
    private ServiceSubtask boxedServiceSubtaskForOp(ServiceTask serviceTask, PatMedOperation patMedOperation, PatMedOperationItem patMedOperationItem, PatArchive patArchive, String config) {
        ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class);
        serviceSubtask.setTaskid(serviceTask.getTaskid());
        if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid()))
@@ -1240,6 +1240,7 @@
        serviceSubtask.setCreateBy(patMedOperation.getNurseName());
//        serviceSubtask.setLeavehospitaldistrictcode(patArchive.getLeavehospitaldistrictcode());
//        serviceSubtask.setLeavehospitaldistrictname(patArchive.getLeavehospitaldistrictname());
        serviceSubtask.setOperationItemId(patMedOperationItem.getId());
        serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
        serviceSubtask.setUpdateTime(new Date());
        //设置发送时间
@@ -1301,15 +1302,24 @@
                            //不是长期任务,不处理
                            continue;
                        }
                        if (serviceSubtask1.getEndtime().before(patMedInhosp1.getStarttime())) {
                            //如果当前循环的子任务的出院时间在“准备新增的子任务”的出院时间之前,则将循环的子任务停掉
//                            log.error("患者再入院的serviceSubtask1为:{}", serviceSubtask1);
                            serviceSubtask1.setSendstate(4L);
                            serviceSubtask1.setRemark("患者再入院");
                            serviceSubtask1.setResult("error");
//                            serviceSubtask1.setFinishtime(new Date());
                            serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
                        //景宁 出院首次(7天)随访一定要做
                        boolean firstVisit = false;
                        if (serviceSubtask1.getOrgid().equals("47255004333112711A1001")
                                && serviceSubtask1.getVisitCount() != null && serviceSubtask1.getVisitCount() == 1) {
                            firstVisit = true;
                        }
                        if (!firstVisit) {
                            if (serviceSubtask1.getEndtime().before(patMedInhosp1.getStarttime())) {
                                //如果当前循环的子任务的出院时间在“准备新增的子任务”的出院时间之前,则将循环的子任务停掉
//                            log.error("患者再入院的serviceSubtask1为:{}", serviceSubtask1);
                                serviceSubtask1.setSendstate(4L);
                                serviceSubtask1.setRemark("患者再入院");
                                serviceSubtask1.setResult("error");
//                            serviceSubtask1.setFinishtime(new Date());
                                serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1);
                            }
                        }
                    }
                }
                //将患入的入院数据设置为已处理