liusheng
昨天 28446c1489c8977d634e7a39dbbc96967e22c6f1
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -479,7 +479,7 @@
                        pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
                        patMedInhospMapper.updatePatMedInhosp(pmiJB);
                    } else if (CollectionUtils.isEmpty(serviceTaskdiags)) {
                        errorIcd = "该患者所在病区未配置长期任务;";
                        errorIcd = "该患者所患疾病未配置长期任务;";
                        PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
                        pmiJB.setDiagcheckFlag("2");
                        pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
@@ -500,60 +500,6 @@
                    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);
//                }
//            }
//            手术随访
            PatMedOperationItem pmoi = new PatMedOperationItem();
            //获取需要出院疾病随访,未处理的数据
@@ -910,7 +856,7 @@
     * @param check         是否需要校验
     * @param patMedInhosp1 病人出入院信息
     * @param patArchive    病人信息
     * @param type          随访类型(1-科室,2-病区,3-疾病)
     * @param type          随访类型(1-科室,2-病区,3-疾病 4-入院科室 5-入院病区)
     * @param config        配置信息 visit.early.day
     */
    //将患者放到subtask中
@@ -940,22 +886,41 @@
                patMedInhosp1.setLongTaskReason(longTaskReason + " & 该患者疾病长期任务不存在,任务ID为:" + taskid);
                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
                return;
            } else if (type == 4) {
                patMedInhosp1.setInDeptcheckFlag("2");
                patMedInhosp1.setLongTaskReason(longTaskReason + " & 该患者入院科室长期任务不存在,任务ID为:" + taskid);
                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
                return;
            } else if (type == 5) {
                patMedInhosp1.setInWardcheckFlag("2");
                patMedInhosp1.setLongTaskReason(longTaskReason + " & 该患者入院病区长期任务不存在,任务ID为:" + taskid);
                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
                return;
            }
        } else {
            serviceTask = serviceTasks.get(0);
        }
        if (Objects.isNull(patMedInhosp1.getEndtime())) {
        if (patMedInhosp1.getInhospstate().equals("1") && Objects.isNull(patMedInhosp1.getEndtime())) {
            return;
        }
        //封装serviceSubtask
        ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp1, patArchive, config);
        ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patMedInhosp1, patArchive, config, type);
        if (ObjectUtils.isEmpty(serviceSubtask)) {
            return;
        }
        if (type != 2) {
            //科室和疾病 都用 科室填充
            serviceSubtask.setVisitDeptCode(patMedInhosp1.getLeaveldeptcode());
            serviceSubtask.setVisitDeptName(patMedInhosp1.getLeaveldeptname());
            if (patMedInhosp1.getInhospstate().equals("1")) {
                serviceSubtask.setVisitDeptCode(patMedInhosp1.getLeaveldeptcode());
                serviceSubtask.setVisitDeptName(patMedInhosp1.getLeaveldeptname());
            } else if (patMedInhosp1.getInhospstate().equals("0")) {
                serviceSubtask.setVisitDeptCode(patMedInhosp1.getDeptcode());
                serviceSubtask.setVisitDeptName(patMedInhosp1.getDeptname());
                if(type==5){
                    serviceSubtask.setVisitDeptCode(patMedInhosp1.getHospitaldistrictcode());
                    serviceSubtask.setVisitDeptName(patMedInhosp1.getHospitaldistrictname());
                }
            }
        } else if (type == 2) {
            serviceSubtask.setVisitDeptCode(patMedInhosp1.getLeavehospitaldistrictcode());
            serviceSubtask.setVisitDeptName(patMedInhosp1.getLeavehospitaldistrictname());
@@ -1089,6 +1054,8 @@
                if (type == 1) patMedInhosp2.setDeptcheckFlag("1");
                if (type == 2) patMedInhosp2.setWardcheckFlag("1");
                if (type == 3) patMedInhosp2.setDiagcheckFlag("1");
                if (type == 4) patMedInhosp2.setInDeptcheckFlag("1");
                if (type == 5) patMedInhosp2.setInWardcheckFlag("1");
                patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
            } else {
                //生成子任务失败,
@@ -1098,6 +1065,8 @@
                if (type == 1) patMedInhosp2.setDeptcheckFlag("2");
                if (type == 2) patMedInhosp2.setWardcheckFlag("2");
                if (type == 3) patMedInhosp2.setDiagcheckFlag("2");
                if (type == 4) patMedInhosp2.setInDeptcheckFlag("2");
                if (type == 5) patMedInhosp2.setInWardcheckFlag("2");
                patMedInhosp2.setRemark("生成子任务失败 " + type);
                patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
            }
