/// <summary> /// 获取生育入院登记入参 /// </summary> /// <param name="inpatientInfo"></param> /// <param name="param"></param> /// <returns></returns> private WorkerBirthHospitalizationRegisterParam GetWorkerHospitalizationWorkerBirth (InpatientInfoDto inpatientInfo, WorkerBirthHospitalizationRegisterUiParam param) { var iniParam = new WorkerBirthHospitalizationRegisterParam() { IdentityMark = param.IdentityMark, AfferentSign = param.AfferentSign, MedicalCategory = param.MedicalCategory, FetusNumber = param.FetusNumber, SpouseIdCardNo = param.SpouseIdCardNo, SpouseName = param.SpouseName, AdmissionDate = Convert.ToDateTime(inpatientInfo.AdmissionDate).ToString("yyyyMMdd"), HospitalizationNo = inpatientInfo.HospitalizationNo, Operators = inpatientInfo.AdmissionOperator, InpatientDepartmentCode = inpatientInfo.InDepartmentName, }; var diagnosisData = CommonHelp.GetDiagnosis(param.DiagnosisList); iniParam.AdmissionMainDiagnosisIcd10 = diagnosisData.AdmissionMainDiagnosisIcd10; iniParam.DiagnosisIcd10Two = diagnosisData.DiagnosisIcd10Two; iniParam.DiagnosisIcd10Three = diagnosisData.DiagnosisIcd10Three; iniParam.AdmissionMainDiagnosis = diagnosisData.DiagnosisDescribe; return(iniParam); }
/// <summary> /// 职工生育入院登记 /// </summary> /// <param name="param"></param> /// <returns></returns> public WorkerBirthHospitalizationRegisterDto WorkerBirthHospitalizationRegister(WorkerBirthHospitalizationRegisterUiParam param) { var userBase = _serviceBasicService.GetUserBaseInfo(param.UserId); userBase.TransKey = param.TransKey; var infoData = new GetInpatientInfoParam() { User = userBase, BusinessId = param.BusinessId, }; //获取病人 var inpatientData = _serviceBasicService.GetInpatientInfo(infoData); if (inpatientData == null) { throw new Exception("获取基层病人失败!!!"); } var paramIni = GetWorkerHospitalizationWorkerBirth(inpatientData, param); var data = _workerMedicalInsuranceRepository.WorkerBirthHospitalizationRegister(paramIni); if (data == null) { throw new Exception("职工生育入院登记未反馈数据!!!"); } var saveData = new MedicalInsuranceDto { AdmissionInfoJson = JsonConvert.SerializeObject(paramIni), BusinessId = param.BusinessId, Id = Guid.NewGuid(), IsModify = false, InsuranceType = 310, MedicalInsuranceState = MedicalInsuranceState.MedicalInsuranceHospitalized, MedicalInsuranceHospitalizationNo = data.MedicalInsuranceInpatientNo, IsBirthHospital = 1, IdentityMark = param.IdentityMark, AfferentSign = param.AfferentSign }; ////存中间库 _medicalInsuranceSqlRepository.SaveMedicalInsurance(userBase, saveData); //回参构建 var xmlData = new HospitalizationRegisterXml() { MedicalInsuranceType = "1", MedicalInsuranceHospitalizationNo = data.MedicalInsuranceInpatientNo, InsuranceNo = null, }; var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData); var saveXml = new SaveXmlDataParam() { User = userBase, MedicalInsuranceBackNum = "zydj", MedicalInsuranceCode = "21", BusinessId = param.BusinessId, BackParam = strXmlBackParam }; //存基层 _webBasicRepository.SaveXmlData(saveXml); saveData.MedicalInsuranceState = MedicalInsuranceState.HisHospitalized; //更新中间库 _medicalInsuranceSqlRepository.SaveMedicalInsurance(userBase, saveData); //保存入院数据 infoData.IsSave = true; _serviceBasicService.GetInpatientInfo(infoData); return(data); }