You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
212 lines
6.9 KiB
C#
212 lines
6.9 KiB
C#
using DevComponents.DotNetBar.SuperGrid;
|
|
using POSV.Bean;
|
|
using POSV.Card;
|
|
using POSV.Component;
|
|
using POSV.Helper;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
namespace POSV.Report
|
|
{
|
|
public partial class IntegralReportForm : BusinessForm
|
|
{
|
|
public IntegralReportForm()
|
|
{
|
|
InitializeComponent();
|
|
|
|
DefaultGridStyle.setDefaultGridStyle(this.payListTable);
|
|
|
|
startPicker.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
|
|
}
|
|
|
|
private void buttonX10_Click(object sender, EventArgs e)
|
|
{
|
|
if (this.Owner != null)
|
|
{
|
|
this.Owner.Close();
|
|
}
|
|
this.Close();
|
|
}
|
|
|
|
private void controlBox1_CloseClick(object sender, EventArgs e)
|
|
{
|
|
buttonX10_Click(null, null);
|
|
}
|
|
|
|
private void controlBox1_MinimizedClick(object sender, EventArgs e)
|
|
{
|
|
this.WindowState = FormWindowState.Minimized;
|
|
}
|
|
|
|
List<PointExchangeDetailResponse> pointExchangeDetailData = null;
|
|
|
|
private void ButtonOk_Click(object sender, EventArgs e)
|
|
{
|
|
var _voucherNo = this.txtMemberInfo.Text;
|
|
|
|
if (!string.IsNullOrEmpty(_voucherNo))
|
|
{
|
|
var way = CardUtils.JudgeCardWay(Global.Instance.Worker.TenantId, _voucherNo);
|
|
if (way == MemberCardNoType.未知)
|
|
{
|
|
this.ShowMessage(this.lblInfo, "无法识别的卡号,请确认", true);
|
|
return;
|
|
}
|
|
|
|
string Property = string.Empty;
|
|
switch (way)
|
|
{
|
|
case MemberCardNoType.电子卡号:
|
|
{
|
|
Property = "scanCode";
|
|
}
|
|
break;
|
|
case MemberCardNoType.真实卡号:
|
|
{
|
|
Property = "cardNo";
|
|
}
|
|
break;
|
|
case MemberCardNoType.手机号:
|
|
{
|
|
Property = "mobile";
|
|
}
|
|
break;
|
|
case MemberCardNoType.卡面号:
|
|
{
|
|
Property = "surfaceNo";
|
|
}
|
|
break;
|
|
}
|
|
memberInfo = CardInfoMessage(Property, _voucherNo);
|
|
}
|
|
else
|
|
{
|
|
memberInfo = null;
|
|
}
|
|
|
|
|
|
|
|
PointExchangeDetailRequest pointExchangeDetail = new PointExchangeDetailRequest();
|
|
pointExchangeDetail.StartTime = this.startPicker.Value.ToString("yyyy-MM-dd HH:mm:ss");
|
|
pointExchangeDetail.EndTime = this.endPicker.Value.ToString("yyyy-MM-dd HH:mm:ss");
|
|
pointExchangeDetail.MemberId = memberInfo == null ? "" : memberInfo.Id;
|
|
pointExchangeDetail.Mobile = memberInfo == null ? "" : memberInfo.Mobile;
|
|
pointExchangeDetail.PosNo = Global.Instance.Authc.PosNo;
|
|
pointExchangeDetail.ShopNo = Global.Instance.Worker.StoreInfo.No;
|
|
pointExchangeDetail.PageNum = 1;
|
|
pointExchangeDetail.PageSize = 9999;
|
|
var _data = CardUtils.PointExchangeDetail(pointExchangeDetail);
|
|
|
|
if (_data.Item1)
|
|
{
|
|
var rowNo = 1;
|
|
_data.Item3.ForEach(f=> { f.RowNo = rowNo.ToString(); rowNo++; });
|
|
|
|
pointExchangeDetailData = _data.Item3;
|
|
|
|
payListTable.PrimaryGrid.DataSource = _data.Item3;
|
|
}
|
|
else
|
|
{
|
|
ShowMessage(this.lblInfo, _data.Item2, true);
|
|
}
|
|
}
|
|
|
|
MemberInfoQueryResponse memberInfo = null;
|
|
|
|
|
|
/// <summary>
|
|
/// 会员卡信息
|
|
/// </summary>
|
|
private MemberInfoQueryResponse CardInfoMessage(string property, string txtInput)
|
|
{
|
|
try
|
|
{
|
|
var request = new MemberInfoQueryRequest();
|
|
request.Property = property;
|
|
request.Keyword = txtInput;
|
|
request.ShopNo = Global.Instance.Authc.StoreNo;
|
|
request.PosNo = Global.Instance.Authc.PosNo;
|
|
request.WorkerNo = Global.Instance.Worker.No;
|
|
var response = CardUtils.MemberInfoQuery(request);
|
|
|
|
//成功
|
|
if (response.Item1)
|
|
{
|
|
|
|
MemberInfoQueryResponse memberInfoQueryResponse = response.Item3;
|
|
|
|
return memberInfoQueryResponse;
|
|
}
|
|
else
|
|
{
|
|
DialogForm dialog = new DialogForm("查询会员失败", response.Item2, MessageBoxIcon.None, MessageBoxButtons.OK);
|
|
dialog.ButtonOK.Text = "完成";
|
|
dialog.ShowDialog();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ShowMessage(this.lblInfo, "会员卡信息查询异常", true);
|
|
|
|
LOGGER.Error(ex, "会员卡信息查询异常");
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
private void buttonX8_Click(object sender, EventArgs e)
|
|
{
|
|
var panel = payListTable.PrimaryGrid;
|
|
|
|
if (panel.ActiveRow == null)
|
|
{
|
|
this.ShowToastNotify(this, "请选择一条数据打印");
|
|
return;
|
|
}
|
|
|
|
//提示
|
|
var row = panel.ActiveRow as GridRow;
|
|
|
|
var RowNo = row.Cells["RowNo"].Value.ToString();
|
|
|
|
if (string.IsNullOrEmpty(RowNo))
|
|
{
|
|
this.ShowToastNotify(this, "获取行号异常");
|
|
return;
|
|
}
|
|
|
|
if (pointExchangeDetailData == null || pointExchangeDetailData.Count == 0)
|
|
{
|
|
this.ShowToastNotify(this, "当前无数据可以打印");
|
|
return;
|
|
}
|
|
|
|
var _data = pointExchangeDetailData.FirstOrDefault(f => f.RowNo.Equals(RowNo));
|
|
if (_data == null)
|
|
{
|
|
this.ShowToastNotify(this, "选中的数据不存在");
|
|
return;
|
|
}
|
|
|
|
|
|
//构建收银小票模版参数打印
|
|
var vars = CardHelper.PointExchangeDetailVariable(_data);
|
|
|
|
//充值打印份数
|
|
int ticketCount = Global.Instance.GlobalConfigIntValue(ConfigConstant.PERIPHERAL_CASHIER_RECHARGE_COUNT, 1);
|
|
//打印延迟
|
|
int delaySecond = Global.Instance.GlobalConfigIntValue(ConfigConstant.PERIPHERAL_CASHIER_CARD_PRINT_DELAY, 1);
|
|
|
|
Tuple<bool, string> result = CardHelper.PrinterTicket("积分兑换", vars, true, false, ticketCount, delaySecond);
|
|
this.ShowToastNotify(this, string.Format("{0}", result.Item2));
|
|
}
|
|
}
|
|
}
|