BaoKai_202508-Wms-Jingwang..../WMS.FrmBaseData/FrmCustomerType.cs

648 lines
20 KiB
C#
Raw Permalink Normal View History

2025-08-24 09:35:55 +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 System.Text.RegularExpressions;
using System.Collections;
using WMS.Ctrl;
using WMS.Business;
using WMS.Business.Base;
namespace WMS.FrmBaseData
{
public partial class FrmCustomerType : FormBase
{
#region
/// <summary>
/// 版定的数据源
/// </summary>
public List<CustomerTypeModel> list = new List<CustomerTypeModel>();
/// <summary>
/// 实体
/// </summary>
public CustomerTypeModel model;
/// <summary>
/// 操作标志
/// </summary>
public int flag = 0;
/// <summary>
/// 所选择节点
/// </summary>
public DevExpress.XtraTreeList.Nodes.TreeListNode tr = null;
#endregion
public FrmCustomerType()
{
InitializeComponent();
}
private void FrmCustomerType_Load(object sender, EventArgs e)
{
FrmSelectModle = new CustomerTypeModel();
lue_parentid.LoadData();
if (frmButtonItem.ContainsKey("Save"))
{
frmButtonItem["Save"].Enabled = false;
}
BindData();
LockControl(true);
}
#region
/// <summary>
/// 通用查询
/// </summary>
/// <param name="table"></param>
public override void LoadListData(DataTable table)
{
list = ConvertHelper<CustomerTypeModel>.ConvertToList(table);
bsCustoerType.DataSource = list;
this.tr_CustomerType.DataSource = list;
tr_CustomerType.ExpandAll();
tr_CustomerType.RefreshDataSource();
}
#endregion
#region
/// <summary>
/// 绑定TreeList
/// </summary>
public void BindData()
{
try
{
DataSet dtCustomerType = IBussFactory<BussCustomerType>.Instance().GetCustomerType("");
list = ConvertHelper<CustomerTypeModel>.ConvertToList(dtCustomerType.Tables[0]);
}
catch (Exception ex)
{
SystemCommon.ShowInfoMessageBox("加载客户类型出错了GetCustomerType:" + ex.Message);
return;
}
foreach (CustomerTypeModel model in list)
{
if (model.Status == "0")
{
model.Status = "正常";
}
else if (model.Status == "1")
{
model.Status = "停用";
}
else
{ continue; }
}
this.tr_CustomerType.DataSource = list;
tr_CustomerType.ExpandAll();
}
#endregion
#region
#region
/// <summary>
/// 去重选择
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void chkCus_Type_sta_In_CheckedChanged(object sender, EventArgs e)
{
if (chkCus_Type_sta_In.Checked)
{
chkCus_Type_sta_Off.Checked = !chkCus_Type_sta_In.Checked;
}
}
/// <summary>
/// 去重选择
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void chkCus_Type_sta_Off_CheckedChanged(object sender, EventArgs e)
{
if (chkCus_Type_sta_Off.Checked)
{
chkCus_Type_sta_In.Checked = !chkCus_Type_sta_Off.Checked;
}
}
#endregion
#region
/// <summary>
/// 传递实体
/// </summary>
public void DisplayModel()
{
txt_cusType_shortName.Text = model.Cus_short_name;
txt_cusType_id.Text = model.Cus_type_id;
txt_cusType_name.Text = model.Cus_type_name;
txt_cusType_pyName.Text = model.Py_name;
memoEdit1.Text = model.Remark;
txt_cusType_sort.Text = model.Sort;
lue_parentid.EditValue = model.Parent_id;
// txt_cusType_version.Text = model.Version;
if (model.Status == "0")
{
chkCus_Type_sta_In.Checked = true;
}
else if (model.Status == "1")
{
chkCus_Type_sta_Off.Checked = true;
}
}
#endregion
#region
/// <summary>
/// 选中节点传值
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tr_CustomerType_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
{
if (frmButtonItem["Save"].Enabled)
{
if (SystemCommon.ShowMessageBoxResult("是否保存当前编辑内容?") == DialogResult.OK)
{
Save();
}
else
{
Refresh();
}
}
if (e.Node != null)
{
string cus_type_id = " and Cus_type_id = '" + e.Node.GetValue("Cus_type_id").ToString() + "'";
;
try
{
DataSet dtCustomerType = IBussFactory<BussCustomerType>.Instance().GetCustomerType(cus_type_id);
list = ConvertHelper<CustomerTypeModel>.ConvertToList(dtCustomerType.Tables[0]);
}
catch (Exception ex)
{
SystemCommon.ShowInfoMessageBox("出错了:" + ex.Message);
return;
}
model = new CustomerTypeModel();
model = list[0];
DisplayModel();
LockControl(true);
}
}
#endregion
#region
/// <summary>
/// 锁定或解锁groupbox的textbox控件
/// </summary>
/// <param name="bol">true 锁定 false 解除锁定</param>
public void LockControl(bool bol)
{
foreach (Control ctrl in splitContainerControl1.Panel1.Controls)
{
if (!ctrl.GetType().ToString().ToLower().Contains("lab"))
{
ctrl.Enabled = !bol;
}
}
}
#endregion
#region
/// <summary>
/// 操作实体,通过工作标志判断新增或修改
/// </summary>
public void OperateModel()
{
model = new CustomerTypeModel();
model.Cus_type_id = txt_cusType_id.Text;
model.Cus_short_name = txt_cusType_shortName.Text;
model.Cus_type_name = txt_cusType_name.Text;
model.Py_name = txt_cusType_pyName.Text;
model.Remark = memoEdit1.Text;
model.Sort = txt_cusType_sort.Text;
model.Parent_id = lue_parentid.EditValue.ToString();
model.OperatorID = userData.USER_ID;
model.OperateDate = System.DateTime.Now;
if (chkCus_Type_sta_Off.Checked)
{
model.Status = "1";
}
else
model.Status = "0";
int count = 0;
try
{
count = IBussFactory<BussCustomerType>.Instance().execCustomerTypeAddUpdate(model, flag);
}
catch (Exception ex)
{
SystemCommon.ShowInfoMessageBox("网络连接错误!");
return;
}
if (count > 0)
{
SystemCommon.ShowInfoMessageBox("操作成功!");
LockControl(true);
if (frmButtonItem.ContainsKey("Save"))
{
frmButtonItem["Save"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Cancel"))
{
frmButtonItem["Cancel"].Enabled = false;
}
if (tr != null)
{
tr_CustomerType.FocusedNode = tr;
}
txt_cusType_id.Properties.ReadOnly = false;
BindData();
}
else
SystemCommon.ShowInfoMessageBox("操作失败!");
}
#endregion
#endregion
#region
#region
/// <summary>
/// 增加事件
/// </summary>
public override void Add()
{
if (frmButtonItem.ContainsKey("Save"))
{
frmButtonItem["Save"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Cancel"))
{
frmButtonItem["Cancel"].Enabled = true;
}
flag = 0;//工作标志
LockControl(false);
foreach (Control ctrl in splitContainerControl1.Panel1.Controls)
{
if (ctrl.GetType().ToString().Contains("WMS.Ctrl.WMSCtrlTextBox"))
{
WMS.Ctrl.WMSCtrlTextBox text = ctrl as WMS.Ctrl.WMSCtrlTextBox;
text.Text = "";
}
}
chkCus_Type_sta_In.Checked = true;//默认是正常
//把当前所选节点的Cus_type_id作为新增节点的父节点
txt_cusType_id.Focus();
lue_parentid.EditValue = model.Parent_id;
}
#endregion
#region
/// <summary>
/// 编辑按钮
/// </summary>
public override void Edit()
{
tr = tr_CustomerType.FocusedNode;
if (frmButtonItem.ContainsKey("Save"))
{
frmButtonItem["Save"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Cancel"))
{
frmButtonItem["Cancel"].Enabled = true;
}
DisplayModel();
flag = 1;//工作标志
LockControl(false);
txt_cusType_id.Properties.ReadOnly = true;
txt_cusType_id.Enabled = false;
txt_cusType_name.SelectAll();
txt_cusType_name.Focus();
}
#endregion
#region
/// <summary>
/// 确认按钮
/// </summary>
public override void Save()
{
//if (txt_cusType_sort.Properties.ReadOnly)
//{
// SystemCommon.ShowInfoMessageBox("请先选择增加或编辑操作!");
// return;
//}
if (txt_cusType_id.Text.Trim() == "")
{
SystemCommon.ShowInfoMessageBox("编号不能为空!");
txt_cusType_id.Focus();
return;
}
if (txt_cusType_name.Text.Trim() == "")
{
SystemCommon.ShowInfoMessageBox("分类名称不能为空!");
txt_cusType_name.Focus();
return;
}
Regex reg = new Regex(@"^([a-z]|[A-Z]|[0-9])+$");
if (!reg.IsMatch(this.txt_cusType_id.Text.Trim()))
{
SystemCommon.ShowInfoMessageBox("分类编号只能为字母和数字!");
this.txt_cusType_id.Focus();
this.txt_cusType_id.SelectAll();
return;
}
Regex _reg = new Regex(@"^([0-9])+$");
if (!_reg.IsMatch(this.txt_cusType_sort.Text.Trim()) && txt_cusType_sort.Text.Trim() != "")
{
SystemCommon.ShowInfoMessageBox("排序只能为数字!");
this.txt_cusType_sort.Focus();
this.txt_cusType_sort.SelectAll();
return;
}
if (flag == 0)
{
List<CustomerTypeModel> lstCustomerTypes = new List<CustomerTypeModel>();
try
{
DataSet dtCustomerType = IBussFactory<BussCustomerType>.Instance().GetCustomerType(" and CUS_TYPE_ID ='" + txt_cusType_id.Text + "'");
lstCustomerTypes = ConvertHelper<CustomerTypeModel>.ConvertToList(dtCustomerType.Tables[0]);
}
catch (Exception ex)
{
SystemCommon.ShowInfoMessageBox("GetCustomerType出错了:" + ex.Message);
return;
}
if (lstCustomerTypes.Count > 0)
{
SystemCommon.ShowInfoMessageBox("该分类编号已经存在!");
txt_cusType_id.SelectAll();
txt_cusType_id.Focus();
return;
}
}
OperateModel();
}
#endregion
#region
/// <summary>
/// 取消按钮
/// </summary>
public void Cancel()
{
BindData();
LockControl(true);
if (frmButtonItem.ContainsKey("Cancel"))
{
frmButtonItem["Cancel"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Save"))
{
frmButtonItem["Save"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Import"))
{
frmButtonItem["Import"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Export"))
{
frmButtonItem["Export"].Enabled = true;
}
if (frmButtonItem.ContainsKey("SaveImport"))
{
frmButtonItem["SaveImport"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Refresh"))
{
frmButtonItem["Refresh"].Enabled = true;
}
}
#endregion
#region
/// <summary>
/// 刷新按钮
/// </summary>
public override void Refresh()
{
Cancel();
}
#endregion
#region
/// <summary>
/// 删除按钮
/// </summary>
public override void Del()
{
if (model == null)
{
return;
}
//删除之前首先查询有没有子类,有子类则提示不能删除
string _temp1 = " and parent_id = '" + model.Cus_type_id + "'";
try
{
DataSet dtCustomerType = IBussFactory<BussCustomerType>.Instance().GetCustomerType(_temp1);
list = ConvertHelper<CustomerTypeModel>.ConvertToList(dtCustomerType.Tables[0]);
}
catch (Exception ex)
{
SystemCommon.ShowInfoMessageBox("出错了Del--GetCustomerType:" + ex.Message);
return;
}
if (list.Count > 0)
{
SystemCommon.ShowInfoMessageBox("请先删除该分类下的子分类后再删除该分类!");
return;
}
int count = IBussFactory<BussCustomerType>.Instance().execCustomerTypeDel(model.Cus_type_id);
if (count > 0)
{
SystemCommon.ShowInfoMessageBox("操作成功!");
BindData();
}
else
{
SystemCommon.ShowInfoMessageBox("操作失败!");
}
}
#endregion
#region
/// <summary>
/// 导入
/// </summary>
public void Import()
{
if (frmButtonItem.ContainsKey("SaveImport"))
{
frmButtonItem["SaveImport"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Cancel"))
{
frmButtonItem["Cancel"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Export"))
{
frmButtonItem["Export"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Import"))
{
frmButtonItem["Import"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Save"))
{
frmButtonItem["Save"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Refresh"))
{
frmButtonItem["Refresh"].Enabled = false;
}
LockControl(true);
OpenFileDialog fileDialog = new OpenFileDialog();
fileDialog.Title = "导入客户分类资料";
fileDialog.Filter = "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx";
DialogResult dialogResult = fileDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
Hashtable ht = new Hashtable();
ht.Add("CUS_TYPE_ID", "客户分类编号");
ht.Add("CUS_TYPE_NAME", "客户分类名称");
ht.Add("CUS_SHORT_NAME", "客户分类简称");
ht.Add("PY_NAME", "拼音简称");
ht.Add("PARENT_ID", "父编号");
ht.Add("REMARK", "备注");
list = NPOIHelper<CustomerTypeModel>.Import(fileDialog, ht);
if (list == null)
{
SystemCommon.ShowInfoMessageBox("分类信息为空!请重新选择");
return;
}
}
}
#endregion
#region
/// <summary>
/// 保存导入数据
/// </summary>
public void SaveImport()
{
foreach (CustomerTypeModel model in list)
{
model.OperateDate = System.DateTime.Now;
model.OperatorID = userData.USER_ID;
}
List<string> listID = IBussFactory<BussCustomerType>.Instance().Import(list);
if (listID.Count > 0)
{
string fileName = @"D:\客户分类导入错误日志" + System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".txt";
//fileName = Application.StartupPath.ToString();
string strContent = "";
foreach (string str in listID)
{
strContent += str;
strContent += "\r\n";
}
try
{
SystemCommon.WriteFile(fileName, strContent);
}
catch (Exception ex)
{
SystemCommon.ShowInfoMessageBox("写入日志出错!");
return;
}
string msg = "导入成功 " + (list.Count - listID.Count).ToString() + " 条数据, ";
msg += "失败 " + listID.Count + " 条.\r\n";
msg += "成功数据已写入数据库,错误日志已写入" + fileName;
SystemCommon.ShowInfoMessageBox(msg);
}
else
{
SystemCommon.ShowInfoMessageBox("导入成功 " + list.Count + " 条数据!");
}
Cancel();
}
#endregion
#region
/// <summary>
/// 导出
/// </summary>
public void Export()
{
}
#endregion
#endregion
}
}