From 614c260c90eea54d3d2f1fde4b0f3af78e825513 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 30 一月 2026 13:41:10 +0800
Subject: [PATCH] 【丽水】selectPatMedOuthospList 患者门诊记录增加性别

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |  111 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 87 insertions(+), 24 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 91ef27e..aed0d9c 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -89,6 +89,8 @@
         }
         SysDept sysDept = new SysDept();
         sysDept.setOrgid(externalDept.getZuZhiJGID());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        sysDept.setCampusid("1");
         sysDept.setHisDeptId(externalDept.getKeShiID());
         sysDept.setHisParentId(externalDept.getFuKeSID());
         //閫氳繃his鐨勭埗绉戝ID鍘绘壘鍒扮瀹D,濉厖parentId
@@ -117,10 +119,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;
     }
@@ -137,17 +139,20 @@
         SysUser sysUser = new SysUser();
         sysUser.setUserName(externalUserInfo.getYongHuDLM());
         sysUser.setOrgid(externalUserInfo.getZuZhiJGID());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        sysUser.setCampusid("1");
         //鏍规嵁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 +168,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) {
@@ -190,6 +218,8 @@
         baseOrganization.setUpdateTime(externalOrganInfo.getUpdateTime());
         baseOrganization.setUpdateBy(externalOrganInfo.getUpdateBy());
         baseOrganization.setOrgid(externalOrganInfo.getZuZhiJGID());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        baseOrganization.setCampusid("1");
         if (StringUtils.isNotEmpty(externalOrganInfo.getShiJianDM()) && externalOrganInfo.getShiJianDM().equals("1")) {
             int i = baseOrganizationMapper.insertBaseOrganization(baseOrganization);
             log.info("ServiceExternalServiceImpl---addOrganInfo鏄惁鏂板鎴愬姛锛歿}", i);
@@ -470,6 +500,8 @@
         if (CollectionUtils.isNotEmpty(patMedInhospList)) {
             patMedInhosp1.setUpdateTime(new Date());
             patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX) && ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null);
