From 1713fac8ca97c63924d2f1ed08ef520a7b4a4439 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 06 二月 2026 17:34:24 +0800
Subject: [PATCH] 修改分页

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |  954 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 877 insertions(+), 77 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 4fe3805..eb1dcc5 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1,8 +1,10 @@
 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.StringUtils;
@@ -24,10 +26,7 @@
 import java.time.Period;
 import java.time.ZoneId;
 import java.time.temporal.ChronoUnit;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -44,6 +43,8 @@
     @Autowired
     private SysUser2Mapper sysUserMapper;
     @Autowired
+    private SysUserDeptMapper sysUserDeptMapper;
+    @Autowired
     private BaseOrganizationMapper baseOrganizationMapper;
     @Autowired
     private PatArchiveMapper patArchiveMapper;
@@ -56,6 +57,10 @@
     @Autowired
     private PatMedOperationItemMapper patMedOperationItemMapper;
     @Autowired
+    private PatMedInspectionMapper patMedInspectionMapper;
+    @Autowired
+    private PatMedInspectionItemMapper patMedInspectionItemMapper;
+    @Autowired
     private Icd10Mapper icd10Mapper;
     @Autowired
     private PatMedOuthospMapper patMedOuthospMapper;
@@ -67,6 +72,9 @@
     @Value("${defaultPwd}")
     private String defaultPwd;
 
+    @Value("${noLongTask}")
+    private List<String> noLongTask;
+
     public Boolean generalInterface(Map dataMap) {
         Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
         String xiaoXiLX = XiaoXiTou.get("XiaoXiLX").toString();
@@ -76,7 +84,7 @@
     @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);
@@ -85,6 +93,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
@@ -113,33 +123,41 @@
         }
         if (StringUtils.isNotEmpty(externalDept.getShiJianDM()) && externalDept.getShiJianDM().equals("1")) {
             int i = sysDeptMapper.insertDept(sysDept);
-            log.error("ServiceExternalServiceImpl---addDeptInfo鏄惁鏂板鎴愬姛锛歿}", i);
+            log.info("ServiceExternalServiceImpl---addDeptInfo01鏄惁鏂板鎴愬姛锛歿}", i);
         } else {
             int i = sysDeptMapper.updateDept(sysDept);
-            log.error("ServiceExternalServiceImpl---addDeptInfo鏄惁淇敼鎴愬姛锛歿}", i);
+            log.info("ServiceExternalServiceImpl---addDeptInfo02鏄惁淇敼鎴愬姛锛歿}", 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.setGuid(externalUserInfo.getZuZhiJGID());
         sysUser.setUserName(externalUserInfo.getYongHuDLM());
+        sysUser.setOrgid(externalUserInfo.getZuZhiJGID());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        sysUser.setCampusid("1");
+        //鏍规嵁userName鍒ゆ柇涓�涓嬶紝鏄笉鏄箣鍓嶆湁鏂板
+        SysUser sysUser1 = null;
+        List<SysUser> sysUserList = sysUserMapper.selectUserList(sysUser);
+        if (CollectionUtils.isNotEmpty(sysUserList)) {
+            sysUser1 = sysUserList.get(0);
+            if (sysUserList.size() > 1) sysUser1 = getUser(sysUserList);
+        }
+        sysUser.setGuid(externalUserInfo.getZuZhiJGID());
         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());
@@ -149,25 +167,158 @@
         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)) {
+            BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
+            sysUser.setPassword(passwordEncoder.encode(defaultPwd));
             int i = sysUserMapper.insertUser(sysUser);
-            log.error("ServiceExternalServiceImpl---addDeptInfo鏄惁鏂板鎴愬姛锛歿}", i);
+            log.info("ServiceExternalServiceImpl---addDeptInfo鏄惁鏂板鎴愬姛锛歿}", i);
         } else {
+            sysUser.setUserId(sysUser1.getUserId());
             int i = sysUserMapper.updateUser(sysUser);
-            log.error("ServiceExternalServiceImpl---addDeptInfo鏄惁淇敼鎴愬姛锛歿}", i);
+            log.info("ServiceExternalServiceImpl---addDeptInfo鏄惁淇敼鎴愬姛03锛歿}", i);
         }
         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("2");
+            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(!sysUserDeptList.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;
+        if (CollectionUtils.isNotEmpty(sysUserList) && sysUserList.size() > 1) {
+            // 鎸塩reate_time闄嶅簭鎺掑簭锛岃幏鍙栨渶鏂扮殑璁板綍
+            List<SysUser> sortedList = sysUserList.stream().sorted(Comparator.comparing(SysUser::getCreateTime).reversed()).collect(Collectors.toList());
+
+            // 绗竴鏉★紙鏈�鏂扮殑锛夎祴鍊肩粰sysUser1
+            sysUser = sortedList.get(0);
+
+            // 鑾峰彇闇�瑕佸垹闄ょ殑ID锛堜粠绗簩鏉″紑濮嬶級
+            List<Long> idsToDelete = sortedList.stream().skip(1).map(SysUser::getUserId).collect(Collectors.toList());
+            Long[] idArray = idsToDelete.toArray(new Long[0]);
+            // 鎵归噺鍒犻櫎鍏朵粬璁板綍
+            if (!idsToDelete.isEmpty()) {
+                sysUserMapper.deleteUserByIds(idArray);
+            }
+        }
+        return sysUser;
+    }
 
     @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);
