using ComponentFactory.Krypton.Toolkit;
using NXWMS.Client.Code.Extends;
using NXWMS.Client.Model.AppModels.Condition.Balance;
using NXWMS.Client.Model.AppModels.Condition.Base;
using NXWMS.Client.Model.AppModels.Result;
using NXWMS.Client.Model.AppModels.Result.Balance;
using NXWMS.Client.Model.AppModels.Result.Base;
using NXWMS.Client.Model.CoreModels;
using NXWMS.Commons;
using NXWMS.Services;
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 NXWMS.Forms.Balance
{
public partial class frmBalanceStatisticsSearch : KryptonForm
{
///
/// 窗体类名
///
private string _CrrentClassName;
///
/// 客户端字段排序列表
///
private List _clientFieldOrderList;
///
/// 库区
///
private List regionList;
///
/// 物料类型列表
///
private List materielTypeList;
///
/// 单位列表
///
private List unitList;
public frmBalanceStatisticsSearch()
{
InitializeComponent();
_CrrentClassName = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName;
InitData();
InitControl();
_pageIndex = 1;
_pageSize = 20;
}
///
/// 控件初始化
///
private void InitControl()
{
CheckForIllegalCrossThreadCalls = false;
dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList), false);
var fieldList = new List().Add(new FieldValue { Code = "", Name = "全部" });
cmbSearchRegionCode.DataSource = fieldList.GetFieldValueCodeList(regionList, "REGION_CODE", "REGION_NAME");
cmbSearchRegionCode.DisplayMember = "Name";
cmbSearchRegionCode.ValueMember = "Code";
cmbSearchRegionCode.SelectedIndex = -1;
fieldList = new List().Add(new FieldValue { Code = "", Name = "全部" });
cmbSearchMaterielType.DataSource = fieldList.GetFieldValueCodeList(materielTypeList, "MATERIEL_TYPE_CODE", "MATERIEL_TYPE_NAME");
cmbSearchMaterielType.DisplayMember = "Name";
cmbSearchMaterielType.ValueMember = "Code";
cmbSearchMaterielType.SelectedIndex = -1;
fieldList = new List().Add(new FieldValue { Code = "", Name = "全部" });
cmbSearchUnit.DataSource = fieldList.GetFieldValueCodeList(unitList, "UNIT_CODE", "UNIT_NAME"); ;
cmbSearchUnit.DisplayMember = "Name";
cmbSearchUnit.ValueMember = "Code";
cmbSearchUnit.SelectedIndex = -1;
_pageIndex = 1;
_pageSize = 20;
}
///
/// 数据初始化
///
private void InitData()
{
var regionResult = BaseServices.regionService.GetList(new RegionSearchCondition { IsUsed = true, ItemSQL = "REGION_CODE,REGION_NAME" });
if (regionResult.Status == OperateStatus.Success)
{
regionList = regionResult.Data.RowData.ToList();
}
var materielTypeResult = BaseServices.materielTypeService.GetList(new MaterielTypeSearchCondition { IsUsed = true, ItemSQL = "MATERIEL_TYPE_CODE,MATERIEL_TYPE_NAME" });
if (materielTypeResult.Status == OperateStatus.Success)
{
materielTypeList = materielTypeResult.Data.RowData.ToList();
}
var unitResult = BaseServices.unitService.GetList(new UnitSearchCondition { IsUsed = true, ItemSQL = "UNIT_CODE,UNIT_NAME" });
if (unitResult.Status == OperateStatus.Success)
{
unitList = unitResult.Data.RowData.ToList();
}
_clientFieldOrderList = new List();
_clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "WarehouseName", FieldDesc = "仓库" });
_clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "RegionName", FieldDesc = "库区" });
_clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielTypeCode", FieldDesc = "物料类型编码" });
_clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielTypeName", FieldDesc = "物料类型名称" });
_clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielCode", FieldDesc = "物料编码" });
_clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "MaterielName", FieldDesc = "物料名称" });
_clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "UnitName", FieldDesc = "单位" });
_clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "BatchNo", FieldDesc = "批次号" });
_clientFieldOrderList.Add(new ClientFieldOrderResult { FieldName = "QTY", FieldDesc = "总数量" });
}
private void btnSearch_Click(object sender, EventArgs e)
{
_pageIndex = 1;
var loadfrm = new frmLoading();
loadfrm.Show();
//pageTool.Initialize(LoadSearch, 0, _pageSize);
var message = loadfrm.EventCalExec(LoadSearch, this.pageTool.PageIndex, this.pageTool.PageSize);
pageTool.DataCount = _totalCount;
if (!string.IsNullOrWhiteSpace(message))
{
KryptonMessageBox.Show($"查询失败!\r\n{message}", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
private int _pageSize;
private int _pageIndex;
private int _totalCount;
private string LoadSearch(int pageIndex, int pageSize)
{
var result = BalanceServices.balanceSearchService.GetStatisticsList(new BalanceStatisticsSearchCondition
{
OperationUserId = AppConfig.UserLoginResult.UserInfo.UserId,
MaterielType = cmbSearchMaterielType.GetObjectToString(),
BatchNo = txtSearchBatchNo.Text,
MaterielInfo = txtSearchMaterielInfo.Text,
RegionInfo = cmbSearchRegionCode.GetObjectToString(),
UnitCode = cmbSearchUnit.GetObjectToString(),
WarehouseInfo = txtSearchWarehouseInfo.Text,
PageIndex = pageIndex,
PageSize = pageSize
});
if (result.Status == OperateStatus.Success)
{
_totalCount = result.Data.TotalCount;
_pageIndex = pageIndex;
_pageSize = pageSize;
if (result.Data.RowData.Any())
{
dataGridView.Columns.Clear();
dataGridView.DataSource = result.Data.RowData.ToList();
dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList));
}
else
{
if (dataGridView.DataSource != null)
{
dataGridView.DataSource = new List();
}
dataGridView.BuildDataGridView(CommonUtil.GetFieldOrderDic(_clientFieldOrderList), false);
}
return string.Empty;
}
else
{
return result.Message;
}
}
private void btnSearchExport_Click(object sender, EventArgs e)
{
this.dataGridView.DataGridViewExport($"{AppConfig.CurrentMenu.FirstOrDefault().MenuName}列表" + DateTime.Now.ToString("yyyyMMddHH"));
}
}
}