using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Text;
|
using System.Windows.Forms;
|
using DBUtility;
|
|
namespace SCM
|
{
|
public partial class Gy_UserByOrgRelation : Form
|
{
|
public frmBillQueryCondition_Base frmCondition;
|
public const string ViewName = "h_v_Gy_UserByOrgRelationList";
|
public DBUtility.ClsPub.Enum_InputMode InputMode; //录入状态标志(0-非录入状态 1-增加 2-修改)
|
public string sCzybm; //用户编码
|
public string sCzymc; //用户名称
|
|
public WMSWeb.WebService1 oWeb = new WMSWeb.WebService1();
|
|
public Gy_UserByOrgRelation()
|
{
|
InitializeComponent();
|
}
|
|
//以下代码基本不需要修改
|
#region 固定代码
|
|
//保存GRID列宽
|
private void Gy_UserByOrgRelation_FormClosing(object sender, FormClosingEventArgs e)
|
{
|
DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath);
|
}
|
|
//窗体加载
|
private void Gy_UserByOrgRelation_Load(object sender, EventArgs e)
|
{
|
//设置动态URL
|
oWeb.Url = ClsPub1.WEBSURL;
|
//
|
txtCzybm.ReadOnly = true;
|
txtCzymc.ReadOnly = true;
|
frmCondition = new frmBillQueryCondition_Base();
|
initGrid();
|
RefreshTool();
|
}
|
|
//初始化GRID
|
private void initGrid()
|
{
|
DBUtility.Xt_BaseBillFun.initGridList(grdMain, this.Name);
|
}
|
|
//刷新TOOLBAR
|
private void RefreshTool()//Lock
|
{
|
if (InputMode == DBUtility.ClsPub.Enum_InputMode.InputMode_View)
|
{
|
stTab.SelectedIndex = 0;
|
stTab.TabPages.Remove(this.tabPage2);
|
stTab.TabPages.Remove(this.tabPage1);
|
stTab.TabPages.Add(this.tabPage1);
|
grdMain.Enabled = true;
|
bj.Enabled = true;
|
sc.Enabled = true;
|
sx.Enabled = true;
|
tc.Enabled = true;
|
}
|
else
|
{
|
stTab.SelectedIndex = 1;
|
stTab.TabPages.Remove(this.tabPage1);
|
stTab.TabPages.Remove(this.tabPage2);
|
stTab.TabPages.Add(this.tabPage2);
|
stTab.TabPages[0].Hide();
|
grdMain.Enabled = false;
|
bj.Enabled = false;
|
sc.Enabled = false;
|
sx.Enabled = false;
|
tc.Enabled = true;
|
}
|
}
|
|
private Int32 Fun_GetCol(string sCol)//Lock
|
{
|
return DBUtility.Gy_BaseFun.Fun_GetCol(sCol, grdMain);
|
}
|
|
//时间控件
|
private void timer1_Tick(object sender, EventArgs e)
|
{
|
timer1.Enabled = false;
|
Display();
|
}
|
|
private void grdMain_DoubleClick(object sender, EventArgs e)
|
{
|
InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_AddNew;
|
RefreshTool();
|
ShowData();
|
}
|
|
#endregion
|
|
|
#region 功能控件处理
|
|
//编辑
|
private void bj_Click(object sender, EventArgs e)
|
{
|
if (DBUtility.Gy_BaseFun.AllowRow(grdMain))
|
{
|
InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_AddNew;
|
RefreshTool();
|
ShowData();
|
}
|
}
|
|
//读取类 到 控件
|
private void ShowData()
|
{
|
LbYes.Items.Clear();
|
LbNo.Items.Clear();
|
sCzybm = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("用户编码")].Value);
|
sCzymc = DBUtility.ClsPub.isStrNull(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("用户名称")].Value);
|
try
|
{
|
txtCzybm.Text = sCzybm;
|
txtCzymc.Text = sCzymc;
|
|
//加载不属于组织
|
DataSet oDs1 = oWeb.getDataSetBySQL("select a.HItemID,a.Hname from Xt_ORGANIZATIONS a with(nolock) left join Gy_UserByOrgRelation b with(nolock) on a.HItemID=b.HOrgID and (isnull(b.HUserID,'')='" + sCzybm + "' or isnull(b.HUserID,'')='')"
|
+ " where isnull(b.HItemID,'')=''", "Gy_UserByOrgRelation", ref ClsPub.sExeReturnInfo);
|
|
if (oDs1.Tables[0].Rows.Count != 0)
|
{
|
for (int i = 0; i <= oDs1.Tables[0].Rows.Count - 1; i++)
|
{
|
LbNo.Items.Add(oDs1.Tables[0].Rows[i][0].ToString().Trim() + "-" + oDs1.Tables[0].Rows[i][1].ToString().Trim());
|
}
|
}
|
//加载属于组织
|
DataSet oDs2 = oWeb.getDataSetBySQL("select a.HItemID,a.Hname from Xt_ORGANIZATIONS a with(nolock) left join Gy_UserByOrgRelation b with(nolock) on a.HItemID=b.HOrgID and (isnull(b.HUserID,'')='" + sCzybm + "' or isnull(b.HUserID,'')='')"
|
+ " where isnull(b.HItemID,'')<>''", "Gy_UserByOrgRelation", ref ClsPub.sExeReturnInfo);
|
|
if (oDs2.Tables[0].Rows.Count != 0)
|
{
|
for (int i = 0; i <= oDs2.Tables[0].Rows.Count - 1; i++)
|
{
|
LbYes.Items.Add(oDs2.Tables[0].Rows[i][0].ToString().Trim() + "-" + oDs2.Tables[0].Rows[i][1].ToString().Trim());
|
}
|
}
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show(e.Message, "提示");
|
return;
|
}
|
}
|
|
//删除
|
private void sc_Click(object sender, EventArgs e)
|
{
|
if (DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("HItemID")].Value) == 0)
|
{
|
MessageBox.Show("当前用户没有对应组织权限信息,无需删除", "提示");
|
return;
|
}
|
else if (MessageBox.Show("确定要删除当前用户对应组织权限?" + grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("用户名称")].Value.ToString() + ",对应组织:" + grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("对应组织名称")].Value.ToString(), "提示", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
|
{
|
return;
|
}
|
DeleteBill();
|
Display();
|
}
|
|
private void DeleteBill()
|
{
|
try
|
{
|
oWeb.getRunProc("delete from Gy_UserByOrgRelation where HItemID=" + DBUtility.ClsPub.isLong(grdMain.Rows[grdMain.CurrentRow.Index].Cells[Fun_GetCol("HItemID")].Value.ToString()), ref DBUtility.ClsPub.sExeReturnInfo);
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show(e.Message, "提示");
|
return;
|
}
|
MessageBox.Show("删除成功!", "提示");
|
}
|
|
//刷新
|
private void xs_Click(object sender, EventArgs e)
|
{
|
Display();
|
}
|
|
//显示列表
|
private void Display()
|
{
|
try
|
{
|
DataSet oDs = new DataSet();
|
oDs = oWeb.getDataSetBySQL("select * from " + ViewName + " order by 用户名称", ViewName, ref DBUtility.ClsPub.sExeReturnInfo);
|
if (oDs == null)
|
{
|
MessageBox.Show("无用户信息!原因:" + DBUtility.ClsPub.sExeReturnInfo);
|
return;
|
}
|
//
|
grdMain.DataSource = oDs.Tables[0].DefaultView;
|
////加载列宽
|
//for (int i = 0; i < grdMain.ColumnCount; i++)
|
//{
|
// grdMain.Columns[i].Width = 100;
|
// if (grdMain.Columns[i].HeaderText.Substring(0, 1).ToLower() == "h")
|
// {
|
// grdMain.Columns[i].Visible = false;
|
// }
|
// else
|
// {
|
// grdMain.Columns[i].Visible = true;
|
// }
|
//}
|
//加载列宽
|
DBUtility.Gy_BaseFun.DisplayGrid(grdMain, this.Name);
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show(e.Message, "提示");
|
return;
|
}
|
}
|
|
//退出模块
|
private void tc_Click(object sender, EventArgs e)
|
{
|
this.Close();
|
}
|
|
//保存列宽
|
private void bclk_Click(object sender, EventArgs e)
|
{
|
DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath);
|
}
|
|
//默认列宽
|
private void mrlk_Click(object sender, EventArgs e)//Lock
|
{
|
DBUtility.ClsPub.DefaultGridView(grdMain);
|
//参数解释 开始列 ,结束列,是否以最大列宽为准,最小列宽
|
DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath);
|
}
|
|
#endregion
|
|
|
#region 编辑界面控件处理
|
|
//保存按钮
|
private void cmdOK_Click(object sender, EventArgs e)
|
{
|
if (Save())
|
{
|
MessageBox.Show("保存完毕!", "提示");
|
}
|
else
|
{
|
MessageBox.Show("保存失败!原因:" + DBUtility.ClsPub.sExeReturnInfo, "提示");
|
}
|
if (InputMode == DBUtility.ClsPub.Enum_InputMode.InputMode_Modify)
|
{
|
InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_View;
|
RefreshTool();
|
}
|
}
|
|
//保存
|
private bool Save()
|
{
|
oWeb.getRunProc("delete from Gy_UserByOrgRelation where HUserID='" + sCzybm.ToString() + "'", ref DBUtility.ClsPub.sExeReturnInfo);
|
for (int i = 0; i <= LbYes.Items.Count - 1; i++)
|
{
|
oWeb.getRunProc("insert into Gy_UserByOrgRelation (HBillType,HUserID,HOrgID) values ('','" + sCzybm.ToString() + "'," + ClsPub.isLong(Get_Code(this.LbYes.Items[i].ToString())) + ")", ref DBUtility.ClsPub.sExeReturnInfo);
|
}
|
Display();
|
return true;
|
}
|
|
//拆分
|
private string Get_Code(string sCode)
|
{
|
sCode = sCode.Trim();
|
char c = Convert.ToChar("-");
|
string[] s = sCode.Split(c);
|
if (s.Length > 1)
|
{
|
return s[0].Trim();
|
}
|
else
|
{
|
return "0";
|
}
|
}
|
|
//取消按钮
|
private void cmdCancel_Click(object sender, EventArgs e)
|
{
|
InputMode = DBUtility.ClsPub.Enum_InputMode.InputMode_View;
|
RefreshTool();
|
}
|
|
//左移
|
private void cmdLeft_Click(object sender, EventArgs e)
|
{
|
if (this.LbNo.SelectedItems.Count > 0)
|
{
|
int i = this.LbNo.SelectedIndex;
|
this.LbYes.Items.Add(this.LbNo.SelectedItem.ToString());
|
this.LbNo.Items.RemoveAt(i);
|
}
|
}
|
|
//全部左移
|
private void cmdAllLeft_Click(object sender, EventArgs e)
|
{
|
if (this.LbNo.Items.Count > 0)
|
{
|
for (int i = 0; i <= this.LbNo.Items.Count - 1; i++)
|
{
|
this.LbYes.Items.Add(this.LbNo.Items[i].ToString());
|
this.LbNo.Items.RemoveAt(i);
|
i--;
|
}
|
}
|
}
|
|
//右移
|
private void cmdRight_Click(object sender, EventArgs e)
|
{
|
if (this.LbYes.SelectedItems.Count > 0)
|
{
|
int i = this.LbYes.SelectedIndex;
|
this.LbNo.Items.Add(this.LbYes.SelectedItem.ToString());
|
this.LbYes.Items.RemoveAt(i);
|
}
|
}
|
|
//全部右移
|
private void cmdAllRight_Click(object sender, EventArgs e)
|
{
|
if (this.LbYes.Items.Count > 0)
|
{
|
for (int i = 0; i <= this.LbYes.Items.Count - 1; i++)
|
{
|
this.LbNo.Items.Add(this.LbYes.Items[i].ToString());
|
this.LbYes.Items.RemoveAt(i);
|
i--;
|
}
|
}
|
}
|
|
#endregion
|
|
|
public int i = 0; //行的下标控制器 (*****控制从第几行开始遍历*****)
|
public bool notNull = false; //递归控制器 (*****控制是否可调用递归******)
|
private void cmdHUser_Click(object sender, EventArgs e)
|
{
|
string sFind = txtHUser.Text.Trim();
|
string sUser = "";
|
foreach (DataGridViewRow dr in grdMain.SelectedRows) //取消行的选中
|
{
|
dr.Selected = false;
|
}
|
for (int a = i; a <= grdMain.RowCount - 1; a++)
|
{
|
sUser = DBUtility.ClsPub.isStrNull(this.grdMain.Rows[a].Cells[Fun_GetCol("用户名称")].Value);
|
if (sUser.IndexOf(sFind) != -1)
|
{
|
grdMain.Rows[a].Selected = true; //如果匹配则选中该行
|
grdMain.FirstDisplayedScrollingRowIndex = a; //滚动条滑自该行
|
i = a + 1; //使下次遍历从该行的下一行开始查找
|
notNull = true;
|
return; //设置notNull为真,跳出
|
}
|
}
|
if (notNull) //始终未找到匹配项则进入
|
{
|
i = 0; //重置从第一行遍历
|
notNull = false; //设置notNull为假,如果再一次从第一行遍历未找到匹配项则不会再进入IF调用递归
|
cmdHUser_Click(sender, e); //递归
|
}
|
else
|
{
|
MessageBox.Show("未找到!!");
|
}
|
}
|
|
|
|
|
|
|
}
|
}
|