+            //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+            patMedInhosp1.setCampusid("1");
             if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) {
                 //涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
                 patMedInhosp1.setFuflag("1");
@@ -483,6 +515,8 @@
                 patMedInhosp1.setLeavehospitaldistrictname(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianBQMC")) ? BingRenXX.get("DangQianBQMC").toString() : null);
                 patMedInhosp1.setLeavehospitaldistrictcode(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianBQID")) ? BingRenXX.get("DangQianBQID").toString() : null);
                 patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null);
+                //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+                patMedInhosp1.setCampusid("1");
                 patMedInhosp1.setPatno(ObjectUtils.isNotEmpty(BingRenXX.get("BingRenID")) ? BingRenXX.get("BingRenID").toString() : null);
                 patMedInhosp1.setInhospno(ObjectUtils.isNotEmpty(BingRenXX.get("BingAnHao")) ? BingRenXX.get("BingAnHao").toString() : null);
                 patMedInhosp1.setSerialnum(ObjectUtils.isNotEmpty(BingRenXX.get("JiuZhenYWID")) ? BingRenXX.get("JiuZhenYWID").toString() : null);
@@ -626,6 +660,8 @@
                 patMedInhosp1.setLeavehospitaldistrictname(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianBQMC")) ? BingRenXX.get("DangQianBQMC").toString() : null);
                 patMedInhosp1.setLeavehospitaldistrictcode(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianBQID")) ? BingRenXX.get("DangQianBQID").toString() : null);
                 patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null);
+                //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+                patMedInhosp1.setCampusid("1");
                 patMedInhosp1.setPatno(ObjectUtils.isNotEmpty(BingRenXX.get("BingRenID")) ? BingRenXX.get("BingRenID").toString() : null);
                 patMedInhosp1.setInhospno(ObjectUtils.isNotEmpty(BingRenXX.get("BingAnHao")) ? BingRenXX.get("BingAnHao").toString() : null);
                 patMedInhosp1.setSerialnum(ObjectUtils.isNotEmpty(BingRenXX.get("JiuZhenYWID")) ? BingRenXX.get("JiuZhenYWID").toString() : null);
@@ -830,6 +866,8 @@
                 patMedInhosp1.setLeavehospitaldistrictname(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianBQMC")) ? BingRenXX.get("DangQianBQMC").toString() : null);
                 patMedInhosp1.setLeavehospitaldistrictcode(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianBQID")) ? BingRenXX.get("DangQianBQID").toString() : null);
                 patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null);
+                //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+                patMedInhosp1.setCampusid("1");
                 patMedInhosp1.setPatno(ObjectUtils.isNotEmpty(BingRenXX.get("BingRenID")) ? BingRenXX.get("BingRenID").toString() : null);
                 patMedInhosp1.setInhospno(ObjectUtils.isNotEmpty(BingRenXX.get("BingAnHao")) ? BingRenXX.get("BingAnHao").toString() : null);
                 patMedInhosp1.setSerialnum(ObjectUtils.isNotEmpty(BingRenXX.get("JiuZhenYWID")) ? BingRenXX.get("JiuZhenYWID").toString() : null);
@@ -900,6 +938,7 @@
                 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.setSex(patArchive.getSex());
                 patMedOuthosp1.setTelcode(patArchive.getTelcode());
                 patMedOuthosp1.setIdcardno(patArchive.getIdcardno());
             }
@@ -914,6 +953,8 @@
         patMedOuthosp.setDeptcode(externalJZInfo.getJiuZhenKSID());
         patMedOuthosp.setAdmitdate(externalJZInfo.getJiuZhenRQ());
         patMedOuthosp.setOrgid(FaSongJGID);
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        patMedOuthosp.setCampusid("1");
         patMedOuthosp.setHospitalname(FaSongJGMC);
         patMedOuthosp.setIdcardno(patArchive.getIdcardno());
 
@@ -956,22 +997,22 @@
             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 (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;
@@ -1037,6 +1078,8 @@
         icd10.setIcdcode(externalDiseaseInfo.getIcD10());
         icd10.setDelFlag("0");
         icd10.setOrgid(FaSongJGID);
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        icd10.setCampusid("1");
         //閫氳繃icdCode鏌ヨ涓�涓嬶紝鏄惁瀛樺湪
         List<Icd10> icd10s = icd10Mapper.selectIcd10List(icd10);
         icd10.setHisIcdid(externalDiseaseInfo.getJiBingID());
@@ -1063,6 +1106,8 @@
         ExternalWardArea externalWardArea = BeanUtil.mapToBean(bqxx, ExternalWardArea.class, true);
         SysDept sysDept = new SysDept();
         sysDept.setOrgid(externalWardArea.getZuZhiJGID());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        sysDept.setCampusid("1");
         sysDept.setHisDeptId(externalWardArea.getBingQuID());
 
         sysDept.setDeptName(externalWardArea.getBingQuMC());
@@ -1170,6 +1215,8 @@
             patMedOperation.setPatno(externalInHospPatientInfo.getBingRenID());
             patMedOperation.setPatname(externalInHospPatientInfo.getXingMing());
             patMedOperation.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+            //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+            patMedOperation.setCampusid("1");
             patMedOperation.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
             patMedOperation.setInhospno(externalInHospPatientInfo.getBingAnHao());
             patMedOperation.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC());
@@ -1233,6 +1280,8 @@
                 patMedOperationItem.setOpposition(externalOperationDetail.getShouShuBW());
                 patMedOperationItem.setDelFlag("0");
                 patMedOperationItem.setOrgid(patMedOperation.getOrgid());
+                //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+                patMedOperationItem.setCampusid("1");
                 if (externalOperationDetail.getZhuShouSBZ().equals("1") && addMianTableFalg == true) {
                     patMedOperation.setOpcode(externalOperationDetail.getShouShuMCID());
                     patMedOperation.setOpdesc(externalOperationDetail.getShouShuMC());
@@ -1267,6 +1316,8 @@
         if (StringUtils.isEmpty(externalInHospPatientInfo.getZhengJianHM()))
             patArchive.setIdcardno(externalInHospPatientInfo.getJiuZhenKH());
         patArchive.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        patArchive.setCampusid("1");
         List<PatArchive> patArchives = null;
         if (ObjectUtils.isNotEmpty(patArchive.getIdcardno()))
             patArchives = patArchiveMapper.selectPatArchiveList(patArchive);
@@ -1329,6 +1380,8 @@
                 patArchivecontact.setPatid(patArchive.getId());
                 patArchivecontact.setContactname(external.getLianXiRXM());
                 patArchivecontact.setOrgid(patArchive.getOrgid());
+                //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+                patArchivecontact.setCampusid("1");
                 List<PatArchivecontact> patArchivecontacts = patArchivecontactMapper.selectPatArchivecontactList(patArchivecontact);
                 patArchivecontact.setContactway(external.getLianXiRDH());
                 patArchivecontact.setRelation(external.getGuanXiMC());
@@ -1364,6 +1417,8 @@
             //杩欓噷鏄簥浣嶅悕绉拌繕鏄簥浣嶇紪鍙凤紵锛燂紵锛�
             patMedInhosp.setBedNo(externalInHospPatientInfo.getDangQianCWMC());
             patMedInhosp.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+            //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+            patMedInhosp.setCampusid("1");
             patMedInhosp.setHospitaldistrictid(externalInHospPatientInfo.getDangQianBQID());
             patMedInhosp.setGuid(externalInHospPatientInfo.getZuZhiJGID());
             patMedInhosp.setInhospstate("0");
@@ -1480,6 +1535,8 @@
             patMedInspection.setProjecttype(0);
         }
         patMedInspection.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        patMedInspection.setCampusid("1");
         patMedInspection.setInhospno(externalInHospPatientInfo.getBingAnHao());
         patMedInspection.setPatidHis(externalInHospPatientInfo.getBingRenID());
         patMedInspection.setPatname(externalInHospPatientInfo.getXingMing());
@@ -1562,6 +1619,8 @@
         if (CollectionUtils.isNotEmpty(patMedInspections)) {
             patMedInspection.setUpdateDate(new Date());
             patMedInspection.setOrgid(ObjectUtils.isNotEmpty(xiaoXiTou) && ObjectUtils.isNotEmpty(xiaoXiTou.get("FaSongJGID")) ? xiaoXiTou.get("FaSongJGID").toString() : null);
+            //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+            patMedInspection.setCampusid("1");
             //   鏇存柊鎿嶄綔
             int i = patMedInspectionMapper.updatePatMedInspection(patMedInspection);
             if (i != 1) return false;
@@ -1587,6 +1646,8 @@
         PatMedInspection patMedInspection = new PatMedInspection();
         PatMedInspectionItem patMedInspectionItem = new PatMedInspectionItem();
         patMedInspection.setOrgid(BingRenXX.get("ZuZhiJGID").toString());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        patMedInspection.setCampusid("1");
         patMedInspection.setInhospno(BingRenXX.get("BingAnHao").toString());
         patMedInspection.setPatidHis(BingRenXX.get("BingRenID").toString());
         patMedInspection.setPatname(BingRenXX.get("XingMing").toString());
@@ -1602,6 +1663,8 @@
         }
         //妫�鏌ユ楠屾姤鍛婃暟鎹鐞�
         patMedInspectionItem.setOrgid(BingRenXX.get("ZuZhiJGID").toString());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        patMedInspectionItem.setCampusid("1");
         List<PatMedInspectionItem> patMedInspectionItems = patMedInspectionItemMapper.selectPatMedInspectionItemList(patMedInspectionItem);
         if (ObjectUtils.isNotEmpty(JianChaBG)) {
             patMedInspectionItem.setInspectionName(JianChaBG.get("JianChaHao").toString());

--
Gitblit v1.9.3