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.

161 lines
5.8 KiB
C#

using DevComponents.DotNetBar;
using POSV.Card;
using POSV.Component;
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.Member
{
public partial class CardConsumeSummaryForm : BusinessForm
{
public CardConsumeSummaryForm()
{
InitializeComponent();
this.controlBox.Text = "卡类型消费汇总";
this.controlBox.ShowApplicationVersion = false;
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (this.DesignMode) return;
DefaultGridStyle.setSmallGridStyle(this.historyListTable);
this.Focus();
this.startPicker.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 00:00:00"));
this.endPicker.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
}
private void BtnQueryClick(object sender, EventArgs e)
{
CardConsumeType();
}
private void BtnExitClick(object sender, EventArgs e)
{
//先关闭父窗体
if (this.Owner != null)
{
this.Owner.Close();
}
//再关闭当前窗体
this.Close();
}
private void BtnTimeClick(object sender, EventArgs e)
{
var obj = sender as ButtonX;
var date = obj.Tag as string;
switch (date)
{
case "today":
this.startPicker.Value = DateTime.Now.Date;
this.endPicker.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
break;
case "yesterday":
this.startPicker.Value = DateTime.Now.AddDays(-1).Date;
this.endPicker.Value = DateTime.Parse(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59"));
break;
case "curWeek":
//本周
var dayOfWeek = (int)DateTime.Now.DayOfWeek - 1;
if (dayOfWeek == -1)
{
//周日
dayOfWeek = 6;
}
this.startPicker.Value = DateTime.Now.AddDays(-dayOfWeek).Date;
this.endPicker.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
break;
case "lastWeek":
//上周
dayOfWeek = (int)DateTime.Now.DayOfWeek - 1;
if (dayOfWeek == -1)
{
//周日
dayOfWeek = 6;
}
this.startPicker.Value = DateTime.Now.AddDays(-dayOfWeek - 7).Date;
this.endPicker.Value = DateTime.Parse(DateTime.Now.AddDays(-dayOfWeek - 1).ToString("yyyy-MM-dd 23:59:59"));
break;
case "curMonth":
//当月
var day = DateTime.Now.Day - 1;
this.startPicker.Value = DateTime.Now.AddDays(-day).Date;
this.endPicker.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
break;
case "lastMonth":
//当月
day = DateTime.Now.Day - 1;
this.startPicker.Value = DateTime.Now.AddDays(-day).AddMonths(-1).Date;
this.endPicker.Value = DateTime.Parse(DateTime.Now.AddDays(-day - 1).ToString("yyyy-MM-dd 23:59:59"));
break;
case "lastDay":
//前一天
var txtDate = Convert.ToDateTime(this.startPicker.Value);
this.startPicker.Value = txtDate.AddDays(-1).Date;
this.endPicker.Value = DateTime.Parse(txtDate.AddDays(-1).ToString("yyyy-MM-dd 23:59:59"));
break;
}
CardConsumeType();
}
private void OnCloseTouchClick(object sender, EventArgs e)
{
//先关闭父窗体
if (this.Owner != null)
{
this.Owner.Close();
}
//再关闭当前窗体
this.Close();
}
public void CardConsumeType()
{
try
{
var request = new CardConsumeTypeListRequest();
request.StartTime = this.startPicker.Value.ToString("yyyy-MM-dd HH:mm:ss");
request.EndTime = this.endPicker.Value.ToString("yyyy-MM-dd HH:mm:ss");
request.ShopNo = Global.Instance.Authc.StoreNo;
var response = CardUtils.CardConsumeTypeList(request);
//成功
if (response.Item1)
{
this.ShowToastNotify(this, response.Item2);
List<CardConsumeTypeListResponse> cardPointChangeResponse = response.Item3.List;
historyListTable.PrimaryGrid.DataSource = cardPointChangeResponse;
}
else
{
List<CardConsumeTypeListResponse> list = new List<CardConsumeTypeListResponse>();
historyListTable.PrimaryGrid.DataSource = list;
this.ShowToastNotify(this, response.Item2);
}
}
catch (Exception ex)
{
this.ShowToastNotify(this, "消费历史查询异常");
LOGGER.Error(ex, "消费历史查询异常");
}
}
private void ButtonOk_Click(object sender, EventArgs e)
{
CardConsumeType();
}
}
}