sinake
2025-09-25 2f95715172c19793ed8774d3647e2ae2ce6b65c1
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -138,8 +138,12 @@
        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("");
@@ -172,6 +176,26 @@
        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) {
@@ -956,22 +980,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("患者已经回来复诊");
                    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("患者已经回来复诊");
//                    serviceSubtask.setUpdateTime(new Date());
//                    serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
//                }
//            }
//        }
        if (i > 0) {
            return true;