using DevComponents.DotNetBar; using POS.Language.Language; using POSV.Component; using POSV.Entity; using POSV.Helper; using POSV.StoreBusiness; 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 SalesDayDetailSummary : BusinessForm { public SalesDayDetailSummary() { InitializeComponent(); Initialize(); } private void Initialize() { DefaultGridStyle.setDefaultGridStyle(this.salesListTable); this.startPicker.Value = DateTime.Parse(Global.Instance.BusinessPlan.StartTimeSimple); this.endPicker.Value = DateTime.Parse(Global.Instance.BusinessPlan.EndTimeSimple); this.pagerControl1.SetRowsPerPageList(new List() { "100", "300", "500" }); InitializeCategory(); GetData(); } private int pageNumber = 1;// 当前页码 private int pageSize = 100;// 每页展示 private int totalCount = 0;// 总条数 private int pageCount = 0;// 总页数 SalesDayDetailSummaryRequest request = null; /// /// 初始化商品大类控件 /// private void InitializeCategory() { try { using (var db = Global.Instance.OpenDataBase) { var sql = "select * from pos_product_type where parentId in ('',null) and products > 0"; var _data = db.Query(sql).ToList(); if (_data == null || _data.Count() == 0) { this.ShowToastNotify(this, LangProxy.ToLang("目前没有商品大类数据")); return; } _data.Add(new ProductType() { Id = "", Name = LangProxy.ToLang("全部类别") }); _data.Sort((a, b) => a.Id.CompareTo(b.Id)); this.comProducttype.DataSource = _data.ToList(); this.comProducttype.ValueMember = "Name"; } } catch (Exception ex) { LOGGER.Info(ex); this.ShowToastNotify(this, ex.Message); } } private void ButtonOk_Click(object sender, EventArgs e) { this.GetData(); } public void GetData() { request = new SalesDayDetailSummaryRequest(); request.StartDate = this.startPicker.Value.ToString("yyyy-MM-dd HH:mm:ss"); request.EndDate = this.endPicker.Value.ToString("yyyy-MM-dd HH:mm:ss"); request.ProductNo = this.txtProductNo.Text; request.SeriesId = (this.comProducttype.SelectedItem as ProductType).Id; request.StoreId = Global.Instance.Authc.StoreId; request.PageNumber = this.pageNumber; request.PageSize = this.pageSize; var _data = StoreBusinessUtils.SalesOrderSummary(request); if (_data.Item1) { this.pageCount = _data.Item3.PageCount; this.pageNumber = _data.Item3.PageNumber; this.pageSize = _data.Item3.PageSize; this.totalCount = _data.Item3.TotalCount; this.pagerControl1.TotalPage = totalCount; this.pagerControl1.CurrentPage = pageNumber; this.pagerControl1.RecordCount = totalCount; this.pagerControl1.RowsPerPage = pageSize; _data.Item3.List.Add(new SalesDayDetailSummaryResponse() { ProductName = LangProxy.ToLang("合计"), Count = _data.Item3.List.Sum(f => f.Count), Amount = _data.Item3.List.Sum(f => f.Amount), DiscountTotal = _data.Item3.List.Sum(f => f.DiscountTotal), Receivable = _data.Item3.List.Sum(f => f.Receivable) }); this.salesListTable.PrimaryGrid.DataSource = _data.Item3.List; } else { this.ShowToastNotify(this, _data.Item2); } } private void pagerControl1_PageChangeWithObject(object obj) { PagerControl pager = obj as PagerControl; totalCount = pager.RecordCount; pageNumber = pager.CurrentPage; pageCount = pager.TotalPage; pageSize = pager.RowsPerPage; GetData(); } 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 btn_time_Click(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; } this.GetData(); } private void buttonX8_Click(object sender, EventArgs e) { var _data = this.salesListTable.PrimaryGrid.DataSource as List; if (_data == null) { return; } var _variable = ReportHelper.SalesDayDetailSummaryVariable(_data, this.request); Tuple result = ReportHelper.PrinterTicket("单品汇总", _variable, true, false); this.ShowToastNotify(this, string.Format("{0}", result.Item2)); } } }