| | |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.*; |
| | | import com.smartor.common.FtpService; |
| | | import com.smartor.common.SendService; |
| | | import com.smartor.config.PhoneUtils; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.mapper.*; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.Duration; |
| | |
| | | @Autowired |
| | | private FtpService ftpService; |
| | | |
| | | @Autowired |
| | | private PatMedInhospMapper patMedInhospMapper; |
| | | |
| | | @Autowired |
| | | private PatArchiveMapper patArchiveMapper; |
| | | |
| | | @Value("${pri_key}") |
| | | private String pri_key; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private RedisTemplate redisTemplate; |
| | | |
| | | @Autowired |
| | | private SendService sendService; |
| | | |
| | | @Value("${hangup}") |
| | | private String hangup; |
| | |
| | | @Override |
| | | public List<ServiceSubtask> patItem(ServiceSubtaskVO serviceSubtaskVO) { |
| | | List<ServiceSubtask> selectServiceSubtaskList = this.selectServiceSubtaskList(serviceSubtaskVO); |
| | | |
| | | return selectServiceSubtaskList; |
| | | } |
| | | |
| | |
| | | public int insertServiceSubtask(ServiceSubtask serviceSubtask) { |
| | | serviceSubtask.setCreateTime(DateUtils.getNowDate()); |
| | | return serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | } |
| | | |
| | | /** |
| | | * 再次新增单一任务(随访) |
| | | * |
| | | * @param serviceSubtask 再次新增单一任务(随访) |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public String addSubTaskAgain(ServiceSubtask serviceSubtask) { |
| | | ServiceSubtask serviceSubtask1 = selectServiceSubtaskById(serviceSubtask.getId()); |
| | | PatMedInhosp patMedInhosp = new PatMedInhosp(); |
| | | patMedInhosp.setPatid(serviceSubtask1.getPatid()); |
| | | patMedInhosp.setInhospstate("0"); |
| | | List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); |
| | | PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(serviceSubtask1.getPatid()); |
| | | |
| | | if (patMedInhospList.size() > 0) { |
| | | serviceSubtask1.setIsVisitAgain(2); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); |
| | | return "无需再次随访,患者再入院了"; |
| | | } else if (serviceSubtask1.getSendstate() == 4L) { |
| | | serviceSubtask1.setIsVisitAgain(2); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); |
| | | return "无需再次随访,任务被标记不在执行"; |
| | | } else if (patArchive.getNotrequiredFlag().equals("1")) { |
| | | serviceSubtask1.setIsVisitAgain(2); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); |
| | | return "无需再次随访,患者被标记不需要被服务"; |
| | | } else if (ObjectUtils.isNotEmpty(serviceSubtask1.getIsVisitAgain()) && serviceSubtask1.getIsVisitAgain() == 2) { |
| | | return "无需再次随访,该任务已经再次随访过了"; |
| | | } |
| | | //新增再次随访任务 |
| | | ServiceSubtask serviceSubtask2 = DtoConversionUtils.sourceToTarget(serviceSubtask, ServiceSubtask.class); |
| | | serviceSubtask2.setId(null); |
| | | serviceSubtask2.setVisitCount(serviceSubtask1.getVisitCount() + 1); |
| | | serviceSubtask2.setSendstate(2L); |
| | | serviceSubtask2.setCreateTime(new Date()); |
| | | serviceSubtask2.setUpdateTime(new Date()); |
| | | int i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask2); |
| | | if (i == 1) { |
| | | //新增成功后,需要将之前的任务设置为不要再随访(防止重复点,然后重复生成) |
| | | serviceSubtask1.setIsVisitAgain(2); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask1); |
| | | return "再次随访任务创建成功"; |
| | | } |
| | | return "再次随访任务创建失败,再请次重试"; |
| | | } |
| | | |
| | | /** |
| | |
| | | if (serviceTask.getSendState() == null) { |
| | | serviceTask.setSendState(1L); |
| | | serviceTaskVO.setSendState(1L); |
| | | } else { |
| | | serviceTask.setSendState(serviceTaskVO.getSendState()); |
| | | } |
| | | if (StringUtils.isNotEmpty(serviceTaskVO.getLibtemplateid())) { |
| | | serviceTask.setLibtemplateid(serviceTaskVO.getLibtemplateid()); |
| | | serviceTask.setLibtemplatename(serviceTaskVO.getLibtemplatename()); |
| | | } |
| | | serviceTask.setTemplateid(tempid); |
| | | serviceTask.setTemplatename(tempName); |
| | | if (serviceTaskVO.getTemplateid() != null) { |
| | | serviceTask.setTemplateid(serviceTaskVO.getTemplateid()); |
| | | serviceTask.setTemplatename(serviceTaskVO.getTemplatename()); |
| | | } else { |
| | | serviceTask.setTemplateid(tempid); |
| | | serviceTask.setTemplatename(tempName); |
| | | } |
| | | serviceTask.setLeaveldeptcodes(serviceTaskVO.getLeaveldeptcodes()); |
| | | serviceTask.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode()); |
| | | serviceTask.setSendState(2L); |
| | | if (serviceTaskVO.getLongTask() == 1) serviceTask.setSendState(2L); |
| | | serviceTask.setCreateTime(new Date()); |
| | | serviceTask.setUpdateTime(new Date()); |
| | | serviceTaskService.insertServiceTask(serviceTask); |
| | |
| | | serviceSubtask.setDrname(patTaskRelevance.getDrname()); |
| | | serviceSubtask.setDrcode(patTaskRelevance.getDrcode()); |
| | | serviceSubtask.setInhosptime(patTaskRelevance.getInhosptime()); |
| | | serviceSubtask.setLeaveicd10code(patTaskRelevance.getLeaveicd10code()); |
| | | serviceSubtask.setLeavediagname(patTaskRelevance.getLeavediagname()); |
| | | serviceSubtask.setEndtime(patTaskRelevance.getEndtime()); |
| | | serviceSubtask.setNurseId(patTaskRelevance.getNurseId()); |
| | | serviceSubtask.setNurseName(patTaskRelevance.getNurseName()); |