From a4bc7ba7a708cf2867f3027f593ef72c0d8acf78 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期六, 06 九月 2025 17:46:14 +0800
Subject: [PATCH] 单点登陆白名单访问功能
---
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 83 +++++++++++++++++++++++++++++++++++++----
1 files changed, 75 insertions(+), 8 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 ebc4af6..91ef27e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -24,10 +24,7 @@
import java.time.Period;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -70,6 +67,9 @@
@Value("${defaultPwd}")
private String defaultPwd;
+
+ @Value("${noLongTask}")
+ private List<String> noLongTask;
public Boolean generalInterface(Map dataMap) {
Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
@@ -283,6 +283,8 @@
externalInHospPatientInfo.setZhuZhiYSID(externalInDeptPatientInfo.getZhuZhiYSID());
externalInHospPatientInfo.setZhuZhiYSXM(externalInDeptPatientInfo.getZhuZhiYSXM());
externalInHospPatientInfo.setRuYuanSJ(externalInDeptPatientInfo.getRuYuanSJ());
+ externalInHospPatientInfo.setJingGuanYSID(externalInDeptPatientInfo.getJingGuanYSID());
+ externalInHospPatientInfo.setJingGuanYSXM(externalInDeptPatientInfo.getJingGuanYSXM());
externalInHospPatientInfo.setLianXiDH(ObjectUtils.isNotEmpty(BingRenXX.get("LianXiDH")) ? BingRenXX.get("LianXiDH").toString() : null);
externalInHospPatientInfo.setDangQianCWID(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianCWID")) ? BingRenXX.get("DangQianCWID").toString() : null);
externalInHospPatientInfo.setDangQianCWMC(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianCWMC")) ? BingRenXX.get("DangQianCWMC").toString() : null);
@@ -397,8 +399,6 @@
PatArchive patArchive = addPatArchive(externalInHospPatientInfo, externalInHospPatientAddrInfo, externalInHospPatientLiaisonInfo);
-
-
PatMedInhosp patMedInhosp = new PatMedInhosp();
patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
@@ -470,6 +470,10 @@
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
patMedInhosp1.setUpdateTime(new Date());
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");
+ }
int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
} else {
@@ -487,6 +491,11 @@
patMedInhosp1.setPatname(patArchive.getName());
patMedInhosp1.setCreateTime(new Date());
+ if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) {
+ //涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
+ patMedInhosp1.setFuflag("1");
+ }
+
int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
if (i != 1) return false;
}
@@ -573,7 +582,8 @@
}
}
try {
- patMedInhosp1.setFudate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(SuiFangJH.get("SuiFangRQ").toString()));
+ if (!Objects.isNull(SuiFangJH.get("SuiFangRQ")))
+ patMedInhosp1.setFudate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(SuiFangJH.get("SuiFangRQ").toString()));
} catch (ParseException e) {
e.printStackTrace();
}
@@ -603,6 +613,10 @@
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
patMedInhosp1.setUpdateTime(new Date());
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");
+ }
int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
if (i != 1) return false;
} else {
@@ -620,6 +634,10 @@
patMedInhosp1.setPatname(patArchive.getName());
patMedInhosp1.setCreateTime(new Date());
+ if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) {
+ //涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
+ patMedInhosp1.setFuflag("1");
+ }
int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
if (i != 1) return false;
}
@@ -873,6 +891,19 @@
patMedOuthosp.setOuthospno(externalInHospPatientInfo.getBingAnHao());
patMedOuthosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.selectPatMedOuthospList(patMedOuthosp);
+ for (PatMedOuthosp patMedOuthosp1 : patMedOuthosps) {
+ PatArchive pa = patArchiveMapper.selectPatArchiveByPatid(patMedOuthosp1.getPatid());
+ if (patArchive.getBirthdate() != null) {
+ Map<String, String> map = calculateAge(pa.getBirthdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
+ pa.setAge(ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
+ pa.setAgeUnit(map.get("ageUnit"));
+ pa.setAge2(ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
+ pa.setAgeUnit2(map.get("ageUnit2"));
+ patMedOuthosp1.setAge(pa.getAge() + pa.getAgeUnit() + pa.getAge2() + pa.getAgeUnit2());
+ patMedOuthosp1.setTelcode(patArchive.getTelcode());
+ patMedOuthosp1.setIdcardno(patArchive.getIdcardno());
+ }
+ }
patMedOuthosp.setPatid(patArchive.getId());
patMedOuthosp.setPatno(externalInHospPatientInfo.getBingAnHao());
@@ -884,6 +915,10 @@
patMedOuthosp.setAdmitdate(externalJZInfo.getJiuZhenRQ());
patMedOuthosp.setOrgid(FaSongJGID);
patMedOuthosp.setHospitalname(FaSongJGMC);
+ patMedOuthosp.setIdcardno(patArchive.getIdcardno());
+
+ //杩欎釜闇�瑕佺瓑HIS閭h竟鍛婅瘔鍙栧摢涓瓧娈碉紝鐜板湪杩樻槸涓嶅鐨�
+ patMedOuthosp.setFudate(externalJZInfo.getSfrq());
for (ExternalDiagnosisInfo externalDiagnosisInfo : externalDiagnosisInfoList) {
if (externalDiagnosisInfo.getZhenDuanLBMC().equals("涓昏瘖鏂�")) {
@@ -891,6 +926,7 @@
patMedOuthosp.setDrcode(externalDiagnosisInfo.getZhenDuanYSID());
patMedOuthosp.setDrname(externalDiagnosisInfo.getZhenDuanYSXM());
patMedOuthosp.setIcd10code(externalDiagnosisInfo.getIcd10());
+ patMedOuthosp.setFuflag("0");
}
}
for (ExternalWZInfo externalWZInfo : ExternalWZInfoList) {
@@ -905,12 +941,38 @@
if (CollectionUtils.isNotEmpty(patMedOuthosps)) {
patMedOuthosp.setId(patMedOuthosps.get(0).getId());
patMedOuthosp.setUpdateTime(new Date());
+ if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedOuthosp.getOrgid())) {
+ //涓嶉渶瑕侀暱鏈熶换鍔¢殢璁匡紝鐢卞尰鐢熻嚜宸卞幓闅忚锛堜附姘翠腑鍖婚櫌棣栨鎻愬嚭锛�
+ patMedOuthosp.setFuflag("1");
+ }
i = patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp);
} else {
patMedOuthosp.setCreateTime(new Date());
patMedOuthosp.setUpdateTime(new Date());
+ if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedOuthosp.getOrgid())) {
+ //涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
+ patMedOuthosp.setFuflag("1");
+ }
i = patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp);
}
+
+ //鍏堥�氳繃韬唤璇佸拰绉戝鏌ヨ璇ユ偅鑰呮槸鍚︽湁闇�瑕侀殢璁跨殑(鏅畞鎻愬嚭鏉ョ殑)
+ if (patMedOuthosp.getOrgid().equals("47255004333112711A1001") && StringUtils.isNotEmpty(patMedOuthosp.getIdcardno()) && StringUtils.isNotEmpty(patMedOuthosp.getDeptcode())) {
+ ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ serviceSubtaskVO.setSfzh(patMedOuthosp.getIdcardno());
+ serviceSubtaskVO.setDeptcode(patMedOuthosp.getDeptcode());
+ serviceSubtaskVO.setSendstate(2L);
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ serviceSubtask.setSendstate(6L);
+ serviceSubtask.setRemark("鎮h�呭凡缁忓洖鏉ュ璇�");
+ serviceSubtask.setUpdateTime(new Date());
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ }
+ }
+ }
+
if (i > 0) {
return true;
}
@@ -1201,6 +1263,9 @@
PatArchive patArchive = new PatArchive();
//濡傛灉鏄垰鍑虹敓鐨勫皬瀛╁瓙锛屾槸娌℃湁韬唤璇佺殑锛屾�庝箞澶勭悊锛燂紵锛燂紵锛燂紵锛燂紵
patArchive.setIdcardno(externalInHospPatientInfo.getZhengJianHM());
+ //濡傛灉韬唤璇佷负绌虹殑璇濓紝灏辩敤灏辫瘖鍗″彿浠f浛
+ if (StringUtils.isEmpty(externalInHospPatientInfo.getZhengJianHM()))
+ patArchive.setIdcardno(externalInHospPatientInfo.getJiuZhenKH());
patArchive.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
List<PatArchive> patArchives = null;
if (ObjectUtils.isNotEmpty(patArchive.getIdcardno()))
@@ -1313,6 +1378,8 @@
patMedInhosp.setDrcode(externalInHospPatientInfo.getZhuZhiYSID());
patMedInhosp.setNurseId(externalInHospPatientInfo.getZeRenHSID());
patMedInhosp.setNurseName(externalInHospPatientInfo.getZeRenHSXM());
+ patMedInhosp.setManagementDoctor(externalInHospPatientInfo.getJingGuanYSXM());
+ patMedInhosp.setManagementDoctorCode(externalInHospPatientInfo.getJingGuanYSID());
}
if (ObjectUtils.isNotEmpty(externalInHospPatientDiagnoseInfo)) {
// patMedInhosp.setIcd10code(StringUtils.isNotEmpty(patMedInhosp.getIcd10code()) ? patMedInhosp.getIcd10code() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanID() : externalInHospPatientDiagnoseInfo.getZhenDuanID());
@@ -1661,7 +1728,7 @@
log.info("鑽搧浜у湴浠锋牸鍏ュ弬绫诲瀷涓猴細{}", type);
return true;
case "JZ_MZ_WanChengJZ":
- log.info("瀹屾垚鎺ヨ瘖鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("锛堥棬鎬ヨ瘖锛夊畬鎴愭帴璇婂叆鍙傜被鍨嬩负锛歿}", type);
return addFinshJZInfo(dataMap);
case "JZ_ZY_RuYuanDJ":
log.info("鍏ラ櫌鐧昏鍏ュ弬绫诲瀷涓猴細{}", type);
--
Gitblit v1.9.3