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 | 130 ++++++++++++++++++++++++++++++++++++++++---
1 files changed, 121 insertions(+), 9 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 a6e4416..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,8 @@
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;
import com.ruoyi.common.exception.base.BaseException;
@@ -131,6 +133,9 @@
@Autowired
private SvyLibScriptCategoryMapper svyLibScriptCategoryMapper;
+ @Autowired
+ private IPatMedInhospService patMedInhospService;
+
@Value("${pri_key}")
private String pri_key;
@@ -177,6 +182,8 @@
@Autowired
private IPatMedOuthospService patMedOuthospService;
+ @Autowired
+ private SysDept2Mapper sysDept2Mapper;
@Value("${spring.profiles.active}")
private String active;
@@ -404,8 +411,8 @@
if (serviceSubtaskRes.getSendstate() == 6) serviceSubtaskRes.setSendstateView(2L);
if (serviceSubtaskRes.getSendstate() == 4) serviceSubtaskRes.setSendstateView(3L);
// 濉厖褰撳墠琛ュ伩
- if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())){
- if(StringUtils.isNotEmpty(serviceSubtask.getPreachform())){
+ if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())) {
+ if (StringUtils.isNotEmpty(serviceSubtask.getPreachform())) {
//榛樿鍙栫涓�涓�
serviceSubtaskRes.setCurrentPreachform(serviceSubtask.getPreachform().split(",")[0]);
}
@@ -685,7 +692,10 @@
serviceTask.setTemplatename(tempName);
}
serviceTask.setLeaveldeptcodes(serviceTaskVO.getLeaveldeptcodes());
- serviceTask.setLeavehospitaldistrictcode(serviceTask.getLeavehospitaldistrictcode());
+ if (StringUtils.isEmpty(serviceTask.getLeavehospitaldistrictname()) && StringUtils.isNotEmpty(serviceTask.getLeavehospitaldistrictcode())) {
+ SysDept sysDept = sysDept2Mapper.selectDeptByCode(serviceTask.getLeavehospitaldistrictcode(), null);
+ serviceTask.setLeavehospitaldistrictname(sysDept.getDeptName());
+ }
if (serviceTaskVO.getLongTask() == 1) serviceTask.setSendState(2L);
serviceTask.setCreateTime(new Date());
serviceTask.setUpdateTime(new Date());
@@ -711,8 +721,8 @@
//鍗楀崕闄勪竴鐨刬cd10code鏄湁閲嶅鐨勶紝鎵�浠ヤ笉鑳界敤鍗楀崕闄勪竴鐨刬cd10code鍘绘煡璇�
log.info("----serviceTaskdiag鐨勫�间负锛歿}", serviceTaskdiag);
if (!StringUtils.isEmpty(serviceTaskVO.getIcd10name())) {
- String[] Icd10Names = serviceTaskVO.getIcd10name().split("$");
- String[] Icd10codes = serviceTaskVO.getIcd10code().split("$");
+ String[] Icd10Names = serviceTaskVO.getIcd10name().split(",");
+ String[] Icd10codes = serviceTaskVO.getIcd10code().split(",");
for (int i = 0; i < Icd10Names.length; i++) {
serviceTaskdiag.setIcd10code(Icd10codes[i]);
serviceTaskdiag.setIcd10name(Icd10Names[i]);
@@ -2360,7 +2370,6 @@
serviceSubtask.setRemark("鐢佃瘽鎺ラ�氭垚鍔燂紝鎮h�呮嫆缁濋殢璁�");
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("/");
@@ -3699,7 +3708,7 @@
Map<String, String> map = new HashMap<>();
map.put("phone", serviceSubtask.getPhone());
map.put("content", sendMagParam.getContent());
- String result = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(map));
+ HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(map));
redisCache.setCacheObject(subTaskId + "recordAccept-hungup", "1", 10, TimeUnit.MINUTES);
if (StringUtils.isNotEmpty(serviceSubtask.getRemark()))
serviceSubtask.setRemark("鐢佃瘽鍙戦�佹嫆鎺�,鐭俊琛ュ伩鍙戦�佹垚鍔�");
@@ -4613,8 +4622,8 @@
}
@Override
- public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds) {
- return serviceSubtaskMapper.statQuestionOption(taskIds);
+ public List<ServiceSubtaskDetailRatioExport> statQuestionOption(List<Long> taskIds, Date startOutHospTime, Date endOutHospTime) {
+ return serviceSubtaskMapper.statQuestionOption(taskIds, startOutHospTime, endOutHospTime);
}
private Boolean saveServiceSubtaskDetail(ServiceSubtask serviceSubtask) {
@@ -4760,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