From c1f47dd490c6c8d69708eb7cda2330bb89623257 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期一, 02 三月 2026 11:20:12 +0800
Subject: [PATCH] 【丽水】多维度随访
---
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 165 insertions(+), 0 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 14e304c..d31b278 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1,10 +1,13 @@
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.StringUtils;
import com.smartor.domain.*;
import com.smartor.mapper.*;
@@ -40,6 +43,8 @@
private SysDept2Mapper sysDeptMapper;
@Autowired
private SysUser2Mapper sysUserMapper;
+ @Autowired
+ private SysUserDeptMapper sysUserDeptMapper;
@Autowired
private BaseOrganizationMapper baseOrganizationMapper;
@Autowired
@@ -132,6 +137,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鏄┖鐨勶紝娌℃湁鏁版嵁锛侊紒锛�");
@@ -180,6 +186,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.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;
@@ -882,6 +998,48 @@
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());
+ 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);
@@ -938,6 +1096,7 @@
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());
}
@@ -1780,6 +1939,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);
@@ -1810,6 +1972,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