| | |
| | | import java.time.Period; |
| | | import java.time.ZoneId; |
| | | import java.time.temporal.ChronoUnit; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | } |
| | | 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; |
| | | } |
| | |
| | | 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(""); |
| | |
| | | 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) { |
| | |
| | | externalInHospPatientInfo.setZhuZhiYSID(externalInDeptPatientInfo.getZhuZhiYSID()); |
| | | externalInHospPatientInfo.setZhuZhiYSXM(externalInDeptPatientInfo.getZhuZhiYSXM()); |
| | | externalInHospPatientInfo.setRuYuanSJ(externalInDeptPatientInfo.getRuYuanSJ()); |
| | | externalInHospPatientInfo.setJingGuanYSID(externalInDeptPatientInfo.getJingGuanYSID()); |
| | | externalInHospPatientInfo.setJingGuanYSXM(externalInDeptPatientInfo.getJingGuanYSXM()); |
| | | externalInHospPatientInfo.setLianXiDH(ObjectUtils.isNotEmpty(BingRenXX.get("LianXiDH")) ? BingRenXX.get("LianXiDH").toString() : null); |
| | | externalInHospPatientInfo.setDangQianCWID(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianCWID")) ? BingRenXX.get("DangQianCWID").toString() : null); |
| | | externalInHospPatientInfo.setDangQianCWMC(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianCWMC")) ? BingRenXX.get("DangQianCWMC").toString() : null); |
| | |
| | | } |
| | | } |
| | | try { |
| | | patMedInhosp1.setFudate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(SuiFangJH.get("SuiFangRQ").toString())); |
| | | if (!Objects.isNull(SuiFangJH.get("SuiFangRQ"))) |
| | | patMedInhosp1.setFudate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(SuiFangJH.get("SuiFangRQ").toString())); |
| | | } catch (ParseException e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | 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()); |
| | |
| | | patMedOuthosp.setAdmitdate(externalJZInfo.getJiuZhenRQ()); |
| | | patMedOuthosp.setOrgid(FaSongJGID); |
| | | patMedOuthosp.setHospitalname(FaSongJGMC); |
| | | patMedOuthosp.setIdcardno(patArchive.getIdcardno()); |
| | | |
| | | //这个需要等HIS那边告诉取哪个字段,现在还是不对的 |
| | | patMedOuthosp.setFudate(externalJZInfo.getSfrq()); |
| | |
| | | i = patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp); |
| | | } |
| | | |
| | | //先通过身份证和科室查询该患者是否有需要随访的(景宁提出来的) |
| | | if (patMedOuthosp.getOrgid().equals("47255004333112711A1001")) { |
| | | 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("患者已经回来复诊"); |
| | | 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; |
| | |
| | | patMedInhosp.setDrcode(externalInHospPatientInfo.getZhuZhiYSID()); |
| | | patMedInhosp.setNurseId(externalInHospPatientInfo.getZeRenHSID()); |
| | | patMedInhosp.setNurseName(externalInHospPatientInfo.getZeRenHSXM()); |
| | | patMedInhosp.setManagementDoctor(externalInHospPatientInfo.getJingGuanYSXM()); |
| | | patMedInhosp.setManagementDoctorCode(externalInHospPatientInfo.getJingGuanYSID()); |
| | | } |
| | | if (ObjectUtils.isNotEmpty(externalInHospPatientDiagnoseInfo)) { |
| | | // patMedInhosp.setIcd10code(StringUtils.isNotEmpty(patMedInhosp.getIcd10code()) ? patMedInhosp.getIcd10code() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanID() : externalInHospPatientDiagnoseInfo.getZhenDuanID()); |