@@ -1111,6 +1080,143 @@
            if (type == 3) patMedInhosp2.setDiagcheckFlag("2");
            patMedInhosp2.setRemark("生成子任务报错回滚 " + type);
            patMedInhospMapper.updatePatMedInhosp(patMedInhosp2);
            e.printStackTrace();
        }
    }
    /**
     *
     * @param taskid 任务id
     * @param check 是否需要校验
     * @param patMedOperationItem 手术记录
     * @param config 配置信息 visit.early.day
     */
    //将患者放到subtask中 手术专用
    private void writeInSubTaskForOp(Long taskid, Boolean check, PatMedOperationItem patMedOperationItem, String config) {
        String longTaskReason = patMedOperationItem.getLongTaskReason();
        String orgId = patMedOperationItem.getOrgid();
        if (StringUtils.isEmpty(longTaskReason)) longTaskReason = "";
        ServiceTask st = new ServiceTask();
        st.setTaskid(taskid);
        st.setSendState(2L);
        List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st);
        ServiceTask serviceTask = null;
        if (CollectionUtils.isEmpty(serviceTasks)) {
            log.info("该手术对应手术等级的长期任务不存在,任务ID为:{}", taskid);
            patMedOperationItem.setOpercheckFlag("2");
            patMedOperationItem.setLongTaskReason(longTaskReason + " & 该手术对应手术等级的长期任务不存在,任务ID为:" + taskid);
            patMedOperationItemMapper.insertPatMedOperationItem(patMedOperationItem);
            return;
        } else {
            serviceTask = serviceTasks.get(0);
        }
        if (Objects.isNull(patMedOperationItem.getOpid())) {
            return;
        }
        if (Objects.isNull(patMedOperationItem.getOplevelcode())) {
            return;
        }
        PatMedOperation patMedOperation = patMedOperationMapper.selectPatMedOperationById(patMedOperationItem.getOpid());
        if (Objects.isNull(patMedOperation)) {
            return;
        }
        PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedOperation.getPatid());
        if (Objects.isNull(patArchive)) {
            return;
        }
        PatMedInhosp patMedInhosp = new PatMedInhosp();
        patMedInhosp.setPatid(patMedOperation.getPatid());
        patMedInhosp.setInhospstate("1");
        patMedInhosp.setFuflag("1");
        List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
        if (CollectionUtils.isEmpty(patMedInhospList)) {
            return;
        }
        //封装serviceSubtask
        ServiceSubtask serviceSubtask = boxedServiceSubtaskForOp(serviceTask, patMedInhospList.get(0), patMedOperation, patMedOperationItem, patArchive, config);
        if (ObjectUtils.isEmpty(serviceSubtask)) {
            return;
        }
        serviceSubtask.setVisitDeptCode(patMedOperation.getReqdeptcode());
        serviceSubtask.setVisitDeptName(patMedOperation.getReqdeptname());
        //记录insertServiceSubtask语句返回状态
        Integer i = 0;
        try {
            //先判断一下,是否需要校验
            if (check && (Objects.isNull(serviceSubtask.getTaskSituation()) || serviceSubtask.getTaskSituation() != 6)) {
                //在新增之前,先通过患者ID,sendstate=2查询一下,在所有长期任务中,是不是还有该患者待执行的任务,有的话,比较之前的endtime是否小于当前的endtaime,如果之前的小于现在的,则直接将之前的停掉(原因再入院)
                ServiceSubtaskEntity subtask = new ServiceSubtaskEntity();
                subtask.setPatid(patArchive.getId());
                subtask.setSendstate(2L);
                subtask.setTaskid(taskid);
                List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(subtask);
//                log.info("该患者待执行的任务:{}", CollectionUtils.isNotEmpty(selectServiceSubtaskList) ? selectServiceSubtaskList.size() : null);
                if (CollectionUtils.isNotEmpty(selectServiceSubtaskList) && selectServiceSubtaskList.size() > 0) {
                    for (ServiceSubtask serviceSubtask1 : selectServiceSubtaskList) {
                        if (Objects.isNull(serviceSubtask1.getLongSendTime())) {
                            //不是长期任务,不处理
                            continue;
                        }
                    }
                } else {
                    if (StringUtils.isEmpty(serviceSubtask.getPhone())) {
                        if (StringUtils.isNotEmpty(serviceSubtask.getRemark()))
                            serviceSubtask.setRemark(serviceSubtask.getRemark() + ",手机号为空");
                        else serviceSubtask.setRemark("手机号为空");
                        serviceSubtask.setSendstate(4L);
                        serviceSubtask.setResult("error");
                    }
                    serviceSubtask.setCreateBy(serviceTask.getCreateBy());
                    serviceSubtask.setCreateTime(new Date());
                    i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
                    addServiceSubtaskPreachform(serviceSubtask, null);
                }
            } else if (serviceSubtask.getTaskSituation() == 6) {
                //说明该患者是被过滤的,不用再执行了
                serviceSubtask.setCreateBy(serviceTask.getCreateBy());
                serviceSubtask.setCreateTime(new Date());
                i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
            } else {
                if (StringUtils.isEmpty(serviceSubtask.getPhone())) {
                    if (StringUtils.isNotEmpty(serviceSubtask.getRemark()))
                        serviceSubtask.setRemark(serviceSubtask.getRemark() + ",手机号为空");
                    else serviceSubtask.setRemark("手机号为空");
                    serviceSubtask.setSendstate(4L);
                    serviceSubtask.setResult("error");
                }
                serviceSubtask.setCreateBy(serviceTask.getCreateBy());
                serviceSubtask.setCreateTime(new Date());
                i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask);
                addServiceSubtaskPreachform(serviceSubtask, null);
            }
            //将check_flag改成1(已处理)
            if (i == 1) {
                PatMedOperationItem patMedOperationItem2 = new PatMedOperationItem();
                patMedOperationItem2.setId(patMedOperationItem.getId());
                patMedOperationItem2.setOpercheckFlag("1");
                patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem2);
            } else {
                //生成子任务失败,
                log.info("生成子任务失败serviceSubtask的taskid为:{},patid为:{}", serviceSubtask.getTaskid(), serviceSubtask.getPatid());
                PatMedOperationItem patMedOperationItem2 = new PatMedOperationItem();
                patMedOperationItem2.setId(patMedOperationItem.getId());
                patMedOperationItem2.setOpercheckFlag("2");
                patMedOperationItem2.setRemark("生成子任务失败 4");
                patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem2);
            }
        } catch (Exception e) {
            //出错回滚事务
            log.info("生成子任务报错回滚sserviceSubtask的taskid为:{},patid为:{}", serviceSubtask.getTaskid(), serviceSubtask.getPatid());
            PatMedOperationItem patMedOperationItem2 = new PatMedOperationItem();
            patMedOperationItem2.setId(patMedOperationItem.getId());
            patMedOperationItem2.setOpercheckFlag("2");
            patMedOperationItem2.setRemark("生成子任务报错回滚 4");
            patMedOperationItemMapper.updatePatMedOperationItem(patMedOperationItem2);
            e.printStackTrace();
        }
    }
