| | |
| | | //将患者放到subtask中 |
| | | private void writeInSubTask(Long taskid, Boolean check, PatMedInhosp patMedInhosp1, PatArchive patArchive, Integer type, String config) { |
| | | String longTaskReason = patMedInhosp1.getLongTaskReason(); |
| | | String orgId = patMedInhosp1.getOrgid(); |
| | | if (StringUtils.isEmpty(longTaskReason)) longTaskReason = ""; |
| | | ServiceTask st = new ServiceTask(); |
| | | st.setTaskid(taskid); |
| | |
| | | if (aBoolean) i = 1; |
| | | continue; |
| | | } |
| | | if (endTime1.before(endTime) && serviceSubtask1.getServiceType().equals("2")) { |
| | | //如果当前循环的子任务的出院时间在“准备新增的子任务”的出院时间之前,则将循环的子任务停掉 |
| | | serviceSubtask1.setSendstate(4L); |
| | | if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) |
| | | serviceSubtask.setRemark(serviceSubtask.getRemark() + ",科室/病区患者再入院"); |
| | | else serviceSubtask.setRemark("科室/病区患者再入院"); |
| | | serviceSubtask1.setResult("error"); |
| | | serviceSubtask1.setUpdateBy(serviceTask.getUpdateBy()); |
| | | serviceSubtask1.setUpdateTime(new Date()); |
| | | Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); |
| | | if (aBoolean) i = 1; |
| | | } else { |
| | | //相反,则将当有的数据停掉 |
| | | serviceSubtask.setResult("error"); |
| | | serviceSubtask.setSendstate(4L); |
| | | if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) |
| | | serviceSubtask.setRemark(serviceSubtask.getRemark() + ",当前患者出院时间后有待执行的出院随访长期任务"); |
| | | else serviceSubtask.setRemark("当前患者出院时间后有待执行的出院随访长期任务"); |
| | | serviceSubtask.setCreateBy(serviceTask.getCreateBy()); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | //再入院逻辑 |
| | | //景宁 出院首次(7天)随访一定要做 |
| | | boolean firstVisit = false; |
| | | if (orgId.equals("47255004333112711A1001") |
| | | && serviceSubtask1.getVisitCount() != null && serviceSubtask1.getVisitCount() == 1){ |
| | | firstVisit = true; |
| | | } |
| | | //景宁的不需要将再入院的子任务停掉 |
| | | if(!firstVisit){ |
| | | if (endTime1.before(endTime) && serviceSubtask1.getServiceType().equals("2")) { |
| | | //如果当前循环的子任务的出院时间在“准备新增的子任务”的出院时间之前,则将循环的子任务停掉 |
| | | serviceSubtask1.setSendstate(4L); |
| | | if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) |
| | | serviceSubtask.setRemark(serviceSubtask.getRemark() + ",科室/病区患者再入院"); |
| | | else serviceSubtask.setRemark("科室/病区患者再入院"); |
| | | serviceSubtask1.setResult("error"); |
| | | serviceSubtask1.setUpdateBy(serviceTask.getUpdateBy()); |
| | | serviceSubtask1.setUpdateTime(new Date()); |
| | | Boolean aBoolean = serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); |
| | | if (aBoolean) i = 1; |
| | | } else { |
| | | //相反,则将当有的数据停掉 |
| | | serviceSubtask.setResult("error"); |
| | | serviceSubtask.setSendstate(4L); |
| | | if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) |
| | | serviceSubtask.setRemark(serviceSubtask.getRemark() + ",当前患者出院时间后有待执行的出院随访长期任务"); |
| | | else serviceSubtask.setRemark("当前患者出院时间后有待执行的出院随访长期任务"); |
| | | serviceSubtask.setCreateBy(serviceTask.getCreateBy()); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | } |
| | | } |
| | | } else if (type == 3) { |
| | | //type=3 表示疾病 |