From fa132afa3a6942a48002c8e36e9ee47de13ee005 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 26 三月 2025 18:44:45 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 401 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 340 insertions(+), 61 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 81ba025..9fd46d8 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java @@ -7,18 +7,21 @@ import com.smartor.domain.*; import com.smartor.mapper.*; import com.smartor.service.IServiceExternalService; -import com.smartor.service.IServiceSubtaskService; -import org.springframework.beans.factory.annotation.Value; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +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; @@ -43,6 +46,8 @@ @Autowired private PatArchiveMapper patArchiveMapper; @Autowired + private PatArchivecontactMapper patArchivecontactMapper; + @Autowired private PatMedInhospMapper patMedInhospMapper; @Autowired private PatMedOperationMapper patMedOperationMapper; @@ -50,6 +55,8 @@ private PatMedOperationItemMapper patMedOperationItemMapper; @Autowired private Icd10Mapper icd10Mapper; + @Autowired + private PatMedOuthospMapper patMedOuthospMapper; @Value("${defaultPwd}") private String defaultPwd; @@ -216,6 +223,7 @@ info.setGuanXiMC((String) map.get("GuanXiMC")); return info; }).collect(Collectors.toList()); + externalInHospPatientInfo.setExternalInHospPatientLiaisonInfos(epli2); List<ExternalInHospPatientDiagnoseInfo> hospPatientDiagnoseInfos2 = hospPatientDiagnoseInfos.stream().map(map -> { ExternalInHospPatientDiagnoseInfo info = new ExternalInHospPatientDiagnoseInfo(); @@ -242,8 +250,12 @@ Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX"); ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true); PatMedInhosp patMedInhosp = new PatMedInhosp(); - patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao()); + patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao()); List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); + for (PatMedInhosp patMedInhosp1 : patMedInhospList) { + String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid()); + patMedInhosp1.setTagname(tagname); + } if (CollectionUtils.isNotEmpty(patMedInhospList)) { Map<String, Object> JiuZhenXX = (Map<String, Object>) yeWuXX.get("JiuZhenXX"); PatMedInhosp patMedInhosp1 = patMedInhospList.get(0); @@ -263,40 +275,108 @@ log.error("ServiceExternalServiceImpl---addOutHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap); Map yeWuXX = (Map) dataMap.get("YeWuXX"); Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX"); + List<HashMap<String, Object>> epai = (List<HashMap<String, Object>>) BingRenXX.get("DiZhiXXList"); + List<HashMap<String, Object>> epli = (List<HashMap<String, Object>>) yeWuXX.get("LianXiRList"); ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true); - - PatMedInhosp patMedInhosp = new PatMedInhosp(); - patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao()); - List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); - if (CollectionUtils.isNotEmpty(patMedInhospList)) { - Map<String, Object> JiuZhenXX = (Map<String, Object>) yeWuXX.get("JiuZhenXX"); - PatMedInhosp patMedInhosp1 = patMedInhospList.get(0); - patMedInhosp1.setSchemestatus(2L); - try { - patMedInhosp1.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(JiuZhenXX.get("ChuYuanSJ").toString())); - } catch (ParseException e) { - e.printStackTrace(); - } - patMedInhosp1.setOperator(JiuZhenXX.get("CaoZuoRXM").toString()); - patMedInhosp1.setOperatorId(JiuZhenXX.get("CaoZuoRID").toString()); - patMedInhosp1.setUpdateTime(new Date()); - patMedInhosp1.setUpdateTime(new Date()); - - patMedInhosp1.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID()); - patMedInhosp1.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC()); - patMedInhosp1.setLeaveldeptname(externalInHospPatientInfo.getDangQianKSMC()); - patMedInhosp1.setLeaveldeptcode(externalInHospPatientInfo.getDangQianKSID()); - List<HashMap<String, Object>> zhenDuanList = (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList"); - List<ExternalInHospPatientDiagnoseInfo> hospPatientDiagnoseInfos2 = zhenDuanList.stream().map(map -> { - ExternalInHospPatientDiagnoseInfo info = new ExternalInHospPatientDiagnoseInfo(); - info.setZhenDuanID((String) map.get("ZhenDuanID")); - info.setZhenDuanMC((String) map.get("ZhenDuanMC")); + ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo = null; + ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo = null; + List<ExternalInHospPatientAddrInfo> epai2 = null; + if (CollectionUtils.isNotEmpty(epai)) { + epai2 = epai.stream().map(map -> { + ExternalInHospPatientAddrInfo info = new ExternalInHospPatientAddrInfo(); + info.setDiZhiLX((String) map.get("DiZhiLX")); // 鍋囪瀛楁绫诲瀷鏄� Integer + info.setDiZhiXX((String) map.get("DiZhiXX")); + info.setShengFenDM((String) map.get("ShengFenDM")); + info.setShengFenMC((String) map.get("ShengFenMC")); + info.setShiDiQDM((String) map.get("ShiDiQDM")); + info.setShiDiQMC((String) map.get("ShiDiQMC")); + info.setXianQuDM((String) map.get("XianQuDM")); + info.setXianQuMC((String) map.get("XianQuMC")); + info.setXiangZhenDM((String) map.get("XiangZhenDM")); + info.setXiangZhenMC((String) map.get("XiangZhenMC")); + info.setCunJiDM((String) map.get("CunJiDM")); + info.setQiTaXX((String) map.get("QiTaXX")); + info.setYouBian((String) map.get("YouBian")); return info; }).collect(Collectors.toList()); - patMedInhosp1.setLeaveicd10code(StringUtils.isNotEmpty(patMedInhosp1.getLeaveicd10code()) ? patMedInhosp1.getLeaveicd10code() + "," + hospPatientDiagnoseInfos2.get(0).getZhenDuanID() : hospPatientDiagnoseInfos2.get(0).getZhenDuanID()); - patMedInhosp1.setLeavediagname(StringUtils.isNotEmpty(patMedInhosp1.getLeavediagname()) ? patMedInhosp1.getLeavediagname() + "," + hospPatientDiagnoseInfos2.get(0).getZhenDuanMC() : hospPatientDiagnoseInfos2.get(0).getZhenDuanMC()); + } + List<ExternalInHospPatientLiaisonInfo> epli2 = null; + if (CollectionUtils.isNotEmpty(epli)) { + epli2 = epli.stream().map(map -> { + ExternalInHospPatientLiaisonInfo info = new ExternalInHospPatientLiaisonInfo(); + info.setLianXiRXM((String) map.get("LianXiRXM")); + info.setLianXiRDH((String) map.get("LianXiRDH")); + info.setGuanXiDM((String) map.get("GuanXiDM")); + info.setGuanXiMC((String) map.get("GuanXiMC")); + return info; + }).collect(Collectors.toList()); + } + if (CollectionUtils.isNotEmpty(epai)) externalInHospPatientAddrInfo = epai2.get(0); + if (CollectionUtils.isNotEmpty(epli)) externalInHospPatientLiaisonInfo = epli2.get(0); + //鏂板鎮h�呭熀鏈俊鎭柊澧炴垨淇敼 + PatArchive patArchive = addPatArchive(externalInHospPatientInfo, externalInHospPatientAddrInfo, externalInHospPatientLiaisonInfo); + PatMedInhosp patMedInhosp = new PatMedInhosp(); + patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao()); + List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); + for (PatMedInhosp patMedInhosp1 : patMedInhospList) { + String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid()); + patMedInhosp1.setTagname(tagname); + } + Map<String, Object> JiuZhenXX = (Map<String, Object>) yeWuXX.get("JiuZhenXX"); + PatMedInhosp patMedInhosp1 = new PatMedInhosp(); + if (CollectionUtils.isNotEmpty(patMedInhospList)) patMedInhosp1 = patMedInhospList.get(0); + patMedInhosp1.setSchemestatus(2L); + try { + patMedInhosp1.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(JiuZhenXX.get("ChuYuanSJ").toString())); + } catch (ParseException e) { + e.printStackTrace(); + } + patMedInhosp1.setOperator(JiuZhenXX.get("CaoZuoRXM").toString()); + patMedInhosp1.setOperatorId(JiuZhenXX.get("CaoZuoRID").toString()); + patMedInhosp1.setUpdateTime(new Date()); + patMedInhosp1.setDrname(ObjectUtils.isNotEmpty(JiuZhenXX.get("ZhuZhiYSXM")) ? JiuZhenXX.get("ZhuZhiYSXM").toString() : null); + patMedInhosp1.setDrcode(ObjectUtils.isNotEmpty(JiuZhenXX.get("ZhuZhiYSID")) ? JiuZhenXX.get("ZhuZhiYSID").toString() : null); + patMedInhosp1.setNurseName(ObjectUtils.isNotEmpty(JiuZhenXX.get("ZeRenHSXM")) ? JiuZhenXX.get("ZeRenHSXM").toString() : null); + patMedInhosp1.setNurseId(ObjectUtils.isNotEmpty(JiuZhenXX.get("ZeRenHSID")) ? JiuZhenXX.get("ZeRenHSID").toString() : null); + patMedInhosp1.setBedNo(ObjectUtils.isNotEmpty(JiuZhenXX.get("DangQianCWMC")) ? JiuZhenXX.get("DangQianCWMC").toString() : null); + patMedInhosp1.setTelcode(patArchive.getTelcode()); + patMedInhosp1.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID()); + patMedInhosp1.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC()); + patMedInhosp1.setLeaveldeptname(externalInHospPatientInfo.getDangQianKSMC()); + patMedInhosp1.setDeptname(externalInHospPatientInfo.getDangQianKSMC()); + patMedInhosp1.setLeaveldeptcode(externalInHospPatientInfo.getDangQianKSID()); + patMedInhosp1.setDeptcode(externalInHospPatientInfo.getDangQianKSID()); + List<HashMap<String, Object>> zhenDuanList = (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList"); + List<ExternalInHospPatientDiagnoseInfo> hospPatientDiagnoseInfos2 = zhenDuanList.stream().map(map -> { + ExternalInHospPatientDiagnoseInfo info = new ExternalInHospPatientDiagnoseInfo(); + info.setZhenDuanID((String) map.get("ZhenDuanID")); + info.setZhenDuanMC((String) map.get("ZhenDuanMC")); + return info; + }).collect(Collectors.toList()); + patMedInhosp1.setLeaveicd10code(StringUtils.isNotEmpty(patMedInhosp1.getLeaveicd10code()) ? patMedInhosp1.getLeaveicd10code() + "," + hospPatientDiagnoseInfos2.get(0).getZhenDuanID() : hospPatientDiagnoseInfos2.get(0).getZhenDuanID()); + patMedInhosp1.setLeavediagname(StringUtils.isNotEmpty(patMedInhosp1.getLeavediagname()) ? patMedInhosp1.getLeavediagname() + "," + hospPatientDiagnoseInfos2.get(0).getZhenDuanMC() : hospPatientDiagnoseInfos2.get(0).getZhenDuanMC()); + patMedInhosp1.setDiagname(StringUtils.isNotEmpty(patMedInhosp1.getLeavediagname()) ? patMedInhosp1.getLeavediagname() + "," + hospPatientDiagnoseInfos2.get(0).getZhenDuanMC() : hospPatientDiagnoseInfos2.get(0).getZhenDuanMC()); + // patMedInhosp1.setIcd10code(StringUtils.isNotEmpty(patMedInhosp1.getLeavediagname()) ? patMedInhosp1.getLeavediagname() + "," + hospPatientDiagnoseInfos2.get(0).getZhenDuanMC() : hospPatientDiagnoseInfos2.get(0).getZhenDuanMC()); + patMedInhosp1.setInhospstate("1"); + if (CollectionUtils.isNotEmpty(patMedInhospList)) { + patMedInhosp1.setUpdateTime(new Date()); + patMedInhosp1.setOrgid(BingRenXX.get("ZuZhiJGID").toString()); int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); + if (i != 1) return false; + } else { + patMedInhosp1.setHospitalname(BingRenXX.get("ZuZhiJGMC").toString()); + patMedInhosp1.setHospitalcode(BingRenXX.get("ZuZhiJGID").toString()); + patMedInhosp1.setLeavehospitaldistrictname(BingRenXX.get("DangQianBQMC").toString()); + patMedInhosp1.setLeavehospitaldistrictcode(BingRenXX.get("DangQianBQID").toString()); + patMedInhosp1.setPatid(patArchive.getId()); + patMedInhosp1.setPatname(patArchive.getName()); + patMedInhosp1.setOrgid(BingRenXX.get("ZuZhiJGID").toString()); + patMedInhosp1.setPatno(BingRenXX.get("BingRenID").toString()); + patMedInhosp1.setInhospno(BingRenXX.get("BingAnHao").toString()); + patMedInhosp1.setSerialnum(BingRenXX.get("BingAnHao").toString()); + patMedInhosp1.setCreateTime(new Date()); + int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1); if (i != 1) return false; } return true; @@ -309,8 +389,12 @@ Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX"); ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true); PatMedInhosp patMedInhosp = new PatMedInhosp(); - patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao()); + patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao()); List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); + for (PatMedInhosp patMedInhosp1 : patMedInhospList) { + String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid()); + patMedInhosp1.setTagname(tagname); + } if (CollectionUtils.isNotEmpty(patMedInhospList)) { Map<String, Object> JiuZhenXX = (Map<String, Object>) yeWuXX.get("JiuZhenXX"); PatMedInhosp patMedInhosp1 = patMedInhospList.get(0); @@ -326,31 +410,104 @@ @Override public Boolean addFinshJZInfo(Map dataMap) { - //杩欎釜鍏堢瓑绛� + log.error("ServiceExternalServiceImpl---addFinshJZInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap); + Map yeWuXX = (Map) dataMap.get("YeWuXX"); + Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou"); + String FaSongJGID = ObjectUtils.isNotEmpty(XiaoXiTou.get("FaSongJGID")) ? XiaoXiTou.get("FaSongJGID").toString() : null; - return null; + Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX"); + Map<String, Object> JiuZhenXX = (Map<String, Object>) yeWuXX.get("JiuZhenXX"); + List<HashMap<String, Object>> ZhenDuanList = (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList"); + List<HashMap<String, Object>> externalWZInfos = (List<HashMap<String, Object>>) yeWuXX.get("WenZhenList"); + ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true); + //鐥呬汉淇℃伅閲屾病鏈夌粍缁囨満鏋処D + externalInHospPatientInfo.setZuZhiJGID(FaSongJGID); + + ExternalJZInfo externalJZInfo = BeanUtil.mapToBean(JiuZhenXX, ExternalJZInfo.class, true); + List<ExternalDiagnosisInfo> externalDiagnosisInfoList = ZhenDuanList.stream().map(map -> { + ExternalDiagnosisInfo info = new ExternalDiagnosisInfo(); + info.setZhenDuanYSID((String) map.get("ZhenDuanYSID")); + info.setZhenDuanYSXM((String) map.get("ZhenDuanYSXM")); + info.setZhenDuanID((String) map.get("ZhenDuanID")); + info.setZhenDuanMC((String) map.get("ZhenDuanMC")); + info.setZhenDuanLBDM((String) map.get("ZhenDuanLBDM")); + info.setZhenDuanLBMC((String) map.get("ZhenDuanLBMC")); + return info; + }).collect(Collectors.toList()); + + List<ExternalWZInfo> ExternalWZInfoList = externalWZInfos.stream().map(map -> { + ExternalWZInfo info = new ExternalWZInfo(); + info.setWenZhenLXMC((String) map.get("WenZhenLXMC")); + info.setNeiRong((String) map.get("NeiRong")); + return info; + }).collect(Collectors.toList()); + + PatArchive patArchive = addPatArchive(externalInHospPatientInfo, null, null); + + PatMedOuthosp patMedOuthosp = new PatMedOuthosp(); + patMedOuthosp.setOuthospno(externalInHospPatientInfo.getBingAnHao()); + patMedOuthosp.setSerialnum(externalInHospPatientInfo.getBingAnHao()); + patMedOuthosp.setPatid(patArchive.getId()); + patMedOuthosp.setPatname(externalInHospPatientInfo.getXingMing()); + patMedOuthosp.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC()); + patMedOuthosp.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID()); + patMedOuthosp.setDeptname(externalJZInfo.getJiuZhenKSMC()); + patMedOuthosp.setDeptcode(externalJZInfo.getJiuZhenKSID()); + patMedOuthosp.setAdmitdate(externalJZInfo.getJiuZhenRQ()); + patMedOuthosp.setOrgid(FaSongJGID); + + for (ExternalDiagnosisInfo externalDiagnosisInfo : externalDiagnosisInfoList) { + if (externalDiagnosisInfo.getZhenDuanLBMC().equals("涓昏瘖鏂�")) { + patMedOuthosp.setDiagname(externalDiagnosisInfo.getZhenDuanMC()); + patMedOuthosp.setIcd10code(externalDiagnosisInfo.getZhenDuanID()); + patMedOuthosp.setDrcode(externalDiagnosisInfo.getZhenDuanYSID()); + patMedOuthosp.setDrname(externalDiagnosisInfo.getZhenDuanYSXM()); + patMedOuthosp.setIcd10code(externalDiagnosisInfo.getIcd10()); + } + } + for (ExternalWZInfo externalWZInfo : ExternalWZInfoList) { + if (externalWZInfo.getWenZhenLXMC().equals("鐜扮梾鍙�")) { + patMedOuthosp.setHpi(externalWZInfo.getNeiRong()); + } + if (externalWZInfo.getWenZhenLXMC().equals("涓昏瘔")) { + patMedOuthosp.setMainsuit(externalWZInfo.getNeiRong()); + } + } + int i = patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp); + if (i > 0) { + return true; + } + + return false; } @Override public Boolean addDiseaseInfo(Map dataMap) { log.error("ServiceExternalServiceImpl---addDiseaseInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap); Map yeWuXX = (Map) dataMap.get("YeWuXX"); - Map<String, Object> JiBing = (Map<String, Object>) yeWuXX.get("JiBing"); + Map<String, Object> JiBing = (Map<String, Object>) yeWuXX.get("JiBingMLXX"); ExternalDiseaseInfo externalDiseaseInfo = BeanUtil.mapToBean(JiBing, ExternalDiseaseInfo.class, true); + Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou"); + String FaSongJGID = XiaoXiTou.get("FaSongJGID").toString(); Icd10 icd10 = new Icd10(); - icd10.setIcdcode(externalDiseaseInfo.getJiBingID()); + icd10.setIcdcode(externalDiseaseInfo.getIcD10()); + icd10.setDelFlag("0"); + icd10.setOrgid(FaSongJGID); + //閫氳繃icdCode鏌ヨ涓�涓嬶紝鏄惁瀛樺湪 + List<Icd10> icd10s = icd10Mapper.selectIcd10List(icd10); + icd10.setHisIcdid(externalDiseaseInfo.getJiBingID()); icd10.setIcdname(externalDiseaseInfo.getJiBingMC()); icd10.setGuid(externalDiseaseInfo.getZuZhiJGID()); - icd10.setOrgid(externalDiseaseInfo.getZuZhiJGID()); icd10.setLastflag(externalDiseaseInfo.getMOJIBZ()); icd10.setChimedflag("" + externalDiseaseInfo.getZhongYiZDBZ()); -// icd10Association.setIcd10AssortName(externalDiseaseInfo.getJiBingFLMC()); -// icd10Association.setChineseMedicineDiagnoseSign(externalDiseaseInfo.getZhongYiZDBZ()); -// icd10Association.setChineseMedicineDiagnoseAssortCode(externalDiseaseInfo.getZhongYiZDFLDM()); -// icd10Association.setChineseMedicineDiagnoseAssortName(externalDiseaseInfo.getZhongYiZDFLMC()); -// icd10Association.setOutpatientUseAssort(externalDiseaseInfo.getMenZhenSYBZ()); -// icd10Association.setInpatientUseAssort(externalDiseaseInfo.getZhuYuanSYBZ()); - icd10Mapper.insertIcd10(icd10); + if (CollectionUtils.isNotEmpty(icd10s)) { + icd10.setUpdateTime(new Date()); + icd10.setIcdid(icd10s.get(0).getIcdid()); + icd10Mapper.updateIcd10(icd10); + } else { + icd10.setCreateTime(new Date()); + icd10Mapper.insertIcd10(icd10); + } return true; } @@ -456,7 +613,7 @@ patMedOperation.setPatname(externalInHospPatientInfo.getXingMing()); patMedOperation.setVisitid(null); patMedOperation.setSerialnum(externalInHospPatientInfo.getZhuYuanHao()); - patMedOperation.setInhospno(externalInHospPatientInfo.getZhuYuanHao()); + patMedOperation.setInhospno(externalInHospPatientInfo.getBingAnHao()); patMedOperation.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC()); patMedOperation.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID()); patMedOperation.setDeptid(externalOperationInfo.getShouShuKSID()); @@ -479,13 +636,33 @@ patMedOperation.setDelFlag("1"); //鍚屾椂鍘绘煡璇紝鏄惁鍦╯ubtask涓敓鎴愪换鍔★紝濡傛灉鐢熸垚鍑哄緱绔嬮┈鍒犻櫎 } + patMedOperation.setUpdateTime(new Date()); patMedOperationMapper.updatePatMedOperation(patMedOperation); - } else patMedOperationMapper.insertPatMedOperation(patMedOperation); + } else { + patMedOperation.setCreateTime(new Date()); + patMedOperationMapper.insertPatMedOperation(patMedOperation); + } log.error("-----patMedOperation鐨勪富閿甶d涓猴細{}", patMedOperation.getId()); if (ObjectUtils.isNotEmpty(ssxx)) { - Map<String, Object> ShouShuMXList = (Map<String, Object>) ssxx.get("ShouShuMXList"); - List<ExternalOperationDetail> externalOperationDetails = BeanUtil.mapToBean(ShouShuMXList, List.class, true); + List<HashMap<String, Object>> ShouShuMXList = (List<HashMap<String, Object>>) ssxx.get("ShouShuMXList"); + + List<ExternalOperationDetail> externalOperationDetails = ShouShuMXList.stream().map(map -> { + ExternalOperationDetail info = new ExternalOperationDetail(); + info.setShouShuMCID((String) map.get("ShouShuMCID")); + info.setShouShuMC((String) map.get("ShouShuMC")); + info.setZhuShouSBZ((String) map.get("ZhuShouSBZ")); + info.setQieKouLBDM((String) map.get("QieKouLBDM")); + info.setQieKouLBMC((String) map.get("QieKouLBMC")); + info.setShouShuJBDM((String) map.get("ShouShuJBDM")); + info.setShouShuJBMC((String) map.get("ShouShuJBMC")); + info.setShouShuBW((String) map.get("ShouShuBW")); + info.setBiaoZhunBM((String) map.get("BiaoZhunBM")); + info.setShouShuMCQZ((String) map.get("ShouShuMCQZ")); + info.setShouShuMCHZ((String) map.get("ShouShuMCHZ")); + return info; + }).collect(Collectors.toList()); + //addMianTableFalg鏄惁闇�瑕佸皢涓绘墜鏈殑淇℃伅鏀惧埌PatMedOperation琛ㄤ腑锛堝彧鏈夌涓�涓富鎵嬫湳淇℃伅闇�瑕佹斁锛屽悗闈㈢殑閮戒笉闇�瑕佹斁浜嗭紝涔熷氨鏄锛岀涓�涓斁瀹屽悗锛屽氨瑕佹妸杩欎釜flag鏀规垚false锛� Boolean addMianTableFalg = true; for (ExternalOperationDetail externalOperationDetail : externalOperationDetails) { @@ -505,10 +682,11 @@ patMedOperation.setOpcode(externalOperationDetail.getShouShuMCID()); patMedOperation.setOpdesc(externalOperationDetail.getShouShuMC()); // patMedOperation.setOpid(externalOperationDetail.getShouShuJBDM()); + patMedOperation.setUpdateTime(new Date()); patMedOperationMapper.updatePatMedOperation(patMedOperation); addMianTableFalg = false; } - + patMedOperationItem.setCreateTime(new Date()); patMedOperationItemMapper.insertPatMedOperationItem(patMedOperationItem); } } @@ -517,10 +695,22 @@ //鏂板鎮h�呭熀鏈俊鎭� private PatArchive addPatArchive(ExternalInHospPatientInfo externalInHospPatientInfo, ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo, ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo) { + Date parse = null; + String chuShengRQ = externalInHospPatientInfo.getChuShengRQ(); + if (StringUtils.isNotEmpty(chuShengRQ)) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + try { + parse = simpleDateFormat.parse(chuShengRQ); + } catch (ParseException e) { + e.printStackTrace(); + } + } PatArchive patArchive = new PatArchive(); patArchive.setIdcardno(externalInHospPatientInfo.getZhengJianHM()); + patArchive.setOrgid(externalInHospPatientInfo.getZuZhiJGID()); List<PatArchive> patArchives = patArchiveMapper.selectPatArchiveList(patArchive); patArchive.setPatientno(externalInHospPatientInfo.getJiuZhenKH()); + patArchive.setBirthdate(parse); patArchive.setPatidHis(externalInHospPatientInfo.getBingRenID()); patArchive.setSourcefrom(1); patArchive.setPattype("2"); @@ -530,32 +720,66 @@ patArchive.setNation(externalInHospPatientInfo.getMinZuMC()); patArchive.setNativePlace(externalInHospPatientInfo.getGuoJiMC()); if (ObjectUtils.isNotEmpty(externalInHospPatientAddrInfo)) { - patArchive.setPlaceOfResidence(externalInHospPatientAddrInfo.getShengFenMC() + externalInHospPatientAddrInfo.getShiDiQMC() + externalInHospPatientAddrInfo.getXianQuMC() + externalInHospPatientAddrInfo.getXiangZhenMC() + externalInHospPatientAddrInfo.getCunJiMC() + externalInHospPatientAddrInfo.getQiTaXX()); - patArchive.setBirthplace(externalInHospPatientAddrInfo.getShengFenMC() + externalInHospPatientAddrInfo.getShiDiQMC() + externalInHospPatientAddrInfo.getXianQuMC() + externalInHospPatientAddrInfo.getXiangZhenMC() + externalInHospPatientAddrInfo.getCunJiMC() + externalInHospPatientAddrInfo.getQiTaXX()); + String por = null; + if (StringUtils.isNotEmpty(externalInHospPatientAddrInfo.getDiZhiXX())) { + por = externalInHospPatientAddrInfo.getDiZhiXX(); + } else { + por = externalInHospPatientAddrInfo.getShengFenMC() + externalInHospPatientAddrInfo.getShiDiQMC() + externalInHospPatientAddrInfo.getXianQuMC() + externalInHospPatientAddrInfo.getXiangZhenMC() + externalInHospPatientAddrInfo.getCunJiMC() + externalInHospPatientAddrInfo.getQiTaXX(); + } + patArchive.setPlaceOfResidence(por.replace("null", "")); + patArchive.setBirthplace(por.replace("null", "")); } - patArchive.setBirthdate(externalInHospPatientInfo.getChuShengRQ()); - patArchive.setAge(externalInHospPatientInfo.getNianLing()); - patArchive.setAgeUnit(externalInHospPatientInfo.getNianLingDW()); + + if (ObjectUtils.isNotEmpty(parse)) { + Map<String, String> map = calculateAge(parse.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now()); + patArchive.setAge(ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null); + patArchive.setAgeUnit(map.get("ageUnit")); + patArchive.setAge2(ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null); + patArchive.setAgeUnit2(map.get("ageUnit2")); + + } + patArchive.setTelcode(externalInHospPatientInfo.getLianXiDH()); + if (StringUtils.isEmpty(externalInHospPatientInfo.getLianXiDH())) + patArchive.setTelcode(externalInHospPatientInfo.getLianXiRDH()); + patArchive.setRelativetelcode(externalInHospPatientInfo.getLianXiRDH()); patArchive.setGuid(externalInHospPatientInfo.getZuZhiJGID()); - patArchive.setOrgid(externalInHospPatientInfo.getZuZhiJGID()); if (ObjectUtils.isNotEmpty(externalInHospPatientLiaisonInfo)) patArchive.setRelativetelcode(externalInHospPatientLiaisonInfo.getLianXiRDH()); - patArchive.setInhospno(externalInHospPatientInfo.getZhuYuanHao()); + patArchive.setInhospno(externalInHospPatientInfo.getBingAnHao()); patArchive.setCreateTime(new Date()); + patArchive.setIdcardtype(externalInHospPatientInfo.getZhengJianLXMC()); if (CollectionUtils.isNotEmpty(patArchives)) { //濡傛灉涓嶄负绌猴紝鐩存帴灏嗘煡璇㈠嚭鏉ョ殑瀵硅薄杩斿洖 PatArchive patArchive1 = patArchives.get(0); String orgid = patArchive1.getOrgid(); if (StringUtils.isNotEmpty(orgid)) { - orgid = orgid + "," + externalInHospPatientInfo.getZuZhiJGID(); - patArchive.setOrgid(orgid); patArchive.setId(patArchive1.getId()); patArchiveMapper.updatePatArchive(patArchive); return patArchive; } } patArchiveMapper.insertPatArchiveSingle(patArchive); + //鏂板睘淇℃伅 + if (ObjectUtils.isNotEmpty(externalInHospPatientInfo.getExternalInHospPatientLiaisonInfos())) { + for (ExternalInHospPatientLiaisonInfo external : externalInHospPatientInfo.getExternalInHospPatientLiaisonInfos()) { + PatArchivecontact patArchivecontact = new PatArchivecontact(); + patArchivecontact.setPatid(patArchive.getId()); + patArchivecontact.setContactname(external.getLianXiRXM()); + patArchivecontact.setOrgid(patArchive.getOrgid()); + List<PatArchivecontact> patArchivecontacts = patArchivecontactMapper.selectPatArchivecontactList(patArchivecontact); + patArchivecontact.setContactway(external.getLianXiRDH()); + patArchivecontact.setRelation(external.getGuanXiMC()); + if (CollectionUtils.isEmpty(patArchivecontacts)) + patArchivecontactMapper.insertPatArchivecontact(patArchivecontact); + else { + patArchivecontact.setId(patArchivecontacts.get(0).getId()); + patArchivecontactMapper.updatePatArchivecontact(patArchivecontact); + } + } + } + + return patArchive; } @@ -563,7 +787,8 @@ private Boolean addPadInhospInfo(ExternalInHospPatientInfo externalInHospPatientInfo, PatArchive patArchive, ExternalInHospPatientDiagnoseInfo externalInHospPatientDiagnoseInfo) { PatMedInhosp patMedInhosp = new PatMedInhosp(); if (ObjectUtils.isNotEmpty(externalInHospPatientInfo)) { - patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao()); + //鍖婚櫌閭h竟璇磋鐢ㄧ梾妗堝彿锛屼笉瑕佺敤浣忛櫌鍙� + patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao()); patMedInhosp.setSerialnum(externalInHospPatientInfo.getZhuYuanHao()); patMedInhosp.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC()); patMedInhosp.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID()); @@ -583,6 +808,8 @@ patMedInhosp.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID()); patMedInhosp.setHospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC()); patMedInhosp.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC()); + patMedInhosp.setTelcode(patArchive.getTelcode()); + patMedInhosp.setDrname(""); } if (ObjectUtils.isNotEmpty(externalInHospPatientDiagnoseInfo)) { patMedInhosp.setIcd10code(StringUtils.isNotEmpty(patMedInhosp.getIcd10code()) ? patMedInhosp.getIcd10code() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanID() : externalInHospPatientDiagnoseInfo.getZhenDuanID()); @@ -593,7 +820,7 @@ patMedInhosp.setPatid(patArchive.getId()); patMedInhosp.setPatno(patArchive.getPatientno()); patMedInhosp.setPatname(patArchive.getName()); - patMedInhosp.setDrname(""); + patMedInhosp.setSchemestatus(1L); patMedInhosp.setCreateTime(new Date()); } @@ -727,4 +954,56 @@ return true; } + public Map<String, String> calculateAge(LocalDate birthdate, LocalDate today) { + if (birthdate == null || today.isBefore(birthdate)) { + return null; + } + Map<String, String> ageMap = new HashMap<>(); + + Period period = Period.between(birthdate, today); + long totalDays = ChronoUnit.DAYS.between(birthdate, today); + long totalMonths = ChronoUnit.MONTHS.between(birthdate, today); + + int years = period.getYears(); + int months = period.getMonths(); + int days = period.getDays(); + + String ageUnit; + Integer age; + String ageUnit2 = null; + Integer age2 = null; + + if (totalDays < 30) { + // 灏忎簬 1 涓湀锛屾寜澶╄绠� + ageUnit = "澶�"; + age = (int) totalDays; + ageMap.put("age", age != null ? age.toString() : null); + ageMap.put("ageUnit", ageUnit); + ageMap.put("age2", null); + ageMap.put("ageUnit2", null); + } else if (totalMonths < 12) { + // 灏忎簬 1 骞达紝鎸夋湀 + 澶╄绠� + ageUnit = "鏈�"; + age = (int) totalMonths; + ageUnit2 = "澶�"; + age2 = days; + ageMap.put("age", age != null ? age.toString() : null); + ageMap.put("ageUnit", ageUnit); + ageMap.put("age2", age2 != null ? age2.toString() : null); + ageMap.put("ageUnit2", ageUnit2); + } else { + // 澶т簬 1 骞达紝鎸夊勾 + 鏈堣绠� + ageUnit = "宀�"; + age = years; + ageUnit2 = "鏈�"; + age2 = months; + ageMap.put("age", age != null ? age.toString() : null); + ageMap.put("ageUnit", ageUnit); + ageMap.put("age2", age2 != null ? age2.toString() : null); + ageMap.put("ageUnit2", ageUnit2); + } + + return ageMap; + } + } -- Gitblit v1.9.3