From fe47ff909096722ba8e9172c3e1f0f7910b16909 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期二, 21 十月 2025 14:49:18 +0800
Subject: [PATCH] 结束出院日期格式
---
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 104 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 e4f500d..2efbe9f 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");
@@ -117,10 +117,10 @@
}
if (StringUtils.isNotEmpty(externalDept.getShiJianDM()) && externalDept.getShiJianDM().equals("1")) {
int i = sysDeptMapper.insertDept(sysDept);
- log.info("ServiceExternalServiceImpl---addDeptInfo鏄惁鏂板鎴愬姛锛歿}", i);
+ log.info("ServiceExternalServiceImpl---addDeptInfo01鏄惁鏂板鎴愬姛锛歿}", i);
} else {
int i = sysDeptMapper.updateDept(sysDept);
- log.info("ServiceExternalServiceImpl---addDeptInfo鏄惁淇敼鎴愬姛锛歿}", i);
+ log.info("ServiceExternalServiceImpl---addDeptInfo02鏄惁淇敼鎴愬姛锛歿}", i);
}
return true;
}
@@ -138,16 +138,17 @@
sysUser.setUserName(externalUserInfo.getYongHuDLM());
sysUser.setOrgid(externalUserInfo.getZuZhiJGID());
//鏍规嵁userName鍒ゆ柇涓�涓嬶紝鏄笉鏄箣鍓嶆湁鏂板
- SysUser sysUser1 = sysUserMapper.selectUserByUserName(externalUserInfo.getYongHuDLM());
-
+ SysUser sysUser1 = null;
+ List<SysUser> sysUserList = sysUserMapper.selectUserList(sysUser);
+ if (CollectionUtils.isNotEmpty(sysUserList)) {
+ sysUser1 = sysUserList.get(0);
+ if (sysUserList.size() > 1) sysUser1 = getUser(sysUserList);
+ }
sysUser.setGuid(externalUserInfo.getZuZhiJGID());
sysUser.setNickName(externalUserInfo.getYongHuXM());
sysUser.setUserType("");
sysUser.setDeptId(null);
sysUser.setTitle(null);
-
- BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
- sysUser.setPassword(passwordEncoder.encode(defaultPwd));
sysUser.setHisUserId(externalUserInfo.getYongHuID());
sysUser.setPhonenumber(externalUserInfo.getLianXiDH());
@@ -163,15 +164,38 @@
}
sysUser.setBirthday(externalUserInfo.getChuShengRQ());
if (ObjectUtils.isEmpty(sysUser1)) {
+ BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
+ sysUser.setPassword(passwordEncoder.encode(defaultPwd));
int i = sysUserMapper.insertUser(sysUser);
log.info("ServiceExternalServiceImpl---addDeptInfo鏄惁鏂板鎴愬姛锛歿}", i);
} else {
+ sysUser.setUserId(sysUser1.getUserId());
int i = sysUserMapper.updateUser(sysUser);
- log.info("ServiceExternalServiceImpl---addDeptInfo鏄惁淇敼鎴愬姛锛歿}", i);
+ log.info("ServiceExternalServiceImpl---addDeptInfo鏄惁淇敼鎴愬姛03锛歿}", i);
}
return true;
}
+
+ private SysUser getUser(List<SysUser> sysUserList) {
+ SysUser sysUser = null;
+ if (CollectionUtils.isNotEmpty(sysUserList) && sysUserList.size() > 1) {
+ // 鎸塩reate_time闄嶅簭鎺掑簭锛岃幏鍙栨渶鏂扮殑璁板綍
+ List<SysUser> sortedList = sysUserList.stream().sorted(Comparator.comparing(SysUser::getCreateTime).reversed()).collect(Collectors.toList());
+
+ // 绗竴鏉★紙鏈�鏂扮殑锛夎祴鍊肩粰sysUser1
+ sysUser = sortedList.get(0);
+
+ // 鑾峰彇闇�瑕佸垹闄ょ殑ID锛堜粠绗簩鏉″紑濮嬶級
+ List<Long> idsToDelete = sortedList.stream().skip(1).map(SysUser::getUserId).collect(Collectors.toList());
+ Long[] idArray = idsToDelete.toArray(new Long[0]);
+ // 鎵归噺鍒犻櫎鍏朵粬璁板綍
+ if (!idsToDelete.isEmpty()) {
+ sysUserMapper.deleteUserByIds(idArray);
+ }
+ }
+ return sysUser;
+ }
@Override
public Boolean addOrganInfo(Map dataMap) {
@@ -283,6 +307,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);
@@ -468,6 +494,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 {
@@ -485,6 +515,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;
}
@@ -571,7 +606,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();
}
@@ -601,6 +637,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 {
@@ -618,6 +658,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;
}
@@ -871,6 +915,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());
@@ -882,6 +939,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("涓昏瘖鏂�")) {
@@ -889,6 +950,7 @@
patMedOuthosp.setDrcode(externalDiagnosisInfo.getZhenDuanYSID());
patMedOuthosp.setDrname(externalDiagnosisInfo.getZhenDuanYSXM());
patMedOuthosp.setIcd10code(externalDiagnosisInfo.getIcd10());
+ patMedOuthosp.setFuflag("0");
}
}
for (ExternalWZInfo externalWZInfo : ExternalWZInfoList) {
@@ -903,12 +965,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;
}
@@ -1314,6 +1402,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());
@@ -1662,7 +1752,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