using DevExpress.Pdf.Native.BouncyCastle.Utilities.Collections; using DevExpress.Utils; using DevExpress.Utils.DirectXPaint; using DevExpress.XtraEditors; using DevExpress.XtraGrid.Columns; using Gs.DevApp.DevFrm.BasicData; using Gs.DevApp.Entity; using Gs.DevApp.ToolBox; using Gs.DevApp.UserControl; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlTypes; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Gs.DevApp.DevFrm.Rpt { public partial class Frm_MesQL: DevExpress.XtraEditors.XtraForm { private List _filterList = new List(); private readonly string _webServiceName = "QL/"; public Frm_MesQL() { InitializeComponent(); toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick; toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick; this.toolBarMenu1.getXmlConfig(); Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, null, null, "", "", (value) => { }, tips); getPageList("0", DateTime.Now.AddMonths(-1).ToString(), DateTime.Now.ToString()); } private void GridView1_ColumnFilterChanged(object sender, EventArgs e) { _filterList = Gs.DevApp.ToolBox.UtilityHelper.GetDilter(gridView1.Columns, gridView1); Task.Delay(100); getPageList("0", DateTime.Now.AddMonths(-1).ToString(), DateTime.Now.ToString()); } /// /// 查询事件 /// /// /// private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e) { var frm = new QLCX(); //赋值给明细表 frm.UpdateParent += (ss, ee) => { var lst = new List(); lst = ee.StringList; string orgId = string.IsNullOrEmpty(lst[0]) ? "0" : lst[0]; string beginDate = string.IsNullOrEmpty(lst[1])? DateTime.Now.AddMonths(-1).ToString() : lst[1]; string endDate = string.IsNullOrEmpty(lst[2]) ? DateTime.Now.ToString() : lst[2]; getPageList(orgId, beginDate, endDate); }; frm.ShowDialog(); } /// /// 刷新事件 /// /// /// private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e) { //getPageList(1); getPageList("0", DateTime.Now.AddMonths(-1).ToString(), DateTime.Now.ToString()); } /// /// /// 第几页 /// 每页几条 private void getPageList(string orgId, string beginDate,string endDate) { var _obj = new { orgId = orgId,//主建 beginDate = beginDate, endDate = endDate }; gcMain1.DataSource = null; var _sbSqlWhere = UtilityHelper.GetSearchWhere(_filterList); try { var strReturn = UtilityHelper.HttpPost("", _webServiceName + "GetQLList", JsonConvert.SerializeObject(_obj)); ReturnModel _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strReturn); if (_rtn.rtnCode > 0) { dynamic dy = _rtn.rtnData; JObject _job = JObject.Parse(strReturn); JArray array = new JArray(); foreach (var a in _job["rtnData"]["list"]) { array.Add(a); } DataTable dt = JsonConvert.DeserializeObject(array.ToString()); List allDates = new List(); for (DateTime date = DateTime.Parse(beginDate); date < DateTime.Parse(endDate); date = date.AddDays(1)) { allDates.Add(date); } gridView1.Columns.Clear(); // 添加固定列 AddFixedColumns(); // 添加日期列 foreach (DateTime date in allDates) { string columnName = date.ToString("yyyy-MM-dd"); // 如果数据表中存在该列 if (dt.Columns.Contains(columnName)) { GridColumn colDate = new GridColumn(); colDate.FieldName = columnName; colDate.Caption = date.ToString("MM-dd"); colDate.Visible = true; colDate.OptionsColumn.AllowEdit = false; colDate.Width = 60; gridView1.Columns.Add(colDate); } } gcMain1.BindingContext = new BindingContext(); gridView1.ColumnFilterChanged -= GridView1_ColumnFilterChanged; if (dt.Rows.Count > 0) { gcMain1.DataSource = dt; gcMain1.ForceInitialize(); gridView1.BestFitColumns(); Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gridView1); } else UtilityHelper.SetDefaultTable(gcMain1, gridView1); } else ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg); } catch (Exception ex) { MsgHelper.Warning("提示:" + ex.Message); } } private void AddFixedColumns() { // 物料编码 GridColumn colMaterialCode = new GridColumn(); colMaterialCode.FieldName = "物料编码"; colMaterialCode.Caption = "物料编码"; colMaterialCode.Visible = true; colMaterialCode.OptionsColumn.AllowEdit = false; gridView1.Columns.Add(colMaterialCode); // 物料名称 GridColumn colMaterialName = new GridColumn(); colMaterialName.FieldName = "物料名称"; colMaterialName.Caption = "物料名称"; colMaterialName.Visible = true; colMaterialName.OptionsColumn.AllowEdit = false; gridView1.Columns.Add(colMaterialName); // 物料规格 GridColumn colMaterialSpec = new GridColumn(); colMaterialSpec.FieldName = "物料规格"; colMaterialSpec.Caption = "物料规格"; colMaterialSpec.Visible = true; colMaterialSpec.OptionsColumn.AllowEdit = false; gridView1.Columns.Add(colMaterialSpec); // 总需领量 GridColumn colTotalRequired = new GridColumn(); colTotalRequired.FieldName = "总需领量"; colTotalRequired.Caption = "总需领量"; colTotalRequired.Visible = true; colTotalRequired.OptionsColumn.AllowEdit = false; gridView1.Columns.Add(colTotalRequired); // 总已领量 GridColumn colTotalReceived = new GridColumn(); colTotalReceived.FieldName = "总已领量"; colTotalReceived.Caption = "总已领量"; colTotalReceived.Visible = true; colTotalReceived.OptionsColumn.AllowEdit = false; gridView1.Columns.Add(colTotalReceived); // 当前库存 GridColumn colCurrentStock = new GridColumn(); colCurrentStock.FieldName = "当前库存"; colCurrentStock.Caption = "当前库存"; colCurrentStock.Visible = true; colCurrentStock.OptionsColumn.AllowEdit = false; gridView1.Columns.Add(colCurrentStock); // 总欠料数量 GridColumn colTotalShortage = new GridColumn(); colTotalShortage.FieldName = "总欠料数量"; colTotalShortage.Caption = "总欠料数量"; colTotalShortage.Visible = true; colTotalShortage.OptionsColumn.AllowEdit = false; gridView1.Columns.Add(colTotalShortage); } } }