@@ -1152,7 +1258,7 @@
    //封装serviceSubtask
    private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive, String config) {
    private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive, String config, Integer type) {
        //增加serviceTask判空
//        if(Objects.isNull(serviceTask)){
//            return null;
@@ -1168,6 +1274,15 @@
        serviceSubtask.setDrname(patMedInhosp1.getDrname());
        serviceSubtask.setDeptcode(patMedInhosp1.getLeaveldeptcode());
        serviceSubtask.setDeptname(patMedInhosp1.getLeaveldeptname());
        serviceSubtask.setLeavehospitaldistrictcode(patMedInhosp1.getLeavehospitaldistrictcode());
        serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getLeavehospitaldistrictname());
        if (type == 4 || type == 5) {
            //设置入院的
            serviceSubtask.setDeptcode(patMedInhosp1.getDeptcode());
            serviceSubtask.setDeptname(patMedInhosp1.getDeptname());
            serviceSubtask.setLeavehospitaldistrictcode(patMedInhosp1.getHospitaldistrictcode());
            serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getHospitaldistrictname());
        }
        serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code());
        serviceSubtask.setLeavediagname(patMedInhosp1.getDiagname());
        serviceSubtask.setTemplateid(serviceTask.getTemplateid());
@@ -1187,6 +1302,7 @@
        serviceSubtask.setServiceType(serviceTask.getServiceType());
        serviceSubtask.setPreachform(serviceTask.getPreachform());
        serviceSubtask.setHospType("2");
        if (type == 4 || type == 5) serviceSubtask.setHospType("6");
        serviceSubtask.setCreateTime(new Date());
        serviceSubtask.setUpdateTime(new Date());
        serviceSubtask.setCreateBy(patMedInhosp1.getNurseName());
