From c462811cd33e81a80bc089e3677975c069d9cda5 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期六, 09 五月 2026 17:50:06 +0800
Subject: [PATCH] 代码提交
---
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 101 +++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 87 insertions(+), 14 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
index 66c5a2e..09add5e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1,21 +1,27 @@
package com.smartor.service.impl;
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.json.JSON;
+import cn.hutool.json.JSONUtil;
import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.entity.SysUserDept;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.AesUtils;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DtoConversionUtils;
import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.http.HttpUtils;
import com.smartor.domain.*;
import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.mapper.*;
import com.smartor.service.IPatMedOuthospService;
import com.smartor.service.IServiceExternalService;
import lombok.extern.slf4j.Slf4j;
+import netscape.javascript.JSObject;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -24,6 +30,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
@@ -154,6 +162,9 @@
sysUser.setCampusid("1");
//鏍规嵁userName鍒ゆ柇涓�涓嬶紝鏄笉鏄箣鍓嶆湁鏂板
SysUser sysUser1 = null;
+ if (StringUtils.isEmpty(sysUser.getUserName()) || StringUtils.isEmpty(sysUser.getOrgid())) {
+ return false;
+ }
List<SysUser> sysUserList = sysUserMapper.selectUserList(sysUser);
if (CollectionUtils.isNotEmpty(sysUserList)) {
sysUser1 = sysUserList.get(0);
@@ -548,6 +559,17 @@
}
if (CollectionUtils.isNotEmpty(epai)) externalInHospPatientAddrInfo = epai2.get(0);
if (CollectionUtils.isNotEmpty(epli)) externalInHospPatientLiaisonInfo = epli2.get(0);
+ List<HashMap<String, Object>> bingRenKZXXList = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("BingRenKZXXList") : null;
+ if (CollectionUtils.isNotEmpty(bingRenKZXXList)) {
+ for (HashMap<String, Object> bingRenKZXX : bingRenKZXXList) {
+ String XiangMuDM = ObjectUtils.isNotEmpty(bingRenKZXX.get("XiangMuDM")) ? bingRenKZXX.get("XiangMuDM").toString() : null;
+ if (StringUtils.isNotEmpty(XiangMuDM) && XiangMuDM.equals("DuanHaoXX")) {
+ externalInHospPatientInfo.setDuanHaoXX(ObjectUtils.isNotEmpty(bingRenKZXX.get("XiangMuZMC")) ? bingRenKZXX.get("XiangMuZMC").toString() : null);
+ break;
+ }
+ }
+ }
+
//鏂板鎮h�呭熀鏈俊鎭柊澧炴垨淇敼
PatArchive patArchive = addPatArchive(externalInHospPatientInfo, externalInHospPatientAddrInfo, externalInHospPatientLiaisonInfo);
@@ -596,7 +618,7 @@
patMedInhosp1.setDeptcode(externalInHospPatientInfo.getDangQianKSID());
if (ObjectUtils.isNotEmpty(SuiFangJH)) {
- patMedInhosp1.setFuflag(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangBS")) ? SuiFangJH.get("SuiFangBS").toString() : null);
+ patMedInhosp1.setFuflag(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangBS")) ? SuiFangJH.get("SuiFangBS").toString() : "1");
if (ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangRQ"))) {
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -630,9 +652,10 @@
patMedInhosp1.setInhospstate("1");
if (deathFlag) {
//鐥呬汉姝讳骸鏃犻』闅忚
- patMedInhosp1.setFuflag("1");
+ patMedInhosp1.setFuflag("0");
//鏇存柊鐥呬汉 notrequiredFlag
patArchive.setNotrequiredFlag("1");
+ patArchive.setNotrequiredreason("鎮h�呭凡绂讳笘");
patArchiveMapper.updatePatArchive(patArchive);
//瀵瑰凡缁忕敓鎴愮殑闅忚浠诲姟杩涜澶勭悊
ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
@@ -640,8 +663,8 @@
serviceSubtaskVO.setSendstate(2L);
List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
- serviceSubtask.setSendstate(6L);
- serviceSubtask.setRemark(serviceSubtask.getRemark() + ";鐥呬汉宸叉浜★紝涓嶉殢璁�");
+ serviceSubtask.setSendstate(4L);
+ serviceSubtask.setRemark(serviceSubtask.getRemark() + ";鎮h�呭凡绂讳笘锛屼笉闅忚");
serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
}
}
@@ -652,7 +675,7 @@
patMedInhosp1.setCampusid("1");
if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) {
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
- patMedInhosp1.setFuflag("1");
+ patMedInhosp1.setFuflag("0");
}
int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
@@ -675,7 +698,7 @@
patMedInhosp1.setCreateTime(new Date());
if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) {
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
- patMedInhosp1.setFuflag("1");
+ patMedInhosp1.setFuflag("0");
}
int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
@@ -754,7 +777,7 @@
patMedInhosp1.setDeptcode(externalInHospPatientInfo.getDangQianKSID());
if (ObjectUtils.isNotEmpty(SuiFangJH)) {
- patMedInhosp1.setFuflag(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangBS")) ? SuiFangJH.get("SuiFangBS").toString() : null);
+ patMedInhosp1.setFuflag(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangBS")) ? SuiFangJH.get("SuiFangBS").toString() : "1");
if (ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangRQ"))) {
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -797,7 +820,7 @@
patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX) && ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null);
if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) {
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
- patMedInhosp1.setFuflag("1");
+ patMedInhosp1.setFuflag("0");
}
int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
@@ -820,7 +843,7 @@
patMedInhosp1.setCreateTime(new Date());
if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) {
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
- patMedInhosp1.setFuflag("1");
+ patMedInhosp1.setFuflag("0");
}
int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
if (i != 1) return false;
@@ -970,7 +993,7 @@
patMedInhosp1.setDeptcode(externalInHospPatientInfo.getDangQianKSID());
if (ObjectUtils.isNotEmpty(SuiFangJH)) {
- patMedInhosp1.setFuflag(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangBS")) ? SuiFangJH.get("SuiFangBS").toString() : null);
+ patMedInhosp1.setFuflag(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangBS")) ? SuiFangJH.get("SuiFangBS").toString() : "1");
if (ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangRQ"))) {
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -1160,7 +1183,7 @@
patMedOuthosp.setDrcode(externalDiagnosisInfo.getZhenDuanYSID());
patMedOuthosp.setDrname(externalDiagnosisInfo.getZhenDuanYSXM());
patMedOuthosp.setIcd10code(externalDiagnosisInfo.getIcd10());
- patMedOuthosp.setFuflag("0");
+ patMedOuthosp.setFuflag("1");
}
}
for (ExternalWZInfo externalWZInfo : ExternalWZInfoList) {
@@ -1177,7 +1200,7 @@
patMedOuthosp.setUpdateTime(new Date());
if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedOuthosp.getOrgid())) {
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁匡紝鐢卞尰鐢熻嚜宸卞幓闅忚锛堜附姘翠腑鍖婚櫌棣栨鎻愬嚭锛�
- patMedOuthosp.setFuflag("1");
+ patMedOuthosp.setFuflag("0");
}
i = patMedOuthospService.updatePatMedOuthosp(patMedOuthosp);
} else {
@@ -1185,7 +1208,7 @@
patMedOuthosp.setUpdateTime(new Date());
if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedOuthosp.getOrgid())) {
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
- patMedOuthosp.setFuflag("1");
+ patMedOuthosp.setFuflag("0");
}
i = patMedOuthospService.insertPatMedOuthosp(patMedOuthosp);
@@ -1455,7 +1478,7 @@
patArchive.setPatientno(externalInHospPatientInfo.getJiuZhenKH());
patArchive.setBirthdate(parse);
patArchive.setPatidHis(externalInHospPatientInfo.getBingRenID());
- patArchive.setSourcefrom(1);
+ patArchive.setSourcefrom(1L);
patArchive.setPattype("2");
patArchive.setName(externalInHospPatientInfo.getXingMing());
if (StringUtils.isNotEmpty(externalInHospPatientInfo.getXingBieDM()))
@@ -1487,6 +1510,9 @@
patArchive.setTelcode(externalInHospPatientInfo.getLianXiDH());
if (StringUtils.isEmpty(patArchive.getTelcode()))
patArchive.setTelcode(externalInHospPatientInfo.getLianXiRDH());
+ //澧炲姞鐭彿淇℃伅
+ if (StringUtils.isNotEmpty(externalInHospPatientInfo.getDuanHaoXX()))
+ patArchive.setTelshortcode(externalInHospPatientInfo.getDuanHaoXX());
patArchive.setRelativetelcode(externalInHospPatientInfo.getLianXiRDH());
patArchive.setGuid(externalInHospPatientInfo.getZuZhiJGID());
patArchive.setInhospno(externalInHospPatientInfo.getBingAnHao());
@@ -1837,6 +1863,22 @@
return true;
}
+ @Override
+ public Map<String, Object> query360PatInfolwl(Long patid, SysUser sysUser) {
+ PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patid);
+ Map<String, String> headers = buildRequestHeaders();
+ Map<String, Object> requestParams = buildRequestParams(sysUser,patArchive);
+ String result = HttpUtils.sendPostByHeader("http://cfdata.nhyfy.cn/kapi/hbos-h360/open/getNoLoginUrl", new Gson().toJson(requestParams), headers);
+ log.info("============result鐨勫�间负锛歿}",result);
+ Gson gson = new Gson();
+ Map<String, Object> map = null;
+ if (result != null) {
+ map = gson.fromJson(result, new TypeToken<Map<String, Object>>() {
+ }.getType());
+ }
+ return map;
+ }
+
private Boolean getType(String type, Map dataMap) {
switch (type) {
case "BR_DA_DangAnJL":
@@ -2013,4 +2055,35 @@
return ageMap;
}
+
+ private Map<String, String> buildRequestHeaders() {
+ Map<String, String> headers = new HashMap<>();
+ headers.put("Content-Type", "application/json");
+ headers.put("app-key", "ak-0p5Qi0J1I4AL67ztEYQL1j9v");
+ return headers;
+ }
+
+ private Map<String, Object> buildRequestParams(SysUser sysUser,PatArchive patArchive) {
+ Map<String, Object> requestParams = new HashMap<>();
+ requestParams.put("key", sysUser.getUserName());
+ requestParams.put("windowOpen", false);
+ requestParams.put("isShowHeader", false);
+ requestParams.put("encode", 1);
+
+ Map<String, Object> params = new HashMap<>();
+ //鐥呭巻鍙�
+ params.put("patientMainIndexNum", patArchive.getPatientno());
+ params.put("sourceSystem", "pacs");
+ params.put("workId", sysUser.getUserName());
+ params.put("workName", sysUser.getNickName());
+ params.put("hisDepName", sysUser.getDeptName());
+ params.put("hisDepCode", sysUser.getDeptCode());
+ params.put("hisOrgName", "鍗楀崕澶у闄勫睘绗竴鍖婚櫌");
+ params.put("hisOrgCode", "20001001");
+ params.put("hisHosName", "鍗楀崕澶у闄勫睘绗竴鍖婚櫌");
+ params.put("hisHosCode", "30001002");
+ requestParams.put("params", params);
+ return requestParams;
+ }
+
}
--
Gitblit v1.9.3