|  |  | 
 |  |  | 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; | 
 |  |  |     @Value("${spring.profiles.active}") | 
 |  |  |     private String active; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 查询患者住院记录 | 
 |  |  | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //根据患者所在病区,获取该病区的长期任务,新华医院可以先不用根据病区和疾病来做 | 
 |  |  |         if (visitHosp != 1) { | 
 |  |  |  | 
 |  |  |         if (active.equals("xh")) { | 
 |  |  |             PatMedInhosp pmbq = new PatMedInhosp(); | 
 |  |  |             //获取需要出院部门随访,未处理的数据 | 
 |  |  |             pmbq.setWardcheckFlag("0"); | 
 |  |  | 
 |  |  |                         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); |