BaoKai_202508-Wms-Jingwang..../WMS.FrmBaseData/FrmProvider.cs
2025-08-24 09:35:55 +08:00

356 lines
11 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/***************************************
*基础资料:供应商信息列表
**************************************/
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);
}
}
}