From 29069b790469cb7136cadba7ddcd63a83bc4ac70 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 23 三月 2026 15:20:20 +0800
Subject: [PATCH] 门急诊分表代码(增、改、查)提交
---
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 325 +++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 250 insertions(+), 75 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 64cc977..66c5a2e 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1,13 +1,19 @@
package com.smartor.service.impl;
import cn.hutool.core.bean.BeanUtil;
+import com.google.gson.Gson;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.entity.SysUserDept;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.DtoConversionUtils;
import com.ruoyi.common.utils.StringUtils;
import com.smartor.domain.*;
+import com.smartor.domain.entity.ServiceSubtaskEntity;
import com.smartor.mapper.*;
+import com.smartor.service.IPatMedOuthospService;
import com.smartor.service.IServiceExternalService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@@ -41,6 +47,8 @@
@Autowired
private SysUser2Mapper sysUserMapper;
@Autowired
+ private SysUserDeptMapper sysUserDeptMapper;
+ @Autowired
private BaseOrganizationMapper baseOrganizationMapper;
@Autowired
private PatArchiveMapper patArchiveMapper;
@@ -58,6 +66,8 @@
private PatMedInspectionItemMapper patMedInspectionItemMapper;
@Autowired
private Icd10Mapper icd10Mapper;
+ @Autowired
+ private IPatMedOuthospService patMedOuthospService;
@Autowired
private PatMedOuthospMapper patMedOuthospMapper;
@Autowired
@@ -89,6 +99,8 @@
}
SysDept sysDept = new SysDept();
sysDept.setOrgid(externalDept.getZuZhiJGID());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ sysDept.setCampusid("1");
sysDept.setHisDeptId(externalDept.getKeShiID());
sysDept.setHisParentId(externalDept.getFuKeSID());
//閫氳繃his鐨勭埗绉戝ID鍘绘壘鍒扮瀹D,濉厖parentId
@@ -130,6 +142,7 @@
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鏄┖鐨勶紝娌℃湁鏁版嵁锛侊紒锛�");
@@ -137,6 +150,8 @@
SysUser sysUser = new SysUser();
sysUser.setUserName(externalUserInfo.getYongHuDLM());
sysUser.setOrgid(externalUserInfo.getZuZhiJGID());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ sysUser.setCampusid("1");
//鏍规嵁userName鍒ゆ柇涓�涓嬶紝鏄笉鏄箣鍓嶆湁鏂板
SysUser sysUser1 = null;
List<SysUser> sysUserList = sysUserMapper.selectUserList(sysUser);
@@ -149,9 +164,6 @@
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());
@@ -167,6 +179,8 @@
}
sysUser.setBirthday(externalUserInfo.getChuShengRQ());
if (ObjectUtils.isEmpty(sysUser1)) {
+ BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
+ sysUser.setPassword(passwordEncoder.encode(defaultPwd));
int i = sysUserMapper.insertUser(sysUser);
log.info("ServiceExternalServiceImpl---addDeptInfo鏄惁鏂板鎴愬姛锛歿}", i);
} else {
@@ -177,6 +191,116 @@
return true;
}
+ @Override
+ public Boolean addUserDeptInfo(Map dataMap) {
+ log.info("ServiceExternalServiceImpl---addUserDeptInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ Map yeWuXX = (Map) dataMap.get("YeWuXX");
+ Map<String, Object> keShiYH = (Map<String, Object>) yeWuXX.get("KeShiYH");
+
+ ExternalUserDeptInfo externalUserDeptInfo = BeanUtil.mapToBean(keShiYH, ExternalUserDeptInfo.class, true);
+ if (ObjectUtils.isEmpty(externalUserDeptInfo)) {
+ throw new BaseException("externalUserDeptInfo鏄┖鐨勶紝娌℃湁鏁版嵁锛侊紒锛�");
+ }
+
+ //鑾峰彇褰撳墠鐢ㄦ埛Name瀵瑰簲鐨剈ser淇℃伅
+ SysUser sysUser = null;
+ SysUser sysUserVo = new SysUser();
+// sysUserVo.setUserName(externalUserDeptInfo.getYongHuDLM());
+ sysUserVo.setHisUserId(externalUserDeptInfo.getYongHuID());
+ sysUserVo.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ sysUserVo.setCampusid("1");
+ //鏍规嵁userName鍒ゆ柇涓�涓嬶紝鏄笉鏄箣鍓嶆湁鏂板
+ List<SysUser> sysUserList = sysUserMapper.selectUserList(sysUserVo);
+ if (CollectionUtils.isNotEmpty(sysUserList)) {
+ sysUser = sysUserList.get(0);
+ }
+
+ //鑾峰彇褰撳墠绉戝hisDeptId瀵瑰簲鐨刣ept淇℃伅
+ SysDept sysDept = null;
+ SysDept sysDeptVo = new SysDept();
+ sysDeptVo.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ sysDeptVo.setCampusid("1");
+ sysDeptVo.setHisDeptId(externalUserDeptInfo.getKeShiID());
+ List<SysDept> sysDepts = sysDeptMapper.selectDeptList(sysDeptVo);
+ if (CollectionUtils.isNotEmpty(sysDepts)) {
+ sysDept = sysDepts.get(0);
+ }
+ if (ObjectUtils.isEmpty(sysUser)) {
+ log.error("ServiceExternalServiceImpl---addUserDeptInfo 鎵句笉鍒板搴旂殑鐢ㄦ埛 username: {}", externalUserDeptInfo.getYongHuDLM());
+ return false;
+ } else if (ObjectUtils.isEmpty(sysDept)) {
+ log.error("ServiceExternalServiceImpl---addUserDeptInfo 鎵句笉鍒板搴旂殑绉戝 hisDeptId: {}", externalUserDeptInfo.getKeShiID());
+ return false;
+ } else {
+ SysUserDept sysUserDept = new SysUserDept();
+ sysUserDept.setDelFlag(0L);
+ sysUserDept.setUserId(sysUser.getUserId());
+ sysUserDept.setUserCode(sysUser.getUserCode());
+ sysUserDept.setDeptType(sysDept.getDeptType());
+ sysUserDept.setGuid(externalUserDeptInfo.getZuZhiJGID());
+ sysUserDept.setDeptId(sysDept.getDeptId());
+ sysUserDept.setDeptCode(sysDept.getDeptCode());
+ sysUserDept.setDeptName(sysDept.getDeptName());
+ sysUserDept.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+ sysUserDept.setCampusid("1");
+
+ sysUserDept.setCreateBy(externalUserDeptInfo.getChuangJianRXM());
+ sysUserDept.setCreateTime(externalUserDeptInfo.getChuangJianSJ());
+ sysUserDept.setUpdateTime(externalUserDeptInfo.getXiuGaiSJ());
+ sysUserDept.setUpdateBy(externalUserDeptInfo.getXiuGaiRXM());
+
+ if (StringUtils.isNotEmpty(externalUserDeptInfo.getShiJianDM()) && externalUserDeptInfo.getShiJianDM().equals("3")) {
+ sysUserDept.setDelFlag(1L);
+ }
+ SysUserDept sysUserDeptVo = new SysUserDept();
+ sysUserDeptVo.setUserId(sysUser.getUserId());
+ sysUserDeptVo.setDeptId(sysDept.getDeptId());
+ sysUserDeptVo.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ sysUserDeptVo.setCampusid("1");
+ //鏍规嵁userName鍒ゆ柇涓�涓嬶紝鏄笉鏄箣鍓嶆湁鏂板
+ SysUserDept sysUserDeptOld = null;
+ List<SysUserDept> sysUserDeptList = sysUserDeptMapper.selectSysUserDeptList(sysUserDeptVo);
+ if (CollectionUtils.isNotEmpty(sysUserDeptList)) {
+ sysUserDeptOld = sysUserDeptList.get(0);
+ }
+ if (ObjectUtils.isEmpty(sysUserDeptOld)) {
+ int i = sysUserDeptMapper.insertSysUserDept(sysUserDept);
+ log.info("ServiceExternalServiceImpl---addUserDeptInfo鏄惁鏂板鎴愬姛锛歿}", i);
+ } else {
+ sysUserDept.setUserId(sysUserDeptOld.getUserId());
+ int i = sysUserDeptMapper.updateSysUserDept(sysUserDept);
+ log.info("ServiceExternalServiceImpl---addUserDeptInfo鏄惁淇敼鎴愬姛03锛歿}", i);
+ }
+ //鏇存柊sys-user deptId
+ if (StringUtils.isNotEmpty(externalUserDeptInfo.getKeShiID())) {
+ sysUser.setDeptId(Long.valueOf(externalUserDeptInfo.getKeShiID()));
+ //鏌ヨ鐢ㄦ埛绉戝鍏崇郴
+ SysUserDept sysUserDeptTemp = new SysUserDept();
+ sysUserDeptTemp.setUserId(sysUser.getUserId());
+ sysUserDeptTemp.setOrgid(externalUserDeptInfo.getZuZhiJGID());
+ List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDeptTemp);
+ List<String> userDepts = sysUserDepts.stream().map(SysUserDept::getDeptCode).distinct().collect(Collectors.toList());
+ //鍜宷ueryHospUserInfoList閲囬泦鐨勬暟鎹牸寮忎繚鎸佷竴鑷�
+ List<List<String>> userDeptsList = new ArrayList<>();
+ if (!userDepts.isEmpty()) {
+ for (String userDept : userDepts) {
+ List<String> uDept = new ArrayList<>();
+ uDept.add(userDept);
+ userDeptsList.add(uDept);
+ }
+ }
+ //灏嗛儴闂ㄦ垜鐥呭尯鏀惧埌鎸囧畾瀛楁涓�
+ Gson gson = new Gson();
+ sysUser.setHospInfo(gson.toJson(userDeptsList));
+
+ sysUserMapper.updateUser(sysUser);
+ }
+ }
+ return true;
+ }
private SysUser getUser(List<SysUser> sysUserList) {
SysUser sysUser = null;
@@ -215,6 +339,8 @@
baseOrganization.setUpdateTime(externalOrganInfo.getUpdateTime());
baseOrganization.setUpdateBy(externalOrganInfo.getUpdateBy());
baseOrganization.setOrgid(externalOrganInfo.getZuZhiJGID());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ baseOrganization.setCampusid("1");
if (StringUtils.isNotEmpty(externalOrganInfo.getShiJianDM()) && externalOrganInfo.getShiJianDM().equals("1")) {
int i = baseOrganizationMapper.insertBaseOrganization(baseOrganization);
log.info("ServiceExternalServiceImpl---addOrganInfo鏄惁鏂板鎴愬姛锛歿}", i);
@@ -388,6 +514,8 @@
ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo = null;
ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo = null;
List<ExternalInHospPatientAddrInfo> epai2 = null;
+ //姝讳骸鏍囪
+ Boolean deathFlag = false;
if (CollectionUtils.isNotEmpty(epai)) {
epai2 = epai.stream().map(map -> {
ExternalInHospPatientAddrInfo info = new ExternalInHospPatientAddrInfo();
@@ -449,6 +577,14 @@
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);
+
+ //绂婚櫌鏂瑰紡浠g爜 1-鍖荤灘绂婚櫌 2-鍖诲槺杞櫌 3-鍖诲槺杞ぞ鍖哄崼鐢熸湇鍔℃満鏋�/涔¢晣鍗敓闄�
+ // 4-闈炲尰鍢辩闄� 5-姝讳骸 9-鍏朵粬 10-浠嬪叆瀹� 20-鎵嬫湳瀹�
+ String liYuanQxdm = ObjectUtils.isNotEmpty(JiuZhenXX.get("LiYuanQXDM")) ? JiuZhenXX.get("LiYuanQXDM").toString() : null;
+ //鍒ゆ柇鐥呬汉鏄惁姝讳骸
+ if (ObjectUtils.isNotEmpty(liYuanQxdm) && ("5").equals(liYuanQxdm)) {
+ deathFlag = true;
+ }
}
patMedInhosp1.setUpdateTime(new Date());
patMedInhosp1.setTelcode(patArchive.getTelcode());
@@ -492,9 +628,28 @@
}
patMedInhosp1.setInhospstate("1");
+ if (deathFlag) {
+ //鐥呬汉姝讳骸鏃犻』闅忚
+ patMedInhosp1.setFuflag("1");
+ //鏇存柊鐥呬汉 notrequiredFlag
+ patArchive.setNotrequiredFlag("1");
+ patArchiveMapper.updatePatArchive(patArchive);
+ //瀵瑰凡缁忕敓鎴愮殑闅忚浠诲姟杩涜澶勭悊
+ ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
+ serviceSubtaskVO.setPatid(patArchive.getId());
+ serviceSubtaskVO.setSendstate(2L);
+ List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+ for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
+ serviceSubtask.setSendstate(6L);
+ serviceSubtask.setRemark(serviceSubtask.getRemark() + ";鐥呬汉宸叉浜★紝涓嶉殢璁�");
+ serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+ }
+ }
if (CollectionUtils.isNotEmpty(patMedInhospList)) {
patMedInhosp1.setUpdateTime(new Date());
patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX) && ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null);
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patMedInhosp1.setCampusid("1");
if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) {
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
patMedInhosp1.setFuflag("1");
@@ -508,6 +663,8 @@
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);
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patMedInhosp1.setCampusid("1");
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);
@@ -651,6 +808,8 @@
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);
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patMedInhosp1.setCampusid("1");
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);
@@ -697,7 +856,7 @@
int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
//鍙栨秷鍑洪櫌锛屽氨涓嶉渶瑕佹湇鍔′簡锛岄渶瑕侀�氳繃patid鍜宻endstate=2鎴栬�卻endstate=1鍘绘煡璇竴涓嬶紝service_subtask閲屾槸鍚︽湁姝e湪鎵ц鐨勪换鍔★紝鏈夌殑璇濓紝绔嬪嵆鍋滀簡
- ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
+ ServiceSubtaskEntity serviceSubtaskVO = new ServiceSubtaskEntity();
serviceSubtaskVO.setPatid(patMedInhosp1.getPatid());
serviceSubtaskVO.setSendstate(2L);
List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
@@ -855,6 +1014,8 @@
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);
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patMedInhosp1.setCampusid("1");
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);
@@ -869,11 +1030,55 @@
return true;
}
+ /**
+ * 鐩墠锛屼粠鎬ヨ瘖鎶㈡晳鍚庤浆鍏ヤ綇闄㈢殑鎮h�咃紝鍏舵暟鎹噰闆嗗瓨鍦ㄤ竴涓棶棰橈細鏈変袱鏉″叆闄㈣褰曘��
+ * 绗竴鏉★紙鎬ヨ瘖绉戝鐨勶級璁板綍缂哄皯鈥滃嚭闄㈡椂闂粹�濓紝瀵艰嚧璇ヨ褰曞湪缁熻涓缁堟樉绀轰负鈥滃湪闄⑩�濓紝
+ * 鑰岀浜屾潯锛堣浆鍏ョ瀹ょ殑锛夎褰曟槸瀹屾暣鐨勩�傛垜浠渶瑕侀噰闆� JZ_ZY_LiQiang鎺ュ彛鐨勬暟鎹紝
+ * 閲岄潰鐨勭鎶㈡椂闂存潵鍙嶅~绗竴鏉¤褰曠殑鈥滃嚭闄㈡椂闂粹�濓紝浠庤�屼慨姝g涓�鏉¤褰曠殑鐘舵�併��
+ *
+ * @param dataMap
+ * @return
+ */
+ @Override
+ public Boolean editRescueFinishedOutHospInfo(Map dataMap) {
+ log.info("ServiceExternalServiceImpl---editRescueFinishedOutHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+ Map yeWuXX = (Map) dataMap.get("YeWuXX");
+ //鐥呬汉淇℃伅
+ 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;
+
+ ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
+ PatMedInhosp patMedInhosp = new PatMedInhosp();
+ patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
+ patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
+ List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+ PatMedInhosp patMedInhosp1 = null;
+ if (CollectionUtils.isNotEmpty(patMedInhospList)) patMedInhosp1 = patMedInhospList.get(0);
+ if (ObjectUtils.isNotEmpty(patMedInhosp1)) {
+ if (ObjectUtils.isNotEmpty(JiuZhenXX.get("LiQiangSJ"))) {
+ try {
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ patMedInhosp1.setEndtime(simpleDateFormat.parse(JiuZhenXX.get("LiQiangSJ").toString()));
+ patMedInhosp1.setUpdateTime(new Date());
+ //鏇存柊鍑洪櫌鐘舵��
+ patMedInhosp1.setInhospstate("1");
+ int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+ if (i != 1) return false;
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ }
+ return true;
+ } else {
+ log.error("ServiceExternalServiceImpl---editRescueFinishedOutHospInfo鐨勬病鏈夋壘鍒板搴旂殑鍑洪櫌璁板綍锛歿}", dataMap);
+ return false;
+ }
+ }
+
@Override
public Boolean addFinshJZInfo(Map dataMap) {
log.info("ServiceExternalServiceImpl---addFinshJZInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
- //鍏堝琛ㄨ繘琛岀淮鎶�
- tableMaintenance();
Map yeWuXX = (Map) dataMap.get("YeWuXX");
Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
@@ -912,10 +1117,10 @@
PatArchive patArchive = addPatArchive(externalInHospPatientInfo, null, null);
- PatMedOuthosp patMedOuthosp = new PatMedOuthosp();
- patMedOuthosp.setOuthospno(externalInHospPatientInfo.getBingAnHao());
- patMedOuthosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
- List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.selectPatMedOuthospList(patMedOuthosp);
+ PatMedOuthospQueryReq patMedOuthospreq = new PatMedOuthospQueryReq();
+ patMedOuthospreq.setOuthospno(externalInHospPatientInfo.getBingAnHao());
+ patMedOuthospreq.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
+ List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.callSpQueryOuthosp(patMedOuthospreq);
for (PatMedOuthosp patMedOuthosp1 : patMedOuthosps) {
PatArchive pa = patArchiveMapper.selectPatArchiveByPatid(patMedOuthosp1.getPatid());
if (patArchive.getBirthdate() != null) {
@@ -925,11 +1130,13 @@
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.setSex(patArchive.getSex());
patMedOuthosp1.setTelcode(patArchive.getTelcode());
patMedOuthosp1.setIdcardno(patArchive.getIdcardno());
}
}
+ PatMedOuthosp patMedOuthosp = DtoConversionUtils.sourceToTarget(patMedOuthospreq, PatMedOuthosp.class);
patMedOuthosp.setPatid(patArchive.getId());
patMedOuthosp.setPatno(externalInHospPatientInfo.getBingAnHao());
patMedOuthosp.setPatname(externalInHospPatientInfo.getXingMing());
@@ -939,6 +1146,8 @@
patMedOuthosp.setDeptcode(externalJZInfo.getJiuZhenKSID());
patMedOuthosp.setAdmitdate(externalJZInfo.getJiuZhenRQ());
patMedOuthosp.setOrgid(FaSongJGID);
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patMedOuthosp.setCampusid("1");
patMedOuthosp.setHospitalname(FaSongJGMC);
patMedOuthosp.setIdcardno(patArchive.getIdcardno());
@@ -970,7 +1179,7 @@
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁匡紝鐢卞尰鐢熻嚜宸卞幓闅忚锛堜附姘翠腑鍖婚櫌棣栨鎻愬嚭锛�
patMedOuthosp.setFuflag("1");
}
- i = patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp);
+ i = patMedOuthospService.updatePatMedOuthosp(patMedOuthosp);
} else {
patMedOuthosp.setCreateTime(new Date());
patMedOuthosp.setUpdateTime(new Date());
@@ -978,76 +1187,14 @@
//涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
patMedOuthosp.setFuflag("1");
}
- i = patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp);
- }
+ i = patMedOuthospService.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
@@ -1062,6 +1209,8 @@
icd10.setIcdcode(externalDiseaseInfo.getIcD10());
icd10.setDelFlag("0");
icd10.setOrgid(FaSongJGID);
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ icd10.setCampusid("1");
//閫氳繃icdCode鏌ヨ涓�涓嬶紝鏄惁瀛樺湪
List<Icd10> icd10s = icd10Mapper.selectIcd10List(icd10);
icd10.setHisIcdid(externalDiseaseInfo.getJiBingID());
@@ -1088,6 +1237,8 @@
ExternalWardArea externalWardArea = BeanUtil.mapToBean(bqxx, ExternalWardArea.class, true);
SysDept sysDept = new SysDept();
sysDept.setOrgid(externalWardArea.getZuZhiJGID());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ sysDept.setCampusid("1");
sysDept.setHisDeptId(externalWardArea.getBingQuID());
sysDept.setDeptName(externalWardArea.getBingQuMC());
@@ -1195,6 +1346,8 @@
patMedOperation.setPatno(externalInHospPatientInfo.getBingRenID());
patMedOperation.setPatname(externalInHospPatientInfo.getXingMing());
patMedOperation.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patMedOperation.setCampusid("1");
patMedOperation.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
patMedOperation.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedOperation.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC());
@@ -1258,6 +1411,8 @@
patMedOperationItem.setOpposition(externalOperationDetail.getShouShuBW());
patMedOperationItem.setDelFlag("0");
patMedOperationItem.setOrgid(patMedOperation.getOrgid());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patMedOperationItem.setCampusid("1");
if (externalOperationDetail.getZhuShouSBZ().equals("1") && addMianTableFalg == true) {
patMedOperation.setOpcode(externalOperationDetail.getShouShuMCID());
patMedOperation.setOpdesc(externalOperationDetail.getShouShuMC());
@@ -1292,6 +1447,8 @@
if (StringUtils.isEmpty(externalInHospPatientInfo.getZhengJianHM()))
patArchive.setIdcardno(externalInHospPatientInfo.getJiuZhenKH());
patArchive.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patArchive.setCampusid("1");
List<PatArchive> patArchives = null;
if (ObjectUtils.isNotEmpty(patArchive.getIdcardno()))
patArchives = patArchiveMapper.selectPatArchiveList(patArchive);
@@ -1354,6 +1511,8 @@
patArchivecontact.setPatid(patArchive.getId());
patArchivecontact.setContactname(external.getLianXiRXM());
patArchivecontact.setOrgid(patArchive.getOrgid());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patArchivecontact.setCampusid("1");
List<PatArchivecontact> patArchivecontacts = patArchivecontactMapper.selectPatArchivecontactList(patArchivecontact);
patArchivecontact.setContactway(external.getLianXiRDH());
patArchivecontact.setRelation(external.getGuanXiMC());
@@ -1389,6 +1548,8 @@
//杩欓噷鏄簥浣嶅悕绉拌繕鏄簥浣嶇紪鍙凤紵锛燂紵锛�
patMedInhosp.setBedNo(externalInHospPatientInfo.getDangQianCWMC());
patMedInhosp.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patMedInhosp.setCampusid("1");
patMedInhosp.setHospitaldistrictid(externalInHospPatientInfo.getDangQianBQID());
patMedInhosp.setGuid(externalInHospPatientInfo.getZuZhiJGID());
patMedInhosp.setInhospstate("0");
@@ -1505,6 +1666,8 @@
patMedInspection.setProjecttype(0);
}
patMedInspection.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patMedInspection.setCampusid("1");
patMedInspection.setInhospno(externalInHospPatientInfo.getBingAnHao());
patMedInspection.setPatidHis(externalInHospPatientInfo.getBingRenID());
patMedInspection.setPatname(externalInHospPatientInfo.getXingMing());
@@ -1587,6 +1750,8 @@
if (CollectionUtils.isNotEmpty(patMedInspections)) {
patMedInspection.setUpdateDate(new Date());
patMedInspection.setOrgid(ObjectUtils.isNotEmpty(xiaoXiTou) && ObjectUtils.isNotEmpty(xiaoXiTou.get("FaSongJGID")) ? xiaoXiTou.get("FaSongJGID").toString() : null);
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patMedInspection.setCampusid("1");
// 鏇存柊鎿嶄綔
int i = patMedInspectionMapper.updatePatMedInspection(patMedInspection);
if (i != 1) return false;
@@ -1612,6 +1777,8 @@
PatMedInspection patMedInspection = new PatMedInspection();
PatMedInspectionItem patMedInspectionItem = new PatMedInspectionItem();
patMedInspection.setOrgid(BingRenXX.get("ZuZhiJGID").toString());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patMedInspection.setCampusid("1");
patMedInspection.setInhospno(BingRenXX.get("BingAnHao").toString());
patMedInspection.setPatidHis(BingRenXX.get("BingRenID").toString());
patMedInspection.setPatname(BingRenXX.get("XingMing").toString());
@@ -1627,6 +1794,8 @@
}
//妫�鏌ユ楠屾姤鍛婃暟鎹鐞�
patMedInspectionItem.setOrgid(BingRenXX.get("ZuZhiJGID").toString());
+ //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+ patMedInspectionItem.setCampusid("1");
List<PatMedInspectionItem> patMedInspectionItems = patMedInspectionItemMapper.selectPatMedInspectionItemList(patMedInspectionItem);
if (ObjectUtils.isNotEmpty(JianChaBG)) {
patMedInspectionItem.setInspectionName(JianChaBG.get("JianChaHao").toString());
@@ -1743,6 +1912,9 @@
case "JG_YH_JiBenXX":
log.info("鐢ㄦ埛淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
return addUserInfo(dataMap);
+ case "JG_YH_KeShiYH":
+ log.info("绉戝鐢ㄦ埛淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
+ return addUserDeptInfo(dataMap);
case "fu_task":
log.info("fu_task鏈嶅姟鍏ュ弬绫诲瀷涓猴細{}", type);
return addTaskInfo(dataMap);
@@ -1773,6 +1945,9 @@
case "JZ_ZY_YuChuYuan":
log.info("鎮h�呴鍑洪櫌鍏ュ弬绫诲瀷涓猴細{}", type);
return addPreOutHospInfo(dataMap);
+ case "JZ_ZY_LiQiang":
+ log.info("鎮h�呯鎶㈠叆鍙傜被鍨嬩负锛歿}", type);
+ return editRescueFinishedOutHospInfo(dataMap);
case "JG_ZZ_BingQu":
log.info("鐥呭尯淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
return addWardAreaInfo(dataMap);
--
Gitblit v1.9.3