From 371603a0eb9f3a279cf77073734e991b5851b792 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期五, 05 九月 2025 16:21:01 +0800
Subject: [PATCH] 市一短信接口同步服务对接
---
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 1491 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 1,298 insertions(+), 193 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 1f72652..91ef27e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1,30 +1,29 @@
package com.smartor.service.impl;
-import java.lang.reflect.Field;
-
import cn.hutool.core.bean.BeanUtil;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.redis.RedisCache;
+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.IServiceSubtaskRecordService;
-import com.smartor.service.IServiceSubtaskService;
-import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
-import org.apache.poi.ss.formula.functions.T;
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 javax.security.auth.login.CredentialNotFoundException;
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.*;
import java.util.stream.Collectors;
@@ -46,17 +45,31 @@
@Autowired
private PatArchiveMapper patArchiveMapper;
@Autowired
+ private PatArchivecontactMapper patArchivecontactMapper;
+ @Autowired
private PatMedInhospMapper patMedInhospMapper;
@Autowired
private PatMedOperationMapper patMedOperationMapper;
@Autowired
private PatMedOperationItemMapper patMedOperationItemMapper;
@Autowired
- private Icd10AssociationMapper icd10AssociationMapper;
-
+ private PatMedInspectionMapper patMedInspectionMapper;
@Autowired
- private IServiceSubtaskService iServiceSubtaskService;
+ private PatMedInspectionItemMapper patMedInspectionItemMapper;
+ @Autowired
+ private Icd10Mapper icd10Mapper;
+ @Autowired
+ private PatMedOuthospMapper patMedOuthospMapper;
+ @Autowired
+ private ServiceSubtaskMapper serviceSubtaskMapper;
+ @Autowired
+ private RedisCache redisCache;
+ @Value("${defaultPwd}")
+ private String defaultPwd;
+
+ @Value("${noLongTask}")
+ private List<String> noLongTask;
public Boolean generalInterface(Map dataMap) {
Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
@@ -67,10 +80,13 @@
@Transactional(rollbackFor = Exception.class)
@Override
public Boolean addDeptInfo(Map dataMap) {
- log.error("ServiceExternalServiceImpl---addDeptInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ log.info("ServiceExternalServiceImpl---addDeptInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
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());
@@ -101,27 +117,38 @@
}
if (StringUtils.isNotEmpty(externalDept.getShiJianDM()) && externalDept.getShiJianDM().equals("1")) {
int i = sysDeptMapper.insertDept(sysDept);
- log.error("ServiceExternalServiceImpl---addDeptInfo鏄惁鏂板鎴愬姛锛歿}", i);
+ log.info("ServiceExternalServiceImpl---addDeptInfo鏄惁鏂板鎴愬姛锛歿}", i);
} else {
int i = sysDeptMapper.updateDept(sysDept);
- log.error("ServiceExternalServiceImpl---addDeptInfo鏄惁淇敼鎴愬姛锛歿}", i);
+ log.info("ServiceExternalServiceImpl---addDeptInfo鏄惁淇敼鎴愬姛锛歿}", i);
}
return true;
}
@Override
public Boolean addUserInfo(Map dataMap) {
- log.error("ServiceExternalServiceImpl---addUserInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ log.info("ServiceExternalServiceImpl---addUserInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
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.setUserName(externalUserInfo.getYongHuDLM());
+ sysUser.setOrgid(externalUserInfo.getZuZhiJGID());
+ //鏍规嵁userName鍒ゆ柇涓�涓嬶紝鏄笉鏄箣鍓嶆湁鏂板
+ SysUser sysUser1 = sysUserMapper.selectUserByUserName(externalUserInfo.getYongHuDLM());
+
sysUser.setGuid(externalUserInfo.getZuZhiJGID());
- sysUser.setUserName(externalUserInfo.getYongHuID());
sysUser.setNickName(externalUserInfo.getYongHuXM());
sysUser.setUserType("");
sysUser.setDeptId(null);
sysUser.setTitle(null);
+
+ BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
+ sysUser.setPassword(passwordEncoder.encode(defaultPwd));
+
sysUser.setHisUserId(externalUserInfo.getYongHuID());
sysUser.setPhonenumber(externalUserInfo.getLianXiDH());
sysUser.setJobPhone(externalUserInfo.getGongZuoDH());
@@ -130,17 +157,17 @@
sysUser.setCreateTime(externalUserInfo.getChuangJianSJ());
sysUser.setUpdateTime(externalUserInfo.getXiuGaiSJ());
sysUser.setUpdateBy(externalUserInfo.getXiuGaiRXM());
- sysUser.setOrgid(externalUserInfo.getZuZhiJGID());
+
if (StringUtils.isNotEmpty(externalUserInfo.getShiJianDM()) && externalUserInfo.getShiJianDM().equals("3")) {
sysUser.setStatus("1");
}
sysUser.setBirthday(externalUserInfo.getChuShengRQ());
- if (StringUtils.isNotEmpty(externalUserInfo.getShiJianDM()) && externalUserInfo.getShiJianDM().equals("1")) {
+ if (ObjectUtils.isEmpty(sysUser1)) {
int i = sysUserMapper.insertUser(sysUser);
- log.error("ServiceExternalServiceImpl---addDeptInfo鏄惁鏂板鎴愬姛锛歿}", i);
+ log.info("ServiceExternalServiceImpl---addDeptInfo鏄惁鏂板鎴愬姛锛歿}", i);
} else {
int i = sysUserMapper.updateUser(sysUser);
- log.error("ServiceExternalServiceImpl---addDeptInfo鏄惁淇敼鎴愬姛锛歿}", i);
+ log.info("ServiceExternalServiceImpl---addDeptInfo鏄惁淇敼鎴愬姛锛歿}", i);
}
return true;
}
@@ -148,10 +175,13 @@
@Override
public Boolean addOrganInfo(Map dataMap) {
- log.error("ServiceExternalServiceImpl---addOrganInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ log.info("ServiceExternalServiceImpl---addOrganInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
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());
@@ -162,17 +192,17 @@
baseOrganization.setOrgid(externalOrganInfo.getZuZhiJGID());
if (StringUtils.isNotEmpty(externalOrganInfo.getShiJianDM()) && externalOrganInfo.getShiJianDM().equals("1")) {
int i = baseOrganizationMapper.insertBaseOrganization(baseOrganization);
- log.error("ServiceExternalServiceImpl---addOrganInfo鏄惁鏂板鎴愬姛锛歿}", i);
+ log.info("ServiceExternalServiceImpl---addOrganInfo鏄惁鏂板鎴愬姛锛歿}", i);
} else {
int i = baseOrganizationMapper.updateBaseOrganization(baseOrganization);
- log.error("ServiceExternalServiceImpl---addOrganInfo鏄惁淇敼鎴愬姛锛歿}", i);
+ log.info("ServiceExternalServiceImpl---addOrganInfo鏄惁淇敼鎴愬姛锛歿}", i);
}
return true;
}
@Override
public Boolean addCheckupReport(Map dataMap) {
- log.error("ServiceExternalServiceImpl---addCheckupReport鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ log.info("ServiceExternalServiceImpl---addCheckupReport鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
Map yeWuXX = (Map) dataMap.get("YeWuXX");
Map<String, Object> ZuZhiJGXX = (Map<String, Object>) yeWuXX.get("ZuZhiJGXX");
return false;
@@ -180,12 +210,12 @@
@Override
public Boolean addInHospInfo(Map dataMap) {
- log.error("ServiceExternalServiceImpl---addInHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ log.info("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,10 +246,12 @@
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.setIcd10((String) map.get("Icd10"));
info.setZhenDuanMC((String) map.get("ZhenDuanMC"));
return info;
}).collect(Collectors.toList());
@@ -236,21 +268,80 @@
}
@Override
- public Boolean cancelInHospInfo(Map dataMap) {
- log.error("ServiceExternalServiceImpl---cancelInHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ public Boolean addInDeptInfo(Map dataMap) {
+ log.info("ServiceExternalServiceImpl---addInDeptInfo鐨勬柊澧炵殑鍊间负锛歿}", 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> RuKeXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("RuKeXX") : null;
+
+ List<HashMap<String, Object>> epai = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) BingRenXX.get("DiZhiXXList") : 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());
+ 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);
+
+ 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());
+
+
+ if (CollectionUtils.isNotEmpty(epai)) externalInHospPatientAddrInfo = epai2.get(0);
+ //鏂板鎮h�呭熀鏈俊鎭�
+ PatArchive patArchive = addPatArchive(externalInHospPatientInfo, externalInHospPatientAddrInfo, null);
+ //鏂板鎮h�呭叆闄俊鎭�
+ Boolean aBoolean = addPadInhospInfo(externalInHospPatientInfo, patArchive, externalInHospPatientDiagnoseInfo);
+ return aBoolean;
+ }
+
+ @Override
+ public Boolean cancelInHospInfo(Map dataMap) {
+ log.info("ServiceExternalServiceImpl---cancelInHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ Map yeWuXX = (Map) dataMap.get("YeWuXX");
+ 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;
@@ -260,43 +351,294 @@
@Override
public Boolean addOutHospInfo(Map dataMap) {
- log.error("ServiceExternalServiceImpl---addOutHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ log.info("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"));
info.setZhenDuanMC((String) map.get("ZhenDuanMC"));
+ info.setIcd10((String) map.get("Icd10"));
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.setLeaveicd10code(hospPatientDiagnoseInfos2.get(0).getIcd10());
+ patMedInhosp1.setLeavediagname(hospPatientDiagnoseInfos2.get(0).getZhenDuanMC());
+ //patMedInhosp1.setDiagname(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());
+ }
+ 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);
+ if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) {
+ //涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
+ patMedInhosp1.setFuflag("1");
+ }
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());
+ if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) {
+ //涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
+ patMedInhosp1.setFuflag("1");
+ }
+
+ int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
+ if (i != 1) return false;
+ }
+ return true;
+ }
+
+ @Override
+ public Boolean addOutHospJLInfo(Map dataMap) {
+ log.info("ServiceExternalServiceImpl---addOutHospJLInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ Map yeWuXX = (Map) dataMap.get("YeWuXX");
+ 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.getBingAnHao());
+ patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
+ List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
+ String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+ patMedInhosp1.setTagname(tagname);
+ }
+ PatMedInhosp patMedInhosp1 = new PatMedInhosp();
+ if (CollectionUtils.isNotEmpty(patMedInhospList)) patMedInhosp1 = patMedInhospList.get(0);
+ patMedInhosp1.setSchemestatus(2L);
+ 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());
+
+ 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();
+ }
+ }
+ try {
+ 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();
+ }
+ 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"));
+ info.setZhenDuanMC((String) map.get("ZhenDuanMC"));
+ info.setIcd10((String) map.get("Icd10"));
+ return info;
+ }).collect(Collectors.toList());
+ patMedInhosp1.setLeaveicd10code(hospPatientDiagnoseInfos2.get(0).getIcd10());
+ patMedInhosp1.setLeavediagname(hospPatientDiagnoseInfos2.get(0).getZhenDuanMC());
+ //patMedInhosp1.setDiagname(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());
+ }
+
+ 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);
+ if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) {
+ //涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
+ patMedInhosp1.setFuflag("1");
+ }
+ 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());
+ if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) {
+ //涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
+ patMedInhosp1.setFuflag("1");
+ }
+ int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
if (i != 1) return false;
}
return true;
@@ -304,21 +646,199 @@
@Override
public Boolean cancelOutHospInfo(Map dataMap) {
- log.error("ServiceExternalServiceImpl---cancelOutHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ log.info("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());
+ //闇�瑕佸皢鍑洪櫌鐘舵�佹敼鎴愬湪闄�
+ patMedInhosp1.setInhospstate("0");
+ 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);
+
+ //鍙栨秷鍑洪櫌锛屽氨涓嶉渶瑕佹湇鍔′簡锛岄渶瑕侀�氳繃patid鍜宻endstate=2鎴栬�卻endstate=1鍘绘煡璇竴涓嬶紝service_subtask閲屾槸鍚︽湁姝e湪鎵ц鐨勪换鍔★紝鏈夌殑璇濓紝绔嬪嵆鍋滀簡
+ ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ serviceSubtaskVO.setPatid(patMedInhosp1.getPatid());
+ serviceSubtaskVO.setSendstate(2L);
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ serviceSubtaskVO.setSendstate(1L);
+ List<ServiceSubtask> serviceSubtaskList1 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList.addAll(serviceSubtaskList1);
+ } else {
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList1)) serviceSubtaskList = serviceSubtaskList1;
+ }
+ //鍘籸edis涓紝鏌ヨ鏄惁鏈塻ubid锛屾湁鐨勮瘽绉婚櫎cache-exist
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ log.info("闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+ serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
+ redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-1", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-2", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-3", serviceSubtask.getId().toString());
+ redisCache.removeElementFromList("cache-4", serviceSubtask.getId().toString());
+ }
+ }
+ if (i != 1) return false;
+ }
+ return true;
+ }
+
+ @Override
+ public Boolean addPreOutHospInfo(Map dataMap) {
+ log.info("ServiceExternalServiceImpl---addPreOutHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ Map yeWuXX = (Map) dataMap.get("YeWuXX");
+ 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.getBingAnHao());
+ patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
+ List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ 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("YuChuYSJ").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());
+
+ 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"));
+ info.setZhenDuanMC((String) map.get("ZhenDuanMC"));
+ info.setIcd10((String) map.get("Icd10"));
+ return info;
+ }).collect(Collectors.toList());
+ patMedInhosp1.setLeaveicd10code(hospPatientDiagnoseInfos2.get(0).getIcd10());
+ patMedInhosp1.setLeavediagname(hospPatientDiagnoseInfos2.get(0).getZhenDuanMC());
+ //patMedInhosp1.setDiagname(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());
+ }
+
+ patMedInhosp1.setInhospstate("3");
+ 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;
@@ -326,42 +846,223 @@
@Override
public Boolean addFinshJZInfo(Map dataMap) {
- //杩欎釜鍏堢瓑绛�
+ log.info("ServiceExternalServiceImpl---addFinshJZInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ //鍏堝琛ㄨ繘琛岀淮鎶�
+ tableMaintenance();
- return null;
+ 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;
+
+ 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);
+ 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.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);
+ patMedOuthosp.setIdcardno(patArchive.getIdcardno());
+
+ //杩欎釜闇�瑕佺瓑HIS閭h竟鍛婅瘔鍙栧摢涓瓧娈碉紝鐜板湪杩樻槸涓嶅鐨�
+ patMedOuthosp.setFudate(externalJZInfo.getSfrq());
+
+ for (ExternalDiagnosisInfo externalDiagnosisInfo : externalDiagnosisInfoList) {
+ if (externalDiagnosisInfo.getZhenDuanLBMC().equals("涓昏瘖鏂�")) {
+ patMedOuthosp.setDiagname(externalDiagnosisInfo.getZhenDuanMC());
+ patMedOuthosp.setDrcode(externalDiagnosisInfo.getZhenDuanYSID());
+ patMedOuthosp.setDrname(externalDiagnosisInfo.getZhenDuanYSXM());
+ patMedOuthosp.setIcd10code(externalDiagnosisInfo.getIcd10());
+ patMedOuthosp.setFuflag("0");
+ }
+ }
+ 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());
+ if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedOuthosp.getOrgid())) {
+ //涓嶉渶瑕侀暱鏈熶换鍔¢殢璁匡紝鐢卞尰鐢熻嚜宸卞幓闅忚锛堜附姘翠腑鍖婚櫌棣栨鎻愬嚭锛�
+ patMedOuthosp.setFuflag("1");
+ }
+ i = patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp);
+ } else {
+ patMedOuthosp.setCreateTime(new Date());
+ patMedOuthosp.setUpdateTime(new Date());
+ if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedOuthosp.getOrgid())) {
+ //涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
+ patMedOuthosp.setFuflag("1");
+ }
+ i = patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp);
+ }
+
+ //鍏堥�氳繃韬唤璇佸拰绉戝鏌ヨ璇ユ偅鑰呮槸鍚︽湁闇�瑕侀殢璁跨殑(鏅畞鎻愬嚭鏉ョ殑)
+ if (patMedOuthosp.getOrgid().equals("47255004333112711A1001") && StringUtils.isNotEmpty(patMedOuthosp.getIdcardno()) && StringUtils.isNotEmpty(patMedOuthosp.getDeptcode())) {
+ ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ serviceSubtaskVO.setSfzh(patMedOuthosp.getIdcardno());
+ serviceSubtaskVO.setDeptcode(patMedOuthosp.getDeptcode());
+ serviceSubtaskVO.setSendstate(2L);
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ serviceSubtask.setSendstate(6L);
+ serviceSubtask.setRemark("鎮h�呭凡缁忓洖鏉ュ璇�");
+ serviceSubtask.setUpdateTime(new Date());
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ }
+ }
+ }
+
+ if (i > 0) {
+ return true;
+ }
+ return false;
+ }
+
+
+ public void tableMaintenance() {
+ // 1. 鍒ゆ柇琛ㄦ暟鎹噺
+ int count = patMedOuthospMapper.countPatMedOuthosp();
+ if (count > 3000000) {
+ // 2. 鍐疯棌琛ㄥ苟鏂板缓
+ String timeSuffix = new SimpleDateFormat("yyyyMM").format(new Date());
+ String oldName = "pat_med_outhosp";
+ String newName = oldName + "_" + timeSuffix;
+
+ // 鍐疯棌
+ patMedOuthospMapper.renameTable(oldName, newName);
+
+ // 3. 璁$畻鎵�鏈夎〃鐨勬渶澶d
+ List<String> tableNames = patMedOuthospMapper.getAllOuthospTableNames();
+ long maxId = 0;
+ for (String tableName : tableNames) {
+ Long tableMaxId = patMedOuthospMapper.getMaxIdFromTable(tableName);
+ if (tableMaxId != null && tableMaxId > maxId) {
+ maxId = tableMaxId;
+ }
+ }
+
+ // 4. 鏂板缓(姝ゆ椂鍙墿鍐疯〃锛孭atMedOuthosp娌′簡锛岄渶瑕佹柊寤轰竴涓�)
+ patMedOuthospMapper.createPatMedOuthosp(newName, oldName);
+
+ //5.璁剧疆鏂拌〃鑷涓婚敭
+ patMedOuthospMapper.createPatMedOuthospAutoAdd(oldName);
+ //6. 璁剧疆鏂拌〃鑷璧峰鍊�
+ patMedOuthospMapper.setAutoIncrement(oldName, maxId + 1);
+
+ // 7. 鏇存柊/鏂板缓瑙嗗浘
+ // 閲嶆柊鑾峰彇鎵�鏈夎〃鍚嶏紙鍖呭惈鍒氭柊寤虹殑涓昏〃锛�
+ List<String> allTables = patMedOuthospMapper.getAllOuthospTableNames();
+ StringBuilder sb = new StringBuilder();
+ sb.append("CREATE OR REPLACE VIEW v_pat_med_outhosp AS ");
+ for (int i = 0; i < allTables.size(); i++) {
+ sb.append("SELECT * FROM ").append(allTables.get(i));
+ if (i < allTables.size() - 1) {
+ sb.append(" UNION ALL ");
+ }
+ }
+ patMedOuthospMapper.createOrReplaceView(sb.toString());
+ }
}
@Override
public Boolean addDiseaseInfo(Map dataMap) {
- log.error("ServiceExternalServiceImpl---addDiseaseInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ log.info("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);
- Icd10Association icd10Association = new Icd10Association();
- icd10Association.setIcd10code(externalDiseaseInfo.getJiBingID());
- icd10Association.setIcd10name(externalDiseaseInfo.getJiBingMC());
- icd10Association.setGuid(externalDiseaseInfo.getZuZhiJGID());
- icd10Association.setOrgid(externalDiseaseInfo.getZuZhiJGID());
- icd10Association.setPid(externalDiseaseInfo.getFUJIBID());
- icd10Association.setIcd10AssortCode(externalDiseaseInfo.getJiBingFLDM());
- icd10Association.setIcd10AssortName(externalDiseaseInfo.getJiBingFLMC());
- icd10Association.setChineseMedicineDiagnoseSign(externalDiseaseInfo.getZhongYiZDBZ());
- icd10Association.setChineseMedicineDiagnoseAssortCode(externalDiseaseInfo.getZhongYiZDFLDM());
- icd10Association.setChineseMedicineDiagnoseAssortName(externalDiseaseInfo.getZhongYiZDFLMC());
- icd10Association.setOutpatientUseAssort(externalDiseaseInfo.getMenZhenSYBZ());
- icd10Association.setInpatientUseAssort(externalDiseaseInfo.getZhuYuanSYBZ());
- icd10AssociationMapper.insertIcd10Association(icd10Association);
+ 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.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.setLastflag(externalDiseaseInfo.getMOJIBZ());
+ icd10.setChimedflag("" + externalDiseaseInfo.getZhongYiZDBZ());
+ 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;
}
@Override
public Boolean addWardAreaInfo(Map dataMap) {
- log.error("ServiceExternalServiceImpl---addWardAreaInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ log.info("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,36 +1072,46 @@
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);
+ log.info("ServiceExternalServiceImpl---addWardAreaInfo鏄惁鏂板鎴愬姛锛歿}", i);
} else {
int i = sysDeptMapper.updateDept(sysDept);
- log.error("ServiceExternalServiceImpl---addWardAreaInfo鏄惁淇敼鎴愬姛锛歿}", i);
+ log.info("ServiceExternalServiceImpl---addWardAreaInfo鏄惁淇敼鎴愬姛锛歿}", i);
}
return true;
}
@Override
+ public Boolean addMedicalTeam(Map dataMap) {
+ log.info("ServiceExternalServiceImpl---addMedicalTeam鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+
+ return true;
+ }
+
+ @Override
public Boolean addOperationInfo(Map dataMap) {
- log.error("ServiceExternalServiceImpl---addOperationInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ log.info("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);
@@ -409,33 +1120,39 @@
else if (ObjectUtils.isNotEmpty(sscx))
externalOperationInfo = BeanUtil.mapToBean(sscx, ExternalOperationInfo.class, true);
PatMedOperation patMedOperation = new PatMedOperation();
- patMedOperation.setPatid(null);
+ 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.setOperationcode(externalOperationInfo.getShouShuLBDM());
- patMedOperation.setOperationname(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);
@@ -447,36 +1164,62 @@
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)) {
Long id = patMedOperations.get(0).getId();
patMedOperation.setId(id);
+ patMedOperation.setCheckFlag(patMedOperations.get(0).getCheckFlag());
+ //濡傛灉鎵嬫湳鎾ら攢锛岀洿鎺ュ垹闄よ鏉℃墜鏈俊鎭�
+ if (ObjectUtils.isNotEmpty(sscx)) {
+ patMedOperation.setDelFlag("1");
+ //鍚屾椂鍘绘煡璇紝鏄惁鍦╯ubtask涓敓鎴愪换鍔★紝濡傛灉鐢熸垚鍑哄緱绔嬮┈鍒犻櫎
+ }
+ patMedOperation.setUpdateTime(new Date());
patMedOperationMapper.updatePatMedOperation(patMedOperation);
- } else patMedOperationMapper.insertPatMedOperation(patMedOperation);
- log.error("-----patMedOperation鐨勪富閿甶d涓猴細{}", patMedOperation.getId());
+ } else {
+ patMedOperation.setCreateTime(new Date());
+ patMedOperationMapper.insertPatMedOperation(patMedOperation);
+ }
+ log.info("-----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) {
PatMedOperationItem patMedOperationItem = new PatMedOperationItem();
patMedOperationItem.setOpid(patMedOperation.getId());
@@ -490,6 +1233,15 @@
patMedOperationItem.setOpposition(externalOperationDetail.getShouShuBW());
patMedOperationItem.setDelFlag("0");
patMedOperationItem.setOrgid(patMedOperation.getOrgid());
+ if (externalOperationDetail.getZhuShouSBZ().equals("1") && addMianTableFalg == true) {
+ 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);
}
}
@@ -498,10 +1250,28 @@
//鏂板鎮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);
+ //濡傛灉韬唤璇佷负绌虹殑璇濓紝灏辩敤灏辫瘖鍗″彿浠f浛
+ if (StringUtils.isEmpty(externalInHospPatientInfo.getZhengJianHM()))
+ patArchive.setIdcardno(externalInHospPatientInfo.getJiuZhenKH());
+ 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");
@@ -510,42 +1280,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());
@@ -553,7 +1361,8 @@
patMedInhosp.setLeaveldeptcode(externalInHospPatientInfo.getDangQianKSID());
patMedInhosp.setDeptname(externalInHospPatientInfo.getDangQianKSMC());
patMedInhosp.setLeaveldeptname(externalInHospPatientInfo.getDangQianKSMC());
- patMedInhosp.setBedNo(externalInHospPatientInfo.getDangQianCWID());
+ //杩欓噷鏄簥浣嶅悕绉拌繕鏄簥浣嶇紪鍙凤紵锛燂紵锛�
+ patMedInhosp.setBedNo(externalInHospPatientInfo.getDangQianCWMC());
patMedInhosp.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
patMedInhosp.setHospitaldistrictid(externalInHospPatientInfo.getDangQianBQID());
patMedInhosp.setGuid(externalInHospPatientInfo.getZuZhiJGID());
@@ -564,21 +1373,40 @@
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());
+ patMedInhosp.setManagementDoctor(externalInHospPatientInfo.getJingGuanYSXM());
+ patMedInhosp.setManagementDoctorCode(externalInHospPatientInfo.getJingGuanYSID());
}
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.getIcd10());
+ 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);
+ patMedInhosp.setUpdateTime(new Date());
+ int i = 1;
+ if (CollectionUtils.isNotEmpty(patMedInhospList)) {
+ 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;
}
@@ -586,7 +1414,7 @@
//鏂板闅忚浠诲姟鍚屾
@Override
public Boolean addTaskInfo(Map dataMap) {
- log.error("ServiceExternalServiceImpl---addTaskInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ log.info("ServiceExternalServiceImpl---addTaskInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
Map yeWuXX = (Map) dataMap.get("YeWuXX");
Map<String, Object> bqxx = (Map<String, Object>) yeWuXX.get("BingQuXX");
@@ -605,107 +1433,384 @@
return true;
}
+ //妫�鏌ョ敵璇锋湇鍔�
+ @Override
+ public Boolean addInspectService(Map dataMap) {
+ log.info("ServiceExternalServiceImpl---addInspectService鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ Map xiaoXiTou = (Map) dataMap.get("XiaoXiTou");
+ Map yeWuXX = (Map) dataMap.get("YeWuXX");
+ Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
+ Map<String, Object> JianChaSQ = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JianChaSQ") : null;
+ List<HashMap<String, Object>> JianChaBWList = ObjectUtils.isNotEmpty(JianChaSQ) ? (List<HashMap<String, Object>>) JianChaSQ.get("JianChaBWList") : null;
+ List<HashMap<String, Object>> ZhenDuanList = ObjectUtils.isNotEmpty(JianChaSQ) ? (List<HashMap<String, Object>>) JianChaSQ.get("ZhenDuanList") : null;
+ List<HashMap<String, Object>> epai = ObjectUtils.isNotEmpty(BingRenXX) ? (List<HashMap<String, Object>>) BingRenXX.get("DiZhiXXList") : null;
+
+ ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
+ externalInHospPatientInfo.setZuZhiJGID(xiaoXiTou.get("FaSongJGID").toString());
+ 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());
+ }
+ if (CollectionUtils.isNotEmpty(epai)) externalInHospPatientAddrInfo = epai2.get(0);
+ //鏂板鎮h�呭熀鏈俊鎭柊澧炴垨淇敼
+ PatArchive patArchive = addPatArchive(externalInHospPatientInfo, externalInHospPatientAddrInfo, externalInHospPatientLiaisonInfo);
+
+ PatMedInspection patMedInspection = new PatMedInspection();
+ if (xiaoXiTou.get("XiaoXiLX").equals("JC_SQ_ShenQing") || xiaoXiTou.get("XiaoXiLX").equals("JC_SQ_XiuGai")) {
+ patMedInspection.setProjecttype(1);
+ } else if (xiaoXiTou.get("XiaoXiLX").equals("JY_SQ_ShenQing") || xiaoXiTou.get("XiaoXiLX").equals("JY_SQ_XiuGai")) {
+ patMedInspection.setProjecttype(0);
+ }
+ patMedInspection.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+ patMedInspection.setInhospno(externalInHospPatientInfo.getBingAnHao());
+ patMedInspection.setPatidHis(externalInHospPatientInfo.getBingRenID());
+ patMedInspection.setPatname(externalInHospPatientInfo.getXingMing());
+ patMedInspection.setProjecttype(1);
+
+ if (ObjectUtils.isNotEmpty(BingRenXX)) {
+ patMedInspection.setIdcardno(ObjectUtils.isNotEmpty(BingRenXX.get("ZhengJianHM")) ? BingRenXX.get("ZhengJianHM").toString() : null);
+ patMedInspection.setTelcode(ObjectUtils.isNotEmpty(BingRenXX.get("LianXiDH")) ? BingRenXX.get("LianXiDH").toString() : null);
+ }
+ List<PatMedInspection> patMedInspections = patMedInspectionMapper.selectPatMedInspectionList(patMedInspection);
+ if (ObjectUtils.isNotEmpty(JianChaSQ)) {
+ patMedInspection.setAdviceId(Long.valueOf(ObjectUtils.isNotEmpty(JianChaSQ.get("YiZhuID")) ? JianChaSQ.get("YiZhuID").toString() : null));
+ patMedInspection.setAppliyid(ObjectUtils.isNotEmpty(JianChaSQ.get("ShenQingDID")) ? JianChaSQ.get("ShenQingDID").toString() : null);
+ patMedInspection.setPriority(ObjectUtils.isNotEmpty(JianChaSQ.get("YouXianJi")) ? JianChaSQ.get("YouXianJi").toString() : null);
+ patMedInspection.setDrcode(ObjectUtils.isNotEmpty(JianChaSQ.get("KaiDanRID")) ? JianChaSQ.get("KaiDanRID").toString() : null);
+ patMedInspection.setDrname(ObjectUtils.isNotEmpty(JianChaSQ.get("KaiDanRXM")) ? JianChaSQ.get("KaiDanRXM").toString() : null);
+ patMedInspection.setDeptcode(ObjectUtils.isNotEmpty(JianChaSQ.get("KaiDanKSID")) ? JianChaSQ.get("KaiDanKSID").toString() : null);
+ patMedInspection.setDeptname(ObjectUtils.isNotEmpty(JianChaSQ.get("KaiDanKSMC")) ? JianChaSQ.get("KaiDanKSMC").toString() : null);
+ patMedInspection.setOperatorId(ObjectUtils.isNotEmpty(JianChaSQ.get("ShenHeRID")) ? JianChaSQ.get("ShenHeRID").toString() : null);
+ patMedInspection.setOperatorName(ObjectUtils.isNotEmpty(JianChaSQ.get("ShenHeRXM")) ? JianChaSQ.get("ShenHeRXM").toString() : null);
+ patMedInspection.setTypeId(ObjectUtils.isNotEmpty(JianChaSQ.get("JianChaLXID")) ? JianChaSQ.get("JianChaLXID").toString() : null);
+ patMedInspection.setTypeName(ObjectUtils.isNotEmpty(JianChaSQ.get("JianChaLXMC")) ? JianChaSQ.get("JianChaLXMC").toString() : null);
+ patMedInspection.setMoney(Float.valueOf(ObjectUtils.isNotEmpty(JianChaSQ.get("JinE")) ? JianChaSQ.get("JinE").toString() : null));
+ patMedInspection.setFilmFlag(Integer.valueOf(ObjectUtils.isNotEmpty(JianChaSQ.get("JiaoPianFBZ")) ? JianChaSQ.get("JiaoPianFBZ").toString() : null));
+ patMedInspection.setBedFlag(Integer.valueOf(ObjectUtils.isNotEmpty(JianChaSQ.get("ChuangBianBZ")) ? JianChaSQ.get("ChuangBianBZ").toString() : null));
+ patMedInspection.setPushFlag(Integer.valueOf(ObjectUtils.isNotEmpty(JianChaSQ.get("TuiChuangBZ")) ? JianChaSQ.get("TuiChuangBZ").toString() : null));
+ patMedInspection.setUrgentFlag(Integer.valueOf(ObjectUtils.isNotEmpty(JianChaSQ.get("JiaJiBZ")) ? JianChaSQ.get("JiaJiBZ").toString() : null));
+ patMedInspection.setNostartFlag(Integer.valueOf(ObjectUtils.isNotEmpty(JianChaSQ.get("WeiShouXZXBZ")) ? JianChaSQ.get("WeiShouXZXBZ").toString() : null));
+ if (ObjectUtils.isNotEmpty(JianChaSQ.get("KaiDanSJ"))) {
+ try {
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ patMedInspection.setOpendate(simpleDateFormat.parse(JianChaSQ.get("KaiDanSJ").toString()));
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ if (ObjectUtils.isNotEmpty(JianChaSQ.get("ShenHeSJ"))) {
+ try {
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ patMedInspection.setOperatorDate(simpleDateFormat.parse(JianChaSQ.get("ShenHeSJ").toString()));
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ if (ObjectUtils.isNotEmpty(JianChaSQ.get("ZhiXingSJ"))) {
+ try {
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ patMedInspection.setStartTime(simpleDateFormat.parse(JianChaSQ.get("ZhiXingSJ").toString()));
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ if (CollectionUtils.isNotEmpty(JianChaBWList)) {
+ List<ExternalInspectionJC> externalInspectionJC = JianChaBWList.stream().map(map -> {
+ ExternalInspectionJC info = new ExternalInspectionJC();
+ info.setJianChaXMID((String) map.get("JianChaXMID"));
+ info.setJianChaXMMC((String) map.get("JianChaXMMC"));
+ info.setJianChaBWID((String) map.get("JianChaBWID"));
+ info.setJianChaBWMC((String) map.get("JianChaBWMC"));
+ return info;
+ }).collect(Collectors.toList());
+ patMedInspection.setProjectId(externalInspectionJC.get(0).getJianChaXMID());
+ patMedInspection.setProjectName(externalInspectionJC.get(0).getJianChaXMMC());
+ patMedInspection.setPartId(externalInspectionJC.get(0).getJianChaBWID());
+ patMedInspection.setPartName(externalInspectionJC.get(0).getJianChaBWMC());
+ }
+
+ if (CollectionUtils.isNotEmpty(ZhenDuanList)) {
+ List<ExternalInspectionJC> externalInspectionJC = ZhenDuanList.stream().map(map -> {
+ ExternalInspectionJC info = new ExternalInspectionJC();
+ info.setZhenDuanID((String) map.get("ZhenDuanID"));
+ info.setZhenDuanMC((String) map.get("ZhenDuanMC"));
+ return info;
+ }).collect(Collectors.toList());
+ patMedInspection.setDiagid(externalInspectionJC.get(0).getZhenDuanID());
+ patMedInspection.setDiagname(externalInspectionJC.get(0).getZhenDuanMC());
+ }
+
+ if (CollectionUtils.isNotEmpty(patMedInspections)) {
+ patMedInspection.setUpdateDate(new Date());
+ patMedInspection.setOrgid(ObjectUtils.isNotEmpty(xiaoXiTou) && ObjectUtils.isNotEmpty(xiaoXiTou.get("FaSongJGID")) ? xiaoXiTou.get("FaSongJGID").toString() : null);
+ // 鏇存柊鎿嶄綔
+ int i = patMedInspectionMapper.updatePatMedInspection(patMedInspection);
+ if (i != 1) return false;
+ } else {
+ patMedInspection.setDelFlag("0");
+ patMedInspection.setCreateTime(new Date());
+ int i = patMedInspectionMapper.insertPatMedInspection(patMedInspection);
+ if (i != 1) return false;
+ }
+
+ return true;
+ }
+
+ //妫�鏌ヨ鎯呮坊鍔�
+ @Override
+ public Boolean addInspectBGService(Map dataMap) {
+ log.info("ServiceExternalServiceImpl---addInspectBGService鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ Map xiaoXiTou = (Map) dataMap.get("XiaoXiTou");
+ Map yeWuXX = (Map) dataMap.get("YeWuXX");
+ Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
+ Map<String, Object> JianChaBG = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JianChaBG") : null;
+ List<HashMap<String, Object>> JianChaBWList = ObjectUtils.isNotEmpty(JianChaBG) ? (List<HashMap<String, Object>>) JianChaBG.get("JianChaBWList") : null;
+ PatMedInspection patMedInspection = new PatMedInspection();
+ PatMedInspectionItem patMedInspectionItem = new PatMedInspectionItem();
+ patMedInspection.setOrgid(BingRenXX.get("ZuZhiJGID").toString());
+ patMedInspection.setInhospno(BingRenXX.get("BingAnHao").toString());
+ patMedInspection.setPatidHis(BingRenXX.get("BingRenID").toString());
+ patMedInspection.setPatname(BingRenXX.get("XingMing").toString());
+ patMedInspection.setAppliyid(JianChaBG.get("ShenQingDID").toString());
+ //鏌ユ壘鎮h�呮鏌ユ楠屼俊鎭紝濡傛灉鏃狅紝杩涜鏂板姞
+ List<PatMedInspection> patMedInspections = patMedInspectionMapper.selectPatMedInspectionList(patMedInspection);
+ if (CollectionUtils.isNotEmpty(patMedInspections)) {
+ patMedInspectionItem.setInspectionid(patMedInspections.get(0).getId().intValue());
+ } else {
+ addInspectService(dataMap);
+ List<PatMedInspection> patMedInspections2 = patMedInspectionMapper.selectPatMedInspectionList(patMedInspection);
+ patMedInspectionItem.setInspectionid(patMedInspections2.get(0).getId().intValue());
+ }
+ //妫�鏌ユ楠屾姤鍛婃暟鎹鐞�
+ patMedInspectionItem.setOrgid(BingRenXX.get("ZuZhiJGID").toString());
+ List<PatMedInspectionItem> patMedInspectionItems = patMedInspectionItemMapper.selectPatMedInspectionItemList(patMedInspectionItem);
+ if (ObjectUtils.isNotEmpty(JianChaBG)) {
+ patMedInspectionItem.setInspectionName(JianChaBG.get("JianChaHao").toString());
+ patMedInspectionItem.setReportid(JianChaBG.get("JianChaHao").toString());
+ patMedInspectionItem.setStatuscode(JianChaBG.get("DangQianZTDM").toString());
+ patMedInspectionItem.setStatusname(JianChaBG.get("DangQianZTMC").toString());
+ patMedInspectionItem.setReportid(JianChaBG.get("BaoGaoRID").toString());
+ patMedInspectionItem.setReportername(JianChaBG.get("BaoGaoRXM").toString());
+ patMedInspectionItem.setDiagimpression(JianChaBG.get("ZhenDuanYX").toString());
+ patMedInspectionItem.setDiagfindings(JianChaBG.get("ZhenDuanSJ").toString());
+ patMedInspectionItem.setDiagsuggestion(JianChaBG.get("ZhenDuanJY").toString());
+ patMedInspectionItem.setReporturl(JianChaBG.get("BaoGaoYXDZ").toString());
+ patMedInspectionItem.setCriticalFlag(Integer.valueOf(JianChaBG.get("WeiJiZBZ").toString()));
+ patMedInspectionItem.setCriticalContent(JianChaBG.get("WeiJiZNR").toString());
+ patMedInspectionItem.setReportdeptid(JianChaBG.get("BaoGaoKSID").toString());
+ patMedInspectionItem.setReportdeptname(JianChaBG.get("BaoGaoKSMC").toString());
+ patMedInspectionItem.setResultcode(JianChaBG.get("JianChaJGDM").toString());
+ patMedInspectionItem.setResultname(JianChaBG.get("JianChaJGMC").toString());
+ if (ObjectUtils.isNotEmpty(JianChaBG.get("BaoGaoSJ"))) {
+ try {
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ patMedInspection.setOpendate(simpleDateFormat.parse(JianChaBG.get("BaoGaoSJ").toString()));
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ if (ObjectUtils.isNotEmpty(patMedInspectionItems)) {
+ patMedInspectionItem.setUpdateTime(new Date());
+ int i = patMedInspectionItemMapper.updatePatMedInspectionItem(patMedInspectionItem);
+ if (i != 1) return false;
+ } else {
+ patMedInspectionItem.setDelFlag("0");
+ patMedInspectionItem.setCreateTime(new Date());
+ int i = patMedInspectionItemMapper.insertPatMedInspectionItem(patMedInspectionItem);
+ if (i != 1) return false;
+ }
+
+ return true;
+ }
+
private Boolean getType(String type, Map dataMap) {
switch (type) {
case "BR_DA_DangAnJL":
- log.error("鎮h�呮。妗堝缓绔嬪叆鍙傜被鍨嬩负锛歿}", type);
+ log.info("鎮h�呮。妗堝缓绔嬪叆鍙傜被鍨嬩负锛歿}", type);
return true;
case "BR_DA_DangAnXG":
- log.error("鎮h�呮。妗堜慨鏀瑰叆鍙傜被鍨嬩负锛歿}", type);
+ log.info("鎮h�呮。妗堜慨鏀瑰叆鍙傜被鍨嬩负锛歿}", type);
return true;
case "JZ_MZ_ZhenDuanXXLR":
- log.error("鎮h�呰瘖鏂俊鎭棬璇婂綍鍏ュ叆鍙傜被鍨嬩负锛歿}", type);
+ log.info("鎮h�呰瘖鏂俊鎭棬璇婂綍鍏ュ叆鍙傜被鍨嬩负锛歿}", type);
return true;
case "JZ_ZY_ZhenDuanXXLR":
- log.error("鎮h�呰瘖鏂俊鎭綇闄㈠綍鍏ュ叆鍙傜被鍨嬩负锛歿}", type);
+ log.info("鎮h�呰瘖鏂俊鎭綇闄㈠綍鍏ュ叆鍙傜被鍨嬩负锛歿}", type);
return true;
case "YZ_MZ_YiZhuSQ":
- log.error("闂ㄨ瘖鍖诲槺鐢宠鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("闂ㄨ瘖鍖诲槺鐢宠鍏ュ弬绫诲瀷涓猴細{}", type);
return true;
case "YZ_ZY_YiZhuZX":
- log.error("浣忛櫌鍖诲槺鎵ц鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("浣忛櫌鍖诲槺鎵ц鍏ュ弬绫诲瀷涓猴細{}", type);
return true;
case "YZ_MZ_YiZhuXG":
- log.error("闂ㄨ瘖鍖诲槺淇敼鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("闂ㄨ瘖鍖诲槺淇敼鍏ュ弬绫诲瀷涓猴細{}", type);
return true;
case "YZ_MZ_YiZhuCX":
- log.error("闂ㄨ瘖鍖诲槺鎾ら攢鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("闂ㄨ瘖鍖诲槺鎾ら攢鍏ュ弬绫诲瀷涓猴細{}", type);
return true;
case "YZ_MZ_YiZhuCS":
- log.error("闂ㄨ瘖鍖诲槺鍒犻櫎鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("闂ㄨ瘖鍖诲槺鍒犻櫎鍏ュ弬绫诲瀷涓猴細{}", type);
return true;
case "JC_SQ_ShenQing":
- log.error("妫�鏌ョ敵璇峰崟鍏ュ弬绫诲瀷涓猴細{}", type);
- return true;
+ log.info("妫�鏌ョ敵璇峰崟鍏ュ弬绫诲瀷涓猴細{}", type);
+ return addInspectService(dataMap);
case "JC_SQ_XiuGai":
- log.error("妫�鏌ョ敵璇蜂俊鎭洿鏂板叆鍙傜被鍨嬩负锛歿}", type);
- return true;
+ log.info("妫�鏌ョ敵璇蜂俊鎭洿鏂板叆鍙傜被鍨嬩负锛歿}", type);
+ return addInspectService(dataMap);
case "JC_SQ_CheXiao":
- log.error("妫�鏌ユ挙閿�鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("妫�鏌ユ挙閿�鍏ュ弬绫诲瀷涓猴細{}", type);
return true;
+ case "JC_BG_BaoGao":
+ log.info("妫�鏌ユ姤鍛婂叆鍙傜被鍨嬩负锛歿}", type);
+ return addInspectBGService(dataMap);
case "JY_SQ_ShenQing":
- log.error("妫�楠岀敵璇峰叆鍙傜被鍨嬩负锛歿}", type);
- return true;
+ log.info("妫�楠岀敵璇峰叆鍙傜被鍨嬩负锛歿}", type);
+ return addInspectService(dataMap);
case "JY_SQ_CheXiao":
- log.error("妫�楠屾挙閿�鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("妫�楠屾挙閿�鍏ュ弬绫诲瀷涓猴細{}", type);
return true;
case "JY_SQ_XiuGai":
- log.error("妫�楠屼慨鏀瑰叆鍙傜被鍨嬩负杈咃細{}", type);
- return true;
+ log.info("妫�楠屼慨鏀瑰叆鍙傜被鍨嬩负杈咃細{}", type);
+ return addInspectService(dataMap);
case "JY_SQ_BiaoBenCJ":
- log.error("妫�楠屾爣鏈噰闆嗗叆鍙傜被鍨嬩负锛歿}", type);
+ log.info("妫�楠屾爣鏈噰闆嗗叆鍙傜被鍨嬩负锛歿}", type);
return true;
case "JY_SQ_QuXiaoBBCJ":
- log.error("鍙栨秷妫�楠屾爣鏈噰闆嗗叆鍙傜被鍨嬩负锛歿}", type);
+ log.info("鍙栨秷妫�楠屾爣鏈噰闆嗗叆鍙傜被鍨嬩负锛歿}", type);
return true;
case "SM_SQ_ShenQing":
- log.error("鎵嬫湳鐢宠鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("鎵嬫湳鐢宠鍏ュ弬绫诲瀷涓猴細{}", type);
addOperationInfo(dataMap);
return true;
case "TJ_YW_BaoGaoXX":
- log.error("浣撴鎶ュ憡鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("浣撴鎶ュ憡鍏ュ弬绫诲瀷涓猴細{}", type);
return true;
case "TJ_YW_QuXiaoBG":
- log.error("鍙栨秷浣撴鎶ュ憡鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("鍙栨秷浣撴鎶ュ憡鍏ュ弬绫诲瀷涓猴細{}", type);
return true;
case "JG_ZZ_JiGou":
- log.error("缁勭粐鏈烘瀯鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("缁勭粐鏈烘瀯鍏ュ弬绫诲瀷涓猴細{}", type);
return addOrganInfo(dataMap);
case "JG_ZZ_KeShi":
- log.error("绉戝鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("绉戝鍏ュ弬绫诲瀷涓猴細{}", type);
return addDeptInfo(dataMap);
case "JG_YH_JiBenXX":
- log.error("鐢ㄦ埛淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("鐢ㄦ埛淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
return addUserInfo(dataMap);
case "fu_task":
- log.error("fu_task鏈嶅姟鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("fu_task鏈嶅姟鍏ュ弬绫诲瀷涓猴細{}", type);
return addTaskInfo(dataMap);
case "GY_ZD_JiBingML":
- log.error("鐤剧梾鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("鐤剧梾鍏ュ弬绫诲瀷涓猴細{}", type);
return addDiseaseInfo(dataMap);
case "YP_ZD_YaoPinCDJG":
- log.error("鑽搧浜у湴浠锋牸鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("鑽搧浜у湴浠锋牸鍏ュ弬绫诲瀷涓猴細{}", type);
return true;
case "JZ_MZ_WanChengJZ":
- log.error("瀹屾垚鎺ヨ瘖鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("锛堥棬鎬ヨ瘖锛夊畬鎴愭帴璇婂叆鍙傜被鍨嬩负锛歿}", type);
return addFinshJZInfo(dataMap);
case "JZ_ZY_RuYuanDJ":
- log.error("鍏ラ櫌鐧昏鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("鍏ラ櫌鐧昏鍏ュ弬绫诲瀷涓猴細{}", type);
return addInHospInfo(dataMap);
case "JZ_ZY_QuXiaoRY":
- log.error("鍙栨秷鍏ラ櫌鐧昏鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("鍙栨秷鍏ラ櫌鐧昏鍏ュ弬绫诲瀷涓猴細{}", type);
return cancelInHospInfo(dataMap);
case "JZ_ZY_ChuYuan":
- log.error("鎮h�呭嚭闄㈠叆鍙傜被鍨嬩负锛歿}", type);
+ log.info("鎮h�呭嚭闄㈠叆鍙傜被鍨嬩负锛歿}", type);
return addOutHospInfo(dataMap);
+ case "BL_JL_ChuYuanJL":
+ log.info("鎮h�呭嚭闄㈣褰曞叆鍙傜被鍨嬩负锛歿}", type);
+ return addOutHospJLInfo(dataMap);
case "JZ_ZY_QuXiaoCY":
- log.error("鍙栨秷鍑洪櫌鍏ュ弬绫诲瀷涓猴細{}", type);
+ log.info("鍙栨秷鍑洪櫌鍏ュ弬绫诲瀷涓猴細{}", type);
return cancelOutHospInfo(dataMap);
+ case "JZ_ZY_YuChuYuan":
+ log.info("鎮h�呴鍑洪櫌鍏ュ弬绫诲瀷涓猴細{}", type);
+ return addPreOutHospInfo(dataMap);
case "JG_ZZ_BingQu":
- log.error("鐥呭尯淇℃伅鍏ュ弬绫诲瀷涓鸿緟锛歿}", type);
+ log.info("鐥呭尯淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
return addWardAreaInfo(dataMap);
+ case "JG_ZZ_YiLiaoZYS":
+ log.info("鍖荤枟缁勫尰鐢熶负锛歿}", type);
+ return addMedicalTeam(dataMap);
+ case "JZ_ZY_RuKe":
+ log.info("鍏ョ鐨勬暟鎹负锛歿}", 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