From 48d32c21519998b29f85960774a79e4c5519bdf8 Mon Sep 17 00:00:00 2001 From: sinake <sinake1@qq.com> Date: 星期五, 10 十月 2025 17:01:53 +0800 Subject: [PATCH] 新增随访情况 --- smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 85 ++++++++++++++++++++++++++++++------------ 1 files changed, 61 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 16b192f..2efbe9f 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java +++ b/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) { + // 鎸塩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) { @@ -891,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()); @@ -943,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("鎮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; -- Gitblit v1.9.3