Ejemplo n.º 1
0
        private string GeneratePayData()
        {
            List <t_pos_payflow> pays = new List <t_pos_payflow>();
            t_pos_payflow        pay  = new t_pos_payflow();

            pay.branch_no   = "004";
            pay.card_no     = "15020364165";
            pay.coin_rate   = 0;
            pay.coin_type   = "";
            pay.com_flag    = "1";
            pay.convert_amt = 0m;
            pay.flow_id     = 1;
            pay.flow_no     = "0041408160001";
            pay.memo        = "tetst";
            pay.oper_date   = ExtendUtility.Instance.ParseToDateTime(System.DateTime.Now.ToShortDateString());
            pay.oper_id     = "1020";
            pay.pay_amount  = 150;
            pay.pay_name    = "人民币";
            pay.pay_way     = "RMB";
            pay.pos_id      = "1001";
            pay.sale_amount = 150;
            pay.sale_way    = "A";
            pay.vip_no      = "";
            pay.voucher_no  = "";
            pays.Add(pay);
            string result = JsonUtility.Instance.ObjectToJson <t_pos_payflow>(pays);

            return(result);
        }
Ejemplo n.º 2
0
 /// <param name="_payFlow">组合的支付信息</param>
 /// <param name="isAdd">是否是添加支付流水</param>
 /// <param name="isF">是否是回款</param>
 public FrmPayWayAlter(t_pos_payflow _payFlow, bool isAdd, bool isF)
 {
     InitializeComponent();
     this._payflow = _payFlow;
     this._isAdd   = isAdd;
     this._isF     = isF;
     if (!isAdd)
     {
         this.txtAmount.Text = _payFlow.pay_amount.ToString();
     }
 }
