/// <summary>
        /// 居民入院登记修改
        /// </summary>
        /// <param name="param"></param>
        private HospitalizationModifyParam GetResidentHospitalizationModify(HospitalizationModifyUiParam param)
        {
            //主诊断
            //医保修改
            var modifyParam = new HospitalizationModifyParam()
            {
                AdmissionDate   = Convert.ToDateTime(param.AdmissionDate).ToString("yyyyMMdd"),
                BedNumber       = param.BedNumber,
                BusinessId      = param.BusinessId,
                FetusNumber     = param.FetusNumber,
                HouseholdNature = param.HouseholdNature,
                MedicalInsuranceHospitalizationNo = param.MedicalInsuranceHospitalizationNo,
                TransKey = param.TransKey,
                UserId   = param.UserId,
                InpatientDepartmentCode = param.InpatientDepartmentCode,
                HospitalizationNo       = CommonHelp.GuidToStr(param.BusinessId)
            };
            var diagnosisData = CommonHelp.GetDiagnosis(param.DiagnosisList);

            modifyParam.AdmissionMainDiagnosisIcd10 = diagnosisData.AdmissionMainDiagnosisIcd10;
            modifyParam.DiagnosisIcd10Two           = diagnosisData.DiagnosisIcd10Two;
            modifyParam.DiagnosisIcd10Three         = diagnosisData.DiagnosisIcd10Three;

            return(modifyParam);
        }
        /// <summary>
        /// 获取职工入院登记修改
        /// </summary>
        /// <param name="param"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        private ModifyWorkerHospitalizationParam GetWorkerHospitalizationModify(HospitalizationModifyUiParam param, UserInfoDto user)
        {
            //获取医院等级
            var gradeData = _systemManageRepository.QueryHospitalOrganizationGrade(user.OrganizationCode);
            //医保修改
            var modifyParam = new ModifyWorkerHospitalizationParam()
            {
                AdmissionDate = Convert.ToDateTime(param.AdmissionDate).ToString("yyyyMMdd"),
                BedNumber     = param.BedNumber,
                BusinessId    = param.BusinessId,
                MedicalInsuranceHospitalizationNo = param.MedicalInsuranceHospitalizationNo,
                HospitalizationNo  = CommonHelp.GuidToStr(param.BusinessId),
                AdministrativeArea = gradeData.AdministrativeArea,
                Operators          = user.UserName,
                OrganizationCode   = gradeData.MedicalInsuranceAccount
            };
            var diagnosisData = CommonHelp.GetDiagnosis(param.DiagnosisList);

            modifyParam.AdmissionMainDiagnosisIcd10 = diagnosisData.AdmissionMainDiagnosisIcd10;
            modifyParam.DiagnosisIcd10Two           = diagnosisData.DiagnosisIcd10Two;
            modifyParam.DiagnosisIcd10Three         = diagnosisData.DiagnosisIcd10Three;
            modifyParam.AdmissionMainDiagnosis      = diagnosisData.DiagnosisDescribe;
            modifyParam.InpatientDepartmentCode     = param.InpatientDepartmentCode;
            modifyParam.User = user;
            return(modifyParam);
        }
        /// <summary>
        /// 职工入院登记修改
        /// </summary>
        /// <param name="uiParam"></param>
        public void ModifyWorkerHospitalization(HospitalizationModifyUiParam uiParam)
        { //his登陆
            var userBase = _serviceBasicService.GetUserBaseInfo(uiParam.UserId);

            userBase.TransKey = uiParam.TransKey;
            var param = GetWorkerHospitalizationModify(uiParam, userBase);

            //医保执行
            _workerMedicalInsuranceRepository.ModifyWorkerHospitalization(param);
            // 回参构建
            var xmlData = new HospitalizationModifyXml()
            {
                MedicalInsuranceHospitalizationNo = param.MedicalInsuranceHospitalizationNo,
            };
            //var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData);
            //var saveXml = new SaveXmlDataParam()
            //{
            //    User = param.User,
            //    MedicalInsuranceBackNum = "zyzlxgall",
            //    MedicalInsuranceCode = "23",
            //    BusinessId = param.BusinessId,
            //    BackParam = strXmlBackParam
            //};
            ////存基层
            //_webBasicRepository.SaveXmlData(saveXml);
            var paramStr  = "";
            var queryData = _medicalInsuranceSqlRepository.QueryMedicalInsuranceResidentInfo(
                new QueryMedicalInsuranceResidentInfoParam
            {
                BusinessId       = param.BusinessId,
                OrganizationCode = param.User.OrganizationCode
            });

            if (!string.IsNullOrWhiteSpace(queryData.AdmissionInfoJson))
            {
                var data =
                    JsonConvert.DeserializeObject <WorKerHospitalizationRegisterParam>(queryData
                                                                                       .AdmissionInfoJson);
                if (!string.IsNullOrWhiteSpace(param.AdmissionDate))
                {
                    data.AdmissionDate = param.AdmissionDate;
                }
                if (!string.IsNullOrWhiteSpace(param.AdmissionMainDiagnosis))
                {
                    data.AdmissionMainDiagnosis = param.AdmissionMainDiagnosis;
                }
                if (!string.IsNullOrWhiteSpace(param.AdmissionMainDiagnosisIcd10))
                {
                    data.AdmissionMainDiagnosisIcd10 = param.AdmissionMainDiagnosisIcd10;
                }
                if (!string.IsNullOrWhiteSpace(param.DiagnosisIcd10Three))
                {
                    data.DiagnosisIcd10Three = param.DiagnosisIcd10Three;
                }
                if (!string.IsNullOrWhiteSpace(param.DiagnosisIcd10Two))
                {
                    data.DiagnosisIcd10Two = param.DiagnosisIcd10Two;
                }
                if (!string.IsNullOrWhiteSpace(param.InpatientDepartmentCode))
                {
                    data.InpatientDepartmentCode = param.InpatientDepartmentCode;
                }
                if (!string.IsNullOrWhiteSpace(param.BedNumber))
                {
                    data.BedNumber = param.BedNumber;
                }
                data.Id  = queryData.Id;
                paramStr = JsonConvert.SerializeObject(data);
            }
            var saveData = new MedicalInsuranceDto
            {
                AdmissionInfoJson = paramStr,
                BusinessId        = queryData.BusinessId,
                Id       = queryData.Id,
                IsModify = true,
            };

            _medicalInsuranceSqlRepository.SaveMedicalInsurance(param.User, saveData);
            //日志
            var logParam = new AddHospitalLogParam();

            logParam.User            = param.User;
            logParam.RelationId      = queryData.Id;
            logParam.JoinOrOldJson   = queryData.AdmissionInfoJson;
            logParam.ReturnOrNewJson = paramStr;
            logParam.Remark          = "医保入院登记修改";
            _systemManageRepository.AddHospitalLog(logParam);
        }
        /// <summary>
        /// 入院登记修改
        /// </summary>
        /// <param name="param"></param>
        /// <param name="user"></param>
        public void HospitalizationModify(HospitalizationModifyUiParam param)
        {//his登陆
            var userBase = _webserviceBasicService.GetUserBaseInfo(param.UserId);

            userBase.TransKey = param.TransKey;
            var modifyParam = GetResidentHospitalizationModify(param);

            _residentMedicalInsuranceRepository.HospitalizationModify(modifyParam, userBase);
            var paramStr  = "";
            var queryData = _medicalInsuranceSqlRepository.QueryMedicalInsuranceResidentInfo(
                new QueryMedicalInsuranceResidentInfoParam
            {
                BusinessId       = param.BusinessId,
                OrganizationCode = userBase.OrganizationCode
            });

            if (!string.IsNullOrWhiteSpace(queryData.AdmissionInfoJson))
            {
                var data =
                    JsonConvert.DeserializeObject <QueryMedicalInsuranceDetailDto>(queryData
                                                                                   .AdmissionInfoJson);
                if (!string.IsNullOrWhiteSpace(modifyParam.AdmissionDate))
                {
                    data.AdmissionDate = modifyParam.AdmissionDate;
                }
                if (!string.IsNullOrWhiteSpace(modifyParam.AdmissionMainDiagnosis))
                {
                    data.AdmissionMainDiagnosis = modifyParam.AdmissionMainDiagnosis;
                }
                if (!string.IsNullOrWhiteSpace(modifyParam.AdmissionMainDiagnosisIcd10))
                {
                    data.AdmissionMainDiagnosisIcd10 = modifyParam.AdmissionMainDiagnosisIcd10;
                }
                if (!string.IsNullOrWhiteSpace(modifyParam.DiagnosisIcd10Three))
                {
                    data.DiagnosisIcd10Three = modifyParam.DiagnosisIcd10Three;
                }
                if (!string.IsNullOrWhiteSpace(modifyParam.DiagnosisIcd10Two))
                {
                    data.DiagnosisIcd10Two = modifyParam.DiagnosisIcd10Two;
                }
                if (!string.IsNullOrWhiteSpace(param.FetusNumber))
                {
                    data.FetusNumber = param.FetusNumber;
                }
                if (!string.IsNullOrWhiteSpace(param.HouseholdNature))
                {
                    data.HouseholdNature = param.HouseholdNature;
                }
                if (!string.IsNullOrWhiteSpace(param.InpatientDepartmentCode))
                {
                    data.InpatientDepartmentCode = param.InpatientDepartmentCode;
                }
                if (!string.IsNullOrWhiteSpace(param.BedNumber))
                {
                    data.BedNumber = param.BedNumber;
                }
                data.Id  = queryData.Id;
                paramStr = JsonConvert.SerializeObject(data);
            }

            var saveData = new MedicalInsuranceDto
            {
                AdmissionInfoJson = paramStr,
                BusinessId        = queryData.BusinessId,
                Id       = queryData.Id,
                IsModify = true,
                MedicalInsuranceHospitalizationNo = queryData.MedicalInsuranceHospitalizationNo
            };

            _medicalInsuranceSqlRepository.SaveMedicalInsurance(userBase, saveData);
            //日志
            var logParam = new AddHospitalLogParam
            {
                User            = userBase,
                RelationId      = queryData.Id,
                JoinOrOldJson   = queryData.AdmissionInfoJson,
                ReturnOrNewJson = paramStr,
                BusinessId      = param.BusinessId,
                Remark          = "医保入院登记修改"
            };

            _systemManageRepository.AddHospitalLog(logParam);
        }