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

1128 lines
41 KiB
C#
Raw Permalink 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 System.Text.RegularExpressions;
using WMS.Model.SystemManage;
using System.Collections;
using System.IO;
using DevExpress.XtraTreeList.Nodes;
using System.Threading;
using DevExpress.XtraEditors;
using WMS.Ctrl;
using WMS.Business;
using WMS.Business.Base;
namespace WMS.FrmSystems
{
public partial class FrmCompany : FormBase
{
#region
/// <summary>
/// 组织机构Model
/// </summary>
public CompanyModel comModel =new CompanyModel();
/// <summary>
/// 组织机构Model 新增用
/// </summary>
public CompanyModel comAddModel = new CompanyModel();
/// <summary>
/// 组织机构Model集合
/// </summary>
public List<CompanyModel> comPany =new List<CompanyModel>();
/// <summary>
/// 组织机构集合 递归查询 选中焦点及其以下所有子节点数据
/// </summary>
public List<CompanyModel> comNodes = new List<CompanyModel>();
/// <summary>
/// 为导入数据服务
/// </summary>
public bool importing = false;
/// <summary>
/// 业务类型 0新增 1修改 2删除
/// </summary>
int workflag=0;
/// <summary>
/// 保存修改前状态 1:停用
/// </summary>
private string state;
#endregion
#region
public FrmCompany()
{
InitializeComponent();
treeListCompany.OptionsBehavior.Editable = false;
treeListCompany.OptionsSelection.EnableAppearanceFocusedCell = false;
treeListCompany.OptionsSelection.EnableAppearanceFocusedRow = true;
}
#endregion
#region
public static FrmCompany frmCompany;
public static FrmCompany GetInstance()
{
if (frmCompany == null || frmCompany.IsDisposed)
{
frmCompany = new FrmCompany();
}
return frmCompany;
}
#endregion
#region
private void FrmCompany_Load(object sender, EventArgs e)
{
FrmModle = new CompanyModel();
FrmSelectModle = new CompanyModel();
BindTreeListCompany();
ctrUser.t_dictonary.EditValueChanged += new System.EventHandler(t_dictonary_EditValueChanged);
lkpDepCom.LoadData();
lkpNature.LoadData();
lkpProvince.LoadData();
lkpCity.LoadData();
lkpTown.LoadData();
if (frmButtonItem.ContainsKey("Save"))
{
frmButtonItem["Save"].Enabled = false;
}
LockControl(true);
}
#endregion
#region
#region
// 新增按钮
public override void Add()
{
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Save"))
{
frmButtonItem["Save"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Export"))
{
frmButtonItem["Export"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Print"))
{
frmButtonItem["Print"].Enabled = false;
}
FrmOperator(0);
}
#endregion
#region
// 更新编辑修改按钮
public override void Edit()
{
if (!frmButtonItem.ContainsKey("Edit"))
{
return;
}
else if (frmButtonItem["Edit"].Enabled == false)
{
return;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Save"))
{
frmButtonItem["Save"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Export"))
{
frmButtonItem["Export"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Print"))
{
frmButtonItem["Print"].Enabled = false;
}
FrmOperator(1);
}
#endregion
#region
// 删除按钮
public override void Del()
{
FrmOperator(2);
}
#endregion
#region
/// <summary>
/// 保存
/// </summary>
public override void Save()
{
if (DataCheck())
{
bgsSelect.EndEdit();
string errText = string.Empty;
try
{
//新增
if (workflag == 0)
{
errText = IBussFactory<BussCompany>.Instance().AddCompanyData(bgsSelect.DataSource as CompanyModel);
}
//修改
else if (workflag == 1)
{
bool hadChanged = false;
CompanyModel com = bgsSelect.DataSource as CompanyModel;
if (state != com.COM_STATUS)
{
hadChanged = true;
}
errText = IBussFactory<BussCompany>.Instance().UpdateCompanyData(bgsSelect.DataSource as CompanyModel, hadChanged);
}
}
catch (Exception ex)
{
SystemCommon.ShowErrorMessageBox("出错了:" + ex.Message);
return;
}
if (string.IsNullOrEmpty(errText))
{
SystemCommon.ShowInfoMessageBox("操作成功!");
if (workflag == 0)
{
bgsSelect.DataSource = new CompanyModel();
this.ctrUser.TextBoxValue = string.Empty;
this.ctrUser.TextBoxFlag = string.Empty;
}
LockControl(true);
}
else
{
SystemCommon.ShowInfoMessageBox("操作失败!");
}
if (errText.Trim().Length > 0)
{
SystemCommon.ShowInfoMessageBox("系统错误:" + errText);
return;
}
if (errText.Trim().Length > 0)
{
SystemCommon.ShowInfoMessageBox(errText);
return;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Save"))
{
frmButtonItem["Save"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Export"))
{
frmButtonItem["Export"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Print"))
{
frmButtonItem["Print"].Enabled = true;
}
BindTreeListCompany();
}
}
#endregion
#region
public override void Refresh()
{
//splitContainerControl1.Panel2.Enabled = false;
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Save"))
{
frmButtonItem["Save"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Export"))
{
frmButtonItem["Export"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Print"))
{
frmButtonItem["Print"].Enabled = true;
}
FrmModle = new CompanyModel();
LockControl(true);
BindTreeListCompany();
}
#endregion
#region
//数据导出到Excel
public void Export()
{
this.treeListCompany.ShowExportDialog();
}
#endregion
#region
/// <summary>
/// 打印按钮
/// </summary>
public override void Print()
{
this.treeListCompany.ShowPrintPreview();
}
#endregion
#region
/// <summary>
/// 数据导入
/// </summary>
public void Import()
{
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("COM_ID", "部门编号");
ht.Add("COM_NAME", "部门名称");
ht.Add("COM_DISC", "部门描述");
if (importing)
{
comPany.AddRange(NPOIHelper<CompanyModel>.Import(fileDialog, ht));
}
else
{
comPany = NPOIHelper<CompanyModel>.Import(fileDialog, ht);
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; }
if (frmButtonItem.ContainsKey("SaveImport")) { frmButtonItem["SaveImport"].Enabled = true; }
importing = true;
}
if (comPany == null)
{
BindTreeListCompany();
return;
}
bgsOgn.DataSource = comPany;
treeListCompany.Refresh();
}
}
#endregion
#region
public void SaveImport()
{
//将list存入数据库
if (comPany != null && comPany.Count > 0)
{
string errText = string.Empty;
string strList = Newtonsoft.Json.JsonConvert.SerializeObject(comPany);
List<int> errorIndex = new List<int>();
int hadNum = 0;
string error = string.Empty;
try
{
// errorIndex = Newtonsoft.Json.JsonConvert.DeserializeObject<List<int>>(WebLockConfig.Instance.WebCompany.AddCompanyData(strList));
}
catch (Exception)
{
SystemCommon.ShowErrorMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
}
if (errorIndex.Count == 0)
{
SystemCommon.ShowErrorMessageBox("所有记录已保存成功");
Refresh();
}
else
{
List<CompanyModel> comps = new List<CompanyModel>();
for (int i = errorIndex.Count - 1; i >= 0; i--)
{
comps.Add(comPany[i]);
}
comPany = comps;
bgsOgn.DataSource = comPany;
this.treeListCompany.Refresh();
string fileName = @"D:\保存导入组织机构数据错误日志" + System.DateTime.Now.ToString("yyyyMMddHHmmss") + ".txt";
/*记录错误日志*/
//创建一个文件(如果有进行覆盖),并且返回一个文件流(进行写入的)。
FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write);
//写入一个字符串
//讲一个字符串转换成字节数组(并且指名了编码方式和操作系统的方式是一样的)。
byte[] bytes = System.Text.Encoding.Default.GetBytes(error);
//将byte数组写入文件流。
fs.Write(bytes, 0, bytes.Length);
//关闭流
fs.Flush();
fs.Close();
/*错误提示*/
string info = string.Empty;
if (errorIndex.Count > hadNum)
{
info += ((errorIndex.Count - hadNum) + "个组织机构导入时遇到未知错误,");
}
if (hadNum > 0)
{
info += (hadNum + "个组织机构编号已存在,");
}
info += "错误日志已写入" + fileName + ",未出错记录已写入数据库并从窗体中移除。";
SystemCommon.ShowErrorMessageBox(info);
}
}
}
#endregion
#region
/// <summary>
/// 通用查询 方法
/// </summary>
/// <param name="table"></param>
public override void LoadListData(DataTable table)
{
comPany = ConvertHelper<CompanyModel>.ConvertToList(table);
bgsOgn.DataSource = comPany;
this.treeListCompany.RefreshDataSource();
}
#endregion
#endregion
#region
/// <summary>
/// 绑定组织机构数据集
/// </summary>
public void BindTreeListCompany()
{
comPany = new List<CompanyModel>();
//公司名称
string strComName = "";
//公司简称
string strComShortName = "";
new Thread(delegate ()
{
try
{
comPany = IBussFactory<BussCompany>.Instance().GetCompanyData(strComName, strComShortName);
this.Invoke(new MethodInvoker(delegate ()
{
if (comPany.Count > 0)
{
bgsOgn.DataSource = comPany;
treeListCompany.Refresh();
treeListCompany.ExpandAll();
if (treeListCompany.Nodes.Count == 0) { return; }
treeListCompany.FocusedNode = treeListCompany.Nodes.FirstNode.Nodes.FirstNode;
string comID = treeListCompany.FocusedNode["COM_ID"].ToString();
//如果是组织机构
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = comID != "0"; }
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = comID != "0"; }
if (comPany.Count(r => r.COM_ID == comID.Trim()) > 0)
{
CompanyModel model = comPany.Find(r => r.COM_ID == comID.Trim());
comModel = new CompanyModel
{
COM_ADD = model.COM_ADD,
COM_CITY = model.COM_CITY,
COM_CITY_NAME = model.COM_CITY_NAME,
COM_DATE = model.COM_DATE,
COM_DISC = model.COM_DISC,
COM_DPC = model.COM_DPC,
COM_DPC_NAME = model.COM_DPC_NAME,
COM_EMAIL = model.COM_EMAIL,
COM_FAX = model.COM_FAX,
COM_ID = model.COM_ID,
COM_NAME = model.COM_NAME,
COM_ORDER = model.COM_ORDER,
COM_PHONE = model.COM_PHONE,
COM_PNAME = model.COM_PNAME,
COM_PROVINCE = model.COM_PROVINCE,
COM_PROVINCE_NAME = model.COM_PROVINCE_NAME,
COM_SNAME = model.COM_SNAME,
COM_STATUS = model.COM_STATUS,
COM_TOWN = model.COM_TOWN,
COM_TOWN_NAME = model.COM_TOWN_NAME,
COM_TYPE = model.COM_TYPE,
COM_TYPE_NAME = model.COM_TYPE_NAME,
COM_USER_ID = model.COM_USER_ID,
COM_ZIP = model.COM_ZIP,
GROUP_ID = model.GROUP_ID,
GROUP_NAME = model.GROUP_NAME,
IsCheckRec = model.IsCheckRec,
NAME = model.NAME,
SELECTED = model.SELECTED,
SHORT = model.SHORT,
USER_ID = model.USER_ID,
ID = model.ID
};
}
if (comModel != null)
{
bgsSelect.DataSource = comModel;
this.ctrUser.TextBoxFlag = comModel.USER_ID;
this.ctrUser.TextBoxValue = comModel.NAME;
this.lkpCity.EditValue = comModel.COM_CITY;
this.lkpTown.EditValue = comModel.COM_TOWN;
}
}
workflag = -1;
}));
}
catch
{
SystemCommon.ShowInfoMessageBox("网络连接错误!请检查当前网络环境是否可用!");
return;
}
}).Start();
}
#endregion
#region 0 1 2
/// <summary>
/// 数据操作 增 删 改
/// </summary>
/// <param name="flag">>0 新增 1修改 2删除</param>
private void FrmOperator(int flag)
{
LockControl(false);
workflag = flag;
string strGroupID = "";
#region
if (flag == 0)
{
txtCode.Focus();
DevExpress.XtraTreeList.Nodes.TreeListNode treeListNode = treeListCompany.FocusedNode;
//取得该节点的公司编号,作为新增节点的父编号(所属公司编号)
//新增节点的父编号(所属公司编号)
strGroupID = treeListNode["COM_ID"].ToString();
string mxModel = treeListNode.Nodes.TreeList.GetNodeList().Max(r => r["COM_ID"]).ToString();// as
comAddModel = new CompanyModel();
if (string.IsNullOrEmpty(strGroupID) || strGroupID == "-1")
{
strGroupID = "0";
}
comAddModel.GROUP_ID = strGroupID;
comAddModel.COM_ID = treeListNode["SHORT"].ToString() + mxModel.Substring(mxModel.Length-3);
comAddModel.COM_PROVINCE = treeListNode["COM_PROVINCE"].ToString();
comAddModel.COM_TOWN = treeListNode["COM_TOWN"].ToString();
comAddModel.COM_CITY = treeListNode["COM_CITY"].ToString();
comAddModel.COM_ADD = treeListNode["COM_ADD"].ToString();
if (comModel != null)
{
comAddModel.GROUP_NAME = comModel.GROUP_NAME;
}
comAddModel.COM_STATUS = "1";
this.ctrUser.TextBoxFlag = userData.USER_ID;
this.ctrUser.TextBoxValue = userData.NAME;
comAddModel.USER_ID = this.ctrUser.TextBoxFlag;
comAddModel.NAME = this.ctrUser.TextBoxValue;
comAddModel.COM_DATE = DateTime.Now.ToString("yyy-MM-dd hh:mm:ss");
bgsSelect.DataSource = comAddModel;
txtCode.Text = comAddModel.COM_ID;
txtCOM_NAME.Focus();
}
#endregion
#region
else if (flag == 1)
{
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; }
DevExpress.XtraTreeList.Nodes.TreeListNode treeListNode = treeListCompany.FocusedNode;
string strComID = treeListNode["COM_ID"].ToString();
if ("0".Equals(strComID))
{
return;
}
//取得该节点的公司编号,作为新增节点的父编号(所属公司编号)
//新增节点的父编号(所属公司编号)
strGroupID = treeListNode["COM_ID"].ToString();
if (string.IsNullOrEmpty(strComID))
{
SystemCommon.ShowInfoMessageBox("请选择修改的公司");
return;
}
state = treeListNode["COM_STATUS"].ToString();
}
#endregion
#region
else if (flag == 2)
{
DevExpress.XtraTreeList.Nodes.TreeListNode treeListNode = treeListCompany.FocusedNode;
//公司编号
string strComID = treeListNode["COM_ID"].ToString();
//公司名称
string strComName = treeListNode["COM_NAME"].ToString();
if ("0".Equals(strComID))
{
SystemCommon.ShowInfoMessageBox("[组织机构]不允许删除,请选择其他公司!");
return;
}
if (string.IsNullOrEmpty(strComID))
{
SystemCommon.ShowInfoMessageBox("请选择要删除的数据!");
return;
}
string strWarning = String.Format("确定删除 [{0}] 吗?\n此操作将会删除[{1}]下的所有数据。", strComName, strComName);
if (DialogResult.OK == SystemCommon.ShowMessageBoxResult(strWarning))
{
try
{
string strDel = IBussFactory<BussCompany>.Instance().DeleteCompanyData(strComID);
if (string.IsNullOrEmpty(strDel))
{
SystemCommon.ShowInfoMessageBox("操作成功!");
bgsSelect.DataSource = new CompanyModel();
this.ctrUser.TextBoxFlag = string.Empty;
this.ctrUser.TextBoxValue = string.Empty;
BindTreeListCompany();
}
else
{
SystemCommon.ShowInfoMessageBox("操作失败!");
}
}
catch (Exception ex)
{
SystemCommon.ShowErrorMessageBox("网络连接错误!请检查当前网络环境是否可用!");
return;
}
}
BindTreeListCompany();
}
#endregion
}
#endregion
#region ()
/// <summary>
/// 根据所选焦点节点 递归遍历所有子节点 看是否有启用状态的部门
/// </summary>
/// <param name="parentNode"></param>
/// <returns></returns>
private bool GetChildNodes(TreeListNode parentNode)
{
if (parentNode.Nodes.Count > 0)
{
foreach (TreeListNode node in parentNode.Nodes)
{
if (node["COM_STATUS"].ToString() == "0")
{
SystemCommon.ShowInfoMessageBox("所选部门或该部门下含有启用状态的项,不能删除!");
return false;
}
if (node.Nodes.Count > 0)
{
GetChildNodes(node);
return false;
}
}
}
else if (parentNode.Nodes.Count == 0)
{
if (parentNode["COM_STATUS"].ToString() == "0")
{
SystemCommon.ShowInfoMessageBox("所选部门正处于启用状态,不能删除!");
return false;
}
}
return true;
}
#endregion
#region dictonary ()
private void t_dictonary_EditValueChanged(object sender, EventArgs e)
{
this.labelControl10.Focus();
comModel.USER_ID = this.ctrUser.TextBoxFlag;
comModel.NAME = this.ctrUser.TextBoxValue;
bgsSelect.DataSource = comModel;
}
#endregion
#region treeListCompany
private void treeListCompany_DoubleClick(object sender, EventArgs e)
{
return;
if (treeListCompany.Nodes.Count == 0)
{
return;
}
string comID = treeListCompany.FocusedNode["COM_ID"].ToString();
//如果是组织机构
if (comID == "0")
{
return;
}
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; }
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; }
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; }
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
if (frmButtonItem.ContainsKey("Export"))
{
frmButtonItem["Export"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Print"))
{
frmButtonItem["Print"].Enabled = false;
}
FrmOperator(1);
}
#endregion
#region treeListCompany
private void treeListCompany_Click(object sender, EventArgs e)
{
//if (frmButtonItem["Save"].Enabled == true)
//{
//}
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; }
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; }
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
if (frmButtonItem.ContainsKey("Export"))
{
frmButtonItem["Export"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Print"))
{
frmButtonItem["Print"].Enabled = true;
}
if (treeListCompany.Nodes.Count == 0)
{
return;
}
string comID = treeListCompany.FocusedNode["COM_ID"].ToString();
//如果是组织机构
//if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = comID != "0"; }
//if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = comID != "0"; }
//如果是仓库3或生成仓4
//if (treeListCompany.FocusedNode["COM_TYPE"].ToString() == "3" || treeListCompany.FocusedNode["COM_TYPE"].ToString() == "4")
//{
// if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = false; }
// if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; }
//}
if (comPany.Count(r => r.COM_ID == comID.Trim()) > 0)
{
var model = comPany.Find(r => r.COM_ID == comID.Trim());
comModel = new CompanyModel
{
COM_ADD = model.COM_ADD,
COM_CITY = model.COM_CITY,
COM_CITY_NAME = model.COM_CITY_NAME,
COM_DATE = model.COM_DATE,
COM_DISC = model.COM_DISC,
COM_DPC = model.COM_DPC,
COM_DPC_NAME = model.COM_DPC_NAME,
COM_EMAIL = model.COM_EMAIL,
COM_FAX = model.COM_FAX,
COM_ID = model.COM_ID,
COM_NAME = model.COM_NAME,
COM_ORDER = model.COM_ORDER,
COM_PHONE = model.COM_PHONE,
COM_PNAME = model.COM_PNAME,
COM_PROVINCE = model.COM_PROVINCE,
COM_PROVINCE_NAME = model.COM_PROVINCE_NAME,
COM_SNAME = model.COM_SNAME,
COM_STATUS = model.COM_STATUS,
COM_TOWN = model.COM_TOWN,
COM_TOWN_NAME = model.COM_TOWN_NAME,
COM_TYPE = model.COM_TYPE,
COM_TYPE_NAME = model.COM_TYPE_NAME,
COM_USER_ID = model.COM_USER_ID,
COM_ZIP = model.COM_ZIP,
GROUP_ID = model.GROUP_ID,
GROUP_NAME = model.GROUP_NAME,
IsCheckRec = model.IsCheckRec,
NAME = model.NAME,
SELECTED = model.SELECTED,
SHORT = model.SHORT,
USER_ID = model.USER_ID,
ID = model.ID
};
}
if (comModel != null)
{
bgsSelect.DataSource = comModel;
this.ctrUser.TextBoxFlag = comModel.USER_ID;
this.ctrUser.TextBoxValue = comModel.NAME;
this.lkpCity.EditValue = comModel.COM_CITY;
this.lkpTown.EditValue = comModel.COM_TOWN;
}
LockControl(true);
}
#endregion
#region treeListCompany
private void treeListCompany_GetStateImage(object sender, DevExpress.XtraTreeList.GetStateImageEventArgs e)
{
CompanyModel project = (CompanyModel)treeListCompany.GetDataRecordByNode(e.Node);
if (project == null) return;
if (project.COM_DPC == "0")
{
e.NodeImageIndex = 2;
}
else
{
e.NodeImageIndex = project.COM_DPC == "1" ? 1 : 0;
}
}
#endregion
#region
public bool DataCheck()
{
//if (string.IsNullOrEmpty(txtCode.Text.Trim()))
//{
// SystemCommon.ShowInfoMessageBox("机构代码不能为空");
// txtCode.Focus();
// return false;
//}
if (string.IsNullOrEmpty(txtHelp.Text.Trim()))
{
SystemCommon.ShowInfoMessageBox("助记码不能为空");
txtHelp.Focus();
return false;
}
if (string.IsNullOrEmpty(txtCOM_NAME.Text.Trim()))
{
SystemCommon.ShowInfoMessageBox("名称不能为空");
txtCOM_NAME.Focus();
return false;
}
//if (string.IsNullOrEmpty(lkpProvince.Text.Trim()))
//{
// SystemCommon.ShowInfoMessageBox("请选择所在省");
// lkpProvince.Focus();
// return false;
//}
//if (string.IsNullOrEmpty(lkpCity.Text.Trim()))
//{
// SystemCommon.ShowInfoMessageBox("请选择所在市");
// lkpCity.Focus();
// return false;
//}
//if (string.IsNullOrEmpty(lkpTown.Text.Trim()))
//{
// SystemCommon.ShowInfoMessageBox("请选择所在区");
// lkpTown.Focus();
// return false;
//}
if (string.IsNullOrEmpty(lkpNature.Text.Trim()))
{
SystemCommon.ShowInfoMessageBox("请选择性质");
lkpNature.Focus();
return false;
}
if (string.IsNullOrEmpty(lkpDepCom.Text.Trim()))
{
SystemCommon.ShowInfoMessageBox("请选择公司/部门");
lkpDepCom.Focus();
return false;
}
//if (!string.IsNullOrEmpty(txtCOM_NAME.Text.Trim()))
//{
// foreach (CompanyModel m in comPany)
// {
// if (this.txtCOM_NAME.Text == m.COM_NAME)
// {
// SystemCommon.ShowInfoMessageBox("该名称已经存在 请重新输入!");
// this.txtCOM_NAME.Text = string.Empty;
// this.txtCOM_NAME.Focus();
// return false;
// }
// }
//}
Regex reg;
if (!string.IsNullOrEmpty(txtHelp.Text.Trim()))
{
reg = new Regex("^[A-Za-z]+$");
if (!reg.IsMatch(txtHelp.Text.Trim()))
{
SystemCommon.ShowInfoMessageBox("助记码只能输入字母!");
txtHelp.Text = string.Empty;
txtHelp.Focus();
return false;
}
}
if (!string.IsNullOrEmpty(txtPostcode.Text.Trim()))
{
reg = new Regex(@"[1-9]\d{5}(?!\d)");
if (!reg.IsMatch(txtPostcode.Text.Trim()))
{
SystemCommon.ShowInfoMessageBox("邮编只能为6位数字");
txtPostcode.Text = String.Empty;
txtPostcode.Focus();
return false;
}
}
if (!string.IsNullOrEmpty(txtPhone.Text.Trim()))
{
reg = new Regex(@"((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)");
if (!reg.IsMatch(txtPhone.Text.Trim()))
{
SystemCommon.ShowInfoMessageBox("请输入正确的电话号码");
txtPhone.Text = String.Empty;
txtPhone.Focus();
return false;
}
}
return true;
}
#endregion
private void LockControl(bool flg)
{
foreach (Control item in splitContainerControl1.Panel2.Controls)
{
item.Enabled = !flg;
}
}
#region 3
#region
/// <summary>
/// 省 下拉带出 市
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void lkpProvince_EditValueChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.lkpProvince.Properties.ValueMember) && lkpProvince.EditValue != null && !string.IsNullOrEmpty(lkpProvince.EditValue.ToString()))
{
//绑定城市数据
string errText = string.Empty;
AddressAreaModel provinceModel = new AddressAreaModel();
provinceModel.Add_pid = lkpProvince.EditValue.ToString();
string strResult = string.Empty;
try
{
this.lkpCity.Properties.DataSource = IBussFactory<BussAddressArea>.Instance().GetAddressArea(provinceModel);
this.lkpCity.ItemIndex = 0;
}
catch (Exception ex)
{
SystemCommon.ShowInfoMessageBox("出错了:" + ex.Message);
}
}
}
#endregion
#region
/// <summary>
/// 市 下拉带出 县
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void lkpCity_EditValueChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.lkpCity.Properties.ValueMember) && lkpCity.EditValue != null && !string.IsNullOrEmpty(lkpCity.EditValue.ToString()))
{
//绑定区县数据
string errText = string.Empty;
AddressAreaModel cityModel = new AddressAreaModel();
cityModel.Add_pid = lkpCity.EditValue.ToString();
try
{
var tabAddress = IBussFactory<BussAddressArea>.Instance().GetAddressArea(cityModel);
this.lkpTown.Properties.DataSource = tabAddress;
this.lkpTown.ItemIndex = 0;
}
catch (Exception ex)
{
SystemCommon.ShowInfoMessageBox("出错了:" + ex.Message);
}
}
}
#endregion
#endregion
#region
/// <summary>
/// 增加状态下 上级机构改变 改变编号
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void lkpUpCompany_EditValueChanged(object sender, EventArgs e)
{
if (workflag == 0)
{
string comId = lkpUpCompany.EditValue.ToString();
if (string.IsNullOrEmpty(comId) || comId == "-1")
{
return;
}
string pyName = comPany.Find(p => p.COM_ID == comId).SHORT;
List<CompanyModel> list = comPany.FindAll(p => p.GROUP_ID == comId);
int max = 0;
foreach (CompanyModel item in list)
{
string id = item.COM_ID;
string n = string.Empty;
foreach (char c in id)
{
int temp;
if (int.TryParse(c.ToString(), out temp))
{
n += c;
}
}
if (n == "")
{
return;
}
int num = int.Parse(n);
if (max < num)
{
max = num;
}
}
max++;
string maxNum = string.Empty;
if (max < 10)
{
maxNum = "00" + max;
}
else if (max < 100)
{
maxNum = "0" + max;
}
if (comAddModel != null)
{
comAddModel.COM_ID = pyName + maxNum;
}
}
}
#endregion
private void treeListCompany_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e)
{
//if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; }
//if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; }
//if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; }
//if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
}
}
}