BaoKai_202508_Wms_Jingwang_.../WMS.FrmReport/FrmMIStockSearch.cs
2025-08-24 21:52:42 +08:00

318 lines
9.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
using WMS.Frm.Base;
using WMS.Model.Stock;
using WMS.Common;
using System.Collections;
using WMS.Model.Base;
using DevExpress.XtraCharts;
using System.Threading;
using DevExpress.Utils;
using WMS.Business;
using WMS.Business.Report;
using WMS.Business.Stock;
namespace WMS.FrmReport
{
public partial class FrmMIStockSearch : FormBase
{
/// <summary>
/// 库存Model
/// </summary>
MIStockModel miStockModel = new MIStockModel();
/// <summary>
/// 库存List
/// </summary>
List<MIStockModel> miStockList = new List<MIStockModel>();
public StorageAreaLocationModel loc;
/// <summary>
/// 无参构造
/// </summary>
public FrmMIStockSearch()
{
InitializeComponent();
}
/// <summary>
/// 通用查询
/// </summary>
/// <param name="table"></param>
public override void LoadListData(DataTable table)
{
miStockList = ConvertHelper<MIStockModel>.ConvertToList(table);
GVMiStock.RefreshData();
}
/// <summary>
/// 窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void FrmMIStockSearch_Load(object sender, EventArgs e)
{
BindMiStockData( );
}
/// <summary>
/// 绑定库存数据
/// </summary>
/// <param name="mistock"></param>
public void BindMiStockData()
{
new Thread(delegate()
{
string errText = string.Empty;
try
{
this.Invoke(new MethodInvoker(delegate
{
miStockList = IBussFactory<BussMIStockSearch>.Instance().GetMiStockForLookUp();
if (miStockList != null)
{
bgsStock.DataSource = miStockList;
}
}));
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("error");
}
}).Start();
}
/// <summary>
/// 构造函数 传参查询
/// </summary>
/// <param name="lo"></param>
public void BindMiStockDataByLoc(StorageAreaLocationModel lo)
{
new Thread(delegate()
{
string errText = string.Empty;
try
{
this.Invoke(new MethodInvoker(delegate
{
miStockModel = new MIStockModel();
miStockModel.STORAGE_ID = lo.STORAGE_ID;
miStockModel.AREA_ID = lo.STORAGE_AREA_ID;
miStockModel.LOCATION_ID = lo.LOCATION_ID;
// miStockList = new List<MIStockModel>();
miStockList.Clear();
miStockList = IBussFactory<BussMIStockSearch>.Instance().GetMiStockForLookUp();
if (miStockList != null)
{
GCMiStock.DataSource = miStockList;
GVMiStock.RefreshData();
if (miStockList.Count > 0)
{
foreach (MIStockModel item in miStockList)
{
item.DUE_DATE = item.PRODUCTION_DATE.AddMonths(Convert.ToInt32(item.PERIOD));
}
bgsStock.DataSource = miStockList;
}
}
}));
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("获取数据失败,请检查网络连接!");
}
}).Start();
}
/// <summary>
/// 刷新
/// </summary>
public void Refresh()
{
BindMiStockData();
}
/// <summary>
/// 导出
/// </summary>
public void Export()
{
GCMiStock.ShowExportDialog();
}
/// <summary>
/// 导入
/// </summary>
public void Import()
{
OpenFileDialog fileDialog = new OpenFileDialog();
fileDialog.Title = "Import";
fileDialog.Filter = "Excel(*.xls;*.xlsx)|*.xls;*.xlsx";
DialogResult dialogResult = fileDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
Hashtable ht = new Hashtable();
ht.Add("GOODS_ID", "GOODS ID");
ht.Add("GOODS_NAME", "GOODS_NAM");
ht.Add("SHELVES_NUM", "Qty");
ht.Add("DOCCTNUMBER", "Sheet_no");
ht.Add("LOCATION_ID", "LOCATION");
ht.Add("CTl", "Pallet");
List<MIStockModel> list = NPOIHelper<MIStockModel>.Import(fileDialog, ht);
//if (list == null)
//{
// return;
//}
//list.RemoveAll(p => string.IsNullOrEmpty(p.LOCATION_ID));//p.SHELVES_NUM == 0 ||
if (list.Count > 0)
{ //保存
string errText = string.Empty;
try
{
errText = IBussFactory<BussMIStock>.Instance().AddMIStockList(list);
}
catch (Exception)
{
SystemCommon.ShowErrorMessageBox("error");
return;
}
if (errText.Trim().Length== 0)
{
SystemCommon.ShowInfoMessageBox("sucess");
Refresh();
}
else
{
SystemCommon.ShowErrorMessageBox(errText);
Refresh();
}
}
}
}
/// <summary>
/// 清空按钮
/// </summary>
public void Clear()
{
}
/// <summary>
/// 条件查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void Search()
{
GCMiStock.Focus();
BindMiStockData();
}
private void btnSearch_Click(object sender, EventArgs e)
{
// chartControl1.Series.Clear();
}
private void GVMiStock_DoubleClick(object sender, EventArgs e)
{
// xtraTabControl1.SelectedTabPageIndex = 1;
// chartControl1.Series.Clear();
MIStockModel m = this.GVMiStock.GetFocusedRow() as MIStockModel;
// xtraTabPage2.Text = m.GOODS_NAME + " - 商品走势";
MIStockBackModel mm = new MIStockBackModel();
List<MIStockBackModel> llist = new List<MIStockBackModel>();
mm.GOODS_ID = m.GOODS_ID;
mm.STORAGE_ID = m.STORAGE_ID;
mm.AREA_ID = m.AREA_ID;
mm.LOCATION_ID = m.LOCATION_ID;
mm.TIMESTART = Convert.ToDateTime(DateTime.Now.AddDays(-(DateTime.Now.Day - 1)).AddMonths(-1).ToString("yyyy-MM-dd"));
mm.TIMEEND = DateTime.Now;
string errText = string.Empty;
string strResult = string.Empty;
try
{
llist = IBussFactory<BussMIStockSearch>.Instance().DayReportData(mm);
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
}
private void GVBackReport_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
{
if (e.Column.FieldName == "OPERATOR_TYPE")
{
if (e.Value == null)
{
return;
}
switch (e.Value.ToString().Trim())
{
case "0":
e.DisplayText = "入库";
break;
case "1":
e.DisplayText = "出库";
break;
case "2":
e.DisplayText = "调整";
break;
default:
e.DisplayText = "其他";
break;
}
}
}
private void btnClear_Click(object sender, EventArgs e)
{ }
}
}