using Newtonsoft.Json.Linq; using PTMedicalInsurance.Helper; using PTMedicalInsurance.Variables; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace PTMedicalInsurance.Business { /// /// 住院费用明细上传 /// class InpatientFeeUploadProcess : AbstractProcess { public override CallResult Process(JObject input) { string errMsg = ""; //从医保平台获取患者详细的医保登记信息 if (mIS.queryRegisterInfo(1, out outParam) != 0) { return Exception("查询患者云平台登记信息", outParam); } JObject joReg = JObject.Parse(outParam); Global.pat.medType = JsonHelper.getDestValue(joReg, "data.MedicalType"); Global.pat.insuType = JsonHelper.getDestValue(joReg, "data.InsuType"); //先取消中心费用传送 cBus.cancleFeeUpload(TradeEnum.InpatientFeeCancel, out errMsg); //再删除医保传送表的数据 mIS.deleteFee(out errMsg); #region【住院费用上传前调用3101事前服务】 ////事前分析 //if (Global.curEvt.ext.isOpenAnalysis) //{ // if (hBus.PreAnalysis("4", "", out errMsg) != 0) // { // return Exception("事前分析", errMsg); // } //} if (Global.curEvt.ext.isOpenAnalysis) { if (hBus.PreAnalysis("4", "", out errMsg) != 0) { //rtnResult = JsonHelper.setExceptionJson(-1, "事前分析", errMsg).ToString(); //return rtnResult; DialogResult dr = MessageBox.Show("【3101】医保明细审核事前分析服务医保中心返回结果:" + errMsg + "!是否继续?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (dr != DialogResult.OK) { return Exception("事前分析", JsonHelper.setExceptionJson(-1, "【3101】医保明细审核事前分析服务调用失败:", errMsg).ToString()); } } } #endregion //开始进行费用传送 //调用HIS费用查询信息 if (hIS.getHisFee(Global.pat, out outParam) != 0) { return Exception("获取HIS费用", outParam); } //调用医保平台转换 JObject joHisFee = JObject.Parse(outParam); if (mIS.convertHisFeeWithInsuCode(joHisFee, out outParam) != 0) { return Exception("转换HIS费用", outParam); } JArray jaFeeDetail = JArray.Parse(JsonHelper.getDestValue(JObject.Parse(outParam), "data")); //按指定条数分割后上传,保存,更新 if (hBus.uploadFeeToCenter(TradeEnum.InpatientFeeUpload, 50, jaFeeDetail, out outParam) != 0) { return Exception("上传费用", outParam); } else { return IrisReturn("住院费用上传成功", null); } } } }