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
{
///
/// 库存Model
///
MIStockModel miStockModel = new MIStockModel();
///
/// 库存List
///
List miStockList = new List();
public StorageAreaLocationModel loc;
///
/// 无参构造
///
public FrmMIStockSearch()
{
InitializeComponent();
}
///
/// 通用查询
///
///
public override void LoadListData(DataTable table)
{
miStockList = ConvertHelper.ConvertToList(table);
GVMiStock.RefreshData();
}
///
/// 窗体加载
///
///
///
public void FrmMIStockSearch_Load(object sender, EventArgs e)
{
BindMiStockData( );
}
///
/// 绑定库存数据
///
///
public void BindMiStockData()
{
new Thread(delegate()
{
string errText = string.Empty;
try
{
this.Invoke(new MethodInvoker(delegate
{
miStockList = IBussFactory.Instance().GetMiStockForLookUp();
if (miStockList != null)
{
bgsStock.DataSource = miStockList;
}
}));
}
catch (Exception)
{
SystemCommon.ShowInfoMessageBox("error");
}
}).Start();
}
///
/// 构造函数 传参查询
///
///
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();
miStockList.Clear();
miStockList = IBussFactory.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();
}
///
/// 刷新
///
public void Refresh()
{
BindMiStockData();
}
///
/// 导出
///
public void Export()
{
GCMiStock.ShowExportDialog();
}
///
/// 导入
///
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 list = NPOIHelper.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.Instance().AddMIStockList(list);
}
catch (Exception)
{
SystemCommon.ShowErrorMessageBox("error!");
return;
}
if (errText.Trim().Length== 0)
{
SystemCommon.ShowInfoMessageBox("sucess");
Refresh();
}
else
{
SystemCommon.ShowErrorMessageBox(errText);
Refresh();
}
}
}
}
///
/// 清空按钮
///
public void Clear()
{
}
///
/// 条件查询
///
///
///
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 llist = new List();
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.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)
{ }
}
}