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); }
/// <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(); } }
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); } } } } }
/// <summary> /// 根据支付流水的ID来更新支付流水 /// </summary> /// <returns>是否更新成功</returns> public bool UpdatePayFlowByFid(t_pos_payflow _payFlow) { return(base._dal.UpdatePayFlowByFid(_payFlow)); }
/// <summary> /// 更新挂账的回款状态 sale_way E:未回款 EB:部分回款 EQ:全部回款 /// </summary> /// <returns>是否更新成功</returns> public bool UpdatePayFlowStatus(t_pos_payflow _payFlow) { return(base._dal.UpdatePayFlowStatus(_payFlow)); }
/// <summary> /// 保存非交易支付流水 /// </summary> /// <param name="_pay">支付流水</param> /// <returns>成功TRUE失败false</returns> public bool SaveNonTrading(t_pos_payflow _pay) { return(this._dal.SaveNonTrading(_pay)); }
/// <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); } } } } }