| | |
| | | private IServiceTaskdeptService serviceTaskdeptService; |
| | | |
| | | @Autowired |
| | | private IServiceTaskdiagService serviceTaskdiagService; |
| | | |
| | | @Autowired |
| | | private IServiceTaskoperService serviceTaskoperService; |
| | | |
| | | @Autowired |
| | | private RedisCache redisCache; |
| | | |
| | | @Autowired |
| | |
| | | serviceTask.setTemplatename(tempName); |
| | | serviceTask.setLeaveldeptcodes(serviceTaskVO.getLeaveldeptcodes()); |
| | | serviceTask.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode()); |
| | | if (serviceTaskVO.getLongTask() == 1L) serviceTask.setSendState(2L); |
| | | serviceTaskService.insertServiceTask(serviceTask); |
| | | ServiceTaskdept serviceTaskdept = new ServiceTaskdept(); |
| | | serviceTaskdept.setTaskId(serviceTask.getTaskid()); |
| | | serviceTaskdept.setTaskName(serviceTask.getTaskName()); |
| | | serviceTaskdept.setLongtask(0L); |
| | | serviceTaskdept.setGuid(serviceTask.getGuid()); |
| | | serviceTaskdept.setOrgid(serviceTask.getOrgid()); |
| | | serviceTaskdept.setOrgid(serviceTask.getOrgid()); |
| | | if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L); |
| | | if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) { |
| | | String[] deptcodes = serviceTaskVO.getDeptcode().split(","); |
| | | for (String deptCode : deptcodes) { |
| | | serviceTaskdept.setDeptCode(deptCode); |
| | | serviceTaskdept.setDeptType("1"); |
| | | serviceTaskdept.setServiceType(serviceTaskVO.getServiceType()); |
| | | serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept); |
| | | if (serviceTaskVO.getLongTask() == 1L) { |
| | | serviceTask.setSendState(2L); |
| | | serviceTaskService.insertServiceTask(serviceTask); |
| | | if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) { |
| | | ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag(); |
| | | serviceTaskdiag.setTaskId(serviceTask.getTaskid()); |
| | | serviceTaskdiag.setTaskName(serviceTask.getTaskName()); |
| | | serviceTaskdiag.setLongtask(1L); |
| | | serviceTaskdiag.setGuid(serviceTask.getGuid()); |
| | | serviceTaskdiag.setOrgid(serviceTask.getOrgid()); |
| | | serviceTaskdiag.setCreateTime(new Date()); |
| | | serviceTaskdiagService.insertServiceTaskdiag(serviceTaskdiag); |
| | | } else if (StringUtils.isEmpty(serviceTaskVO.getOpcode())) { |
| | | ServiceTaskoper serviceTaskoper = new ServiceTaskoper(); |
| | | serviceTaskoper.setOpcode(serviceTaskVO.getOpcode()); |
| | | serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc()); |
| | | serviceTaskoper.setTaskId(serviceTask.getTaskid()); |
| | | serviceTaskoper.setTaskName(serviceTask.getTaskName()); |
| | | serviceTaskoper.setLongtask(1L); |
| | | serviceTaskoper.setGuid(serviceTask.getGuid()); |
| | | serviceTaskoper.setOrgid(serviceTask.getOrgid()); |
| | | serviceTaskoper.setCreateTime(new Date()); |
| | | serviceTaskoperService.insertServiceTaskoper(serviceTaskoper); |
| | | } else { |
| | | ServiceTaskdept serviceTaskdept = new ServiceTaskdept(); |
| | | serviceTaskdept.setTaskId(serviceTask.getTaskid()); |
| | | serviceTaskdept.setTaskName(serviceTask.getTaskName()); |
| | | serviceTaskdept.setLongtask(1L); |
| | | serviceTaskdept.setGuid(serviceTask.getGuid()); |
| | | serviceTaskdept.setOrgid(serviceTask.getOrgid()); |
| | | serviceTaskdept.setOrgid(serviceTask.getOrgid()); |
| | | if (serviceTaskVO.getLongTask() == 1) serviceTaskdept.setLongtask(1L); |
| | | if (StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) { |
| | | String[] deptcodes = serviceTaskVO.getDeptcode().split(","); |
| | | for (String deptCode : deptcodes) { |
| | | serviceTaskdept.setDeptCode(deptCode); |
| | | serviceTaskdept.setDeptType("1"); |
| | | serviceTaskdept.setServiceType(serviceTaskVO.getServiceType()); |
| | | serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept); |
| | | } |
| | | } |
| | | if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) { |
| | | String[] leavehospitaldistrictcodes = serviceTaskVO.getLeavehospitaldistrictcode().split(","); |
| | | for (String districtcode : leavehospitaldistrictcodes) { |
| | | serviceTaskdept.setDeptCode(districtcode); |
| | | serviceTaskdept.setDeptType("2"); |
| | | serviceTaskdept.setServiceType(serviceTaskVO.getServiceType()); |
| | | serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | if (StringUtils.isNotEmpty(serviceTaskVO.getLeavehospitaldistrictcode())) { |
| | | String[] leavehospitaldistrictcodes = serviceTaskVO.getLeavehospitaldistrictcode().split(","); |
| | | for (String districtcode : leavehospitaldistrictcodes) { |
| | | serviceTaskdept.setDeptCode(districtcode); |
| | | serviceTaskdept.setDeptType("2"); |
| | | serviceTaskdept.setServiceType(serviceTaskVO.getServiceType()); |
| | | serviceTaskdeptService.insertServiceTaskdept(serviceTaskdept); |
| | | if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1 && serviceTaskVO.getPatCycle() == 0L) { |
| | | Map<String, Integer> map = new HashMap<>(); |
| | | map.put("taskId", serviceTask.getTaskid().intValue()); |
| | | return map; |
| | | } |
| | | } |
| | | // |
| | | if (serviceTaskVO.getLongTask() != null && serviceTaskVO.getLongTask() == 1 && serviceTaskVO.getPatCycle() == 0L) { |
| | | Map<String, Integer> map = new HashMap<>(); |
| | | map.put("taskId", serviceTask.getTaskid().intValue()); |
| | | return map; |
| | | } else { |
| | | serviceTaskService.insertServiceTask(serviceTask); |
| | | } |
| | | |
| | | //将任务信息放到服务表中 |
| | |
| | | serviceSubtask.setRemark("电话拨打已完成"); |
| | | serviceSubtask.setSendstate(6L); |
| | | serviceSubtask.setId(Long.valueOf(phoneCallRecordVO.getTaskid())); |
| | | serviceSubtask.setFinishtime(new Date()); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | //下载文件 |
| | | ftpService.downloadFolder("/" + LocalDate.now().toString(), profile + "/upload/vadio/voice/" + LocalDate.now().toString()); |
| | |
| | | serviceSubtask.setRemark("电话接通成功,患者拒绝随访"); |
| | | serviceSubtask.setId(Long.valueOf(phoneCallRecordVO.getTaskid())); |
| | | serviceSubtask.setSendstate(6L); |
| | | serviceSubtask.setFinishtime(new Date()); |
| | | serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); |
| | | int startIndex = phoneCallRecordVO.getRecord_path().indexOf("voice") + "voice".length() + 1; // 加1是跳过/符号 |
| | | int endIndex = phoneCallRecordVO.getRecord_path().lastIndexOf("/"); |