public override decimal MedicalinsuranceCalculate(out string ticketNo, out PAY_PROCSTEP procStep) { //InvokeController(""); 调用控制器处理 ticketNo = "医保计算111"; procStep = PAY_PROCSTEP.ppsAutoFinshed; return(Convert.ToDecimal(33.59)); }
public override decimal FavorableCalculate(out string ticketNo, out PAY_PROCSTEP procStep) { //InvokeController(""); 调用控制器处理 ticketNo = "优惠111"; procStep = PAY_PROCSTEP.ppsHandFinsed; return(Convert.ToDecimal(20.23)); }
public override decimal MedicalinsuranceCalculatePers(out string ticketNo, out PAY_PROCSTEP procStep) { decimal mediaFee = (decimal)invokeController("GetMedicarePersPay"); //调用控制器处理 ticketNo = "医保计算111"; procStep = PAY_PROCSTEP.ppsAutoFinshed; return(mediaFee); }
/// <summary> /// 优惠计算 /// </summary> /// <param name="ticketNo>票据号</param> /// <param name="procStep">进程</param> /// <returns>优惠计算金额</returns> public override decimal FavorableCalculate(out string ticketNo, out PAY_PROCSTEP procStep) { ticketNo = "优惠111"; procStep = PAY_PROCSTEP.ppsHandFinsed; if (!isFirst) { decimal promFee = (decimal)invokeController("PromFeeCaculate"); return(promFee); } else { isFirst = false; return(0); } }
/// <summary> /// 收费费用明细字符串组合 /// </summary> //public int[] FeeIDs; /// <summary> /// 医保结算号 /// </summary> //public String SoCityNum; #region 支付线程函数 /// <summary> /// 全自动数据接口支付线程函数 /// </summary> public void ExecAutoDataItfPay() { try { if (paymentCalculate != null) { switch (PayMethodID) { case 1005: //优惠 PayFee = paymentCalculate.FavorableCalculate(out TicketNo, out ProcStep); //优惠在前台调用,医保病人优惠需扣除医保支付金额 break; case 1007: //医保报销 1006 医保刷卡 PayFee = paymentCalculate.MedicalinsuranceCalculate(out TicketNo, out ProcStep); break; case 1006: //医保刷卡 PayFee = paymentCalculate.MedicalinsuranceCalculatePers(out TicketNo, out ProcStep); break; default: PayFee = 0; TicketNo = ""; ProcStep = PAY_PROCSTEP.ppsAutoFinshed; break; } Succeed = true; WindowsAPI.SendMessage(Handle, UCPayMode2.WM_PAY_STATUS, 1, 0);//发送消息 } else { throw new Exception("没有给自动计算支付方式金额对象赋值"); } } catch (ThreadAbortException e) { LastErrorMessage = String.Format("支付线程错误:{0}", e.Message); Succeed = false; WindowsAPI.SendMessage(Handle, UCPayMode2.WM_PAY_STATUS, 0, 0);//发送消息 } catch (Exception err) { Succeed = false; WindowsAPI.SendMessage(Handle, UCPayMode2.WM_PAY_STATUS, 0, 0);//发送消息 LastErrorMessage = String.Format("支付线程错误:{0}", err.Message); } }
/// <summary> /// 医保刷卡报销 /// </summary> /// <returns></returns> public virtual decimal MedicalinsuranceCalculatePers(out string ticketNo, out PAY_PROCSTEP procStep) { ticketNo = ""; procStep = PAY_PROCSTEP.ppsHandFinsed; return(0); }
/// <summary> /// 优惠计算 /// </summary> /// <returns></returns> public virtual decimal FavorableCalculate(out string ticketNo, out PAY_PROCSTEP procStep) { ticketNo = ""; procStep = PAY_PROCSTEP.ppsHandFinsed; return(0); }