From 9814549e8064737867a155a92a53b8dd7982c80b Mon Sep 17 00:00:00 2001
From: zhs <zhs18203887318@163.com>
Date: 星期四, 17 四月 2025 16:48:01 +0800
Subject: [PATCH] 04-17_改_床位名称

---
 smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java |  745 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 655 insertions(+), 90 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 3dae041..a213b6b 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -1,29 +1,32 @@
 package com.smartor.service.impl;
 
-import java.lang.reflect.Field;
-
 import cn.hutool.core.bean.BeanUtil;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.StringUtils;
 import com.smartor.domain.*;
 import com.smartor.mapper.*;
 import com.smartor.service.IServiceExternalService;
-import com.smartor.service.IServiceSubtaskRecordService;
-import com.smartor.service.IServiceSubtaskService;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
-import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.security.auth.login.CredentialNotFoundException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.time.LocalDate;
+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.stream.Collectors;
 
 /**
@@ -44,13 +47,20 @@
     @Autowired
     private PatArchiveMapper patArchiveMapper;
     @Autowired
+    private PatArchivecontactMapper patArchivecontactMapper;
+    @Autowired
     private PatMedInhospMapper patMedInhospMapper;
     @Autowired
-    private Icd10AssociationMapper icd10AssociationMapper;
-
+    private PatMedOperationMapper patMedOperationMapper;
     @Autowired
-    private IServiceSubtaskService iServiceSubtaskService;
+    private PatMedOperationItemMapper patMedOperationItemMapper;
+    @Autowired
+    private Icd10Mapper icd10Mapper;
+    @Autowired
+    private PatMedOuthospMapper patMedOuthospMapper;
 
+    @Value("${defaultPwd}")
+    private String defaultPwd;
 
     public Boolean generalInterface(Map dataMap) {
         Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
@@ -65,6 +75,9 @@
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
         Map<String, Object> keShiXX = (Map<String, Object>) yeWuXX.get("KeShiXX");
         ExternalDept externalDept = BeanUtil.mapToBean(keShiXX, ExternalDept.class, true);
+        if (ObjectUtils.isEmpty(externalDept)) {
+            throw new BaseException("externalDept鏄┖鐨勶紝娌℃湁鏁版嵁锛侊紒锛�");
+        }
         SysDept sysDept = new SysDept();
         sysDept.setOrgid(externalDept.getZuZhiJGID());
         sysDept.setHisDeptId(externalDept.getKeShiID());
@@ -109,13 +122,20 @@
         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.getYongHuID());
+        sysUser.setUserName(externalUserInfo.getYongHuDLM());
         sysUser.setNickName(externalUserInfo.getYongHuXM());
         sysUser.setUserType("");
         sysUser.setDeptId(null);
         sysUser.setTitle(null);
+
+        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
+        sysUser.setPassword(passwordEncoder.encode(defaultPwd));
+
         sysUser.setHisUserId(externalUserInfo.getYongHuID());
         sysUser.setPhonenumber(externalUserInfo.getLianXiDH());
         sysUser.setJobPhone(externalUserInfo.getGongZuoDH());
@@ -146,6 +166,9 @@
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
         Map<String, Object> ZuZhiJGXX = (Map<String, Object>) yeWuXX.get("ZuZhiJGXX");
         ExternalOrganInfo externalOrganInfo = BeanUtil.mapToBean(ZuZhiJGXX, ExternalOrganInfo.class, true);
+        if (ObjectUtils.isEmpty(externalOrganInfo)) {
+            throw new BaseException("externalOrganInfo鏄┖鐨勶紝娌℃湁鏁版嵁锛侊紒锛�");
+        }
         BaseOrganization baseOrganization = new BaseOrganization();
         baseOrganization.setOrganizationID(externalOrganInfo.getZuZhiJGID());
         baseOrganization.setOrganizationName(externalOrganInfo.getZuZhiJGMC());
@@ -176,10 +199,10 @@
     public Boolean addInHospInfo(Map dataMap) {
         log.error("ServiceExternalServiceImpl---addInHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
-        List<HashMap<String, Object>> epai = (List<HashMap<String, Object>>) yeWuXX.get("DiZhiXXList");
-        List<HashMap<String, Object>> epli = (List<HashMap<String, Object>>) yeWuXX.get("LianXiRList");
-        List<HashMap<String, Object>> hospPatientDiagnoseInfos = (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList");
-        Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX");
+        List<HashMap<String, Object>> epai = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("DiZhiXXList") : null;
+        List<HashMap<String, Object>> epli = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("LianXiRList") : null;
+        List<HashMap<String, Object>> hospPatientDiagnoseInfos = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList") : null;
+        Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
         ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
         ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo = null;
         ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo = null;
@@ -210,6 +233,7 @@
             info.setGuanXiMC((String) map.get("GuanXiMC"));
             return info;
         }).collect(Collectors.toList());
+        externalInHospPatientInfo.setExternalInHospPatientLiaisonInfos(epli2);
 
         List<ExternalInHospPatientDiagnoseInfo> hospPatientDiagnoseInfos2 = hospPatientDiagnoseInfos.stream().map(map -> {
             ExternalInHospPatientDiagnoseInfo info = new ExternalInHospPatientDiagnoseInfo();
@@ -230,21 +254,78 @@
     }
 
     @Override
+    public Boolean addInDeptInfo(Map dataMap) {
+        log.error("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;
+
+        List<HashMap<String, Object>> epai = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) BingRenXX.get("DiZhiXXList") : null;
+
+        ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
+        ExternalInDeptPatientInfo externalInDeptPatientInfo = BeanUtil.mapToBean(RuKeXX, ExternalInDeptPatientInfo.class, true);
+        externalInHospPatientInfo.setZeRenHSID(externalInDeptPatientInfo.getZeRenHSID());
+        externalInHospPatientInfo.setZeRenHSXM(externalInDeptPatientInfo.getZeRenHSXM());
+        externalInHospPatientInfo.setZhuZhiYSID(externalInDeptPatientInfo.getZhuZhiYSID());
+        externalInHospPatientInfo.setZhuZhiYSXM(externalInDeptPatientInfo.getZhuZhiYSXM());
+        externalInHospPatientInfo.setRuYuanSJ(externalInDeptPatientInfo.getRuYuanSJ());
+        externalInHospPatientInfo.setLianXiDH(ObjectUtils.isNotEmpty(BingRenXX.get("LianXiDH")) ? BingRenXX.get("LianXiDH").toString() : null);
+        externalInHospPatientInfo.setDangQianCWID(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianCWID")) ? BingRenXX.get("DangQianCWID").toString() : null);
+        externalInHospPatientInfo.setDangQianCWMC(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianCWMC")) ? BingRenXX.get("DangQianCWMC").toString() : null);
+
+        ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo = null;
+        ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo = null;
+        ExternalInHospPatientDiagnoseInfo externalInHospPatientDiagnoseInfo = null;
+        List<ExternalInHospPatientAddrInfo> epai2 = epai.stream().map(map -> {
+            ExternalInHospPatientAddrInfo info = new ExternalInHospPatientAddrInfo();
+            info.setDiZhiLX((String) map.get("DiZhiLX")); // 鍋囪瀛楁绫诲瀷鏄� Integer
+            info.setDiZhiXX((String) map.get("DiZhiXX"));
+            info.setShengFenDM((String) map.get("ShengFenDM"));
+            info.setShengFenMC((String) map.get("ShengFenMC"));
+            info.setShiDiQDM((String) map.get("ShiDiQDM"));
+            info.setShiDiQMC((String) map.get("ShiDiQMC"));
+            info.setXianQuDM((String) map.get("XianQuDM"));
+            info.setXianQuMC((String) map.get("XianQuMC"));
+            info.setXiangZhenDM((String) map.get("XiangZhenDM"));
+            info.setXiangZhenMC((String) map.get("XiangZhenMC"));
+            info.setCunJiDM((String) map.get("CunJiDM"));
+            info.setQiTaXX((String) map.get("QiTaXX"));
+            info.setYouBian((String) map.get("YouBian"));
+            return info;
+        }).collect(Collectors.toList());
+
+
+        if (CollectionUtils.isNotEmpty(epai)) externalInHospPatientAddrInfo = epai2.get(0);
+        //鏂板鎮h�呭熀鏈俊鎭�
+        PatArchive patArchive = addPatArchive(externalInHospPatientInfo, externalInHospPatientAddrInfo, null);
+        //鏂板鎮h�呭叆闄俊鎭�
+        Boolean aBoolean = addPadInhospInfo(externalInHospPatientInfo, patArchive, externalInHospPatientDiagnoseInfo);
+        return aBoolean;
+    }
+
+    @Override
     public Boolean cancelInHospInfo(Map dataMap) {
         log.error("ServiceExternalServiceImpl---cancelInHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
-        Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX");
+        Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
         ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
         PatMedInhosp patMedInhosp = new PatMedInhosp();
-        patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao());
+        patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
+        patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
         List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+        for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
+            String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+            patMedInhosp1.setTagname(tagname);
+        }
         if (CollectionUtils.isNotEmpty(patMedInhospList)) {
-            Map<String, Object> JiuZhenXX = (Map<String, Object>) yeWuXX.get("JiuZhenXX");
+            Map<String, Object> JiuZhenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiuZhenXX") : null;
             PatMedInhosp patMedInhosp1 = patMedInhospList.get(0);
             patMedInhosp1.setSchemestatus(3L);
             patMedInhosp1.setDelFlag("1");
-            patMedInhosp1.setOperator(JiuZhenXX.get("CaoZuoRXM").toString());
-            patMedInhosp1.setOperatorId(JiuZhenXX.get("CaoZuoRID").toString());
+            if (ObjectUtils.isNotEmpty(JiuZhenXX)) {
+                patMedInhosp1.setOperator(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRXM")) ? JiuZhenXX.get("CaoZuoRXM").toString() : null);
+                patMedInhosp1.setOperatorId(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRID")) ? JiuZhenXX.get("CaoZuoRID").toString() : null);
+            }
             patMedInhosp1.setUpdateTime(new Date());
             int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
             if (i != 1) return false;
@@ -256,31 +337,105 @@
     public Boolean addOutHospInfo(Map dataMap) {
         log.error("ServiceExternalServiceImpl---addOutHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
-        Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX");
+        Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
+        Map<String, Object> ChuYuanJL = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("ChuYuanJL") : null;
+        List<HashMap<String, Object>> epai = ObjectUtils.isNotEmpty(BingRenXX) ? (List<HashMap<String, Object>>) BingRenXX.get("DiZhiXXList") : null;
+        List<HashMap<String, Object>> epli = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("LianXiRList") : null;
+        Map<String, Object> SuiFangJH = ObjectUtils.isNotEmpty(ChuYuanJL) ? (Map<String, Object>) ChuYuanJL.get("SuiFangJH") : null;
+
         ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
+        ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo = null;
+        ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo = null;
+        List<ExternalInHospPatientAddrInfo> epai2 = null;
+        if (CollectionUtils.isNotEmpty(epai)) {
+            epai2 = epai.stream().map(map -> {
+                ExternalInHospPatientAddrInfo info = new ExternalInHospPatientAddrInfo();
+                info.setDiZhiLX((String) map.get("DiZhiLX")); // 鍋囪瀛楁绫诲瀷鏄� Integer
+                info.setDiZhiXX((String) map.get("DiZhiXX"));
+                info.setShengFenDM((String) map.get("ShengFenDM"));
+                info.setShengFenMC((String) map.get("ShengFenMC"));
+                info.setShiDiQDM((String) map.get("ShiDiQDM"));
+                info.setShiDiQMC((String) map.get("ShiDiQMC"));
+                info.setXianQuDM((String) map.get("XianQuDM"));
+                info.setXianQuMC((String) map.get("XianQuMC"));
+                info.setXiangZhenDM((String) map.get("XiangZhenDM"));
+                info.setXiangZhenMC((String) map.get("XiangZhenMC"));
+                info.setCunJiDM((String) map.get("CunJiDM"));
+                info.setQiTaXX((String) map.get("QiTaXX"));
+                info.setYouBian((String) map.get("YouBian"));
+                return info;
+            }).collect(Collectors.toList());
+        }
+        List<ExternalInHospPatientLiaisonInfo> epli2 = null;
+        if (CollectionUtils.isNotEmpty(epli)) {
+            epli2 = epli.stream().map(map -> {
+                ExternalInHospPatientLiaisonInfo info = new ExternalInHospPatientLiaisonInfo();
+                info.setLianXiRXM((String) map.get("LianXiRXM"));
+                info.setLianXiRDH((String) map.get("LianXiRDH"));
+                info.setGuanXiDM((String) map.get("GuanXiDM"));
+                info.setGuanXiMC((String) map.get("GuanXiMC"));
+                return info;
+            }).collect(Collectors.toList());
+        }
+        if (CollectionUtils.isNotEmpty(epai)) externalInHospPatientAddrInfo = epai2.get(0);
+        if (CollectionUtils.isNotEmpty(epli)) externalInHospPatientLiaisonInfo = epli2.get(0);
+        //鏂板鎮h�呭熀鏈俊鎭柊澧炴垨淇敼
+        PatArchive patArchive = addPatArchive(externalInHospPatientInfo, externalInHospPatientAddrInfo, externalInHospPatientLiaisonInfo);
 
         PatMedInhosp patMedInhosp = new PatMedInhosp();
-        patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao());
+        patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
+        patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
         List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
-        if (CollectionUtils.isNotEmpty(patMedInhospList)) {
-            Map<String, Object> JiuZhenXX = (Map<String, Object>) yeWuXX.get("JiuZhenXX");
-            PatMedInhosp patMedInhosp1 = patMedInhospList.get(0);
-            patMedInhosp1.setSchemestatus(2L);
-            try {
-                patMedInhosp1.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(JiuZhenXX.get("ChuYuanSJ").toString()));
-            } catch (ParseException e) {
-                e.printStackTrace();
-            }
-            patMedInhosp1.setOperator(JiuZhenXX.get("CaoZuoRXM").toString());
-            patMedInhosp1.setOperatorId(JiuZhenXX.get("CaoZuoRID").toString());
-            patMedInhosp1.setUpdateTime(new Date());
-            patMedInhosp1.setUpdateTime(new Date());
+        for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
+            String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+            patMedInhosp1.setTagname(tagname);
+        }
+        Map<String, Object> JiuZhenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiuZhenXX") : null;
+        PatMedInhosp patMedInhosp1 = new PatMedInhosp();
+        if (CollectionUtils.isNotEmpty(patMedInhospList)) patMedInhosp1 = patMedInhospList.get(0);
+        patMedInhosp1.setSchemestatus(2L);
+        try {
+            patMedInhosp1.setEndtime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(JiuZhenXX.get("ChuYuanSJ").toString()));
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        if (ObjectUtils.isNotEmpty(JiuZhenXX)) {
+            patMedInhosp1.setOperator(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRXM")) ? JiuZhenXX.get("CaoZuoRXM").toString() : null);
+            patMedInhosp1.setOperatorId(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRID")) ? JiuZhenXX.get("CaoZuoRID").toString() : null);
+            patMedInhosp1.setDrname(ObjectUtils.isNotEmpty(JiuZhenXX.get("ZhuZhiYSXM")) ? JiuZhenXX.get("ZhuZhiYSXM").toString() : null);
+            patMedInhosp1.setDrcode(ObjectUtils.isNotEmpty(JiuZhenXX.get("ZhuZhiYSID")) ? JiuZhenXX.get("ZhuZhiYSID").toString() : null);
+            patMedInhosp1.setNurseName(ObjectUtils.isNotEmpty(JiuZhenXX.get("ZeRenHSXM")) ? JiuZhenXX.get("ZeRenHSXM").toString() : null);
+            patMedInhosp1.setNurseId(ObjectUtils.isNotEmpty(JiuZhenXX.get("ZeRenHSID")) ? JiuZhenXX.get("ZeRenHSID").toString() : null);
+            patMedInhosp1.setBedNo(ObjectUtils.isNotEmpty(JiuZhenXX.get("DangQianCWMC")) ? JiuZhenXX.get("DangQianCWMC").toString() : null);
+        }
+        patMedInhosp1.setUpdateTime(new Date());
+        patMedInhosp1.setTelcode(patArchive.getTelcode());
+        patMedInhosp1.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID());
+        patMedInhosp1.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
+        patMedInhosp1.setLeaveldeptname(externalInHospPatientInfo.getDangQianKSMC());
+        patMedInhosp1.setDeptname(externalInHospPatientInfo.getDangQianKSMC());
+        patMedInhosp1.setLeaveldeptcode(externalInHospPatientInfo.getDangQianKSID());
+        patMedInhosp1.setDeptcode(externalInHospPatientInfo.getDangQianKSID());
 
-            patMedInhosp1.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID());
-            patMedInhosp1.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
-            patMedInhosp1.setLeaveldeptname(externalInHospPatientInfo.getDangQianKSMC());
-            patMedInhosp1.setLeaveldeptcode(externalInHospPatientInfo.getDangQianKSID());
-            List<HashMap<String, Object>> zhenDuanList = (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList");
+        if (ObjectUtils.isNotEmpty(SuiFangJH)) {
+            patMedInhosp1.setFuflag(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangBS")) ? SuiFangJH.get("SuiFangBS").toString() : null);
+            if (ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangRQ"))) {
+                try {
+                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                    patMedInhosp1.setFudate(simpleDateFormat.parse(SuiFangJH.get("SuiFangRQ").toString()));
+                } catch (ParseException e) {
+                    e.printStackTrace();
+                }
+            }
+            patMedInhosp1.setFuperiod(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangZQJY")) ? SuiFangJH.get("SuiFangZQJY").toString() : null);
+            patMedInhosp1.setFutypecode(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangFSDM")) ? SuiFangJH.get("SuiFangFSDM").toString() : null);
+            patMedInhosp1.setFutypedesc(ObjectUtils.isNotEmpty(SuiFangJH.get("SuiFangFSMC")) ? SuiFangJH.get("SuiFangFSMC").toString() : null);
+            patMedInhosp1.setFuadvice(ObjectUtils.isNotEmpty(SuiFangJH.get("FuZhenZD")) ? SuiFangJH.get("FuZhenZD").toString() : null);
+            patMedInhosp1.setFuspecialadvice(ObjectUtils.isNotEmpty(SuiFangJH.get("QiTaZKJBSF")) ? SuiFangJH.get("QiTaZKJBSF").toString() : null);
+        }
+
+        List<HashMap<String, Object>> zhenDuanList = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList") : null;
+        if (CollectionUtils.isNotEmpty(zhenDuanList)) {
             List<ExternalInHospPatientDiagnoseInfo> hospPatientDiagnoseInfos2 = zhenDuanList.stream().map(map -> {
                 ExternalInHospPatientDiagnoseInfo info = new ExternalInHospPatientDiagnoseInfo();
                 info.setZhenDuanID((String) map.get("ZhenDuanID"));
@@ -289,8 +444,31 @@
             }).collect(Collectors.toList());
             patMedInhosp1.setLeaveicd10code(StringUtils.isNotEmpty(patMedInhosp1.getLeaveicd10code()) ? patMedInhosp1.getLeaveicd10code() + "," + hospPatientDiagnoseInfos2.get(0).getZhenDuanID() : hospPatientDiagnoseInfos2.get(0).getZhenDuanID());
             patMedInhosp1.setLeavediagname(StringUtils.isNotEmpty(patMedInhosp1.getLeavediagname()) ? patMedInhosp1.getLeavediagname() + "," + hospPatientDiagnoseInfos2.get(0).getZhenDuanMC() : hospPatientDiagnoseInfos2.get(0).getZhenDuanMC());
+            patMedInhosp1.setDiagname(StringUtils.isNotEmpty(patMedInhosp1.getLeavediagname()) ? patMedInhosp1.getLeavediagname() + "," + hospPatientDiagnoseInfos2.get(0).getZhenDuanMC() : 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);
             int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+            if (i != 1) return false;
+        } else {
+            if (ObjectUtils.isNotEmpty(BingRenXX)) {
+                patMedInhosp1.setHospitalname(ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGMC")) ? BingRenXX.get("ZuZhiJGMC").toString() : null);
+                patMedInhosp1.setHospitalcode(ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null);
+                patMedInhosp1.setLeavehospitaldistrictname(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianBQMC")) ? BingRenXX.get("DangQianBQMC").toString() : null);
+                patMedInhosp1.setLeavehospitaldistrictcode(ObjectUtils.isNotEmpty(BingRenXX.get("DangQianBQID")) ? BingRenXX.get("DangQianBQID").toString() : null);
+                patMedInhosp1.setOrgid(ObjectUtils.isNotEmpty(BingRenXX.get("ZuZhiJGID")) ? BingRenXX.get("ZuZhiJGID").toString() : null);
+                patMedInhosp1.setPatno(ObjectUtils.isNotEmpty(BingRenXX.get("BingRenID")) ? BingRenXX.get("BingRenID").toString() : null);
+                patMedInhosp1.setInhospno(ObjectUtils.isNotEmpty(BingRenXX.get("BingAnHao")) ? BingRenXX.get("BingAnHao").toString() : null);
+                patMedInhosp1.setSerialnum(ObjectUtils.isNotEmpty(BingRenXX.get("JiuZhenYWID")) ? BingRenXX.get("JiuZhenYWID").toString() : null);
+            }
+            patMedInhosp1.setPatid(patArchive.getId());
+            patMedInhosp1.setPatname(patArchive.getName());
+
+            patMedInhosp1.setCreateTime(new Date());
+            int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp1);
             if (i != 1) return false;
         }
         return true;
@@ -300,17 +478,24 @@
     public Boolean cancelOutHospInfo(Map dataMap) {
         log.error("ServiceExternalServiceImpl---cancelOutHospInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
-        Map<String, Object> BingRenXX = (Map<String, Object>) yeWuXX.get("BingRenXX");
+        Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
         ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
         PatMedInhosp patMedInhosp = new PatMedInhosp();
-        patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao());
+        patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
+        patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
         List<PatMedInhosp> patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
+        for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
+            String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+            patMedInhosp1.setTagname(tagname);
+        }
         if (CollectionUtils.isNotEmpty(patMedInhospList)) {
-            Map<String, Object> JiuZhenXX = (Map<String, Object>) yeWuXX.get("JiuZhenXX");
+            Map<String, Object> JiuZhenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiuZhenXX") : null;
             PatMedInhosp patMedInhosp1 = patMedInhospList.get(0);
             patMedInhosp1.setSchemestatus(4L);
-            patMedInhosp1.setOperator(JiuZhenXX.get("CaoZuoRXM").toString());
-            patMedInhosp1.setOperatorId(JiuZhenXX.get("CaoZuoRID").toString());
+            if (ObjectUtils.isNotEmpty(JiuZhenXX)) {
+                patMedInhosp1.setOperator(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRXM")) ? JiuZhenXX.get("CaoZuoRXM").toString() : null);
+                patMedInhosp1.setOperatorId(ObjectUtils.isNotEmpty(JiuZhenXX.get("CaoZuoRXM")) ? JiuZhenXX.get("CaoZuoRID").toString() : null);
+            }
             patMedInhosp1.setUpdateTime(new Date());
             int i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
             if (i != 1) return false;
@@ -320,31 +505,120 @@
 
     @Override
     public Boolean addFinshJZInfo(Map dataMap) {
-        //杩欎釜鍏堢瓑绛�
+        log.error("ServiceExternalServiceImpl---addFinshJZInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+        Map yeWuXX = (Map) dataMap.get("YeWuXX");
+        Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
+        String FaSongJGID = ObjectUtils.isNotEmpty(XiaoXiTou.get("FaSongJGID")) ? XiaoXiTou.get("FaSongJGID").toString() : null;
+        String FaSongJGMC = ObjectUtils.isNotEmpty(XiaoXiTou.get("FaSongJGMC")) ? XiaoXiTou.get("FaSongJGMC").toString() : null;
 
-        return null;
+        Map<String, Object> BingRenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingRenXX") : null;
+        Map<String, Object> JiuZhenXX = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiuZhenXX") : null;
+        List<HashMap<String, Object>> ZhenDuanList = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("ZhenDuanList") : null;
+        List<HashMap<String, Object>> externalWZInfos = ObjectUtils.isNotEmpty(yeWuXX) ? (List<HashMap<String, Object>>) yeWuXX.get("WenZhenList") : null;
+        ExternalInHospPatientInfo externalInHospPatientInfo = BeanUtil.mapToBean(BingRenXX, ExternalInHospPatientInfo.class, true);
+        //鐥呬汉淇℃伅閲屾病鏈夌粍缁囨満鏋処D
+        externalInHospPatientInfo.setZuZhiJGID(FaSongJGID);
+
+        ExternalJZInfo externalJZInfo = BeanUtil.mapToBean(JiuZhenXX, ExternalJZInfo.class, true);
+        List<ExternalDiagnosisInfo> externalDiagnosisInfoList = null;
+        if (CollectionUtils.isNotEmpty(ZhenDuanList)) {
+            externalDiagnosisInfoList = ZhenDuanList.stream().map(map -> {
+                ExternalDiagnosisInfo info = new ExternalDiagnosisInfo();
+                info.setZhenDuanYSID((String) map.get("ZhenDuanYSID"));
+                info.setZhenDuanYSXM((String) map.get("ZhenDuanYSXM"));
+                info.setZhenDuanID((String) map.get("ZhenDuanID"));
+                info.setZhenDuanMC((String) map.get("ZhenDuanMC"));
+                info.setZhenDuanLBDM((String) map.get("ZhenDuanLBDM"));
+                info.setZhenDuanLBMC((String) map.get("ZhenDuanLBMC"));
+                info.setIcd10((String) map.get("Icd10"));
+                return info;
+            }).collect(Collectors.toList());
+        }
+        List<ExternalWZInfo> ExternalWZInfoList = externalWZInfos.stream().map(map -> {
+            ExternalWZInfo info = new ExternalWZInfo();
+            info.setWenZhenLXMC((String) map.get("WenZhenLXMC"));
+            info.setNeiRong((String) map.get("NeiRong"));
+            return info;
+        }).collect(Collectors.toList());
+
+        PatArchive patArchive = addPatArchive(externalInHospPatientInfo, null, null);
+
+        PatMedOuthosp patMedOuthosp = new PatMedOuthosp();
+        patMedOuthosp.setOuthospno(externalInHospPatientInfo.getBingAnHao());
+        patMedOuthosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
+        List<PatMedOuthosp> patMedOuthosps = patMedOuthospMapper.selectPatMedOuthospList(patMedOuthosp);
+
+        patMedOuthosp.setPatid(patArchive.getId());
+        patMedOuthosp.setPatno(externalInHospPatientInfo.getBingAnHao());
+        patMedOuthosp.setPatname(externalInHospPatientInfo.getXingMing());
+        patMedOuthosp.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC());
+        patMedOuthosp.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID());
+        patMedOuthosp.setDeptname(externalJZInfo.getJiuZhenKSMC());
+        patMedOuthosp.setDeptcode(externalJZInfo.getJiuZhenKSID());
+        patMedOuthosp.setAdmitdate(externalJZInfo.getJiuZhenRQ());
+        patMedOuthosp.setOrgid(FaSongJGID);
+        patMedOuthosp.setHospitalname(FaSongJGMC);
+
+        for (ExternalDiagnosisInfo externalDiagnosisInfo : externalDiagnosisInfoList) {
+            if (externalDiagnosisInfo.getZhenDuanLBMC().equals("涓昏瘖鏂�")) {
+                patMedOuthosp.setDiagname(externalDiagnosisInfo.getZhenDuanMC());
+                patMedOuthosp.setDrcode(externalDiagnosisInfo.getZhenDuanYSID());
+                patMedOuthosp.setDrname(externalDiagnosisInfo.getZhenDuanYSXM());
+                patMedOuthosp.setIcd10code(externalDiagnosisInfo.getIcd10());
+            }
+        }
+        for (ExternalWZInfo externalWZInfo : ExternalWZInfoList) {
+            if (externalWZInfo.getWenZhenLXMC().equals("鐜扮梾鍙�")) {
+                patMedOuthosp.setHpi(externalWZInfo.getNeiRong());
+            }
+            if (externalWZInfo.getWenZhenLXMC().equals("涓昏瘔")) {
+                patMedOuthosp.setMainsuit(externalWZInfo.getNeiRong());
+            }
+        }
+        int i = 0;
+        if (CollectionUtils.isNotEmpty(patMedOuthosps)) {
+            patMedOuthosp.setId(patMedOuthosps.get(0).getId());
+            patMedOuthosp.setUpdateTime(new Date());
+            i = patMedOuthospMapper.updatePatMedOuthosp(patMedOuthosp);
+        } else {
+            patMedOuthosp.setCreateTime(new Date());
+            patMedOuthosp.setUpdateTime(new Date());
+            i = patMedOuthospMapper.insertPatMedOuthosp(patMedOuthosp);
+        }
+        if (i > 0) {
+            return true;
+        }
+
+        return false;
     }
 
     @Override
     public Boolean addDiseaseInfo(Map dataMap) {
         log.error("ServiceExternalServiceImpl---addDiseaseInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
-        Map<String, Object> JiBing = (Map<String, Object>) yeWuXX.get("JiBing");
+        Map<String, Object> JiBing = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("JiBingMLXX") : null;
         ExternalDiseaseInfo externalDiseaseInfo = BeanUtil.mapToBean(JiBing, ExternalDiseaseInfo.class, true);
-        Icd10Association icd10Association = new Icd10Association();
-        icd10Association.setIcd10code(externalDiseaseInfo.getJiBingID());
-        icd10Association.setIcd10name(externalDiseaseInfo.getJiBingMC());
-        icd10Association.setGuid(externalDiseaseInfo.getZuZhiJGID());
-        icd10Association.setOrgid(externalDiseaseInfo.getZuZhiJGID());
-        icd10Association.setPid(externalDiseaseInfo.getFUJIBID());
-        icd10Association.setIcd10AssortCode(externalDiseaseInfo.getJiBingFLDM());
-        icd10Association.setIcd10AssortName(externalDiseaseInfo.getJiBingFLMC());
-        icd10Association.setChineseMedicineDiagnoseSign(externalDiseaseInfo.getZhongYiZDBZ());
-        icd10Association.setChineseMedicineDiagnoseAssortCode(externalDiseaseInfo.getZhongYiZDFLDM());
-        icd10Association.setChineseMedicineDiagnoseAssortName(externalDiseaseInfo.getZhongYiZDFLMC());
-        icd10Association.setOutpatientUseAssort(externalDiseaseInfo.getMenZhenSYBZ());
-        icd10Association.setInpatientUseAssort(externalDiseaseInfo.getZhuYuanSYBZ());
-        icd10AssociationMapper.insertIcd10Association(icd10Association);
+        Map XiaoXiTou = (Map) dataMap.get("XiaoXiTou");
+        String FaSongJGID = ObjectUtils.isNotEmpty(XiaoXiTou) && ObjectUtils.isNotEmpty(XiaoXiTou.get("FaSongJGID")) ? XiaoXiTou.get("FaSongJGID").toString() : null;
+        Icd10 icd10 = new Icd10();
+        icd10.setIcdcode(externalDiseaseInfo.getIcD10());
+        icd10.setDelFlag("0");
+        icd10.setOrgid(FaSongJGID);
+        //閫氳繃icdCode鏌ヨ涓�涓嬶紝鏄惁瀛樺湪
+        List<Icd10> icd10s = icd10Mapper.selectIcd10List(icd10);
+        icd10.setHisIcdid(externalDiseaseInfo.getJiBingID());
+        icd10.setIcdname(externalDiseaseInfo.getJiBingMC());
+        icd10.setGuid(externalDiseaseInfo.getZuZhiJGID());
+        icd10.setLastflag(externalDiseaseInfo.getMOJIBZ());
+        icd10.setChimedflag("" + externalDiseaseInfo.getZhongYiZDBZ());
+        icd10.setUpdateTime(new Date());
+        if (CollectionUtils.isNotEmpty(icd10s)) {
+            icd10.setIcdid(icd10s.get(0).getIcdid());
+            icd10Mapper.updateIcd10(icd10);
+        } else {
+            icd10.setCreateTime(new Date());
+            icd10Mapper.insertIcd10(icd10);
+        }
         return true;
     }
 
@@ -352,10 +626,10 @@
     public Boolean addWardAreaInfo(Map dataMap) {
         log.error("ServiceExternalServiceImpl---addWardAreaInfo鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
         Map yeWuXX = (Map) dataMap.get("YeWuXX");
-        Map<String, Object> bqxx = (Map<String, Object>) yeWuXX.get("BingQuXX");
+        Map<String, Object> bqxx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("BingQuXX") : null;
         ExternalWardArea externalWardArea = BeanUtil.mapToBean(bqxx, ExternalWardArea.class, true);
         SysDept sysDept = new SysDept();
-        sysDept.setGuid(externalWardArea.getZuZhiJGID());
+        sysDept.setOrgid(externalWardArea.getZuZhiJGID());
         sysDept.setHisDeptId(externalWardArea.getBingQuID());
 
         sysDept.setDeptName(externalWardArea.getBingQuMC());
@@ -365,13 +639,13 @@
         sysDept.setDeptCode(externalWardArea.getBingQuID());
         sysDept.setCreateBy(externalWardArea.getChuangJianRXM());
         sysDept.setType(externalWardArea.getBingQuLXDM());
-        sysDept.setCreateTime(externalWardArea.getCreateTime());
         sysDept.setUpdateTime(externalWardArea.getUpdateTime());
         sysDept.setUpdateBy(externalWardArea.getUpdateBy());
         if (StringUtils.isNotEmpty(externalWardArea.getShiJianDM()) && externalWardArea.getShiJianDM().equals("3")) {
             sysDept.setStatus("1");
         }
         if (StringUtils.isNotEmpty(externalWardArea.getShiJianDM()) && externalWardArea.getShiJianDM().equals("1")) {
+            sysDept.setCreateTime(externalWardArea.getCreateTime());
             int i = sysDeptMapper.insertDept(sysDept);
             log.error("ServiceExternalServiceImpl---addWardAreaInfo鏄惁鏂板鎴愬姛锛歿}", i);
         } else {
@@ -381,12 +655,187 @@
         return true;
     }
 
+    @Override
+    public Boolean addMedicalTeam(Map dataMap) {
+        log.error("ServiceExternalServiceImpl---addMedicalTeam鐨勬柊澧炵殑鍊间负锛歿}", dataMap);
+
+        return true;
+    }
+
+    @Override
+    public Boolean addOperationInfo(Map dataMap) {
+        log.error("ServiceExternalServiceImpl---addOperationInfo鐨勬柊澧炵殑鍊间负锛歿}", 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);
+
+        PatArchive patArchive = addPatArchive(externalInHospPatientInfo, null, null);
+
+
+        //鎵嬫湳淇℃伅鏂板
+        Map<String, Object> ssxx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("ShouShuSQ") : null;
+        //鎵嬫湳鏇存柊
+        Map<String, Object> ssgx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("ShouShuGX") : null;
+        //鎵嬫湳鎾ら攢
+        Map<String, Object> sscx = ObjectUtils.isNotEmpty(yeWuXX) ? (Map<String, Object>) yeWuXX.get("ShouShuCX") : null;
+        ExternalOperationInfo externalOperationInfo = null;
+        if (ObjectUtils.isNotEmpty(ssxx))
+            externalOperationInfo = BeanUtil.mapToBean(ssxx, ExternalOperationInfo.class, true);
+        else if (ObjectUtils.isNotEmpty(ssgx))
+            externalOperationInfo = BeanUtil.mapToBean(ssgx, ExternalOperationInfo.class, true);
+        else if (ObjectUtils.isNotEmpty(sscx))
+            externalOperationInfo = BeanUtil.mapToBean(sscx, ExternalOperationInfo.class, true);
+        PatMedOperation patMedOperation = new PatMedOperation();
+        patMedOperation.setPatid(patArchive.getId());
+        patMedOperation.setPatcode(externalInHospPatientInfo.getBingRenID());
+        patMedOperation.setPaname(externalInHospPatientInfo.getXingMing());
+        patMedOperation.setOpreqcode(externalOperationInfo.getShenQingDID());
+        //鏌ヨ涓�涓嬶紝璇ユ偅鑰呮槸鍚﹀凡缁忔湁杩欎簺鏁版嵁
+        List<PatMedOperation> patMedOperations = patMedOperationMapper.selectPatMedOperationList(patMedOperation);
+
+        patMedOperation.setOpsstatus(null);
+        if (ObjectUtils.isNotEmpty(externalOperationInfo)) {
+            patMedOperation.setOptypecode(externalOperationInfo.getShouShuLBDM());
+            patMedOperation.setOptypename(externalOperationInfo.getShouShuLBMC());
+            patMedOperation.setOperatortime(externalOperationInfo.getYaoQiuSJ());
+            patMedOperation.setOpreqtime(externalOperationInfo.getShenQingSJ());
+            patMedOperation.setReqdoccode(externalOperationInfo.getShenQingYSID());
+            patMedOperation.setReqdocname(externalOperationInfo.getShenQingYSXM());
+            patMedOperation.setReqdeptcode(externalOperationInfo.getShenQingKSID());
+            patMedOperation.setReqdeptname(externalOperationInfo.getShenQingKSMC());
+            patMedOperation.setReqloccode(externalOperationInfo.getShouShuKSID());
+            patMedOperation.setReqlocname(externalOperationInfo.getShouShuKSMC());
+            patMedOperation.setSurgeoncode(externalOperationInfo.getZhuDaoYSID());
+            patMedOperation.setSurgeonname(externalOperationInfo.getSanZhuYSXM());
+            patMedOperation.setFirasscode(externalOperationInfo.getYiZhuID());
+            patMedOperation.setFirassname(externalOperationInfo.getYiZhuMC());
+            patMedOperation.setSecasscode(externalOperationInfo.getErZhuYSID());
+            patMedOperation.setSecassname(externalOperationInfo.getErZhuYSXM());
+            patMedOperation.setThrasscode(externalOperationInfo.getSanZhuYSID());
+            patMedOperation.setThrassname(externalOperationInfo.getSanZhuYSXM());
+            patMedOperation.setDeptid(externalOperationInfo.getShouShuKSID());
+            patMedOperation.setDeptcode(externalOperationInfo.getShouShuKSID());
+            patMedOperation.setDeptname(externalOperationInfo.getShouShuKSMC());
+            patMedOperation.setDrcode(externalOperationInfo.getZhuDaoYSID());
+            patMedOperation.setDrname(externalOperationInfo.getZhuDaoYSXM());
+        }
+        patMedOperation.setCanceltime(null);
+        patMedOperation.setCancelreason(null);
+        patMedOperation.setCancelcode(null);
+        patMedOperation.setCancelname(null);
+        patMedOperation.setVisittype(null);
+        patMedOperation.setStatus(null);
+        patMedOperation.setSchemetime(null);
+        patMedOperation.setSchemestatus(null);
+        patMedOperation.setDelFlag("0");
+        patMedOperation.setIsupload(null);
+        patMedOperation.setUploadTime(null);
+        patMedOperation.setVisitid(null);
+        patMedOperation.setInhospstate(null);
+        if (ObjectUtils.isNotEmpty(externalInHospPatientInfo)) {
+            patMedOperation.setPatno(externalInHospPatientInfo.getBingRenID());
+            patMedOperation.setPatname(externalInHospPatientInfo.getXingMing());
+            patMedOperation.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+            patMedOperation.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
+            patMedOperation.setInhospno(externalInHospPatientInfo.getBingAnHao());
+            patMedOperation.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC());
+            patMedOperation.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID());
+        }
+        patMedOperation.setHospitaldistrictcode(null);
+        patMedOperation.setHospitaldistrictname(null);
+        patMedOperation.setRoomno(null);
+        patMedOperation.setBedNo(null);
+
+        patMedOperation.setNurseId(null);
+        patMedOperation.setNurseName(null);
+        if (CollectionUtils.isNotEmpty(patMedOperations)) {
+            Long id = patMedOperations.get(0).getId();
+            patMedOperation.setId(id);
+            patMedOperation.setCheckFlag(patMedOperations.get(0).getCheckFlag());
+            //濡傛灉鎵嬫湳鎾ら攢锛岀洿鎺ュ垹闄よ鏉℃墜鏈俊鎭�
+            if (ObjectUtils.isNotEmpty(sscx)) {
+                patMedOperation.setDelFlag("1");
+                //鍚屾椂鍘绘煡璇紝鏄惁鍦╯ubtask涓敓鎴愪换鍔★紝濡傛灉鐢熸垚鍑哄緱绔嬮┈鍒犻櫎
+            }
+            patMedOperation.setUpdateTime(new Date());
+            patMedOperationMapper.updatePatMedOperation(patMedOperation);
+        } else {
+            patMedOperation.setCreateTime(new Date());
+            patMedOperationMapper.insertPatMedOperation(patMedOperation);
+        }
+        log.error("-----patMedOperation鐨勪富閿甶d涓猴細{}", patMedOperation.getId());
+
+        if (ObjectUtils.isNotEmpty(ssxx)) {
+            List<HashMap<String, Object>> ShouShuMXList = (List<HashMap<String, Object>>) ssxx.get("ShouShuMXList");
+
+            List<ExternalOperationDetail> externalOperationDetails = ObjectUtils.isNotEmpty(ShouShuMXList) ? ShouShuMXList.stream().map(map -> {
+                ExternalOperationDetail info = new ExternalOperationDetail();
+                info.setShouShuMCID((String) map.get("ShouShuMCID"));
+                info.setShouShuMC((String) map.get("ShouShuMC"));
+                info.setZhuShouSBZ(ObjectUtils.isNotEmpty(map.get("ZhuShouSBZ")) ? map.get("ZhuShouSBZ").toString() : null);
+                info.setQieKouLBDM((String) map.get("QieKouLBDM"));
+                info.setQieKouLBMC((String) map.get("QieKouLBMC"));
+                info.setShouShuJBDM((String) map.get("ShouShuJBDM"));
+                info.setShouShuJBMC((String) map.get("ShouShuJBMC"));
+                info.setShouShuBW((String) map.get("ShouShuBW"));
+                info.setBiaoZhunBM((String) map.get("BiaoZhunBM"));
+                info.setShouShuMCQZ((String) map.get("ShouShuMCQZ"));
+                info.setShouShuMCHZ((String) map.get("ShouShuMCHZ"));
+                return info;
+            }).collect(Collectors.toList()) : null;
+
+            //addMianTableFalg鏄惁闇�瑕佸皢涓绘墜鏈殑淇℃伅鏀惧埌PatMedOperation琛ㄤ腑锛堝彧鏈夌涓�涓富鎵嬫湳淇℃伅闇�瑕佹斁锛屽悗闈㈢殑閮戒笉闇�瑕佹斁浜嗭紝涔熷氨鏄锛岀涓�涓斁瀹屽悗锛屽氨瑕佹妸杩欎釜flag鏀规垚false锛�
+            Boolean addMianTableFalg = true;
+            for (ExternalOperationDetail externalOperationDetail : externalOperationDetails) {
+                PatMedOperationItem patMedOperationItem = new PatMedOperationItem();
+                patMedOperationItem.setOpid(patMedOperation.getId());
+                patMedOperationItem.setOpcode(externalOperationDetail.getShouShuMCID());
+                patMedOperationItem.setOpdesc(externalOperationDetail.getShouShuMC());
+                patMedOperationItem.setMainFlag(externalOperationDetail.getZhuShouSBZ());
+                patMedOperationItem.setIncitypecode(externalOperationDetail.getQieKouLBDM());
+                patMedOperationItem.setIncitypedesc(externalOperationDetail.getQieKouLBMC());
+                patMedOperationItem.setOplevelcode(externalOperationDetail.getShouShuJBDM());
+                patMedOperationItem.setOpleveldesc(externalOperationDetail.getShouShuJBMC());
+                patMedOperationItem.setOpposition(externalOperationDetail.getShouShuBW());
+                patMedOperationItem.setDelFlag("0");
+                patMedOperationItem.setOrgid(patMedOperation.getOrgid());
+                if (externalOperationDetail.getZhuShouSBZ().equals("1") && addMianTableFalg == true) {
+                    patMedOperation.setOpcode(externalOperationDetail.getShouShuMCID());
+                    patMedOperation.setOpdesc(externalOperationDetail.getShouShuMC());
+//                    patMedOperation.setOpid(externalOperationDetail.getShouShuJBDM());
+                    patMedOperation.setUpdateTime(new Date());
+                    patMedOperationMapper.updatePatMedOperation(patMedOperation);
+                    addMianTableFalg = false;
+                }
+                patMedOperationItem.setCreateTime(new Date());
+                patMedOperationItemMapper.insertPatMedOperationItem(patMedOperationItem);
+            }
+        }
+        return true;
+    }
+
     //鏂板鎮h�呭熀鏈俊鎭�
     private PatArchive addPatArchive(ExternalInHospPatientInfo externalInHospPatientInfo, ExternalInHospPatientAddrInfo externalInHospPatientAddrInfo, ExternalInHospPatientLiaisonInfo externalInHospPatientLiaisonInfo) {
+        Date parse = null;
+        String chuShengRQ = externalInHospPatientInfo.getChuShengRQ();
+        if (StringUtils.isNotEmpty(chuShengRQ)) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+            try {
+                parse = simpleDateFormat.parse(chuShengRQ);
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+        }
         PatArchive patArchive = new PatArchive();
+        //濡傛灉鏄垰鍑虹敓鐨勫皬瀛╁瓙锛屾槸娌℃湁韬唤璇佺殑锛屾�庝箞澶勭悊锛燂紵锛燂紵锛燂紵锛燂紵
         patArchive.setIdcardno(externalInHospPatientInfo.getZhengJianHM());
-        List<PatArchive> patArchives = patArchiveMapper.selectPatArchiveList(patArchive);
+        patArchive.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
+        List<PatArchive> patArchives = null;
+        if (ObjectUtils.isNotEmpty(patArchive.getIdcardno()))
+            patArchives = patArchiveMapper.selectPatArchiveList(patArchive);
         patArchive.setPatientno(externalInHospPatientInfo.getJiuZhenKH());
+        patArchive.setBirthdate(parse);
         patArchive.setPatidHis(externalInHospPatientInfo.getBingRenID());
         patArchive.setSourcefrom(1);
         patArchive.setPattype("2");
@@ -395,41 +844,80 @@
             patArchive.setSex(Long.valueOf(externalInHospPatientInfo.getXingBieDM()));
         patArchive.setNation(externalInHospPatientInfo.getMinZuMC());
         patArchive.setNativePlace(externalInHospPatientInfo.getGuoJiMC());
-        if (ObjectUtils.isNotEmpty(externalInHospPatientAddrInfo)) {
-            patArchive.setPlaceOfResidence(externalInHospPatientAddrInfo.getShengFenMC() + externalInHospPatientAddrInfo.getShiDiQMC() + externalInHospPatientAddrInfo.getXianQuMC() + externalInHospPatientAddrInfo.getXiangZhenMC() + externalInHospPatientAddrInfo.getCunJiMC() + externalInHospPatientAddrInfo.getQiTaXX());
-            patArchive.setBirthplace(externalInHospPatientAddrInfo.getShengFenMC() + externalInHospPatientAddrInfo.getShiDiQMC() + externalInHospPatientAddrInfo.getXianQuMC() + externalInHospPatientAddrInfo.getXiangZhenMC() + externalInHospPatientAddrInfo.getCunJiMC() + externalInHospPatientAddrInfo.getQiTaXX());
+        if (ObjectUtils.isNotEmpty(externalInHospPatientInfo.getXianZhuZXX())) {
+            patArchive.setPlaceOfResidence(externalInHospPatientInfo.getXianZhuZXX());
+        } else if (ObjectUtils.isNotEmpty(externalInHospPatientAddrInfo)) {
+            String por = null;
+            if (StringUtils.isNotEmpty(externalInHospPatientAddrInfo.getDiZhiXX())) {
+                por = externalInHospPatientAddrInfo.getDiZhiXX();
+            } else {
+                por = externalInHospPatientAddrInfo.getShengFenMC() + externalInHospPatientAddrInfo.getShiDiQMC() + externalInHospPatientAddrInfo.getXianQuMC() + externalInHospPatientAddrInfo.getXiangZhenMC() + externalInHospPatientAddrInfo.getCunJiMC() + externalInHospPatientAddrInfo.getQiTaXX();
+            }
+            patArchive.setPlaceOfResidence(por.replace("null", ""));
+//            patArchive.setBirthplace(por.replace("null", ""));
         }
-        patArchive.setBirthdate(externalInHospPatientInfo.getChuShengRQ());
-        patArchive.setAge(externalInHospPatientInfo.getNianLing());
-        patArchive.setAgeUnit(externalInHospPatientInfo.getNianLingDW());
+
+        if (ObjectUtils.isNotEmpty(parse)) {
+            Map<String, String> map = calculateAge(parse.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(), LocalDate.now());
+            patArchive.setAge(ObjectUtils.isNotEmpty(map.get("age")) ? Long.valueOf(map.get("age")) : null);
+            patArchive.setAgeUnit(map.get("ageUnit"));
+            patArchive.setAge2(ObjectUtils.isNotEmpty(map.get("age2")) ? Long.valueOf(map.get("age2")) : null);
+            patArchive.setAgeUnit2(map.get("ageUnit2"));
+
+        }
+
         patArchive.setTelcode(externalInHospPatientInfo.getLianXiDH());
+        if (StringUtils.isEmpty(patArchive.getTelcode()))
+            patArchive.setTelcode(externalInHospPatientInfo.getLianXiRDH());
+        patArchive.setRelativetelcode(externalInHospPatientInfo.getLianXiRDH());
         patArchive.setGuid(externalInHospPatientInfo.getZuZhiJGID());
-        if (ObjectUtils.isNotEmpty(externalInHospPatientLiaisonInfo))
-            patArchive.setRelativetelcode(externalInHospPatientLiaisonInfo.getLianXiRDH());
-        patArchive.setInhospno(externalInHospPatientInfo.getZhuYuanHao());
-        patArchive.setCreateTime(new Date());
+        patArchive.setInhospno(externalInHospPatientInfo.getBingAnHao());
+        patArchive.setIdcardtype(externalInHospPatientInfo.getZhengJianLXMC());
+        patArchive.setUpdateTime(new Date());
         if (CollectionUtils.isNotEmpty(patArchives)) {
             //濡傛灉涓嶄负绌猴紝鐩存帴灏嗘煡璇㈠嚭鏉ョ殑瀵硅薄杩斿洖
             PatArchive patArchive1 = patArchives.get(0);
             String orgid = patArchive1.getOrgid();
             if (StringUtils.isNotEmpty(orgid)) {
-                orgid = orgid + "," + externalInHospPatientInfo.getZuZhiJGID();
-                patArchive.setOrgid(orgid);
                 patArchive.setId(patArchive1.getId());
                 patArchiveMapper.updatePatArchive(patArchive);
-                return patArchive;
+            }
+        } else {
+            patArchive.setCreateTime(new Date());
+            patArchiveMapper.insertPatArchiveSingle(patArchive);
+        }
+        //鏂板睘淇℃伅
+        if (ObjectUtils.isNotEmpty(externalInHospPatientInfo.getExternalInHospPatientLiaisonInfos())) {
+            for (ExternalInHospPatientLiaisonInfo external : externalInHospPatientInfo.getExternalInHospPatientLiaisonInfos()) {
+                PatArchivecontact patArchivecontact = new PatArchivecontact();
+                patArchivecontact.setPatid(patArchive.getId());
+                patArchivecontact.setContactname(external.getLianXiRXM());
+                patArchivecontact.setOrgid(patArchive.getOrgid());
+                List<PatArchivecontact> patArchivecontacts = patArchivecontactMapper.selectPatArchivecontactList(patArchivecontact);
+                patArchivecontact.setContactway(external.getLianXiRDH());
+                patArchivecontact.setRelation(external.getGuanXiMC());
+                if (CollectionUtils.isEmpty(patArchivecontacts))
+                    patArchivecontactMapper.insertPatArchivecontact(patArchivecontact);
+                else {
+                    patArchivecontact.setId(patArchivecontacts.get(0).getId());
+                    patArchivecontactMapper.updatePatArchivecontact(patArchivecontact);
+                }
             }
         }
-        patArchiveMapper.insertPatArchiveSingle(patArchive);
+
+
         return patArchive;
     }
 
     //鏂板鎮h�呭叆闄俊鎭�
     private Boolean addPadInhospInfo(ExternalInHospPatientInfo externalInHospPatientInfo, PatArchive patArchive, ExternalInHospPatientDiagnoseInfo externalInHospPatientDiagnoseInfo) {
         PatMedInhosp patMedInhosp = new PatMedInhosp();
+        List<PatMedInhosp> patMedInhospList = null;
         if (ObjectUtils.isNotEmpty(externalInHospPatientInfo)) {
-            patMedInhosp.setInhospno(externalInHospPatientInfo.getZhuYuanHao());
-            patMedInhosp.setSerialnum(externalInHospPatientInfo.getZhuYuanHao());
+            //鍖婚櫌閭h竟璇磋鐢ㄧ梾妗堝彿锛屼笉瑕佺敤浣忛櫌鍙�
+            patMedInhosp.setInhospno(externalInHospPatientInfo.getBingAnHao());
+            patMedInhosp.setSerialnum(externalInHospPatientInfo.getJiuZhenYWID());
+            patMedInhospList = patMedInhospMapper.selectPatMedInhospList(patMedInhosp);
             patMedInhosp.setHospitalname(externalInHospPatientInfo.getZuZhiJGMC());
             patMedInhosp.setHospitalcode(externalInHospPatientInfo.getZuZhiJGID());
             patMedInhosp.setStarttime(externalInHospPatientInfo.getRuYuanSJ());
@@ -437,7 +925,8 @@
             patMedInhosp.setLeaveldeptcode(externalInHospPatientInfo.getDangQianKSID());
             patMedInhosp.setDeptname(externalInHospPatientInfo.getDangQianKSMC());
             patMedInhosp.setLeaveldeptname(externalInHospPatientInfo.getDangQianKSMC());
-            patMedInhosp.setBedNo(externalInHospPatientInfo.getDangQianCWID());
+            //杩欓噷鏄簥浣嶅悕绉拌繕鏄簥浣嶇紪鍙凤紵锛燂紵锛�
+            patMedInhosp.setBedNo(externalInHospPatientInfo.getDangQianCWMC());
             patMedInhosp.setOrgid(externalInHospPatientInfo.getZuZhiJGID());
             patMedInhosp.setHospitaldistrictid(externalInHospPatientInfo.getDangQianBQID());
             patMedInhosp.setGuid(externalInHospPatientInfo.getZuZhiJGID());
@@ -448,21 +937,38 @@
             patMedInhosp.setLeavehospitaldistrictcode(externalInHospPatientInfo.getDangQianBQID());
             patMedInhosp.setHospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
             patMedInhosp.setLeavehospitaldistrictname(externalInHospPatientInfo.getDangQianBQMC());
+            patMedInhosp.setTelcode(patArchive.getTelcode());
+            patMedInhosp.setDrname(externalInHospPatientInfo.getZhuZhiYSXM());
+            patMedInhosp.setDrcode(externalInHospPatientInfo.getZhuZhiYSID());
+            patMedInhosp.setNurseId(externalInHospPatientInfo.getZeRenHSID());
+            patMedInhosp.setNurseName(externalInHospPatientInfo.getZeRenHSXM());
         }
         if (ObjectUtils.isNotEmpty(externalInHospPatientDiagnoseInfo)) {
-            patMedInhosp.setIcd10code(StringUtils.isNotEmpty(patMedInhosp.getIcd10code()) ? patMedInhosp.getIcd10code() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanID() : externalInHospPatientDiagnoseInfo.getZhenDuanID());
-            patMedInhosp.setDiagname(StringUtils.isNotEmpty(patMedInhosp.getDiagname()) ? patMedInhosp.getDiagname() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanMC() : externalInHospPatientDiagnoseInfo.getZhenDuanMC());
+//            patMedInhosp.setIcd10code(StringUtils.isNotEmpty(patMedInhosp.getIcd10code()) ? patMedInhosp.getIcd10code() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanID() : externalInHospPatientDiagnoseInfo.getZhenDuanID());
+//            patMedInhosp.setDiagname(StringUtils.isNotEmpty(patMedInhosp.getDiagname()) ? patMedInhosp.getDiagname() + "," + externalInHospPatientDiagnoseInfo.getZhenDuanMC() : externalInHospPatientDiagnoseInfo.getZhenDuanMC());
+
+            patMedInhosp.setIcd10code(externalInHospPatientDiagnoseInfo.getZhenDuanID());
+            patMedInhosp.setDiagname(externalInHospPatientDiagnoseInfo.getZhenDuanMC());
+
         }
 
         if (ObjectUtils.isNotEmpty(patArchive)) {
             patMedInhosp.setPatid(patArchive.getId());
             patMedInhosp.setPatno(patArchive.getPatientno());
             patMedInhosp.setPatname(patArchive.getName());
-            patMedInhosp.setDrname("");
+
             patMedInhosp.setSchemestatus(1L);
-            patMedInhosp.setCreateTime(new Date());
+
         }
-        int i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp);
+        patMedInhosp.setUpdateTime(new Date());
+        int i = 1;
+        if (CollectionUtils.isNotEmpty(patMedInhospList)) {
+            patMedInhosp.setInhospid(patMedInhospList.get(0).getInhospid());
+            i = patMedInhospMapper.updatePatMedInhosp(patMedInhosp);
+        } else {
+            patMedInhosp.setCreateTime(new Date());
+            i = patMedInhospMapper.insertPatMedInhosp(patMedInhosp);
+        }
         if (i == 1) return true;
         return false;
     }
@@ -544,6 +1050,7 @@
                 return true;
             case "SM_SQ_ShenQing":
                 log.error("鎵嬫湳鐢宠鍏ュ弬绫诲瀷涓猴細{}", type);
+                addOperationInfo(dataMap);
                 return true;
             case "TJ_YW_BaoGaoXX":
                 log.error("浣撴鎶ュ憡鍏ュ弬绫诲瀷涓猴細{}", type);
@@ -585,10 +1092,68 @@
                 log.error("鍙栨秷鍑洪櫌鍏ュ弬绫诲瀷涓猴細{}", type);
                 return cancelOutHospInfo(dataMap);
             case "JG_ZZ_BingQu":
-                log.error("鐥呭尯淇℃伅鍏ュ弬绫诲瀷涓鸿緟锛歿}", type);
+                log.error("鐥呭尯淇℃伅鍏ュ弬绫诲瀷涓猴細{}", type);
                 return addWardAreaInfo(dataMap);
+            case "JG_ZZ_YiLiaoZYS":
+                log.error("鍖荤枟缁勫尰鐢熶负锛歿}", type);
+                return addMedicalTeam(dataMap);
+            case "JZ_ZY_RuKe":
+                log.error("鍏ョ鐨勬暟鎹负锛歿}", type);
+                return addInDeptInfo(dataMap);
         }
         return true;
     }
 
+    public Map<String, String> calculateAge(LocalDate birthdate, LocalDate today) {
+        if (birthdate == null || today.isBefore(birthdate)) {
+            return null;
+        }
+        Map<String, String> ageMap = new HashMap<>();
+
+        Period period = Period.between(birthdate, today);
+        long totalDays = ChronoUnit.DAYS.between(birthdate, today);
+        long totalMonths = ChronoUnit.MONTHS.between(birthdate, today);
+
+        int years = period.getYears();
+        int months = period.getMonths();
+        int days = period.getDays();
+
+        String ageUnit;
+        Integer age;
+        String ageUnit2 = null;
+        Integer age2 = null;
+
+        if (totalDays < 90) {
+            // 灏忎簬 1 涓湀锛屾寜澶╄绠�
+            ageUnit = "澶�";
+            age = (int) totalDays;
+            ageMap.put("age", age != null ? age.toString() : null);
+            ageMap.put("ageUnit", ageUnit);
+            ageMap.put("age2", null);
+            ageMap.put("ageUnit2", null);
+        } else if (totalMonths < 36) {
+            // 灏忎簬 1 骞达紝鎸夋湀 + 澶╄绠�
+            ageUnit = "鏈�";
+            age = (int) totalMonths;
+            ageUnit2 = "澶�";
+            age2 = days;
+            ageMap.put("age", age != null ? age.toString() : null);
+            ageMap.put("ageUnit", ageUnit);
+            ageMap.put("age2", age2 != null ? age2.toString() : null);
+            ageMap.put("ageUnit2", ageUnit2);
+        } else {
+            // 澶т簬 1 骞达紝鎸夊勾 + 鏈堣绠�
+            ageUnit = "宀�";
+            age = years;
+            ageUnit2 = "鏈�";
+            age2 = months;
+            ageMap.put("age", age != null ? age.toString() : null);
+            ageMap.put("ageUnit", ageUnit);
+            ageMap.put("age2", age2 != null ? age2.toString() : null);
+            ageMap.put("ageUnit2", ageUnit2);
+        }
+
+        return ageMap;
+    }
+
 }

--
Gitblit v1.9.3