@@ -1194,17 +1310,24 @@
        serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getLeavehospitaldistrictname());
        serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
        serviceSubtask.setUpdateTime(new Date());
        //如果是宣教就设置为7
        if (serviceTask.getServiceType().equals("17")) serviceSubtask.setTaskSituation(7);
        //设置发送时间
        if (serviceTask.getSendDay() == null) serviceTask.setSendDay(1L);
        Date newDate = null;
        if (!Objects.isNull(patMedInhosp1.getEndtime())) {
            newDate = addDays(patMedInhosp1.getEndtime(), serviceTask.getSendDay().intValue());
        } else {
            patMedInhosp1.setDeptcheckFlag("2");
            patMedInhosp1.setRemark(patMedInhosp1.getRemark() + "& 该患者疾病出院时间为空,出院记录ID为:" + patMedInhosp1.getInhospid());
            patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
            //如果出院时间为空,则返回一个新对象
            return new ServiceSubtask();
            //如果等于4,说明是入院宣教,入院不可能有endTime
            if (type != 4 && type != 5) {
                patMedInhosp1.setDeptcheckFlag("2");
                patMedInhosp1.setRemark(patMedInhosp1.getRemark() + "& 该患者疾病出院时间为空,出院记录ID为:" + patMedInhosp1.getInhospid());
                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
                //如果出院时间为空,则返回一个新对象
                return new ServiceSubtask();
            }
            //入院宣教,基本当天或隔天就要发出
            newDate = addDays(new Date(), serviceTask.getSendDay().intValue());
        }
        serviceSubtask.setLongSendTime(newDate);
        serviceSubtask.setVisitTime(newDate);
@@ -1240,6 +1363,79 @@
        return serviceSubtask;
    }
    //封装serviceSubtask
    private ServiceSubtask boxedServiceSubtaskForOp(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatMedOperation patMedOperation, PatMedOperationItem patMedOperationItem, PatArchive patArchive, String config) {
        ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class);
        serviceSubtask.setTaskid(serviceTask.getTaskid());
        if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid()))
            serviceSubtask.setLibtemplateid(Long.valueOf(serviceTask.getLibtemplateid()));
        serviceSubtask.setNurseId(patMedOperation.getNurseId());
        serviceSubtask.setNurseName(patMedOperation.getNurseName());
