| | |
| | | import com.fasterxml.jackson.databind.JsonNode; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.google.gson.Gson; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import com.ruoyi.common.dx.MessageSend; |
| | |
| | | |
| | | @Autowired |
| | | private SvyLibScriptCategoryMapper svyLibScriptCategoryMapper; |
| | | |
| | | @Autowired |
| | | private IPatMedInhospService patMedInhospService; |
| | | |
| | | @Value("${pri_key}") |
| | | private String pri_key; |
| | |
| | | } |
| | | } |
| | | |
| | | public String scanGenerateSubtask(ServiceTask serviceTaskVo){ |
| | | String content = ""; |
| | | String ip = localIP; |
| | | ServiceTask serviceTask = new ServiceTask(); |
| | | serviceTask = serviceTaskService.selectServiceTaskByTaskid(serviceTaskVo.getTaskid()); |
| | | if(ObjectUtils.isNotEmpty(serviceTask)){ |
| | | try { |
| | | ServiceTaskdept serviceTaskdept = new ServiceTaskdept(); |
| | | if(ObjectUtils.isNotEmpty(serviceTaskVo.getDeptcode())){ |
| | | serviceTaskdept.setDeptType("1"); |
| | | serviceTaskdept.setDeptCode(serviceTask.getDeptcode()); |
| | | } |
| | | if(ObjectUtils.isNotEmpty(serviceTaskVo.getLeavehospitaldistrictcode())){ |
| | | serviceTaskdept.setDeptType("2"); |
| | | serviceTaskdept.setDeptCode(serviceTaskVo.getLeavehospitaldistrictcode()); |
| | | } |
| | | serviceTaskdept.setServiceType(serviceTask.getServiceType()); |
| | | serviceTaskdept.setOrgid(serviceTask.getOrgid()); |
| | | serviceTaskdept.setTaskId(serviceTaskVo.getTaskid()); |
| | | List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptService.selectServiceTaskdeptList(serviceTaskdept); |
| | | |
| | | if (!CollectionUtils.isEmpty(serviceTaskdepts)) { |
| | | PatArchive patArchive = new PatArchive(); |
| | | patArchive.setId(-1L); |
| | | patArchive.setName("虚拟患者"); |
| | | //封装serviceSubtask |
| | | ServiceSubtask serviceSubtask = boxedServiceSubtask(serviceTask, patArchive); |
| | | int i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | //根据生成外链 |
| | | if (ObjectUtils.isNotEmpty(serviceSubtask.getTaskid()) && |
| | | ObjectUtils.isNotEmpty(serviceSubtask.getPatid()) |
| | | && ObjectUtils.isNotEmpty(serviceSubtask.getId())) { |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(serviceSubtask.getTaskid().toString(), pub_key); |
| | | String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); |
| | | String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key); |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setParam3(serviceTask.getTaskName()); |
| | | serviceOutPath.setParam6(subId); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | serviceOutPath.setOrgid(serviceTask.getOrgid()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | String url = ip + ":" + req_path + "/wt?p=" + format; |
| | | content = url; |
| | | serviceOutPath.setUrl(url); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.error("【扫码生成任务】处理异常:{}", e.getMessage()); |
| | | } |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | public ServiceSubtask boxedServiceSubtask(ServiceTask serviceTask, PatArchive patArchive) { |
| | | ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTask, ServiceSubtask.class); |
| | | serviceSubtask.setTaskid(serviceTask.getTaskid()); |
| | | if (StringUtils.isNotEmpty(serviceTask.getLibtemplateid())) |
| | | serviceSubtask.setLibtemplateid(Long.valueOf(serviceTask.getLibtemplateid())); |
| | | // serviceSubtask.setNurseId(patMedInhosp1.getNurseId()); |
| | | // serviceSubtask.setNurseName(patMedInhosp1.getNurseName()); |
| | | // serviceSubtask.setDrcode(patMedInhosp1.getDrcode()); |
| | | // serviceSubtask.setDrname(patMedInhosp1.getDrname()); |
| | | serviceSubtask.setDeptcode(serviceTask.getDeptcode()); |
| | | serviceSubtask.setDeptname(serviceTask.getDeptname()); |
| | | serviceSubtask.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode()); |
| | | serviceSubtask.setLeavehospitaldistrictname(serviceTask.getLeavehospitaldistrictname()); |
| | | serviceSubtask.setTemplateid(serviceTask.getTemplateid()); |
| | | serviceSubtask.setTemplatename(serviceTask.getTemplatename()); |
| | | serviceSubtask.setPatid(patArchive.getId()); |
| | | serviceSubtask.setSendname(patArchive.getName()); |
| | | serviceSubtask.setSfzh(patArchive.getIdcardno()); |
| | | serviceSubtask.setPhone(patArchive.getTelcode()); |
| | | if (StringUtils.isBlank(patArchive.getTelcode())) serviceSubtask.setPhone(patArchive.getRelativetelcode()); |
| | | serviceSubtask.setSex(patArchive.getSex()); |
| | | serviceSubtask.setAge(patArchive.getAge()); |
| | | serviceSubtask.setSendstate(3L); |
| | | // serviceSubtask.setManagementDoctor(patMedInhosp1.getManagementDoctor()); |
| | | // serviceSubtask.setManagementDoctorCode(patMedInhosp1.getManagementDoctorCode()); |
| | | serviceSubtask.setServiceType(serviceTask.getServiceType()); |
| | | serviceSubtask.setPreachform(serviceTask.getPreachform()); |
| | | serviceSubtask.setHospType("8"); |
| | | serviceSubtask.setCreateTime(new Date()); |
| | | serviceSubtask.setUpdateTime(new Date()); |
| | | // serviceSubtask.setCreateBy(patMedInhosp1.getNurseName()); |
| | | // serviceSubtask.setLeavehospitaldistrictcode(patMedInhosp1.getLeavehospitaldistrictcode()); |
| | | // serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getLeavehospitaldistrictname()); |
| | | serviceSubtask.setUpdateBy(serviceTask.getUpdateBy()); |
| | | serviceSubtask.setUpdateTime(new Date()); |
| | | serviceTask.setSendDay(1L); |
| | | Date newDate = new Date(); |
| | | serviceSubtask.setLongSendTime(newDate); |
| | | serviceSubtask.setVisitTime(newDate); |
| | | return serviceSubtask; |
| | | } |
| | | } |