1322 lines
46 KiB
C#
1322 lines
46 KiB
C#
|
|
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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|