| | |
| | | package com.smartor.service.impl; |
| | | |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | | import com.fasterxml.jackson.core.type.TypeReference; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.ruoyi.common.utils.DtoConversionUtils; |
| | |
| | | @Autowired |
| | | private ServiceSubtaskMapper serviceSubtaskMapper; |
| | | @Autowired |
| | | private SysUserDeptMapper sysUserDeptMapper; |
| | | private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper; |
| | | |
| | | @Value("${visitHosp}") |
| | | private Integer visitHosp; |
| | |
| | | st.setTaskid(taskid); |
| | | st.setSendState(2L); |
| | | List<ServiceTask> serviceTasks = serviceTaskMapper.selectServiceTaskList(st); |
| | | if (CollectionUtils.isEmpty(serviceTasks)) { |
| | | if (CollectionUtils.isEmpty(serviceTasks) && type == 1) { |
| | | log.info("该患者出院随访长期任务不存在,任务ID为:{}", taskid); |
| | | patMedInhosp1.setDeptcheckFlag("2"); |
| | | patMedInhosp1.setLongTaskReason(longTaskReason + " & 该患者出院随访长期任务不存在,任务ID为:" + taskid); |
| | | patMedInhosp1.setLongTaskReason(longTaskReason + " & 该患者离院科室长期任务不存在,任务ID为:" + taskid); |
| | | patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); |
| | | return; |
| | | } else if (CollectionUtils.isEmpty(serviceTasks) && type == 2) { |
| | | patMedInhosp1.setWardcheckFlag("2"); |
| | | patMedInhosp1.setLongTaskReason(longTaskReason + " & 该患者离院病区长期任务不存在,任务ID为:" + taskid); |
| | | patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); |
| | | return; |
| | | } else if (CollectionUtils.isEmpty(serviceTasks) && type == 3) { |
| | | patMedInhosp1.setDiagcheckFlag("2"); |
| | | patMedInhosp1.setLongTaskReason(longTaskReason + " & 该患者疾病长期任务不存在,任务ID为:" + taskid); |
| | | patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); |
| | | return; |
| | | } |
| | |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); |
| | | //重新新增子任务 |
| | | i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | //这里需要全失败 |
| | | addServiceSubtaskPreachform(serviceSubtask, "5"); |
| | | |
| | | } |
| | | } |
| | | } else { |
| | | if (StringUtils.isEmpty(serviceSubtask.getPhone())) { |
| | | serviceSubtask.setRemark("手机号为空"); |
| | | serviceSubtask.setSendstate(4L); |
| | | serviceSubtask.setResult("error"); |
| | | // serviceSubtask.setFinishtime(new Date()); |
| | | } |
| | | serviceSubtask.setCreateBy(serviceTask.getCreateBy()); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | } |
| | | } else { |
| | | if (StringUtils.isEmpty(serviceSubtask.getPhone())) { |
| | | serviceSubtask.setRemark("手机号为空"); |
| | | serviceSubtask.setSendstate(4L); |
| | | serviceSubtask.setResult("error"); |
| | | // serviceSubtask.setFinishtime(new Date()); |
| | | |
| | | } |
| | | serviceSubtask.setCreateBy(serviceTask.getCreateBy()); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | addServiceSubtaskPreachform(serviceSubtask, null); |
| | | } |
| | | if (i == 1) { |
| | | //将check_flag改成1(已处理) |
| | |
| | | } |
| | | } |
| | | |
| | | private Integer addServiceSubtaskPreachform(ServiceSubtask serviceSubtask, String sendstate) { |
| | | //将preachform的json对象,放到list集合中 |
| | | String preachform = serviceSubtask.getPreachform(); |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | if (org.apache.commons.lang3.StringUtils.isNotEmpty(preachform)) { |
| | | List<ServiceSubtaskPreachform> serviceSubtaskPreachformList = null; |
| | | try { |
| | | serviceSubtaskPreachformList = objectMapper.readValue(preachform, new TypeReference<List<ServiceSubtaskPreachform>>() { |
| | | }); |
| | | } catch (JsonProcessingException e) { |
| | | log.error("preachform转List<ServiceSubtaskPreachform>报错了:{}", e.getMessage()); |
| | | } |
| | | for (ServiceSubtaskPreachform serviceSubtaskPreachform : serviceSubtaskPreachformList) { |
| | | serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid()); |
| | | serviceSubtaskPreachform.setSubid(serviceSubtask.getId()); |
| | | //这个sendstate需要在数据库设置一个默认值为“1” |
| | | serviceSubtaskPreachform.setSendstate("1"); |
| | | if (StringUtils.isNotEmpty(sendstate)) serviceSubtaskPreachform.setSendstate(sendstate); |
| | | |
| | | serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid()); |
| | | return serviceSubtaskPreachformMapper.insertServiceSubtaskPreachform(serviceSubtaskPreachform); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | return 0; |
| | | } |
| | | |
| | | |
| | | //封装serviceSubtask |
| | | private ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatMedInhosp patMedInhosp1, PatArchive patArchive) { |
| | | ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class); |