@@ -182,19 +333,21 @@
         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.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;
@@ -202,7 +355,7 @@
 
     @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 = 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;
@@ -261,7 +414,7 @@
 
     @Override
     public Boolean addInDeptInfo(Map dataMap) {
-        log.error("ServiceExternalServiceImpl---addInDeptInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+        log.info("ServiceExternalServiceImpl---addInDeptInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
         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;
@@ -275,6 +428,8 @@
         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);
@@ -311,7 +466,7 @@
 
     @Override
     public Boolean cancelInHospInfo(Map dataMap) {
-        log.error("ServiceExternalServiceImpl---cancelInHospInfo鐨勬柊澧炵殑鍊间负锛歿}", 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);
@@ -341,7 +496,7 @@
 
     @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 = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
         Map<String, Object> ChuYuanJL = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("ChuYuanJL") : null;
@@ -387,6 +542,7 @@
         if (CollectionUtils.isNotEmpty(epli)) externalInHospPatientLiaisonInfo = epli2.get(0);
         //鏂板鎮h�呭熀鏈俊鎭柊澧炴垨淇敼
         PatArchive patArchive = addPatArchive(externalInHospPatientInfo, externalInHospPatientAddrInfo, externalInHospPatientLiaisonInfo);
+
 
         PatMedInhosp patMedInhosp = new PatMedInhosp();
         patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
@@ -451,15 +607,20 @@
             }).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.setLeavediagname(StringUtils.isNotEmpty(patMedInhosp1.getLeavediagname()) ? patMedInhosp1.getLeavediagname() : hospPatientDiagnoseInfos2.get(0).getZhenDuanMC());
-            //patMedInhosp1.setDiagname(StringUtils.isNotEmpty(patMedInhosp1.getLeavediagname()) ? patMedInhosp1.getLeavediagname() : 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);
+            //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+            patMedInhosp1.setCampusid("1");
+            if (CollectionUtils.isNotEmpty(noLongTask) && noLongTask.contains(patMedInhosp1.getOrgid())) {
+                //涓嶉渶瑕侀暱鏈熶换鍔¢殢璁�
+                patMedInhosp1.setFuflag("1");
+            }
             int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
             if (i != 1) return false;
         } else {
@@ -469,6 +630,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);
@@ -477,6 +640,155 @@
             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);
+                //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 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);
+            }
+            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;
         }
@@ -485,7 +797,7 @@
 
     @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 = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
         ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
@@ -525,7 +837,7 @@
             //鍘籸edis涓紝鏌ヨ鏄惁鏈塻ubid锛屾湁鐨勮瘽绉婚櫎cache-exist
             if (CollectionUtils.isNotEmpty(serviceSubtaskList)) {
                 for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
-                    log.error("闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
+                    log.info("闇�瑕佺Щ闄ょ殑subId涓猴細{}", serviceSubtask.getId().toString());
                     serviceSubtaskMapper.deleteServiceSubtaskById(serviceSubtask.getId());
                     redisCache.removeElementFromList("cache-exist", serviceSubtask.getId().toString());
                     redisCache.removeElementFromList("cache-0", serviceSubtask.getId().toString());
@@ -535,7 +847,151 @@
                     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);
+                //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 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);
+            }
+            patMedInhosp1.setPatid(patArchive.getId());
+            patMedInhosp1.setPatname(patArchive.getName());
+
+            patMedInhosp1.setCreateTime(new Date());
+            int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
             if (i != 1) return false;
         }
         return true;
@@ -543,7 +999,10 @@
 
     @Override
     public Boolean addFinshJZInfo(Map dataMap) {
-        log.error("ServiceExternalServiceImpl---addFinshJZInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+        log.info("ServiceExternalServiceImpl---addFinshJZInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+        //鍏堝琛ㄨ繘琛岀淮鎶�
+        tableMaintenance();
+
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
         Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
         String FaSongJGID = ObjectUtils.isNotEmpty(XiaoXiTou.get("FaSongJGID")) ? XiaoXiTou.get("FaSongJGID").toString() : null;
@@ -585,6 +1044,20 @@
         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.setSex(patArchive.getSex());
+                patMedOuthosp1.setTelcode(patArchive.getTelcode());
+                patMedOuthosp1.setIdcardno(patArchive.getIdcardno());
+            }
+        }
 
         patMedOuthosp.setPatid(patArchive.getId());
         patMedOuthosp.setPatno(externalInHospPatientInfo.getBingAnHao());
