From d7a1bed2e072cc3e40746c0b9e541d0ccd14e2a3 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期五, 06 二月 2026 14:19:10 +0800
Subject: [PATCH] 【丽水】新增科室用户信息接口输入

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |  132 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 132 insertions(+), 0 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 8e2c498..d72677f 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -3,6 +3,7 @@
 import cn.hutool.core.bean.BeanUtil;
 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.StringUtils;
@@ -40,6 +41,8 @@
     private SysDept2Mapper sysDeptMapper;
     @Autowired
     private SysUser2Mapper sysUserMapper;
+    @Autowired
+    private SysUserDeptMapper sysUserDeptMapper;
     @Autowired
     private BaseOrganizationMapper baseOrganizationMapper;
     @Autowired
@@ -89,6 +92,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
@@ -130,6 +135,7 @@
         log.info("ServiceExternalServiceImpl---addUserInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
         Map<String, Object> yongHuXX = (Map<String, Object>) yeWuXX.get("YongHuXX");
+
         ExternalUserInfo externalUserInfo = BeanUtil.mapToBean(yongHuXX, ExternalUserInfo.class, true);
         if (ObjectUtils.isEmpty(externalUserInfo)) {
             throw new BaseException("externalUserInfo鏄┖鐨勶紝娌℃湁鏁版嵁锛侊紒锛�");
@@ -137,6 +143,8 @@
         SysUser sysUser = new SysUser();
         sysUser.setUserName(externalUserInfo.getYongHuDLM());
         sysUser.setOrgid(externalUserInfo.getZuZhiJGID());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        sysUser.setCampusid("1");
         //鏍规嵁userName鍒ゆ柇涓�涓嬶紝鏄笉鏄箣鍓嶆湁鏂板
         SysUser sysUser1 = null;
         List<SysUser> sysUserList = sysUserMapper.selectUserList(sysUser);
@@ -176,6 +184,94 @@
         return true;
     }
 
+    @Override
+    public Boolean addUserDeptInfo(Map dataMap) {
+        log.info("ServiceExternalServiceImpl---addUserDeptInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+        Map yeWuXX = (Map) dataMap.get("YeWuXX");
+        Map<String, Object> keShiYH = (Map<String, Object>) yeWuXX.get("KeShiYH");
+
+        ExternalUserDeptInfo externalUserDeptInfo = BeanUtil.mapToBean(keShiYH, ExternalUserDeptInfo.class, true);
+        if (ObjectUtils.isEmpty(externalUserDeptInfo)) {
+            throw new BaseException("externalUserDeptInfo鏄┖鐨勶紝娌℃湁鏁版嵁锛侊紒锛�");
+        }
+
+        //鑾峰彇褰撳墠鐢ㄦ埛Name瀵瑰簲鐨剈ser淇℃伅
+        SysUser sysUser = null;
+        SysUser sysUserVo = new SysUser();
+        sysUserVo.setUserName(externalUserDeptInfo.getYongHuDLM());
+        sysUserVo.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        sysUserVo.setCampusid("1");
+        //鏍规嵁userName鍒ゆ柇涓�涓嬶紝鏄笉鏄箣鍓嶆湁鏂板
+        List<SysUser> sysUserList = sysUserMapper.selectUserList(sysUserVo);
+        if (CollectionUtils.isNotEmpty(sysUserList)) {
+            sysUser = sysUserList.get(0);
+        }
+
+        //鑾峰彇褰撳墠绉戝hisDeptId瀵瑰簲鐨刣ept淇℃伅
+        SysDept sysDept = null;
+        SysDept sysDeptVo = new SysDept();
+        sysDeptVo.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        sysDeptVo.setCampusid("1");
+        sysDeptVo.setHisDeptId(externalUserDeptInfo.getKeShiID());
+        List<SysDept> sysDepts = sysDeptMapper.selectDeptList(sysDeptVo);
+        if (CollectionUtils.isNotEmpty(sysDepts)) {
+            sysDept = sysDepts.get(0);
+        }
+        if(ObjectUtils.isEmpty(sysUser)){
+            log.error("ServiceExternalServiceImpl---addUserDeptInfo 鎵句笉鍒板搴旂殑鐢ㄦ埛 username: {}", externalUserDeptInfo.getYongHuDLM());
+            return false;
+        }else if(ObjectUtils.isEmpty(sysDept)){
+            log.error("ServiceExternalServiceImpl---addUserDeptInfo 鎵句笉鍒板搴旂殑绉戝 hisDeptId: {}", externalUserDeptInfo.getKeShiID());
+            return false;
+        }else {
+            SysUserDept sysUserDept = new SysUserDept();
+            sysUserDept.setDelFlag(0L);
+            sysUserDept.setUserId(sysUser.getUserId());
+            sysUserDept.setUserCode(sysUser.getUserCode());
+            sysUserDept.setDeptType("2");
+            sysUserDept.setGuid(externalUserDeptInfo.getZuZhiJGID());
+            sysUserDept.setDeptId(sysDept.getDeptId());
+            sysUserDept.setDeptCode(sysDept.getDeptCode());
+            sysUserDept.setDeptName(sysDept.getDeptName());
+
+            sysUserDept.setCreateBy(externalUserDeptInfo.getChuangJianRXM());
+            sysUserDept.setCreateTime(externalUserDeptInfo.getChuangJianSJ());
+            sysUserDept.setUpdateTime(externalUserDeptInfo.getXiuGaiSJ());
+            sysUserDept.setUpdateBy(externalUserDeptInfo.getXiuGaiRXM());
+
+            if (StringUtils.isNotEmpty(externalUserDeptInfo.getShiJianDM()) && externalUserDeptInfo.getShiJianDM().equals("3")) {
+                sysUserDept.setDelFlag(1L);
+            }
+            SysUserDept sysUserDeptVo = new SysUserDept();
+            sysUserDeptVo.setUserId(sysUser.getUserId());
+            sysUserDeptVo.setDeptId(sysDept.getDeptId());
+            sysUserDeptVo.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+            //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+            sysUserDeptVo.setCampusid("1");
+            //鏍规嵁userName鍒ゆ柇涓�涓嬶紝鏄笉鏄箣鍓嶆湁鏂板
+            SysUserDept sysUserDeptOld = null;
+            List<SysUserDept> SysUserDeptList = sysUserDeptMapper.selectSysUserDeptList(sysUserDeptVo);
+            if (CollectionUtils.isNotEmpty(SysUserDeptList)) {
+                sysUserDeptOld = SysUserDeptList.get(0);
+            }
+            if (ObjectUtils.isEmpty(sysUserDeptOld)) {
+                int i = sysUserDeptMapper.insertSysUserDept(sysUserDept);
+                log.info("ServiceExternalServiceImpl---addUserDeptInfo鏄惁鏂板鎴愬姛锛歿}", i);
+            } else {
+                sysUserDept.setUserId(sysUserDeptOld.getUserId());
+                int i = sysUserDeptMapper.updateSysUserDept(sysUserDept);
+                log.info("ServiceExternalServiceImpl---addUserDeptInfo鏄惁淇敼鎴愬姛03锛歿}", i);
+            }
+            //鏇存柊sys-user deptId
+            if(StringUtils.isNotEmpty(externalUserDeptInfo.getKeShiID())){
+                sysUser.setDeptId(Long.valueOf(externalUserDeptInfo.getKeShiID()));
+                sysUserMapper.updateUser(sysUser);
+            }
+        }
+        return true;
+    }
 
     private SysUser getUser(List<SysUser> sysUserList) {
         SysUser sysUser = null;
@@ -214,6 +310,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);
@@ -494,6 +592,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");
@@ -507,6 +607,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);
@@ -650,6 +752,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);
@@ -854,6 +958,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);
@@ -924,6 +1030,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());
             }
