BaoKai_202508_Wms_Jingwang_.../WMS.FrmBaseData/FrmProvider.cs

356 lines
11 KiB
C#
Raw Permalink Normal View History

2025-08-24 21:52:42 +08:00
/***************************************
*
**************************************/
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);
}
}
}