BaoKai_202508-Wms-Jingwang..../WMS.FrmSystems/FrmUser.cs

1322 lines
46 KiB
C#
Raw 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 WMS.Model.SystemManage;
using DevExpress.XtraEditors.Repository;
using DevExpress.XtraTreeList.Nodes;
using System.IO;
using System.Threading;
using System.Text.RegularExpressions;
using WMS.Business.SystemManage;
using WMS.Business.Base;
using WMS.Business;
namespace WMS.FrmSystems
{
public partial class FrmUser : FormBase
{
#region
BussSystemUser bussUser = new BussSystemUser();
/// <summary>
/// 当前窗体
/// </summary>
public static FrmUser frmUser;
/// <summary>
/// 组织机构
/// </summary>
private List<CompanyModel> listComPany = new List<CompanyModel>();
/// <summary>
/// 为下拉 选中默认仓库部门服务
/// </summary>
public List<CompanyModel> liComP = new List<CompanyModel>();
/// <summary>
/// 角色
/// </summary>
private List<RoleModel> listRole = new List<RoleModel>();
/// <summary>
/// 部门编号集
/// </summary>
public List<string> listcom = new List<string>();
/// <summary>
/// 角色编号
/// </summary>
List<string> listRoleId = new List<string>();
/// <summary>
/// 库区集合
/// </summary>
public List<UserAreaModel> listArea = new List<UserAreaModel>();
/// <summary>
/// 用户
/// </summary>
private UserDataModel userDataModel;
/// <summary>
/// 保存组织机构父节点(最底层子节点全选时,只保存父节点)
/// </summary>
string group_id = string.Empty;
/// <summary>
/// 操作计量 0:新增 1:修改
/// </summary>
int flag = 0;
/// <summary>
/// 子节点数量统计
/// </summary>
int nodeCount = 0;
#endregion
#region
public FrmUser()
{
InitializeComponent();
}
//public FrmUser(UserDataModel us)
//{
// userDataModel = us;
// flag = 4;
// //this.gridViewUser_RowClick(null, null);
//}
public static FrmUser getInstance()
{
if (frmUser == null || frmUser.IsDisposed)
{
frmUser = new FrmUser();
}
return frmUser;
}
#endregion
#region
public void FrmUser_Load(object sender, EventArgs e)
{
LockControl(false);
// this.lkpCom.LoadData();
// this.lkpStorage.LoadData();
this.lkpDriverLevel.LoadData();
// this.lkpWorkkind.LoadData();//工种加载
this.lkpDriverLevel.Properties.NullText = "请选择";
bgsUserArea.DataSource = new UserAreaModel();
// this.lkpWorkkind.LoadData();
flag = 4;
BindTreeAndGrid();
// this.treeCompany.ExpandAll();
GridViewRole.OptionsBehavior.Editable = true;
// SelectedData.OptionsColumn.AllowEdit = false;
// this.GridViewStorageArea.OptionsBehavior.Editable = false;
}
#endregion
/// <summary>
/// 递归组织树 获得最底层子节点的编号集
/// </summary>
/// <param name="parentNode"></param>
private void GetChildNodesChecked(TreeListNode parentNode)
{
if (parentNode.Nodes.Count > 0)
{
foreach (TreeListNode node in parentNode.Nodes)
{
CompanyModel cm = new CompanyModel();
if (node["SELECTED"].ToString() == "1" && node["COM_DPC"].ToString() == "1")
{
if (!string.IsNullOrEmpty(node["COM_ID"].ToString()))
{
cm.COM_ID = node["COM_ID"].ToString();
}
SetCheckedParentNodes(node, CheckState.Checked);
listcom.Add(cm.COM_ID);
group_id = parentNode["COM_ID"].ToString();
if (!string.IsNullOrEmpty(node["COM_TYPE"].ToString()))
{
cm.COM_TYPE = node["COM_TYPE"].ToString();
}
if (!string.IsNullOrEmpty(node["COM_DPC"].ToString()))
{
cm.COM_DPC = node["COM_DPC"].ToString();
}
cm.COM_NAME = node["COM_NAME"].ToString();
liComP.Add(cm);
}
////选中状态 且 没有子节点
//else if (node["SELECTED"].ToString() == "1" && node.Nodes.Count == 0)
//{
// nodeCount = node.ParentNode.ParentNode.Nodes.Count;
//}
//有子节点 继续递归
else if (node.Nodes.Count > 0)
{
if (node["COM_DPC"].ToString() == "0")
{
nodeCount = node.Nodes.Count;
}
node.ParentNode.CheckState = CheckState.Checked;
GetChildNodesChecked(node);
}
}
}
}
#region
/// <summary>
/// 通用查询
/// </summary>
/// <param name="table"></param>
public override void LoadListData(DataTable table)
{
listUserModel = ConvertHelper<UserDataModel>.ConvertToList(table);
jcPersonInfoTabBindingSource.DataSource = listUserModel;
gridUser.RefreshDataSource();
}
#endregion
#region GridView数据
List<UserDataModel> listUserModel = new List<UserDataModel>();
/// <summary>
/// 绑定组织树和用户GridView数据
/// </summary>
private void BindTreeAndGrid()
{
new Thread(delegate ()
{
this.Invoke(new MethodInvoker(delegate ()
{
iphonepictureEdit.Image = null;
#region
listUserModel = bussUser.GetUserInfo();
jcPersonInfoTabBindingSource.DataSource = listUserModel;
gridUser.RefreshDataSource();
}));
this.Invoke(new MethodInvoker(delegate ()
{
//编辑区域绑定数据
if (flag == 4)
{
userDataModel = userData;
flag = 0;
}
bgsUser.DataSource = userDataModel;
userDataModel.INFO_USER = userData.NAME;
this.dateEditOperate.Text = DateTime.Now.ToString("yyyy-MM-dd");
this.txtOperaterName.Text = userData.NAME;
//显示图片
if (userDataModel.IMG != null && userDataModel.IMG.Length > 13)
{
MemoryStream ms = new System.IO.MemoryStream(userDataModel.IMG);
iphonepictureEdit.Image = System.Drawing.Image.FromStream(ms);
}
//绑定组织机构
// GetUserComPany(userDataModel.USER_ID);
// this.treeCompany.ExpandAll();
}));
this.Invoke(new MethodInvoker(delegate ()
{
//绑定角色
GetRoleInfo(userDataModel.USER_ID);
}));
this.Invoke(new MethodInvoker(delegate ()
{
//绑定库区
// GetStorageAreaData(userDataModel);
// this.lkpStorage.Enabled = false;
// this.lkpStorageArea.Enabled = false;
// this.lkpWorkkind.Enabled = false;
}));
}).Start();
#endregion
}
#endregion
#region
private void GetRoleInfo(string strUserID)
{
listRole.Clear();
listcom.Clear();
liComP.Clear();
List<RoleModel> lRole = new List<RoleModel>();
RoleModel rr = new RoleModel();
// DevExpress.XtraTreeList.Nodes.TreeListNode treeListNode = treeCompany.Nodes[0];
// GetChildNodesChecked(treeListNode);
List<RoleModel> lirole = new List<RoleModel>();
//foreach (string r in listcom)
//{
//}
List<RoleModel> role = IBussFactory<BussRole>.Instance().GetRoleDataByComIDAndUserID(userDataModel.USER_ID, "");
lRole.AddRange(role);
var ll = lRole.GroupBy(s => new { s.ROLE_ID, s.ROLE_NAME, s.ISCHECK }).Select(g => new { g.Key.ROLE_ID, g.Key.ROLE_NAME, g.Key.ISCHECK });
var x = ll.ToList();
foreach (var s in x)
{
rr = new RoleModel();
rr.ISCHECK = s.ISCHECK;
rr.ROLE_ID = s.ROLE_ID;
rr.ROLE_NAME = s.ROLE_NAME;
listRole.Add(rr);
}
bgsRole.DataSource = listRole;
this.GridViewRole.RefreshData();
#region
////使用时 将liComP 替换为lcomp
//List<CompanyModel> lcomp = new List<CompanyModel>();
//foreach (CompanyModel c in liComP)
//{
// if (c.COM_TYPE == "3" && c.COM_DPC == "1")
// lcomp.Add(c);
//}
//this.lkpCom.Properties.DataSource = lcomp;
//this.lkpCom.Properties.DisplayMember = "COM_NAME";
//this.lkpCom.Properties.ValueMember = "COM_ID";
//if (lcomp.Count > 0)
//{
// this.lkpCom.EditValue = lcomp[0].COM_ID;
//}
//List<StorageInfoModel> ls = new List<StorageInfoModel>();
//foreach (CompanyModel item in lcomp)
//{
// StorageInfoModel s = new StorageInfoModel();
// s.STORAGE_ID = item.COM_ID;
// s.STORAGE_NAME = item.COM_NAME;
// ls.Add(s);
//}
#endregion
// this.treeCompany.ExpandAll();
}
#endregion
#region
void GetStorageAreaData(UserDataModel userDataModel)
{
BussStorageArea bussStorageArea = new BussStorageArea();
listArea = bussStorageArea.GetStorageAreaByUserIDandStorageID(userDataModel);
bgsUserArea.DataSource = listArea;
if (listArea.Count > 0)
{
// this.GridStorageArea.DataSource = listArea;
bgsUserArea.DataSource = listArea;
}
//无数据 置空
else if (listArea.Count == 0)
{
listArea.Clear();
// GridStorageArea.DataSource = listArea;
// this.lkpWorkkind.LoadData();
}
#region Valuechange事件
// this.lkpStorageArea.EditValue = string.Empty;
// this.lkpWorkkind.EditValue = string.Empty;
#endregion
bgsUserArea.ResetBindings(true);
// this.GridViewStorageArea.RefreshData();
}
#endregion
#region GridView选中行改变
/// <summary>
/// GridView选中行改变
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gridViewUser_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
{
iphonepictureEdit.Image = null;
listcom.Clear();
liComP.Clear();
LockControl(false);
//编辑区域数据绑定
userDataModel = new UserDataModel();
userDataModel = gridViewUser.GetFocusedRow() as UserDataModel;
bgsUser.DataSource = userDataModel;
bgsUser.ResetBindings(true);
GetUserComPany(userDataModel.USER_ID);
GetRoleInfo(userDataModel.USER_ID);
GetStorageAreaData(userDataModel);
// treeCompany.ExpandAll();
//显示图片
if (userDataModel.IMG != null && userDataModel.IMG.Length > 13)
{
MemoryStream ms = new System.IO.MemoryStream(userDataModel.IMG);
ms.ToArray();
iphonepictureEdit.Image = System.Drawing.Image.FromStream(ms);
}
GridViewRole.OptionsBehavior.Editable = false;
// SelectedData.OptionsColumn.AllowEdit = false;
// GridViewStorageArea.OptionsBehavior.Editable = false;
if (frmButtonItem.ContainsKey("Save"))
{
frmButtonItem["Save"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Edit"))
{
frmButtonItem["Edit"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Del"))
{
frmButtonItem["Del"].Enabled = true;
}
if (frmButtonItem.ContainsKey("Clear"))
{
frmButtonItem["Clear"].Enabled = false;
}
if (frmButtonItem.ContainsKey("Add"))
{
frmButtonItem["Add"].Enabled = true;
}
if (frmButtonItem.ContainsKey("DelWork")) { frmButtonItem["DelWork"].Enabled = false; }
}
#endregion
#region
/// <summary>
/// 锁定panel1中的控件
/// </summary>
/// <param name="bol">true 解锁, false 锁定</param>
public void LockControl(bool bol)
{
foreach (Control ctr in this.panel1.Controls)
{
if (!ctr.GetType().ToString().ToLower().Contains("lab"))
{
ctr.Enabled = bol;
}
}
}
#endregion
#region
public void SetCompany()
{
// SelectedData.OptionsColumn.AllowEdit = true;
//rCk.Click += new EventHandler(rCk_Click);
}
/// <summary>
/// 获取用户的机构信息
/// </summary>
/// <param name="userId"></param>
private void GetUserComPany(string userId)
{
listcom.Clear();
liComP.Clear();
listComPany = bussUser.GetUserComanpy(userId);
bgsOn.DataSource = listComPany;
// treeCompany.RefreshDataSource();
// DevExpress.XtraTreeList.Nodes.TreeListNode treeListNode = treeCompany.Nodes[0];
// GetNodesChecked(treeListNode);
}
//方法应该是对的,数据不对应的原因 子节点全选 只保存父编号
//例:保存
private void GetNodesChecked(TreeListNode parentNode)
{
if (parentNode.Nodes.Count > 0)
{
foreach (TreeListNode node in parentNode.Nodes)
{
//选中状态 且 没有子节点
if (node["SELECTED"].ToString() == "1" && node.Nodes.Count == 0)
{
SetCheckedParentNodes(node, CheckState.Checked);
}
//有子节点 继续递归
else if (node.Nodes.Count > 0)
{
if (node["SELECTED"].ToString() == "1")
{
SetCheckedParentNodes(node, CheckState.Checked);
SetCheckedChildNodes(node, CheckState.Checked);
}
GetNodesChecked(node);
}
}
}
}
#endregion
#region
// 新增按钮
public void Add()
{
//控件可用性 注意加 try catch 否则直接崩溃
LockControl(true);
flag = 0;
frmButtonItem["Save"].Enabled = true;
// frmButtonItem["Edit"].Enabled = false;
frmButtonItem["Del"].Enabled = false;
frmButtonItem["Clear"].Enabled = true;
//frmButtonItem["DelWork"].Enabled = true;
// liComP.Clear();
FrmOperator(flag);
}
// 更新编辑修改按钮
public void Edit()
{
LockControl(true);
flag = 1;
frmButtonItem["Clear"].Enabled = true;
// frmButtonItem["Add"].Enabled = false;
frmButtonItem["Save"].Enabled = true;
frmButtonItem["Del"].Enabled = false;
// frmButtonItem["DelWork"].Enabled = true;
// this.GridViewStorageArea.FocusedRowHandle = listArea.Count;
FrmOperator(flag);
this.txtUserID.Enabled = false;
}
// 删除按钮
public void Del()
{
if (DialogResult.OK == SystemCommon.ShowMessageBoxResult("确定要删除该条数据吗?"))
{
DelUser();
}
}
// 查询按钮
public void Search()
{
//BindPalletData();
}
/// <summary>
/// 清空
/// </summary>
public void Clear()
{
//用户编辑区域
if (flag == 0)
{
this.txtUserID.Text = string.Empty;
}
//this.txtUserID.Text = string.Empty;
this.txtUserName.Text = string.Empty;
this.txtPhone.Text = string.Empty;
this.txtHelperID.Text = string.Empty;
txtQQ.Text = string.Empty;
txtEmail.Text = string.Empty;
this.dateEditStart.Text = string.Empty;
this.dateLicense.Text = string.Empty;
// this.lkpStorage.EditValue = string.Empty;
// this.lkpStorageArea.EditValue = string.Empty;
// this.lkpWorkkind.EditValue = string.Empty;
this.rdoUserStatus.EditValue = string.Empty;
this.tdoMeanStatus.EditValue = string.Empty;
this.rdoIsDriver.EditValue = string.Empty;
this.rdoSex.EditValue = string.Empty;
this.txtDriverActiveTime.Text = "0";
this.txtDriverID.Text = string.Empty;
this.lkpDriverLevel.EditValue = string.Empty;
this.iphonepictureEdit.EditValue = null;
iphonepictureEdit.Image = null;
//组织机构选择区域
// DevExpress.XtraTreeList.Nodes.TreeListNode treeListNode = treeCompany.Nodes[0];
// SetCheckedChildNodes(treeListNode, CheckState.Unchecked);
//人员角色选择区域
bgsRole.DataSource = null;
//人员仓库选择区域
bgsUserArea.DataSource = new UserAreaModel();
}
/// <summary>
/// 刷新按钮
/// </summary>
public void Refresh()
{
frmButtonItem["Add"].Enabled = true;
frmButtonItem["Edit"].Enabled = true;
frmButtonItem["Save"].Enabled = false;
frmButtonItem["Del"].Enabled = true;
frmButtonItem["Clear"].Enabled = false;
// frmButtonItem["DelWork"].Enabled = false;
LockControl(false);
BindTreeAndGrid();
this.lkpCom.LoadData();
// this.lkpStorage.LoadData();
bgsUserArea.DataSource = new UserAreaModel();
// this.lkpWorkkind.LoadData();
// this.treeCompany.ExpandAll();
GridViewRole.OptionsBehavior.Editable = false;
// SelectedData.OptionsColumn.AllowEdit = false;
// this.GridViewStorageArea.OptionsBehavior.Editable = false;
//数据清空后 重新 加载时 点击后 给清空数据的控件赋值
this.gridViewUser_RowClick(null, null);
}
//数据导出到Excel
public void Export()
{
DataToExcel();
}
//打印
public void Print()
{
//DataPrint();
}
int i = 0;
/// <summary>
/// 保存
/// </summary>
public void Save()
{
i = 0;
GridViewRole.SelectRow(0);
GridViewRole.EndDataUpdate();
listcom.Clear();
liComP.Clear();
listRoleId.Clear();
this.labelControl1.Focus();
//用户信息
if (userDataModel == null)
{
return;
}
//图片
if (iphonepictureEdit.Image != null)
{
MemoryStream Ms = new MemoryStream();
iphonepictureEdit.Image.Save(Ms, iphonepictureEdit.Image.RawFormat);
byte[] img = new byte[Ms.Length];
Ms.Position = 0;
Ms.Read(img, 0, Convert.ToInt32(Ms.Length));
Ms.Close();
userDataModel.IMG = img;
}
if (!Validation())
return;
//部门编号
this.txtUserID.Focus();
// DevExpress.XtraTreeList.Nodes.TreeListNode treeListNode = treeCompany.Nodes[0];
// GetChildNodesChecked(treeListNode);
// //如果统计的最底层子节点个数 和 递归遍历得到的最底层集合的个数相等 说明全选 只保存父节点编号
if (nodeCount == listcom.Count)
{
//listcom = new List<string>();
listcom.Clear();
listcom.Add(group_id);
}
this.txtUserID.Focus();
foreach (RoleModel roleModel in listRole)
{
if (roleModel.ISCHECK == "1")
listRoleId.Add(roleModel.ROLE_ID);
}
// this.labelControl3.Focus();
//设置默认仓库
//if (this.lkpStorage.EditValue.ToString() != null)
//{
// userDataModel.STORAGE_ID = this.lkpStorage.EditValue.ToString();
//}
//设置默认角色
if (listRoleId.Count > 0)
{
userDataModel.ROLE_ID = listRoleId[0];
}
userDataModel.INFO_DATE = DateTime.Now;
userDataModel.INFO_USER = userData.INFO_USER;
bgsUser.EndEdit();
string errText = string.Empty;
//errText= bussUser.OperateUser(userDataModel, listRoleId);
errText = bussUser.OperateUser(userDataModel, listcom, listRoleId, listArea);
if (errText != "")
{
// SystemCommon.ShowErrorMessageBox(errText);
}
else
{
if (flag == 0)
{
if (DialogResult.OK == SystemCommon.ShowMessageBoxResult("新增用户成功!当前初始密码为111,是否进行修改?"))
{
SetPwd();
}
}
else
{
SystemCommon.ShowInfoMessageBox("操作成功!");
}
//frmButtonItem["DelWork"].Enabled = false;
//this.lkpStorage.Enabled = false;
//this.lkpStorageArea.Enabled = false;
//this.lkpWorkkind.Enabled = false;
//SelectedData.OptionsColumn.AllowEdit = false;
GridViewRole.OptionsBehavior.Editable = false;
// this.GridViewStorageArea.OptionsBehavior.Editable = false;
//绑定用户信息
}
tabControl1.SelectedIndex = 0;
frmButtonItem["Add"].Enabled = true;
frmButtonItem["Save"].Enabled = false;
frmButtonItem["Edit"].Enabled = true;
frmButtonItem["Clear"].Enabled = false;
frmButtonItem["Del"].Enabled = true;
BindTreeAndGrid();
//this.gridViewUser_RowClick(null, null);
LockControl(false);
}
/// <summary>
/// 删除明细人员所属库区工种
/// </summary>
public void DelWork()
{
// UserAreaModel ua = this.GridViewStorageArea.GetFocusedRow() as UserAreaModel;
// listArea.Remove(ua);
// bgsUserArea.DataSource = listArea;
// this.GridViewStorageArea.RefreshData();
}
//重置密码
public void SetPwd()
{
userDataModel = gridViewUser.GetRow(gridViewUser.FocusedRowHandle) as UserDataModel;
FrmSetPwd setPwd = new FrmSetPwd(userDataModel);
setPwd.ShowDialog();
}
/// <summary>
/// 选择角色
/// </summary>
public void SetRole()
{
GridViewRole.OptionsBehavior.Editable = true;
}
#endregion
#region
#region
/// <summary>
/// 操作用户数据的增加 更新
/// </summary>
/// <param name="flag">0:新增 1修改</param>
private void FrmOperator(int flag)
{
////角色
GridViewRole.OptionsBehavior.Editable = true;
//组织机构
// SelectedData.OptionsColumn.AllowEdit = true;
//所属仓库
//this.GridViewStorageArea.OptionsBehavior.Editable = true;
//this.lkpStorage.Enabled = true;
//this.lkpWorkkind.Enabled = true;
//this.lkpStorageArea.Enabled = true;
///新增
if (flag == 0)
{
//panel1.Enabled = true;
userDataModel = new UserDataModel();
// bgsUser.DataSource = userDataModel;
UnReadOnly();
userDataModel.INFO_DATE = DateTime.Now;
dateEditOperate.EditValue = DateTime.Now;
userDataModel.INFO_USER = userData.NAME;
userDataModel.PASSWORD = "111";
txtOperaterName.Text = userData.NAME;
userDataModel.USER_ENTRY = DateTime.Now;
rdoUserStatus.EditValue = "0";
userDataModel.USER_STATUS = rdoUserStatus.EditValue.ToString();
tdoMeanStatus.EditValue = "0";
userDataModel.USRINFO_STATUS = tdoMeanStatus.EditValue.ToString();
rdoSex.EditValue = "0";
userDataModel.SEX = rdoSex.EditValue.ToString();
rdoIsDriver.EditValue = "0";
userDataModel.ISDRIVER = rdoIsDriver.EditValue.ToString();
dateLicense.EditValue = "1990-01-01";
userDataModel.DRIVE_STATUS = "0";
string strUserNumber = IBussFactory<BussSystemUser>.Instance().GetUserNumber();
userDataModel.USER_NUMBER = strUserNumber;
txtInnerID.Text = strUserNumber;
this.lkpCom.EditValue = userData.COM_ID;
userDataModel.COM_ID = this.lkpCom.EditValue.ToString();
bgsUser.DataSource = userDataModel;
//组织机构 角色清空选中状态
ClearTreeGridCheck();
listArea = new List<UserAreaModel>();
// GridStorageArea.DataSource = listArea;
//// this.lkpWorkkind.LoadData();
bgsUserArea.ResetBindings(true);
// this.GridViewStorageArea.RefreshData();
}
//修改
else if (flag == 1)
{
UnReadOnly();
userDataModel.INFO_DATE = DateTime.Now;
dateEditOperate.EditValue = DateTime.Now;
userDataModel.INFO_USER = userData.NAME;
txtOperaterName.Text = userData.NAME;
bgsUserAreaModel.DataSource = new UserAreaModel();
// this.lkpStorageArea.EditValue = string.Empty;
// this.lkpWorkkind.EditValue = string.Empty;
}
rdoIsDriver_SelectedIndexChanged(null, null);
}
#endregion
/// <summary>
/// 确认
/// </summary>
public void Confirm()
{
}
#region
/// 删除托盘数据
private void DelUser()
{
string errText = "";
string strdel = "";
int row = this.gridViewUser.FocusedRowHandle;
//获取选中行
if (row > -1)
{
strdel = this.gridViewUser.GetRowCellValue(row, "USER_ID").ToString();
//走WebService层 进行数据操作
bussUser.UserDel(strdel);
if (errText == "")
{
SystemCommon.ShowInfoMessageBox("操作成功!");
UserDataModel deleModle = (UserDataModel)this.gridViewUser.GetFocusedRow();
listUserModel.Remove(deleModle);
gridViewUser.FocusedRowHandle = 1;
gridViewUser.RefreshData();
}
else
{
SystemCommon.ShowInfoMessageBox(errText);
}
}
else
{
SystemCommon.ShowInfoMessageBox("请选择一条要删除的数据!");
}
}
#endregion
#region Excel文件
private void DataToExcel()
{
SaveFileDialog fileDialog = new SaveFileDialog();
fileDialog.Title = "导出Excel";
fileDialog.Filter = "Excel文件(*.xls)|*.xls";
DialogResult dialogResult = fileDialog.ShowDialog(this);
if (dialogResult == DialogResult.OK)
{
DevExpress.XtraPrinting.XlsExportOptions options = new DevExpress.XtraPrinting.XlsExportOptions();
gridUser.ExportToXls(fileDialog.FileName);
DevExpress.XtraEditors.XtraMessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
#endregion
#endregion
#region
private void UnReadOnly()
{
txtUserID.Properties.ReadOnly = false;
//txtInnerID.Properties.ReadOnly = false;
txtUserName.Properties.ReadOnly = false;
txtPhone.Properties.ReadOnly = false;
txtHelperID.Properties.ReadOnly = false;
txtQQ.Properties.ReadOnly = false;
txtEmail.Properties.ReadOnly = false;
dateLicense.Properties.ReadOnly = false;
dateEditStart.Properties.ReadOnly = false;
tdoMeanStatus.Properties.ReadOnly = false;
rdoUserStatus.Properties.ReadOnly = false;
txtOperaterName.Properties.ReadOnly = false;
dateEditOperate.Properties.ReadOnly = false;
}
private void SetReadOnly()
{
txtUserID.Properties.ReadOnly = true;
//txtInnerID.Properties.ReadOnly = true;
txtUserName.Properties.ReadOnly = true;
txtPhone.Properties.ReadOnly = true;
txtHelperID.Properties.ReadOnly = true;
txtQQ.Properties.ReadOnly = true;
txtEmail.Properties.ReadOnly = true;
dateLicense.Properties.ReadOnly = true;
dateEditStart.Properties.ReadOnly = true;
tdoMeanStatus.Properties.ReadOnly = true;
rdoUserStatus.Properties.ReadOnly = true;
txtOperaterName.Properties.ReadOnly = true;
dateEditOperate.Properties.ReadOnly = true;
}
#endregion
#region
/// <summary>
/// 设置子节点的状态
/// </summary>
/// <param name="node"></param>
/// <param name="Check"></param>
private void SetCheckedChildNodes(TreeListNode node, CheckState check)
{
int selected;
if (check == CheckState.Checked)
selected = 1;
else
selected = 0;
node["SELECTED"] = selected;
for (int i = 0; i < node.Nodes.Count; i++)
{
node.Nodes[i]["SELECTED"] = selected;
SetCheckedChildNodes(node.Nodes[i], check);
}
}
/// <summary>
/// 设置父节点的状态
/// </summary>
/// <param name="node"></param>
/// <param name="Check"></param>
private void SetCheckedParentNodes(TreeListNode node, CheckState check)
{
if (node.ParentNode != null)
{
int selected;
if (check == CheckState.Checked)
selected = 1;
else
selected = 0;
bool b = false;
CheckState state;
for (int i = 0; i < node.ParentNode.Nodes.Count; i++)
{
state = (CheckState)node.ParentNode.Nodes[i].CheckState;
if (!check.Equals(state))
{
b = !b;
break;
}
}
node.ParentNode.CheckState = b ? CheckState.Indeterminate : check;
//node.ParentNode["SELECTED"] = selected;
if (node.ParentNode.CheckState == CheckState.Indeterminate)
{
node.ParentNode["SELECTED"] = selected;
//node.ParentNode.Checked = true;
}
else
{
bool bflag = false;
for (int j = 0; j < node.ParentNode.Nodes.Count; j++)
{
if (node.ParentNode.Nodes[j]["SELECTED"].ToString() == "1")
bflag = true;
}
if (!bflag)
{
node.ParentNode["SELECTED"] = 0;
}
}
SetCheckedParentNodes(node.ParentNode, check);
}
}
string strComId = string.Empty;
string strGroupId = string.Empty;
string strSELECTED = string.Empty;
TreeListNode node;
/// <summary>
/// 单元格值发生变化
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void treeListCompany_CellValueChanging(object sender, DevExpress.XtraTreeList.CellValueChangedEventArgs e)
{
strSELECTED = e.Node.GetValue("SELECTED").ToString();
strComId = e.Node.GetValue("COM_ID").ToString();
strGroupId = e.Node.GetValue("GROUP_ID").ToString();
node = e.Node;
}
/// <summary>
/// 权限check
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void rCk_CheckStateChanged(object sender, EventArgs e)
{
CheckState check;
if (((DevExpress.XtraEditors.CheckEdit)(sender)).EditValue.ToString() == "1")
{
check = CheckState.Checked;
}
else
{
check = CheckState.Unchecked;
}
SetCheckedChildNodes(node, check);
SetCheckedParentNodes(node, check);
GetRoleInfo(userDataModel.USER_ID);
}
#endregion
#region check
/// <summary>
/// 清空选中check
/// </summary>
private void ClearTreeGridCheck()
{
//for (int i = 0; i < listComPany.Count; i++)
//{
// listComPany[i].SELECTED = "0";
//}
//bgsOn.DataSource = listComPany;
// treeCompany.Refresh();
for (int i = 0; i < listRole.Count; i++)
{
listRole[i].ISCHECK = "0";
}
bgsRole.DataSource = listRole;
GridRole.RefreshDataSource();
}
#endregion
/// <summary>
/// 验证
/// </summary>
private bool Validation()
{
if (txtUserID.Text.Trim() == "")
{
txtUserID.Focus();
txtUserID.SelectAll();
SystemCommon.ShowInfoMessageBox("请输入人员编码!");
return false;
}
string errText = string.Empty;
if (IBussFactory<BussSystemUser>.Instance().IsCheckUser(txtUserID.Text.Trim()) && flag == 0)
{
txtUserID.Focus();
txtUserID.SelectAll();
SystemCommon.ShowInfoMessageBox("输入的人员编码已存在!");
return false;
}
if (txtUserName.Text.Trim() == "")
{
txtUserName.Focus();
txtUserName.SelectAll();
SystemCommon.ShowInfoMessageBox("请输入人员名称!");
return false;
}
if (txtHelperID.Text.Trim() == "")
{
txtHelperID.Focus();
txtHelperID.SelectAll();
SystemCommon.ShowInfoMessageBox("请输入助记码!");
return false;
}
//if (!string.IsNullOrEmpty(txtQQ.Text.Trim()))
//{
// Regex reg = new Regex(@"^([0-9])+$");
// if (!reg.IsMatch(this.txtQQ.Text.Trim()) || txtQQ.Text.Length < 5 || txtQQ.Text.Length > 12)
// {
// SystemCommon.ShowInfoMessageBox("QQ号不合法请重新输入");
// txtQQ.Text = string.Empty;
// txtQQ.Focus();
// txtQQ.SelectAll();
// return false;
// }
//}
//if (!string.IsNullOrEmpty(this.txtPhone.Text.Trim()))
//{
// Regex reg = new Regex(@"^([0-9])+$");
// if (!reg.IsMatch(this.txtPhone.Text.Trim()))
// {
// SystemCommon.ShowInfoMessageBox("电话不合法,请重新输入!!");
// txtPhone.Text = string.Empty;
// txtPhone.Focus();
// txtPhone.SelectAll();
// return false;
// }
//}
//if (!string.IsNullOrEmpty(txtEmail.Text.ToString()))
//{
// //^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$
// Regex regex = new Regex(@"^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$");
// if (!regex.IsMatch(this.txtEmail.Text.Trim()))
// {
// SystemCommon.ShowInfoMessageBox("邮箱输入不合法,请重新输入");
// txtEmail.Text = string.Empty;
// txtEmail.Focus();
// txtEmail.SelectAll();
// return false;
// }
//}
//try
//{
// if (dateEditStart.Text == "" || dateEditStart.Text == "0001-01-01" || dateEditStart.DateTime.Date > DateTime.Now.Date)
// {
// dateEditStart.Focus();
// dateEditStart.SelectAll();
// SystemCommon.ShowInfoMessageBox("请输入正确的入职时间!");
// return false;
// }
//}
//catch (Exception ex)
//{
// dateEditStart.Focus();
// dateEditStart.SelectAll();
// SystemCommon.ShowInfoMessageBox("请输入正确的入职时间!");
// return false;
//}
//if (userDataModel.ISDRIVER == "1")
//{
// if (string.IsNullOrEmpty(this.txtDriverID.Text.ToString()))
// {
// txtDriverID.Focus();
// txtDriverID.SelectAll();
// SystemCommon.ShowInfoMessageBox("请输入驾照编号!");
// return false;
// }
// if (dateLicense.Text == "" || dateLicense.DateTime > DateTime.Now)
// {
// dateLicense.Focus();
// dateLicense.SelectAll();
// SystemCommon.ShowInfoMessageBox("请输入正确的驾照时间!");
// return false;
// }
//}
return true;
}
#region
private void lkpStorage_EditValueChanged(object sender, EventArgs e)
{
// if (lkpStorage.EditValue != null && !string.IsNullOrEmpty(lkpStorage.EditValue.ToString()))
{
//绑定库区数据
string errText = string.Empty;
BussStorageArea bussStorageArea = new BussStorageArea();
List<AreaGoodsTypeModel> areaGoodsTypes = new List<AreaGoodsTypeModel>();
List<StorageAreaModel> lstStorageAreaModel = new List<StorageAreaModel>();
StorageAreaModel storageAreaModel = new StorageAreaModel();
// storageAreaModel.STORAGE_ID = lkpStorage.EditValue.ToString();
try
{
lstStorageAreaModel = bussStorageArea.GetAreaInfoDS(storageAreaModel, "库区");
// bussStorageArea.GetAreaInfoDS(storageAreaModel, ref areaGoodsTypes);
//lkpStorageArea.Properties.DataSource = lstStorageAreaModel; //areaGoodsTypes;
//lkpStorageArea.Properties.DisplayMember = "STORAGE_AREA_NAME";
//lkpStorageArea.Properties.ValueMember = "STORAGE_AREA_ID";
}
catch (Exception ex)
{
SystemCommon.ShowInfoMessageBox("加载库区出错了GetAreaInfoDS:" + ex.Message);
}
}
}
#endregion
#region
private void lkpStorageArea_EditValueChanged(object sender, EventArgs e)
{
BindData();
}
#endregion
private void lkpWorkkind_EditValueChanged(object sender, EventArgs e)
{
BindData();
}
private void BindData()
{
if (frmButtonItem["Save"].Enabled == false)
{
return;
}
//if (this.lkpStorage.EditValue == null || string.IsNullOrEmpty(this.lkpStorage.EditValue.ToString().Trim()))
//{
// //SystemCommon.ShowInfoMessageBox("仓库不能为空,请选择仓库");
// this.lkpStorage.Focus();
// return;
//}
//if (this.lkpStorageArea.EditValue == null || string.IsNullOrEmpty(this.lkpStorageArea.EditValue.ToString().Trim()))
//{
// //SystemCommon.ShowInfoMessageBox("库区不能为空,请选择库区!");
// this.lkpStorageArea.Focus();
// return;
//}
//if (this.lkpWorkkind.EditValue == null || string.IsNullOrEmpty(this.lkpWorkkind.EditValue.ToString().Trim()))
//{
// // SystemCommon.ShowInfoMessageBox("工种不能为空,请选则工种!");
// this.lkpWorkkind.Focus();
// return;
//}
UserAreaModel areaModel = GetModel();
if (!CheckModel(areaModel))
{
listArea.Add(areaModel);
bgsUserArea.DataSource = listArea;
bgsUserArea.ResetBindings(true);
// this.GridViewStorageArea.RefreshData();
}
}
private UserAreaModel GetModel()
{
UserAreaModel areaModel = new UserAreaModel();
//if (this.lkpStorage.EditValue != null)
//{
// areaModel.STORAGE_ID = this.lkpStorage.EditValue.ToString();
// areaModel.STORAGE_NAME = this.lkpStorage.Text;
//}
//if (this.lkpStorageArea.EditValue != null)
//{
// areaModel.AREA_ID = this.lkpStorageArea.EditValue.ToString();
// areaModel.AREA_NAME = this.lkpStorageArea.Text;
//}
//if (this.lkpWorkkind.EditValue != null)
//{
// areaModel.WORKKIND_ID = this.lkpWorkkind.EditValue.ToString();
// areaModel.WORKKIND_NAME = this.lkpWorkkind.Text;
//}
//新增人员库区数据时 添加默认 最小工作量
areaModel.WORKLOAD = 20;
return areaModel;
}
private bool CheckModel(UserAreaModel areaModel)
{
foreach (UserAreaModel model in listArea)
{
//if (model.AREA_ID == areaModel.AREA_ID && model.WORKKIND_ID == areaModel.WORKKIND_ID)
if (model.STORAGE_ID.Trim() == areaModel.STORAGE_ID.Trim() && model.AREA_ID.Trim() == areaModel.AREA_ID.Trim() && model.WORKKIND_ID.Trim() == areaModel.WORKKIND_ID.Trim())
{
return true;
}
}
return false;
}
private void GridViewStorageArea_Click(object sender, EventArgs e)
{
//UserAreaModel ua = this.GridViewStorageArea.GetFocusedRow() as UserAreaModel;
//bgsUserAreaModel.DataSource = ua;
}
private void rdoIsDriver_SelectedIndexChanged(object sender, EventArgs e)
{
this.labelControl1.Focus();
if (userDataModel.ISDRIVER == "1")
{
panel1.Size = new Size(771, 250);
}
else if (userDataModel.ISDRIVER == "0")
{
panel1.Size = new Size(771, 197);
//userDataModel.DRIVE_ID = string.Empty;
//userDataModel.DRIVE_LEVEL = string.Empty;
//userDataModel.DRIVE_ACTIVE_TIME = 0;
//userDataModel.USER_DRIVING = DateTime.MinValue;
}
}
}
}