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) { } } }