/*************************************** *基础资料:供应商信息列表 **************************************/ 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.Base; using WMS.Common; using WMS.Ctrl; using NPOI; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.IO; using System.Collections; using System.Reflection; using WMS.Business; using WMS.Business.SystemManage; using WMS.Business.Base; using WMS.Frm; namespace WMS.FrmBaseData { public partial class FrmProvider : FormBase { /// /// 供应商MODEL /// public static ProviderModel providerModel; /// /// 供应商数据源 /// List Sourcelist = new List(); List CopyList = new List(); List addList = new List(); /// /// 业务类型 /// int workflag;//0 增加 1 修改 2 删除 3 显示信息 string path = string.Empty; //private HSSFWorkbook _workbook; //private ISheet _sheet; List list; public FrmProvider() { InitializeComponent(); } /// /// 页面加载 /// /// /// private void FrmProvider_Load(object sender, EventArgs e) { FrmSelectModle = new ProviderModel(); BSProvidertab.DataSource = new ProviderModel(); BindGrid(); //try //{ // list = IBussFactory.Instance().GetDictionaryTab("providertype_lever"); //} //catch(Exception ex) //{ // SystemCommon.ShowInfoMessageBox("出错了:"+ex.Message); //} } /// /// 双击GRID,业务启动 /// /// /// private void GCProvider_DoubleClick(object sender, EventArgs e) { workflag = 1; if (GVProvider.FocusedRowHandle < 0) { return; } try { providerModel = GVProvider.GetRow(GVProvider.FocusedRowHandle) as ProviderModel; } catch (Exception ex) { MessageBox.Show("出错了:"+ex.Message); } //providerModel FrmProviderDet proDet = new FrmProviderDet(workflag, providerModel); proDet.ShowDialog(); BindGrid(); } /// /// 通用查询 /// /// public override void LoadListData(DataTable table) { //LoadForm load = new LoadForm(); //DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 30); Sourcelist = ConvertHelper.ConvertToList(table); GCProvider.DataSource = Sourcelist; GVProvider.RefreshData(); // DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm(); } /// /// 绑定GRID数据 /// private void BindGrid() { try { DataSet dtProvider = IBussFactory.Instance().getProviderDS(new ProviderModel()); Sourcelist = ConvertHelper.ConvertToList(dtProvider.Tables[0]); CopyList = Sourcelist.ToList(); if(Sourcelist!=null) { GCProvider.DataSource = Sourcelist; if(Sourcelist.Count>0) { string providerID = Sourcelist[0].PROVIDER_ID; BindProviderData(providerID); } } GVProvider.RefreshData(); BSProvidertab.DataSource = new ProviderModel(); } catch (Exception ex) { SystemCommon.ShowInfoMessageBox("加载供应商出错了:" + ex.Message); } } #region 以下是继承的按钮事件 /// /// 新增按钮 /// public void Add() { //调用实例化窗体 FrmOperator(0); } /// /// 删除按钮 /// public void Del() { if (GVProvider.FocusedRowHandle >= 0) { if (CopyList.Count(r => r.PROVIDER_ID == GVProvider.GetFocusedRowCellValue("PROVIDER_ID").ToString()) == 0) { Sourcelist.Remove(GVProvider.GetFocusedRow() as ProviderModel); addList.Remove(GVProvider.GetFocusedRow() as ProviderModel); } else { if (SystemCommon.ShowMessageBoxResult("确定要删除:" + GVProvider.GetFocusedRowCellValue("PROVIDER_NAME").ToString()) == System.Windows.Forms.DialogResult.OK) { string errtext = IBussFactory.Instance().execProviderDel(GVProvider.GetFocusedRow() as ProviderModel); if (!string.IsNullOrEmpty(errtext)) { SystemCommon.ShowErrorMessageBox(errtext); } else { SystemCommon.ShowInfoMessageBox("删除成功!"); BindGrid(); } } } } } /// /// 修改按钮 /// public void Edit() { //调用实例化窗体 FrmOperator(1); } /// /// 刷新按钮 /// public void Refresh() { BindGrid(); } /// /// 查询按钮 /// public void Search() { FrmSelect frm = new FrmSelect(this.FrmSelectModle); if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK) { this.LoadListData(frm.SelectData); } } /// /// 保存导入 /// public void Save() { if(addList!=null) { if(addList.Count>0) { string errText= IBussFactory.Instance().AddProiderData(addList); if(errText.Trim().Length>0) { SystemCommon.ShowInfoMessageBox("保存失败"); return; } BindGrid(); } } } /// /// 导入 /// public void Import() { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Title = "导入供应商资料"; //fileDialog.Filter = "Excel文件(*.xls)|*.xls"; fileDialog.Filter = "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx"; DialogResult dialogResult = fileDialog.ShowDialog(this); if (dialogResult == DialogResult.OK) { LoadForm load = new LoadForm(); DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 50); DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("正在加载数据,请稍等...."); Hashtable ht = new Hashtable(); ht.Add("PROVIDER_ID", "供应商代码"); ht.Add("PROVIDER_NAME", "供应商名称"); //ht.Add("PROVIDER_LEVEL", "供应商等级"); // ht.Add("Goods_ID", "物料编号"); // ht.Add("GOODS_PRICE", "标准价格"); addList = NPOIHelper.Import(fileDialog, ht); if (addList != null) { if (addList.Count > 0) { Sourcelist.InsertRange(0, addList); GVProvider.RefreshData(); frmButtonItem["Save"].Enabled = true; workflag = 0; } } DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm(); } } #endregion #region 操作(增、改、删) /// /// 操作(增、改、删) /// /// 0 新增 1修改 2删除/param> private void FrmOperator(int flag) { FrmProviderDet proDet; if (flag == 0) { proDet = new FrmProviderDet(flag, new ProviderModel()); proDet.ShowDialog(); BindGrid(); } else { workflag = flag; GCProvider_DoubleClick(null, null); } } #endregion /// /// 显示改变 /// /// /// private void GVProvider_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { //if (e.Value != null && e.Value != DBNull.Value) //{ // if (e.Column.FieldName == "PROVIDER_LEVEL") // { // foreach (WMS.Model.SystemManage.DictionaryTabModel m in list) // { // if (e.Value.ToString() == m.VC_CHAR_VALUE) // { // e.DisplayText = m.VC_DICTIONARY_NAME; // return; // } // } // } //} } void BindProviderData(string provider) { List DataGoods= IBussFactory.Instance().GetGoodsData(provider); if(DataGoods!=null) { goodsInfoModelBindingSource.DataSource = DataGoods; } } private void GVProvider_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e) { if(GVProvider.RowCount==0) { return; } if(GVProvider.FocusedRowHandle<0) { return; } string providerID = GVProvider.GetFocusedRowCellValue("PROVIDER_ID").ToString(); BindProviderData(providerID); } } }