|
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<FilterEntity> _filterList = new List<FilterEntity>();
|
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());
|
}
|
|
|
/// <summary>
|
/// 查询事件
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void ToolBarMenu1_btnQueryClick(object sender, EventArgs e)
|
{
|
var frm = new QLCX();
|
//赋值给明细表
|
frm.UpdateParent += (ss, ee) =>
|
{
|
var lst = new List<string>();
|
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();
|
}
|
|
/// <summary>
|
/// 刷新事件
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void ToolBarMenu1_btnLoadClick(object sender, EventArgs e)
|
{
|
|
//getPageList(1);
|
getPageList("0", DateTime.Now.AddMonths(-1).ToString(), DateTime.Now.ToString());
|
|
}
|
|
/// <summary>
|
/// </summary>
|
/// <param name="curPage">第几页</param>
|
/// <param name="pageSize">每页几条</param>
|
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<dynamic> _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<DataTable>(array.ToString());
|
|
|
List<DateTime> allDates = new List<DateTime>();
|
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);
|
}
|
|
}
|
}
|