陈昶聿
昨天 a2dd18982406d0b859ba8a6f3aa1696014faf966
【丽水】处理患者信息,进入子任务表定时任务 空指针异常修复
已修改2个文件
17 ■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
@@ -10,6 +10,7 @@
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.PageUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.service.ISysConfigService;
import com.smartor.domain.PatMedInhosp;
import com.smartor.domain.PatMedInhospVO;
import com.smartor.domain.PatMedReq;
@@ -41,6 +42,10 @@
    @Autowired
    private IPatMedOuthospService iPatMedOuthospService;
    //todo
    @Autowired
    private ISysConfigService configService;
    /**
@@ -207,4 +212,11 @@
//        }
//    }
    @ApiOperation("测试定时任务dealOutHospInfo")
    @PostMapping("/dealOutHospInfo")
    public void dealOutHospInfo() {
        String config = configService.selectConfigByKey("visit.early.day");
        //出院表
        patMedInhospService.dealOutHospInfo(config);
    }
}
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -536,7 +536,6 @@
        return calendar.getTime();
    }
    //todo
    //将患者放到subtask中
    private void writeInSubTask(Long taskid, Boolean check, PatMedInhosp patMedInhosp1, PatArchive patArchive, Integer type, String config) {
        String longTaskReason = patMedInhosp1.getLongTaskReason();
@@ -564,9 +563,9 @@
                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
                return;
            }
        }else {
            serviceTask = serviceTasks.get(0);
        }
        if (Objects.isNull(patMedInhosp1.getEndtime())) {
            return;
        }
@@ -584,7 +583,7 @@
        Integer i = 0;
        //先判断一下,是否需要校验
        if (check && serviceSubtask.getTaskSituation() != 6) {
        if (check && (Objects.isNull(serviceSubtask.getTaskSituation()) || serviceSubtask.getTaskSituation() != 6)) {
            //在新增之前,先通过患者ID,sendstate=2查询一下,在所有长期任务中,是不是还有该患者待执行的任务,有的话,比较之前的endtime是否小于当前的endtaime,如果之前的小于现在的,则直接将之前的停掉(原因再入院)
            ServiceSubtaskVO subtask = new ServiceSubtaskVO();
            subtask.setPatid(patArchive.getId());