356 lines
11 KiB
C#
356 lines
11 KiB
C#
/***************************************
|
||
*基础资料:供应商信息列表
|
||
**************************************/
|
||
|
||
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
|
||
{
|
||
/// <summary>
|
||
/// 供应商MODEL
|
||
/// </summary>
|
||
public static ProviderModel providerModel;
|
||
|
||
/// <summary>
|
||
/// 供应商数据源
|
||
/// </summary>
|
||
List<ProviderModel> Sourcelist = new List<ProviderModel>();
|
||
List<ProviderModel> CopyList = new List<ProviderModel>();
|
||
List<ProviderModel> addList = new List<ProviderModel>();
|
||
/// <summary>
|
||
/// 业务类型
|
||
/// </summary>
|
||
int workflag;//0 增加 1 修改 2 删除 3 显示信息
|
||
|
||
string path = string.Empty;
|
||
//private HSSFWorkbook _workbook;
|
||
//private ISheet _sheet;
|
||
List<WMS.Model.SystemManage.DictionaryTabModel> list;
|
||
|
||
public FrmProvider()
|
||
{
|
||
InitializeComponent();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 页面加载
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void FrmProvider_Load(object sender, EventArgs e)
|
||
{
|
||
FrmSelectModle = new ProviderModel();
|
||
BSProvidertab.DataSource = new ProviderModel();
|
||
BindGrid();
|
||
//try
|
||
//{
|
||
// list = IBussFactory<BussDictionaryTab>.Instance().GetDictionaryTab("providertype_lever");
|
||
//}
|
||
//catch(Exception ex)
|
||
//{
|
||
// SystemCommon.ShowInfoMessageBox("出错了:"+ex.Message);
|
||
//}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 双击GRID,业务启动
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
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();
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 通用查询
|
||
/// </summary>
|
||
/// <param name="table"></param>
|
||
public override void LoadListData(DataTable table)
|
||
{
|
||
//LoadForm load = new LoadForm();
|
||
//DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 30);
|
||
Sourcelist = ConvertHelper<ProviderModel>.ConvertToList(table);
|
||
GCProvider.DataSource = Sourcelist;
|
||
GVProvider.RefreshData();
|
||
// DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm();
|
||
}
|
||
/// <summary>
|
||
/// 绑定GRID数据
|
||
/// </summary>
|
||
private void BindGrid()
|
||
{
|
||
try
|
||
{
|
||
DataSet dtProvider = IBussFactory<BussProvider>.Instance().getProviderDS(new ProviderModel());
|
||
Sourcelist = ConvertHelper<ProviderModel>.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 以下是继承的按钮事件
|
||
/// <summary>
|
||
/// 新增按钮
|
||
/// </summary>
|
||
public void Add()
|
||
{
|
||
//调用实例化窗体
|
||
FrmOperator(0);
|
||
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 删除按钮
|
||
/// </summary>
|
||
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<BussProvider>.Instance().execProviderDel(GVProvider.GetFocusedRow() as ProviderModel);
|
||
if (!string.IsNullOrEmpty(errtext))
|
||
{
|
||
SystemCommon.ShowErrorMessageBox(errtext);
|
||
}
|
||
else
|
||
{
|
||
SystemCommon.ShowInfoMessageBox("删除成功!");
|
||
BindGrid();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 修改按钮
|
||
/// </summary>
|
||
public void Edit()
|
||
{
|
||
//调用实例化窗体
|
||
FrmOperator(1);
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 刷新按钮
|
||
/// </summary>
|
||
public void Refresh()
|
||
{
|
||
BindGrid();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 查询按钮
|
||
/// </summary>
|
||
public void Search()
|
||
{
|
||
FrmSelect frm = new FrmSelect(this.FrmSelectModle);
|
||
if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||
{
|
||
this.LoadListData(frm.SelectData);
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 保存导入
|
||
/// </summary>
|
||
public void Save()
|
||
{
|
||
if(addList!=null)
|
||
{
|
||
if(addList.Count>0)
|
||
{
|
||
|
||
string errText= IBussFactory<BussProvider>.Instance().AddProiderData(addList);
|
||
if(errText.Trim().Length>0)
|
||
{
|
||
SystemCommon.ShowInfoMessageBox("保存失败");
|
||
return;
|
||
|
||
}
|
||
BindGrid();
|
||
|
||
}
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// 导入
|
||
/// </summary>
|
||
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<ProviderModel>.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 操作(增、改、删)
|
||
/// <summary>
|
||
/// 操作(增、改、删)
|
||
/// </summary>
|
||
/// <param name="flag">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
|
||
|
||
/// <summary>
|
||
/// 显示改变
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
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<GoodsProviderModel> DataGoods= IBussFactory<BussProvider>.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);
|
||
}
|
||
}
|
||
}
|