陈昶聿
2026-01-23 2a84c2668423b49aa8a53d5a090c96f93a90b96c
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -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) {
            // 按create_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) {
@@ -914,6 +938,8 @@
        patMedOuthosp.setDeptcode(externalJZInfo.getJiuZhenKSID());
        patMedOuthosp.setAdmitdate(externalJZInfo.getJiuZhenRQ());
        patMedOuthosp.setOrgid(FaSongJGID);
        //丽水无院区,默认值是 1
        patMedOuthosp.setCampusid("1");
        patMedOuthosp.setHospitalname(FaSongJGMC);
        patMedOuthosp.setIdcardno(patArchive.getIdcardno());