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

1322 lines
46 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using WMS.Frm.Base;
using WMS.Model.Base;
using WMS.Common;
using 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;
}
}
}
}