Ejemplo n.º 3
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            if (!PosServericeBll.Instance.TestConnect())
            {
                MessageBox.Show("断网状态,操作取消!", Gattr.AppTitle);
            }
            else
            {
                if (string.IsNullOrEmpty(this.txtAmount.Text.Trim()))
                {
                    MessageBox.Show("金额不能为空!");
                    this.txtAmount.Focus();
                }
                else
                {
                    decimal amount = 0M;
                    amount = Convert.ToDecimal(this.txtAmount.Text.Trim()) * Convert.ToDecimal((this.cbPayName.SelectedItem as ListItem).Value.Trim());
                    if (amount <= 0M)
                    {
                        MessageBox.Show("金额必须大于零!", Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.txtAmount.SelectAll();
                        this.txtAmount.Focus();
                    }
                    else if (amount > 999999999M)
                    {
                        MessageBox.Show("金额值过大!", Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.txtAmount.SelectAll();
                        this.txtAmount.Focus();
                    }
                    else
                    {
                        if (this.rbPayOut.Checked)
                        {
                            amount = -amount;
                        }
                        try
                        {
                            string               flowNo   = Gfunc.GetFlowNo();
                            ListItem             item     = this.cbPayName.SelectedItem as ListItem;
                            string               pay_name = item.Key.Substring(item.Key.LastIndexOf("]") + 1);
                            List <t_pos_payflow> _listPay = new List <t_pos_payflow>();
                            t_pos_payflow        _pay     = new t_pos_payflow();
                            _pay.flow_id     = 1;
                            _pay.flow_no     = flowNo;
                            _pay.branch_no   = Gattr.BranchNo;
                            _pay.sale_way    = "A";
                            _pay.sale_amount = amount;
                            _pay.pay_way     = (this.cbPayName.SelectedItem as ListItem).Key.Substring(1, (this.cbPayName.SelectedItem as ListItem).Key.IndexOf("]") - 1);
                            _pay.oper_date   = DateTime.Now.ToString("s");
                            _pay.oper_id     = Gattr.OperId;
                            _pay.pos_id      = Gattr.PosId;
                            _pay.pay_amount  = amount;
                            _pay.coin_rate   = 1M;
                            _pay.convert_amt = amount;
                            _pay.memo        = this.txtMemo.Text.Trim();
                            _pay.coin_type   = "RMB";
                            _pay.com_flag    = "1";
                            _pay.pos_flag    = "1";
                            _pay.pay_name    = pay_name;
                            _listPay.Add(_pay);
                            Dictionary <string, object> _dic = Gfunc.GetServiceParameter();
                            string pay = JsonUtility.Instance.ObjectToJson <t_pos_payflow>(_listPay);
                            _dic.Add("pay", pay);
                            bool   isok         = true;
                            string errorMessage = string.Empty;
                            if (PosServericeBll.Instance.TestConnect())
                            {
                                string json = PServiceProvider.Instance.InvokeMethod(Gattr.serverUrl + "/Addflow", _dic, ref isok, ref errorMessage);
                                if (isok)
                                {
                                    if (!string.IsNullOrEmpty(json))
                                    {
                                        string message = string.Empty;
                                        switch (json)
                                        {
                                        case "-10":
                                            message = "参数错误";
                                            break;

                                        case "-20":
                                            message = "权限不足";
                                            break;

                                        case "1":
                                            //TODO :保存数据本地
                                            _pay.com_flag = "1";
                                            if (Gattr.Bll.SaveNonTrading(_pay))
                                            {
                                                Gfunc.SetFlowNo();
                                                message = "付款成功";
                                                bool isok1 = true;
                                                if (this.rbPayOut.Checked)
                                                {
                                                    isok1 = false;
                                                }
                                                this.Print(_pay.flow_no, isok1, _pay.pay_name, _pay.pay_amount.Value, _pay.memo);
                                                DialogResult = System.Windows.Forms.DialogResult.OK;
                                                //MessageBox.Show(message, Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                                LoggerHelper.Log("MsmkLogger", System.DateTime.Now.ToString() + "【" + Gattr.OperId + "】进行非交易记录!" + _pay.sale_amount + "元", LogEnum.SysLog);
                                            }
                                            break;

                                        default:
                                            message = "付款失败";
                                            break;
                                        }
                                        if (json != "1")
                                        {
                                            MessageBox.Show("付款失败!", Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("付款失败!", Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                    }
                                }
                                else
                                {
                                    MessageBox.Show(errorMessage, Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                }
                            }
                            else
                            {
                                if (Gattr.Bll.SaveNonTrading(_pay))
                                {
                                    Gfunc.SetFlowNo();
                                    string message = "付款成功";
                                    bool   isok1   = true;
                                    if (this.rbPayOut.Checked)
                                    {
                                        isok1 = false;
                                    }
                                    this.Print(_pay.flow_no, isok1, _pay.pay_name, _pay.pay_amount.Value, _pay.memo);
                                    DialogResult = System.Windows.Forms.DialogResult.OK;
                                    MessageBox.Show(message, Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                }
                                else
                                {
                                    MessageBox.Show("付款失败!", Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                }
                            }
                        }
                        catch
                        {
                            MessageBox.Show("付款失败!", Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        }
                    }
                }
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 /// 根据支付流水的ID来更新支付流水
 /// </summary>
 /// <returns>是否更新成功</returns>
 public bool UpdatePayFlowByFid(t_pos_payflow _payFlow)
 {
     return(base._dal.UpdatePayFlowByFid(_payFlow));
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 更新挂账的回款状态  sale_way     E:未回款  EB:部分回款   EQ:全部回款
 /// </summary>
 /// <returns>是否更新成功</returns>
 public bool UpdatePayFlowStatus(t_pos_payflow _payFlow)
 {
     return(base._dal.UpdatePayFlowStatus(_payFlow));
 }
Ejemplo n.º 6
0
 /// <summary>
 /// 保存非交易支付流水
 /// </summary>
 /// <param name="_pay">支付流水</param>
 /// <returns>成功TRUE失败false</returns>
 public bool SaveNonTrading(t_pos_payflow _pay)
 {
     return(this._dal.SaveNonTrading(_pay));
 }
Ejemplo n.º 7
0
        /// <summary>
        /// 调整支付流水,添加或者修改
        /// </summary>
        /// <param name="payFlow">支付信息,此支付信息是拼合而成</param>
        /// <param name="isAdd">是否是增加支付信息</param>
        private void AddPayFow(t_pos_payflow payFlow, bool isAdd)
        {
            if (!PosServericeBll.Instance.TestConnect())
            {
                MessageBox.Show("断网状态,操作取消!", Gattr.AppTitle);
            }
            else
            {
                if (string.IsNullOrEmpty(this.txtAmount.Text.Trim()))
                {
                    MessageBox.Show("金额不能为空!");
                    this.txtAmount.Focus();
                }
                else
                {
                    decimal amount = 0M;
                    amount = Convert.ToDecimal(this.txtAmount.Text.Trim());
                    if (amount < 0M)
                    {
                        MessageBox.Show("金额必须大于等于零!", Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.txtAmount.SelectAll();
                        this.txtAmount.Focus();
                    }
                    else if (amount > payFlow.sale_amount)
                    {
                        MessageBox.Show("金额值过大!", Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        this.txtAmount.SelectAll();
                        this.txtAmount.Focus();
                    }
                    else
                    {
                        try
                        {
                            ListItem list  = (ListItem)this.cbox_PayWay.SelectedItem;
                            string   key   = list.Key;
                            int      index = key.IndexOf(']');
                            this._returnText = key.Substring(0, index).Substring(1);
                            string        flowNo   = payFlow.flow_no;
                            string        pay_name = list.Key.Substring(list.Key.LastIndexOf("]") + 1);
                            t_pos_payflow _pay     = new t_pos_payflow();
                            if (isAdd)
                            {
                                _pay.flow_id   = payFlow.flow_id + 1;
                                _pay.oper_date = System.DateTime.Now.ToString("s");
                                _pay.com_flag  = "0";
                            }
                            else
                            {
                                _pay.flow_id  = payFlow.flow_id;
                                _pay.com_flag = "1";
                            }
                            _pay.flow_no   = flowNo;
                            _pay.branch_no = payFlow.branch_no;
                            if (_isF)
                            {
                                _pay.sale_way = "F";
                            }
                            else
                            {
                                _pay.sale_way = "A";
                            }
                            _pay.sale_amount = payFlow.sale_amount;
                            _pay.pay_way     = _returnText;//支付方式
                            _pay.oper_id     = payFlow.oper_id;
                            _pay.pos_id      = payFlow.pos_id;
                            _pay.pay_amount  = amount;
                            _pay.coin_rate   = 1M;
                            _pay.convert_amt = amount;
                            _pay.memo        = this.txtMemo.Text.Trim();
                            _pay.coin_type   = _returnText;
                            _pay.pay_name    = pay_name;

                            bool   isOK    = false;
                            string message = string.Empty;
                            if (isAdd)
                            {
                                isOK    = Gattr.Bll.SaveNonTrading(_pay);
                                message = "添加";
                            }
                            else
                            {
                                Dictionary <string, object> _dic = Gfunc.GetServiceParameter();
                                //flow_no,flow_id,pay_way,pay_name,pay_amount
                                _dic.Add("flow_no", _pay.flow_no);
                                _dic.Add("flow_id", _pay.flow_id);
                                _dic.Add("pay_way", _pay.pay_way);
                                _dic.Add("pay_name", _pay.pay_name);
                                _dic.Add("pay_amount", _pay.pay_amount);
                                string errorMessage = string.Empty; bool isok = false;
                                string result = PServiceProvider.Instance.InvokeMethod(Gattr.serverUrl + "/Updatepayflow", _dic, ref isok, ref errorMessage);
                                message = "修改";
                                if (result == "1")
                                {
                                    LoggerHelper.Log("MsmkLogger", flowNo + message + "接口Updatepayflow更新支付成功", LogEnum.SysLog);
                                    isOK = Gattr.Bll.UpdatePayFlowByFid(_pay);
                                }
                                else
                                {
                                    LoggerHelper.Log("MsmkLogger", flowNo + message + "接口Updatepayflow更新失败", LogEnum.SysLog);
                                    isOK = false;
                                }
                            }

                            if (isOK)
                            {
                                MessageBox.Show(message + "支付成功", Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                LoggerHelper.Log("MsmkLogger", flowNo + message + "支付成功", LogEnum.SysLog);
                                DialogResult = System.Windows.Forms.DialogResult.OK;
                            }
                            else
                            {
                                MessageBox.Show(message + "支付失败!", Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                LoggerHelper.Log("MsmkLogger", flowNo + message + "支付失败", LogEnum.SysLog);
                            }
                        }
                        catch
                        {
                            MessageBox.Show("调整支付方式失败!", Gattr.AppTitle, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            LoggerHelper.Log("MsmkLogger", "修改支付----调整支付方式失败", LogEnum.ExceptionLog);
                        }
                    }
                }
            }
        }