//        serviceSubtask.setInhospid(patMedInhosp.getInhospid());
        serviceSubtask.setDrcode(patMedOperation.getDrcode());
        serviceSubtask.setDrname(patMedOperation.getDrname());
        serviceSubtask.setDeptcode(patMedOperation.getDeptcode());
        serviceSubtask.setDeptname(patMedOperation.getDeptname());
        serviceSubtask.setTemplateid(serviceTask.getTemplateid());
        serviceSubtask.setTemplatename(serviceTask.getTemplatename());
        serviceSubtask.setPatid(patArchive.getId());
        serviceSubtask.setSendname(patArchive.getName());
        serviceSubtask.setSfzh(patArchive.getIdcardno());
        serviceSubtask.setPhone(patArchive.getTelcode());
        if (StringUtils.isBlank(patArchive.getTelcode())) serviceSubtask.setPhone(patArchive.getRelativetelcode());
        serviceSubtask.setSex(patArchive.getSex());
        serviceSubtask.setAge(patArchive.getAge());
        serviceSubtask.setSendstate(2L);
        serviceSubtask.setManagementDoctor(patMedOperation.getDrname());
        serviceSubtask.setManagementDoctorCode(patMedOperation.getDrcode());
//        serviceSubtask.setStarttime(patMedInhosp.getStarttime());
//        serviceSubtask.setEndtime(patMedInhosp.getEndtime());
        serviceSubtask.setServiceType(serviceTask.getServiceType());
        serviceSubtask.setPreachform(serviceTask.getPreachform());
        serviceSubtask.setHospType("2");
        serviceSubtask.setCreateTime(new Date());
        serviceSubtask.setUpdateTime(new Date());
        serviceSubtask.setCreateBy(patMedOperation.getNurseName());
//        serviceSubtask.setLeavehospitaldistrictcode(patArchive.getLeavehospitaldistrictcode());
//        serviceSubtask.setLeavehospitaldistrictname(patArchive.getLeavehospitaldistrictname());
        serviceSubtask.setOperationItemId(patMedOperationItem.getId());
        serviceSubtask.setUpdateBy(serviceTask.getUpdateBy());
        serviceSubtask.setUpdateTime(new Date());
        //todo
        //设置发送时间
        if (serviceTask.getSendDay() == null) serviceTask.setSendDay(1L);
        Date newDate = null;
        if (!Objects.isNull(patMedInhosp1.getEndtime())) {
            newDate = addDays(patMedInhosp1.getEndtime(), serviceTask.getSendDay().intValue());
        } else {
            patMedInhosp1.setDeptcheckFlag("2");
            patMedInhosp1.setRemark(patMedInhosp1.getRemark() + "& 该患者手术出院时间为空,出院记录ID为:" + patMedInhosp1.getInhospid());
            patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
            //如果出院时间为空,则返回一个新对象
            return new ServiceSubtask();
        }
        serviceSubtask.setLongSendTime(newDate);
        serviceSubtask.setVisitTime(newDate);
        //如果是通知的话,需要提前几天将通过短信发出去(具体几天,这个可以配置在sys_conf表中)
        if ("3".equals(serviceTask.getType())) {
            serviceSubtask.setVisitTime(minusDay(newDate, StringUtils.isNotEmpty(config) ? Integer.parseInt(config) : 0));
        }
        //患者发送时间
        if (StringUtils.isNotEmpty(patArchive.getNotrequiredFlag()) && patArchive.getNotrequiredFlag().equals("1")) {
            String remark = patArchive.getNotrequiredreason();
            serviceSubtask.setRemark(remark);
            serviceSubtask.setResult("error");
            serviceSubtask.setTaskSituation(6);
            //不执行
            serviceSubtask.setSendstate(4L);
        }
        return serviceSubtask;
    }
    /**
     * 减去相应天数
     *