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