@@ -595,7 +1068,13 @@
         patMedOuthosp.setDeptcode(externalJZInfo.getJiuZhenKSID());
         patMedOuthosp.setAdmitdate(externalJZInfo.getJiuZhenRQ());
         patMedOuthosp.setOrgid(FaSongJGID);
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        patMedOuthosp.setCampusid("1");
         patMedOuthosp.setHospitalname(FaSongJGMC);
+        patMedOuthosp.setIdcardno(patArchive.getIdcardno());
+
+        //杩欎釜闇�瑕佺瓑HIS閭h竟鍛婅瘔鍙栧摢涓瓧娈碉紝鐜板湪杩樻槸涓嶅鐨�
+        patMedOuthosp.setFudate(externalJZInfo.getSfrq());
 
         for (ExternalDiagnosisInfo externalDiagnosisInfo : externalDiagnosisInfoList) {
             if (externalDiagnosisInfo.getZhenDuanLBMC().equals("涓昏瘖鏂�")) {
@@ -603,6 +1082,7 @@
                 patMedOuthosp.setDrcode(externalDiagnosisInfo.getZhenDuanYSID());
                 patMedOuthosp.setDrname(externalDiagnosisInfo.getZhenDuanYSXM());
                 patMedOuthosp.setIcd10code(externalDiagnosisInfo.getIcd10());
+                patMedOuthosp.setFuflag("0");
             }
         }
         for (ExternalWZInfo externalWZInfo : ExternalWZInfoList) {
@@ -617,22 +1097,93 @@
         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 = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiBingMLXX") : null;
         ExternalDiseaseInfo externalDiseaseInfo = BeanUtil.mapToBean(JiBing, ExternalDiseaseInfo.class, true);
@@ -642,6 +1193,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());
@@ -662,12 +1215,14 @@
 
     @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 = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingQuXX") : null;
         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());
@@ -685,24 +1240,24 @@
         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.error("ServiceExternalServiceImpl---addMedicalTeam鐨勬柊澧炵殑鍊间负锛歿}", 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 = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
@@ -775,6 +1330,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());
@@ -802,7 +1359,7 @@
             patMedOperation.setCreateTime(new Date());
             patMedOperationMapper.insertPatMedOperation(patMedOperation);
         }
-        log.error("-----patMedOperation鐨勪富閿甶d涓猴細{}", patMedOperation.getId());
+        log.info("-----patMedOperation鐨勪富閿甶d涓猴細{}", patMedOperation.getId());
 
         if (ObjectUtils.isNotEmpty(ssxx)) {
             List<HashMap<String, Object>> ShouShuMXList = (List<HashMap<String, Object>>) ssxx.get("ShouShuMXList");
@@ -838,6 +1395,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());
@@ -868,7 +1427,12 @@
         PatArchive patArchive = new PatArchive();
         //濡傛灉鏄垰鍑虹敓鐨勫皬瀛╁瓙锛屾槸娌℃湁韬唤璇佺殑锛屾�庝箞澶勭悊锛燂紵锛燂紵锛燂紵锛燂紵
         patArchive.setIdcardno(externalInHospPatientInfo.getZhengJianHM());
+        //濡傛灉韬唤璇佷负绌虹殑璇濓紝灏辩敤灏辫瘖鍗″彿浠f浛
+        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);
@@ -931,6 +1495,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());
@@ -966,6 +1532,8 @@
             //杩欓噷鏄簥浣嶅悕绉拌繕鏄簥浣嶇紪鍙凤紵锛燂紵锛�
             patMedInhosp.setBedNo(externalInHospPatientInfo.getDangQianCWMC());
             patMedInhosp.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+            //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+            patMedInhosp.setCampusid("1");
             patMedInhosp.setHospitaldistrictid(externalInHospPatientInfo.getDangQianBQID());
             patMedInhosp.setGuid(externalInHospPatientInfo.getZuZhiJGID());
             patMedInhosp.setInhospstate("0");
@@ -980,6 +1548,8 @@
             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());
@@ -1014,7 +1584,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");
 
@@ -1033,110 +1603,340 @@
         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());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        patMedInspection.setCampusid("1");
+        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);
+            //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+            patMedInspection.setCampusid("1");
+            //   鏇存柊鎿嶄綔
+            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());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        patMedInspection.setCampusid("1");
+        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());
+        //涓芥按鏃犻櫌鍖猴紝榛樿鍊兼槸 1
+        patMedInspectionItem.setCampusid("1");
+        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 "JG_YH_KeShiYH":
+                log.info("绉戝鐢ㄦ埛淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
+                return addUserDeptInfo(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.error("鍖荤枟缁勫尰鐢熶负锛歿}", type);
+                log.info("鍖荤枟缁勫尰鐢熶负锛歿}", type);
                 return addMedicalTeam(dataMap);
             case "JZ_ZY_RuKe":
-                log.error("鍏ョ鐨勬暟鎹负锛歿}", type);
+                log.info("鍏ョ鐨勬暟鎹负锛歿}", type);
                 return addInDeptInfo(dataMap);
         }
         return true;

--
Gitblit v1.9.3