From 0a10b51863b939e646661394ae7e03acb0cb0039 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期一, 14 四月 2025 19:08:47 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 674 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 559 insertions(+), 115 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 744839d..e9ec5ab 100644 --- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java @@ -3,22 +3,26 @@ import cn.hutool.core.bean.BeanUtil; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.StringUtils; 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 +47,8 @@ @Autowired private PatArchiveMapper patArchiveMapper; @Autowired + private PatArchivecontactMapper patArchivecontactMapper; + @Autowired private PatMedInhospMapper patMedInhospMapper; @Autowired private PatMedOperationMapper patMedOperationMapper; @@ -50,6 +56,8 @@ private PatMedOperationItemMapper patMedOperationItemMapper; @Autowired private Icd10Mapper icd10Mapper; + @Autowired + private PatMedOuthospMapper patMedOuthospMapper; @Value("${defaultPwd}") private String defaultPwd; @@ -67,6 +75,9 @@ Map yeWuXX = (Map) dataMap.get("YeWuXX"); Map<String, Object> keShiXX = (Map<String, Object>) yeWuXX.get("KeShiXX"); ExternalDept externalDept = BeanUtil.mapToBean(keShiXX, ExternalDept.class, true); + if (ObjectUtils.isEmpty(externalDept)) { + throw new BaseException("externalDept鏄┖鐨勶紝娌℃湁鏁版嵁锛侊紒锛�"); + } SysDept sysDept = new SysDept(); sysDept.setOrgid(externalDept.getZuZhiJGID()); sysDept.setHisDeptId(externalDept.getKeShiID()); @@ -111,6 +122,9 @@ Map yeWuXX = (Map) dataMap.get("YeWuXX"); Map<String, Object> yongHuXX = (Map<String, Object>) yeWuXX.get("YongHuXX"); ExternalUserInfo externalUserInfo = BeanUtil.mapToBean(yongHuXX, ExternalUserInfo.class, true); + if (ObjectUtils.isEmpty(externalUserInfo)) { + throw new BaseException("externalUserInfo鏄┖鐨勶紝娌℃湁鏁版嵁锛侊紒锛�"); + } SysUser sysUser = new SysUser(); sysUser.setGuid(externalUserInfo.getZuZhiJGID()); sysUser.setUserName(externalUserInfo.getYongHuDLM()); @@ -152,6 +166,9 @@ Map yeWuXX = (Map) dataMap.get("YeWuXX"); Map<String, Object> ZuZhiJGXX = (Map<String, Object>) yeWuXX.get("ZuZhiJGXX"); ExternalOrganInfo externalOrganInfo = BeanUtil.mapToBean(ZuZhiJGXX, ExternalOrganInfo.class, true); + if (ObjectUtils.isEmpty(externalOrganInfo)) { + throw new BaseException("externalOrganInfo鏄┖鐨勶紝娌℃湁鏁版嵁锛侊紒锛�"); + } BaseOrganization baseOrganization = new BaseOrganization(); baseOrganization.setOrganizationID(externalOrganInfo.getZuZhiJGID()); baseOrganization.setOrganizationName(externalOrganInfo.getZuZhiJGMC()); @@ -182,10 +199,10 @@ public Boolean addInHospInfo(Map dataMap) { log.error("ServiceExternalServiceImpl---addInHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap); Map yeWuXX = (Map) dataMap.get("YeWuXX"); - List<HashMap<String, Object>> epai = (List<HashMap<String, Object>>) yeWuXX.get("DiZhiXXList"); - List<HashMap<String, Object>> epli = (List<HashMap<String, Object>>) yeWuXX.get("LianXiRList"); - List<HashMap<String, Object>> hospPatientDiagnoseInfos = (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList"); - Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX"); + List<HashMap<String, Object>> epai = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("DiZhiXXList") : null; + List<HashMap<String, Object>> epli = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("LianXiRList") : null; + List<HashMap<String, Object>> hospPatientDiagnoseInfos = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList") : null; + Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null; ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true); ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo = null; ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo = null; @@ -216,6 +233,74 @@ 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(); + info.setZhenDuanID((String) map.get("ZhenDuanID")); + info.setZhenDuanMC((String) map.get("ZhenDuanMC")); + return info; + }).collect(Collectors.toList()); + + if (CollectionUtils.isNotEmpty(epai)) externalInHospPatientAddrInfo = epai2.get(0); + if (CollectionUtils.isNotEmpty(epli)) externalInHospPatientLiaisonInfo = epli2.get(0); + if (CollectionUtils.isNotEmpty(hospPatientDiagnoseInfos)) + externalInHospPatientDiagnoseInfo = hospPatientDiagnoseInfos2.get(0); + //鏂板鎮h�呭熀鏈俊鎭� + PatArchive patArchive = addPatArchive(externalInHospPatientInfo, externalInHospPatientAddrInfo, externalInHospPatientLiaisonInfo); + //鏂板鎮h�呭叆闄俊鎭� + Boolean aBoolean = addPadInhospInfo(externalInHospPatientInfo, patArchive, externalInHospPatientDiagnoseInfo); + return aBoolean; + } + + @Override + public Boolean addInDeptInfo(Map dataMap) { + log.error("ServiceExternalServiceImpl---addInDeptInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap); + Map yeWuXX = (Map) dataMap.get("YeWuXX"); + List<HashMap<String, Object>> epai = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("DiZhiXXList") : null; + List<HashMap<String, Object>> epli = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("LianXiRList") : null; + List<HashMap<String, Object>> hospPatientDiagnoseInfos = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList") : null; + Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null; + Map<String, Object> RuKeXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("RuKeXX") : null; + + ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true); + ExternalInDeptPatientInfo externalInDeptPatientInfo = BeanUtil.mapToBean(RuKeXX, ExternalInDeptPatientInfo.class, true); + externalInHospPatientInfo.setZeRenHSID(externalInDeptPatientInfo.getZeRenHSID()); + externalInHospPatientInfo.setZeRenHSXM(externalInDeptPatientInfo.getZeRenHSXM()); + externalInHospPatientInfo.setZhuZhiYSID(externalInDeptPatientInfo.getZhuZhiYSID()); + externalInHospPatientInfo.setZhuZhiYSXM(externalInDeptPatientInfo.getZhuZhiYSXM()); + externalInHospPatientInfo.setRuYuanSJ(externalInDeptPatientInfo.getRuYuanSJ()); + + ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo = null; + ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo = null; + ExternalInHospPatientDiagnoseInfo externalInHospPatientDiagnoseInfo = null; + List<ExternalInHospPatientAddrInfo> 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()); + + List<ExternalInHospPatientLiaisonInfo> 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()); + externalInHospPatientInfo.setExternalInHospPatientLiaisonInfos(epli2); List<ExternalInHospPatientDiagnoseInfo> hospPatientDiagnoseInfos2 = hospPatientDiagnoseInfos.stream().map(map -> { ExternalInHospPatientDiagnoseInfo info = new ExternalInHospPatientDiagnoseInfo(); @@ -239,18 +324,25 @@ public Boolean cancelInHospInfo(Map dataMap) { log.error("ServiceExternalServiceImpl---cancelInHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap); Map yeWuXX = (Map) dataMap.get("YeWuXX"); - Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX"); + Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null; ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true); PatMedInhosp patMedInhosp = new PatMedInhosp(); - patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao()); + patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao()); + patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID()); 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"); + Map<String, Object> JiuZhenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiuZhenXX") : null; PatMedInhosp patMedInhosp1 = patMedInhospList.get(0); patMedInhosp1.setSchemestatus(3L); patMedInhosp1.setDelFlag("1"); - patMedInhosp1.setOperator(JiuZhenXX.get("CaoZuoRXM").toString()); - patMedInhosp1.setOperatorId(JiuZhenXX.get("CaoZuoRID").toString()); + if (ObjectUtils.isNotEmpty(JiuZhenXX)) { + patMedInhosp1.setOperator(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRXM")) ? JiuZhenXX.get("CaoZuoRXM").toString() : null); + patMedInhosp1.setOperatorId(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRID")) ? JiuZhenXX.get("CaoZuoRID").toString() : null); + } patMedInhosp1.setUpdateTime(new Date()); int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); if (i != 1) return false; @@ -262,31 +354,105 @@ public Boolean addOutHospInfo(Map dataMap) { log.error("ServiceExternalServiceImpl---addOutHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap); Map yeWuXX = (Map) dataMap.get("YeWuXX"); - Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX"); + Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null; + Map<String, Object> ChuYuanJL = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("ChuYuanJL") : null; + List<HashMap<String, Object>> epai = ObjectUtils.isNotEmpty(BingRenXX) ? (List<HashMap<String, Object>>) BingRenXX.get("DiZhiXXList") : null; + List<HashMap<String, Object>> epli = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("LianXiRList") : null; + Map<String, Object> SuiFangJH = ObjectUtils.isNotEmpty(ChuYuanJL) ? (Map<String, Object>) ChuYuanJL.get("SuiFangJH") : null; + ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true); + 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()); + } + 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.getZhuYuanHao()); + patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao()); + patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID()); 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()); + for (PatMedInhosp patMedInhosp1 : patMedInhospList) { + String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid()); + patMedInhosp1.setTagname(tagname); + } + Map<String, Object> JiuZhenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiuZhenXX") : null; + 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(); + } + if (ObjectUtils.isNotEmpty(JiuZhenXX)) { + patMedInhosp1.setOperator(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRXM")) ? JiuZhenXX.get("CaoZuoRXM").toString() : null); + patMedInhosp1.setOperatorId(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRID")) ? JiuZhenXX.get("CaoZuoRID").toString() : null); + 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.setUpdateTime(new Date()); + 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()); - 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"); + if (ObjectUtils.isNotEmpty(SuiFangJH)) { + patMedInhosp1.setFuflag(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangBS")) ? SuiFangJH.get("SuiFangBS").toString() : null); + if (ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangRQ"))) { + try { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + patMedInhosp1.setFudate(simpleDateFormat.parse(SuiFangJH.get("SuiFangRQ").toString())); + } catch (ParseException e) { + e.printStackTrace(); + } + } + patMedInhosp1.setFuperiod(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangZQJY")) ? SuiFangJH.get("SuiFangZQJY").toString() : null); + patMedInhosp1.setFutypecode(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangFSDM")) ? SuiFangJH.get("SuiFangFSDM").toString() : null); + patMedInhosp1.setFutypedesc(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangFSMC")) ? SuiFangJH.get("SuiFangFSMC").toString() : null); + patMedInhosp1.setFuadvice(ObjectUtils.isNotEmpty(SuiFangJH.get("FuZhenZD")) ? SuiFangJH.get("FuZhenZD").toString() : null); + patMedInhosp1.setFuspecialadvice(ObjectUtils.isNotEmpty(SuiFangJH.get("QiTaZKJBSF")) ? SuiFangJH.get("QiTaZKJBSF").toString() : null); + } + + List<HashMap<String, Object>> zhenDuanList = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList") : null; + if (CollectionUtils.isNotEmpty(zhenDuanList)) { List<ExternalInHospPatientDiagnoseInfo> hospPatientDiagnoseInfos2 = zhenDuanList.stream().map(map -> { ExternalInHospPatientDiagnoseInfo info = new ExternalInHospPatientDiagnoseInfo(); info.setZhenDuanID((String) map.get("ZhenDuanID")); @@ -295,8 +461,31 @@ }).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.setInhospstate("1"); + if (CollectionUtils.isNotEmpty(patMedInhospList)) { + patMedInhosp1.setUpdateTime(new Date()); + patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX) && ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null); int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); + if (i != 1) return false; + } else { + if (ObjectUtils.isNotEmpty(BingRenXX)) { + patMedInhosp1.setHospitalname(ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGMC")) ? BingRenXX.get("ZuZhiJGMC").toString() : null); + patMedInhosp1.setHospitalcode(ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null); + patMedInhosp1.setLeavehospitaldistrictname(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianBQMC")) ? BingRenXX.get("DangQianBQMC").toString() : null); + patMedInhosp1.setLeavehospitaldistrictcode(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianBQID")) ? BingRenXX.get("DangQianBQID").toString() : null); + patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null); + patMedInhosp1.setPatno(ObjectUtils.isNotEmpty(BingRenXX.get("BingRenID")) ? BingRenXX.get("BingRenID").toString() : null); + patMedInhosp1.setInhospno(ObjectUtils.isNotEmpty(BingRenXX.get("BingAnHao")) ? BingRenXX.get("BingAnHao").toString() : null); + patMedInhosp1.setSerialnum(ObjectUtils.isNotEmpty(BingRenXX.get("JiuZhenYWID")) ? BingRenXX.get("JiuZhenYWID").toString() : null); + } + patMedInhosp1.setPatid(patArchive.getId()); + patMedInhosp1.setPatname(patArchive.getName()); + + patMedInhosp1.setCreateTime(new Date()); + int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1); if (i != 1) return false; } return true; @@ -306,17 +495,24 @@ public Boolean cancelOutHospInfo(Map dataMap) { log.error("ServiceExternalServiceImpl---cancelOutHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap); Map yeWuXX = (Map) dataMap.get("YeWuXX"); - Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX"); + Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null; ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true); PatMedInhosp patMedInhosp = new PatMedInhosp(); - patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao()); + patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao()); + patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID()); 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"); + Map<String, Object> JiuZhenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiuZhenXX") : null; PatMedInhosp patMedInhosp1 = patMedInhospList.get(0); patMedInhosp1.setSchemestatus(4L); - patMedInhosp1.setOperator(JiuZhenXX.get("CaoZuoRXM").toString()); - patMedInhosp1.setOperatorId(JiuZhenXX.get("CaoZuoRID").toString()); + if (ObjectUtils.isNotEmpty(JiuZhenXX)) { + patMedInhosp1.setOperator(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRXM")) ? JiuZhenXX.get("CaoZuoRXM").toString() : null); + patMedInhosp1.setOperatorId(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRXM")) ? JiuZhenXX.get("CaoZuoRID").toString() : null); + } patMedInhosp1.setUpdateTime(new Date()); int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1); if (i != 1) return false; @@ -326,31 +522,120 @@ @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; + String FaSongJGMC = ObjectUtils.isNotEmpty(XiaoXiTou.get("FaSongJGMC")) ? XiaoXiTou.get("FaSongJGMC").toString() : null; - return null; + Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null; + Map<String, Object> JiuZhenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiuZhenXX") : null; + List<HashMap<String, Object>> ZhenDuanList = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList") : null; + List<HashMap<String, Object>> externalWZInfos = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("WenZhenList") : null; + ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true); + //鐥呬汉淇℃伅閲屾病鏈夌粍缁囨満鏋処D + externalInHospPatientInfo.setZuZhiJGID(FaSongJGID); + + ExternalJZInfo externalJZInfo = BeanUtil.mapToBean(JiuZhenXX, ExternalJZInfo.class, true); + List<ExternalDiagnosisInfo> externalDiagnosisInfoList = null; + if (CollectionUtils.isNotEmpty(ZhenDuanList)) { + 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")); + info.setIcd10((String) map.get("Icd10")); + 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.getJiuZhenYWID()); + List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.selectPatMedOuthospList(patMedOuthosp); + + patMedOuthosp.setPatid(patArchive.getId()); + patMedOuthosp.setPatno(externalInHospPatientInfo.getBingAnHao()); + 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); + patMedOuthosp.setHospitalname(FaSongJGMC); + + for (ExternalDiagnosisInfo externalDiagnosisInfo : externalDiagnosisInfoList) { + if (externalDiagnosisInfo.getZhenDuanLBMC().equals("涓昏瘖鏂�")) { + patMedOuthosp.setDiagname(externalDiagnosisInfo.getZhenDuanMC()); + 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 = 0; + if (CollectionUtils.isNotEmpty(patMedOuthosps)) { + patMedOuthosp.setId(patMedOuthosps.get(0).getId()); + patMedOuthosp.setUpdateTime(new Date()); + i = patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp); + } else { + patMedOuthosp.setCreateTime(new Date()); + patMedOuthosp.setUpdateTime(new Date()); + 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 = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiBingMLXX") : null; ExternalDiseaseInfo externalDiseaseInfo = BeanUtil.mapToBean(JiBing, ExternalDiseaseInfo.class, true); + Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou"); + String FaSongJGID = ObjectUtils.isNotEmpty(XiaoXiTou) && ObjectUtils.isNotEmpty(XiaoXiTou.get("FaSongJGID")) ? XiaoXiTou.get("FaSongJGID").toString() : null; 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); + icd10.setUpdateTime(new Date()); + if (CollectionUtils.isNotEmpty(icd10s)) { + icd10.setIcdid(icd10s.get(0).getIcdid()); + icd10Mapper.updateIcd10(icd10); + } else { + icd10.setCreateTime(new Date()); + icd10Mapper.insertIcd10(icd10); + } return true; } @@ -358,10 +643,10 @@ public Boolean addWardAreaInfo(Map dataMap) { log.error("ServiceExternalServiceImpl---addWardAreaInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap); Map yeWuXX = (Map) dataMap.get("YeWuXX"); - Map<String, Object> bqxx = (Map<String, Object>) yeWuXX.get("BingQuXX"); + Map<String, Object> bqxx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingQuXX") : null; ExternalWardArea externalWardArea = BeanUtil.mapToBean(bqxx, ExternalWardArea.class, true); SysDept sysDept = new SysDept(); - sysDept.setGuid(externalWardArea.getZuZhiJGID()); + sysDept.setOrgid(externalWardArea.getZuZhiJGID()); sysDept.setHisDeptId(externalWardArea.getBingQuID()); sysDept.setDeptName(externalWardArea.getBingQuMC()); @@ -371,13 +656,13 @@ sysDept.setDeptCode(externalWardArea.getBingQuID()); sysDept.setCreateBy(externalWardArea.getChuangJianRXM()); sysDept.setType(externalWardArea.getBingQuLXDM()); - sysDept.setCreateTime(externalWardArea.getCreateTime()); sysDept.setUpdateTime(externalWardArea.getUpdateTime()); sysDept.setUpdateBy(externalWardArea.getUpdateBy()); if (StringUtils.isNotEmpty(externalWardArea.getShiJianDM()) && externalWardArea.getShiJianDM().equals("3")) { sysDept.setStatus("1"); } if (StringUtils.isNotEmpty(externalWardArea.getShiJianDM()) && externalWardArea.getShiJianDM().equals("1")) { + sysDept.setCreateTime(externalWardArea.getCreateTime()); int i = sysDeptMapper.insertDept(sysDept); log.error("ServiceExternalServiceImpl---addWardAreaInfo鏄惁鏂板鎴愬姛锛歿}", i); } else { @@ -388,22 +673,29 @@ } @Override + public Boolean addMedicalTeam(Map dataMap) { + log.error("ServiceExternalServiceImpl---addMedicalTeam鐨勬柊澧炵殑鍊间负锛歿}", dataMap); + + return true; + } + + @Override public Boolean addOperationInfo(Map dataMap) { log.error("ServiceExternalServiceImpl---addOperationInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap); Map yeWuXX = (Map) dataMap.get("YeWuXX"); - Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX"); + Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null; ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true); PatArchive patArchive = addPatArchive(externalInHospPatientInfo, null, null); //鎵嬫湳淇℃伅鏂板 - Map<String, Object> ssxx = (Map<String, Object>) yeWuXX.get("ShouShuSQ"); + Map<String, Object> ssxx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("ShouShuSQ") : null; //鎵嬫湳鏇存柊 - Map<String, Object> ssgx = (Map<String, Object>) yeWuXX.get("ShouShuGX"); + Map<String, Object> ssgx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("ShouShuGX") : null; //鎵嬫湳鎾ら攢 - Map<String, Object> sscx = (Map<String, Object>) yeWuXX.get("ShouShuCX"); + Map<String, Object> sscx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("ShouShuCX") : null; ExternalOperationInfo externalOperationInfo = null; if (ObjectUtils.isNotEmpty(ssxx)) externalOperationInfo = BeanUtil.mapToBean(ssxx, ExternalOperationInfo.class, true); @@ -415,30 +707,36 @@ patMedOperation.setPatid(patArchive.getId()); patMedOperation.setPatcode(externalInHospPatientInfo.getBingRenID()); patMedOperation.setPaname(externalInHospPatientInfo.getXingMing()); -// patMedOperation.setOpreqid(externalOperationInfo.getShenQingDID()); patMedOperation.setOpreqcode(externalOperationInfo.getShenQingDID()); //鏌ヨ涓�涓嬶紝璇ユ偅鑰呮槸鍚﹀凡缁忔湁杩欎簺鏁版嵁 List<PatMedOperation> patMedOperations = patMedOperationMapper.selectPatMedOperationList(patMedOperation); patMedOperation.setOpsstatus(null); - patMedOperation.setOptypecode(externalOperationInfo.getShouShuLBDM()); - patMedOperation.setOptypename(externalOperationInfo.getShouShuLBMC()); - patMedOperation.setOperatortime(externalOperationInfo.getYaoQiuSJ()); - patMedOperation.setOpreqtime(externalOperationInfo.getShenQingSJ()); - patMedOperation.setReqdoccode(externalOperationInfo.getShenQingYSID()); - patMedOperation.setReqdocname(externalOperationInfo.getShenQingYSXM()); - patMedOperation.setReqdeptcode(externalOperationInfo.getShenQingKSID()); - patMedOperation.setReqdeptname(externalOperationInfo.getShenQingKSMC()); - patMedOperation.setReqloccode(externalOperationInfo.getShouShuKSID()); - patMedOperation.setReqlocname(externalOperationInfo.getShouShuKSMC()); - patMedOperation.setSurgeoncode(externalOperationInfo.getZhuDaoYSID()); - patMedOperation.setSurgeonname(externalOperationInfo.getSanZhuYSXM()); - patMedOperation.setFirasscode(externalOperationInfo.getYiZhuID()); - patMedOperation.setFirassname(externalOperationInfo.getYiZhuMC()); - patMedOperation.setSecasscode(externalOperationInfo.getErZhuYSID()); - patMedOperation.setSecassname(externalOperationInfo.getErZhuYSXM()); - patMedOperation.setThrasscode(externalOperationInfo.getSanZhuYSID()); - patMedOperation.setThrassname(externalOperationInfo.getSanZhuYSXM()); + if (ObjectUtils.isNotEmpty(externalOperationInfo)) { + patMedOperation.setOptypecode(externalOperationInfo.getShouShuLBDM()); + patMedOperation.setOptypename(externalOperationInfo.getShouShuLBMC()); + patMedOperation.setOperatortime(externalOperationInfo.getYaoQiuSJ()); + patMedOperation.setOpreqtime(externalOperationInfo.getShenQingSJ()); + patMedOperation.setReqdoccode(externalOperationInfo.getShenQingYSID()); + patMedOperation.setReqdocname(externalOperationInfo.getShenQingYSXM()); + patMedOperation.setReqdeptcode(externalOperationInfo.getShenQingKSID()); + patMedOperation.setReqdeptname(externalOperationInfo.getShenQingKSMC()); + patMedOperation.setReqloccode(externalOperationInfo.getShouShuKSID()); + patMedOperation.setReqlocname(externalOperationInfo.getShouShuKSMC()); + patMedOperation.setSurgeoncode(externalOperationInfo.getZhuDaoYSID()); + patMedOperation.setSurgeonname(externalOperationInfo.getSanZhuYSXM()); + patMedOperation.setFirasscode(externalOperationInfo.getYiZhuID()); + patMedOperation.setFirassname(externalOperationInfo.getYiZhuMC()); + patMedOperation.setSecasscode(externalOperationInfo.getErZhuYSID()); + patMedOperation.setSecassname(externalOperationInfo.getErZhuYSXM()); + patMedOperation.setThrasscode(externalOperationInfo.getSanZhuYSID()); + patMedOperation.setThrassname(externalOperationInfo.getSanZhuYSXM()); + patMedOperation.setDeptid(externalOperationInfo.getShouShuKSID()); + patMedOperation.setDeptcode(externalOperationInfo.getShouShuKSID()); + patMedOperation.setDeptname(externalOperationInfo.getShouShuKSMC()); + patMedOperation.setDrcode(externalOperationInfo.getZhuDaoYSID()); + patMedOperation.setDrname(externalOperationInfo.getZhuDaoYSXM()); + } patMedOperation.setCanceltime(null); patMedOperation.setCancelreason(null); patMedOperation.setCancelcode(null); @@ -450,24 +748,22 @@ patMedOperation.setDelFlag("0"); patMedOperation.setIsupload(null); patMedOperation.setUploadTime(null); - patMedOperation.setOrgid(externalInHospPatientInfo.getZuZhiJGID()); - patMedOperation.setInhospstate(null); - patMedOperation.setPatno(externalInHospPatientInfo.getBingRenID()); - patMedOperation.setPatname(externalInHospPatientInfo.getXingMing()); patMedOperation.setVisitid(null); - patMedOperation.setSerialnum(externalInHospPatientInfo.getZhuYuanHao()); - patMedOperation.setInhospno(externalInHospPatientInfo.getZhuYuanHao()); - patMedOperation.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC()); - patMedOperation.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID()); - patMedOperation.setDeptid(externalOperationInfo.getShouShuKSID()); - patMedOperation.setDeptcode(externalOperationInfo.getShouShuKSID()); - patMedOperation.setDeptname(externalOperationInfo.getShouShuKSMC()); + patMedOperation.setInhospstate(null); + if (ObjectUtils.isNotEmpty(externalInHospPatientInfo)) { + patMedOperation.setPatno(externalInHospPatientInfo.getBingRenID()); + patMedOperation.setPatname(externalInHospPatientInfo.getXingMing()); + patMedOperation.setOrgid(externalInHospPatientInfo.getZuZhiJGID()); + patMedOperation.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID()); + patMedOperation.setInhospno(externalInHospPatientInfo.getBingAnHao()); + patMedOperation.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC()); + patMedOperation.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID()); + } patMedOperation.setHospitaldistrictcode(null); patMedOperation.setHospitaldistrictname(null); patMedOperation.setRoomno(null); patMedOperation.setBedNo(null); - patMedOperation.setDrcode(externalOperationInfo.getZhuDaoYSID()); - patMedOperation.setDrname(externalOperationInfo.getZhuDaoYSXM()); + patMedOperation.setNurseId(null); patMedOperation.setNurseName(null); if (CollectionUtils.isNotEmpty(patMedOperations)) { @@ -479,13 +775,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 = ObjectUtils.isNotEmpty(ShouShuMXList) ? ShouShuMXList.stream().map(map -> { + ExternalOperationDetail info = new ExternalOperationDetail(); + info.setShouShuMCID((String) map.get("ShouShuMCID")); + info.setShouShuMC((String) map.get("ShouShuMC")); + info.setZhuShouSBZ(ObjectUtils.isNotEmpty(map.get("ZhuShouSBZ")) ? map.get("ZhuShouSBZ").toString() : null); + 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()) : null; + //addMianTableFalg鏄惁闇�瑕佸皢涓绘墜鏈殑淇℃伅鏀惧埌PatMedOperation琛ㄤ腑锛堝彧鏈夌涓�涓富鎵嬫湳淇℃伅闇�瑕佹斁锛屽悗闈㈢殑閮戒笉闇�瑕佹斁浜嗭紝涔熷氨鏄锛岀涓�涓斁瀹屽悗锛屽氨瑕佹妸杩欎釜flag鏀规垚false锛� Boolean addMianTableFalg = true; for (ExternalOperationDetail externalOperationDetail : externalOperationDetails) { @@ -505,10 +821,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 +834,25 @@ //鏂板鎮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()); - List<PatArchive> patArchives = patArchiveMapper.selectPatArchiveList(patArchive); + patArchive.setOrgid(externalInHospPatientInfo.getZuZhiJGID()); + List<PatArchive> patArchives = null; + if (ObjectUtils.isNotEmpty(patArchive.getIdcardno())) + patArchives = patArchiveMapper.selectPatArchiveList(patArchive); patArchive.setPatientno(externalInHospPatientInfo.getJiuZhenKH()); + patArchive.setBirthdate(parse); patArchive.setPatidHis(externalInHospPatientInfo.getBingRenID()); patArchive.setSourcefrom(1); patArchive.setPattype("2"); @@ -529,43 +861,80 @@ patArchive.setSex(Long.valueOf(externalInHospPatientInfo.getXingBieDM())); 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()); + if (ObjectUtils.isNotEmpty(externalInHospPatientInfo.getXianZhuZXX())) { + patArchive.setPlaceOfResidence(externalInHospPatientInfo.getXianZhuZXX()); + } else if (ObjectUtils.isNotEmpty(externalInHospPatientAddrInfo)) { + 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(patArchive.getTelcode())) + 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.setCreateTime(new Date()); + patArchive.setInhospno(externalInHospPatientInfo.getBingAnHao()); + patArchive.setIdcardtype(externalInHospPatientInfo.getZhengJianLXMC()); + patArchive.setUpdateTime(new Date()); 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; + } + } else { + patArchive.setCreateTime(new Date()); + 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); + } } } - patArchiveMapper.insertPatArchiveSingle(patArchive); + + return patArchive; } //鏂板鎮h�呭叆闄俊鎭� private Boolean addPadInhospInfo(ExternalInHospPatientInfo externalInHospPatientInfo, PatArchive patArchive, ExternalInHospPatientDiagnoseInfo externalInHospPatientDiagnoseInfo) { PatMedInhosp patMedInhosp = new PatMedInhosp(); + List<PatMedInhosp> patMedInhospList = null; if (ObjectUtils.isNotEmpty(externalInHospPatientInfo)) { - patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao()); - patMedInhosp.setSerialnum(externalInHospPatientInfo.getZhuYuanHao()); + //鍖婚櫌閭h竟璇磋鐢ㄧ梾妗堝彿锛屼笉瑕佺敤浣忛櫌鍙� + patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao()); + patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID()); + patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp); patMedInhosp.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC()); patMedInhosp.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID()); patMedInhosp.setStarttime(externalInHospPatientInfo.getRuYuanSJ()); @@ -584,21 +953,38 @@ patMedInhosp.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID()); patMedInhosp.setHospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC()); patMedInhosp.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC()); + patMedInhosp.setTelcode(patArchive.getTelcode()); + patMedInhosp.setDrname(externalInHospPatientInfo.getZhuZhiYSXM()); + patMedInhosp.setDrcode(externalInHospPatientInfo.getZhuZhiYSID()); + patMedInhosp.setNurseId(externalInHospPatientInfo.getZeRenHSID()); + patMedInhosp.setNurseName(externalInHospPatientInfo.getZeRenHSXM()); } if (ObjectUtils.isNotEmpty(externalInHospPatientDiagnoseInfo)) { - patMedInhosp.setIcd10code(StringUtils.isNotEmpty(patMedInhosp.getIcd10code()) ? patMedInhosp.getIcd10code() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanID() : externalInHospPatientDiagnoseInfo.getZhenDuanID()); - patMedInhosp.setDiagname(StringUtils.isNotEmpty(patMedInhosp.getDiagname()) ? patMedInhosp.getDiagname() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanMC() : externalInHospPatientDiagnoseInfo.getZhenDuanMC()); +// patMedInhosp.setIcd10code(StringUtils.isNotEmpty(patMedInhosp.getIcd10code()) ? patMedInhosp.getIcd10code() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanID() : externalInHospPatientDiagnoseInfo.getZhenDuanID()); +// patMedInhosp.setDiagname(StringUtils.isNotEmpty(patMedInhosp.getDiagname()) ? patMedInhosp.getDiagname() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanMC() : externalInHospPatientDiagnoseInfo.getZhenDuanMC()); + + patMedInhosp.setIcd10code(externalInHospPatientDiagnoseInfo.getZhenDuanID()); + patMedInhosp.setDiagname(externalInHospPatientDiagnoseInfo.getZhenDuanMC()); + } if (ObjectUtils.isNotEmpty(patArchive)) { patMedInhosp.setPatid(patArchive.getId()); patMedInhosp.setPatno(patArchive.getPatientno()); patMedInhosp.setPatname(patArchive.getName()); - patMedInhosp.setDrname(""); + patMedInhosp.setSchemestatus(1L); - patMedInhosp.setCreateTime(new Date()); + } - int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp); + int i = 1; + if (CollectionUtils.isNotEmpty(patMedInhospList)) { + patMedInhosp.setUpdateTime(new Date()); + patMedInhosp.setInhospid(patMedInhospList.get(0).getInhospid()); + i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp); + } else { + patMedInhosp.setCreateTime(new Date()); + i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp); + } if (i == 1) return true; return false; } @@ -722,10 +1108,68 @@ log.error("鍙栨秷鍑洪櫌鍏ュ弬绫诲瀷涓猴細{}", type); return cancelOutHospInfo(dataMap); case "JG_ZZ_BingQu": - log.error("鐥呭尯淇℃伅鍏ュ弬绫诲瀷涓鸿緟锛歿}", type); + log.error("鐥呭尯淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type); return addWardAreaInfo(dataMap); + case "JG_ZZ_YiLiaoZYS": + log.error("鍖荤枟缁勫尰鐢熶负锛歿}", type); + return addMedicalTeam(dataMap); + case "JZ_ZY_RuKe": + log.error("鍏ョ鐨勬暟鎹负锛歿}", type); + return addInDeptInfo(dataMap); } 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 < 90) { + // 灏忎簬 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 < 36) { + // 灏忎簬 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