@@ -1063,6 +1170,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());
@@ -1089,6 +1198,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());
@@ -1196,6 +1307,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());
@@ -1259,6 +1372,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());
@@ -1293,6 +1408,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);
@@ -1355,6 +1472,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());
@@ -1390,6 +1509,8 @@
             //杩欓噷鏄簥浣嶅悕绉拌繕鏄簥浣嶇紪鍙凤紵锛燂紵锛�
             patMedInhosp.setBedNo(externalInHospPatientInfo.getDangQianCWMC());
             patMedInhosp.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+            //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+            patMedInhosp.setCampusid("1");
             patMedInhosp.setHospitaldistrictid(externalInHospPatientInfo.getDangQianBQID());
             patMedInhosp.setGuid(externalInHospPatientInfo.getZuZhiJGID());
             patMedInhosp.setInhospstate("0");
@@ -1506,6 +1627,8 @@
             patMedInspection.setProjecttype(0);
         }
         patMedInspection.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        patMedInspection.setCampusid("1");
         patMedInspection.setInhospno(externalInHospPatientInfo.getBingAnHao());
         patMedInspection.setPatidHis(externalInHospPatientInfo.getBingRenID());
         patMedInspection.setPatname(externalInHospPatientInfo.getXingMing());
@@ -1588,6 +1711,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;
@@ -1613,6 +1738,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());
@@ -1628,6 +1755,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());
@@ -1744,6 +1873,9 @@
             case "JG_YH_JiBenXX":
                 log.info("鐢ㄦ埛淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
                 return addUserInfo(dataMap);
+            case "JG_YH_KeShiYH":
+                log.info("绉戝鐢ㄦ埛淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
+                return addUserDeptInfo(dataMap);
             case "fu_task":
                 log.info("fu_task鏈嶅姟鍏ュ弬绫诲瀷涓猴細{}", type);
                 return addTaskInfo(dataMap);

--
Gitblit v1.9.3