public ApiJsonResultData MedicalInsuranceXml([FromUri] MedicalInsuranceXmlUiParam param) { return(new ApiJsonResultData(ModelState, new UiInIParam()).RunWithTry(y => { var userBase = webServiceBasicService.GetUserBaseInfo(param.UserId); //更新医保信息 var strXmlIntoParam = XmlSerializeHelper.XmlParticipationParam(); //回参构建 var xmlData = new HospitalizationRegisterXml() { MedicalInsuranceType = "10", MedicalInsuranceHospitalizationNo = "44116476", }; var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData); var saveXmlData = new SaveXmlData(); saveXmlData.OrganizationCode = userBase.OrganizationCode; saveXmlData.AuthCode = userBase.AuthCode; saveXmlData.BusinessId = param.BusinessId; saveXmlData.TransactionId = Guid.Parse("E67C69F5-5FA8-438A-94EC-85E092CA56E9").ToString("N"); saveXmlData.MedicalInsuranceBackNum = "CXJB002"; saveXmlData.BackParam = CommonHelp.EncodeBase64("utf-8", strXmlBackParam); saveXmlData.IntoParam = CommonHelp.EncodeBase64("utf-8", strXmlIntoParam); saveXmlData.MedicalInsuranceCode = "21"; saveXmlData.UserId = userBase.UserId; //存基层 webServiceBasic.HIS_InterfaceList("38", JsonConvert.SerializeObject(saveXmlData)); })); }
/// <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); }
/// <summary> ///取消结算 /// </summary> /// <param name="param"></param> /// <returns></returns> public string WorkerSettlementCancel(WorkerSettlementCancelParam param) { string resultData = null; if (param.CancelLimit == "1") { //划卡取消 if (param.WorkersStrokeCardNo != null) { _workerMedicalInsuranceRepository.CancelWorkerStrokeCard(new CancelWorkersStrokeCardParam() { WorkersStrokeCardNo = param.WorkersStrokeCardNo, Operate = param.User.UserName, Remarks = param.CancelSettlementRemarks }); } // 结算取消 resultData = _workerMedicalInsuranceRepository.WorkerSettlementCancel(param); //取消交易id var cancelTransactionId = param.User.TransKey; //回参构建 var xmlData = new HospitalSettlementCancelXml() { SettlementNo = param.SettlementNo, }; var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData); var saveXml = new SaveXmlDataParam() { User = param.User, MedicalInsuranceBackNum = param.MedicalInsuranceHospitalizationNo, MedicalInsuranceCode = "42", BusinessId = param.BusinessId, BackParam = strXmlBackParam }; //存基层 _webBasicRepository.SaveXmlData(saveXml); var updateParam = new UpdateMedicalInsuranceResidentSettlementParam() { UserId = param.User.UserId, Id = param.Id, CancelTransactionId = cancelTransactionId, MedicalInsuranceState = MedicalInsuranceState.MedicalInsurancePreSettlement, CancelSettlementRemarks = param.CancelSettlementRemarks }; //存入中间层 _medicalInsuranceSqlRepository.UpdateMedicalInsuranceResidentSettlement(updateParam); //添加日志 var logParam = new AddHospitalLogParam() { JoinOrOldJson = JsonConvert.SerializeObject(param), ReturnOrNewJson = "{ yearSign= " + resultData + " }", User = param.User, Remark = "职工住院结算取消", RelationId = param.Id, }; _systemManageRepository.AddHospitalLog(logParam); } else if (param.CancelLimit == "2")//取消结算,并删除资料<==>删除资料与取消入院 { //回参构建 var xmlData = new HospitalizationRegisterXml() { MedicalInsuranceHospitalizationNo = param.MedicalInsuranceHospitalizationNo, }; var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData); var saveXml = new SaveXmlDataParam() { User = param.User, MedicalInsuranceBackNum = "Qxjs", MedicalInsuranceCode = "22", BusinessId = param.BusinessId, BackParam = strXmlBackParam }; //存基层 _webBasicRepository.SaveXmlData(saveXml); var updateParamData = new UpdateMedicalInsuranceResidentSettlementParam() { UserId = param.User.UserId, Id = param.Id, CancelTransactionId = param.User.TransKey, MedicalInsuranceState = MedicalInsuranceState.MedicalInsuranceCancelSettlement, IsHisUpdateState = true }; //更新中间层 _medicalInsuranceSqlRepository.UpdateMedicalInsuranceResidentSettlement(updateParamData); } //if (param.CancelLimit == "2") //取消结算,并删除资料<==>删除资料与取消入院 //{ // //回参构建 // var xmlData = new HospitalizationRegisterXml() // { // MedicalInsuranceHospitalizationNo = param.MedicalInsuranceHospitalizationNo, // }; // var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData); // var saveXml = new SaveXmlDataParam() // { // User = param.User, // MedicalInsuranceBackNum = "Qxjs", // MedicalInsuranceCode = "22", // BusinessId = param.BusinessId, // BackParam = strXmlBackParam // }; // //存基层 // _webBasicRepository.SaveXmlData(saveXml); // var updateParamData = new UpdateMedicalInsuranceResidentSettlementParam() // { // UserId = param.User.UserId, // Id = param.Id, // CancelTransactionId = cancelTransactionId, // MedicalInsuranceState = MedicalInsuranceState.MedicalInsuranceCancelSettlement, // IsHisUpdateState = true // }; // //更新中间层 // _medicalInsuranceSqlRepository.UpdateMedicalInsuranceResidentSettlement(updateParamData); //} return(resultData); }
/// <summary> /// 入院登记 /// </summary> /// <returns></returns> public void HospitalizationRegister(ResidentHospitalizationRegisterUiParam param) { //his登陆 var userBase = _webserviceBasicService.GetUserBaseInfo(param.UserId); userBase.TransKey = param.TransKey; var infoData = new GetInpatientInfoParam() { User = userBase, BusinessId = param.BusinessId, }; //获取医保病人 var inpatientData = _webserviceBasicService.GetInpatientInfo(infoData); var registerParam = GetResidentHospitalizationRegisterParam(param, inpatientData); var residentData = _residentMedicalInsuranceRepository.HospitalizationRegister(registerParam); var saveData = new MedicalInsuranceDto { AdmissionInfoJson = JsonConvert.SerializeObject(registerParam), BusinessId = param.BusinessId, Id = Guid.NewGuid(), InsuranceType = 342, MedicalInsuranceHospitalizationNo = residentData.MedicalInsuranceInpatientNo, MedicalInsuranceState = MedicalInsuranceState.MedicalInsuranceHospitalized, AfferentSign = param.AfferentSign, IdentityMark = param.IdentityMark }; //保存中间库 _medicalInsuranceSqlRepository.SaveMedicalInsurance(userBase, saveData); //回参构建 var xmlData = new HospitalizationRegisterXml() { MedicalInsuranceType = "10", MedicalInsuranceHospitalizationNo = residentData.MedicalInsuranceInpatientNo, InsuranceNo = null, }; var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData); var saveXml = new SaveXmlDataParam() { User = userBase, MedicalInsuranceBackNum = "CXJB002", MedicalInsuranceCode = "21", BusinessId = param.BusinessId, BackParam = strXmlBackParam }; //存基层 _webBasicRepository.SaveXmlData(saveXml); //更新中间库 saveData.MedicalInsuranceState = MedicalInsuranceState.HisHospitalized; _medicalInsuranceSqlRepository.SaveMedicalInsurance(userBase, saveData); //日志 var logParam = new AddHospitalLogParam { User = userBase, RelationId = saveData.Id, JoinOrOldJson = JsonConvert.SerializeObject(param), ReturnOrNewJson = JsonConvert.SerializeObject(residentData), BusinessId = param.BusinessId, Remark = "医保入院登记;TransactionId:" + userBase.TransKey }; _systemManageRepository.AddHospitalLog(logParam); //保存入院数据 infoData.IsSave = true; _webserviceBasicService.GetInpatientInfo(infoData); }
/// <summary> /// 取消医保出院结算 /// </summary> /// <param name="param"></param> /// <param name="infoParam"></param> /// <returns></returns> public void LeaveHospitalSettlementCancel(LeaveHospitalSettlementCancelParam param, LeaveHospitalSettlementCancelInfoParam infoParam) { var cancelLimit = param.CancelLimit; if (param.CancelLimit == "1") { Cancel(param); var updateParam = new UpdateMedicalInsuranceResidentSettlementParam() { UserId = infoParam.User.UserId, Id = infoParam.Id, CancelTransactionId = infoParam.User.TransKey, MedicalInsuranceState = MedicalInsuranceState.MedicalInsurancePreSettlement }; //存入中间层 _medicalInsuranceSqlRepository.UpdateMedicalInsuranceResidentSettlement(updateParam); //添加日志 var logParam = new AddHospitalLogParam() { JoinOrOldJson = JsonConvert.SerializeObject(param), User = infoParam.User, Remark = "居民住院结算取消", RelationId = infoParam.Id, }; //回参构建 var xmlData = new HospitalizationRegisterXml() { MedicalInsuranceHospitalizationNo = param.MedicalInsuranceHospitalizationNo, }; var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData); var saveXml = new SaveXmlDataParam() { User = infoParam.User, MedicalInsuranceBackNum = "CXJB011", MedicalInsuranceCode = "42", BusinessId = infoParam.BusinessId, BackParam = strXmlBackParam }; //存基层 _webBasicRepository.SaveXmlData(saveXml); } else if (param.CancelLimit == "2") //取消入院登记并删除资料 { Cancel(param); //回参构建 var xmlData = new HospitalizationRegisterCancelXml() { MedicalInsuranceHospitalizationNo = param.MedicalInsuranceHospitalizationNo }; var strXmlBackParam = XmlSerializeHelper.HisXmlSerialize(xmlData); var saveXml = new SaveXmlDataParam() { User = infoParam.User, MedicalInsuranceBackNum = "CXJB004", MedicalInsuranceCode = "22", BusinessId = infoParam.BusinessId, BackParam = strXmlBackParam }; //存基层 _webBasicRepository.SaveXmlData(saveXml); } void Cancel(LeaveHospitalSettlementCancelParam paramc) { var xmlStr = XmlHelp.SaveXml(paramc); if (xmlStr) { int result = MedicalInsuranceDll.CallService_cxjb("CXJB011"); if (result == 1) { var data = XmlHelp.DeSerializerModel(new IniDto(), true); } } } }