From c70912084a3fd22c91d9c6dc5775365d6a437def Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期六, 28 二月 2026 17:29:35 +0800
Subject: [PATCH] 【丽水】patItem限制问题

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |   77 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 73 insertions(+), 4 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 d72677f..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,11 +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.*;
@@ -230,11 +232,13 @@
             sysUserDept.setDelFlag(0L);
             sysUserDept.setUserId(sysUser.getUserId());
             sysUserDept.setUserCode(sysUser.getUserCode());
-            sysUserDept.setDeptType("2");
+            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());
@@ -252,9 +256,9 @@
             sysUserDeptVo.setCampusid("1");
             //鏍规嵁userName鍒ゆ柇涓�涓嬶紝鏄笉鏄箣鍓嶆湁鏂板
             SysUserDept sysUserDeptOld = null;
-            List<SysUserDept> SysUserDeptList = sysUserDeptMapper.selectSysUserDeptList(sysUserDeptVo);
-            if (CollectionUtils.isNotEmpty(SysUserDeptList)) {
-                sysUserDeptOld = SysUserDeptList.get(0);
+            List<SysUserDept> sysUserDeptList = sysUserDeptMapper.selectSysUserDeptList(sysUserDeptVo);
+            if (CollectionUtils.isNotEmpty(sysUserDeptList)) {
+                sysUserDeptOld = sysUserDeptList.get(0);
             }
             if (ObjectUtils.isEmpty(sysUserDeptOld)) {
                 int i = sysUserDeptMapper.insertSysUserDept(sysUserDept);
@@ -267,6 +271,26 @@
             //鏇存柊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);
             }
         }
@@ -974,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);
@@ -1906,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