From e1b933c0c344494afe86bae9162dca9bdc34fd56 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 22 七月 2026 17:04:14 +0800
Subject: [PATCH] 【丽水】扫码生成外链
---
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 107 insertions(+), 0 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 22812af..e7d2dc6 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -6,6 +6,7 @@
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;
@@ -131,6 +132,9 @@
@Autowired
private SvyLibScriptCategoryMapper svyLibScriptCategoryMapper;
+
+ @Autowired
+ private IPatMedInhospService patMedInhospService;
@Value("${pri_key}")
private String pri_key;
@@ -4765,4 +4769,107 @@
}
}
+ 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("铏氭嫙鎮h��");
+ //灏佽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;
+ }
}
--
Gitblit v1.9.3