BaoKai_202508_Wms_Jingwang_.../WMS.FrmSystems/FrmCompany.cs

1128 lines
41 KiB
C#
Raw 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 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; }
}
}
}