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));
 }
예제 #3
0
    public override decimal MedicalinsuranceCalculatePers(out string ticketNo, out PAY_PROCSTEP procStep)
    {
        decimal mediaFee = (decimal)invokeController("GetMedicarePersPay"); //调用控制器处理

        ticketNo = "医保计算111";
        procStep = PAY_PROCSTEP.ppsAutoFinshed;
        return(mediaFee);
    }
예제 #4
0
 /// <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);
     }
 }
예제 #5
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);
 }