using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Text;
|
using System.Windows.Forms;
|
using SQLHelper;
|
|
namespace DBUtility
|
{
|
public partial class Xt_CheckUserRight : Form
|
{
|
private int HItemIDCol = 0;
|
private int HNumberCol = 0;
|
//public frm_G_BillQueryCondition frmCondition;
|
const string ViewName = "h_v_Xt_CheckUserRightList";
|
const string ModName = "审批用户权限设置";
|
public Pub_Class.ClsPub.Enum_InputMode InputMode; //录入状态标志(0-非录入状态 1-增加 2-修改)
|
public long HItemID;//项目ID
|
ClsCN oCn = new ClsCN();
|
TreeNode CurNode = new TreeNode();
|
ClsPub oPub = new ClsPub();
|
Pub_Class.ClsGridViewSum oSumGrid = new Pub_Class.ClsGridViewSum();
|
Pub_Class.ClsGridViewSum oSumGrid2 = new Pub_Class.ClsGridViewSum();
|
|
public Xt_CheckUserRight()
|
{
|
InitializeComponent();
|
}
|
//
|
#region 固定代码
|
|
//新增
|
private void AddNew()
|
{
|
InputMode = Pub_Class.ClsPub.Enum_InputMode.InputMode_AddNew;
|
Init();
|
}
|
//初始化GRID
|
private void initGrid()
|
{
|
grdMain.ColumnCount = 5; //总列数
|
DBUtility.Xt_BaseBillFun.initGridFst(grdMain, this.Name);
|
grdMain.ReadOnly = true; //是否只读
|
grdMain.RowCount = 0;
|
//
|
grdMain.Columns[0].HeaderText = "HInterID";
|
grdMain.Columns[1].HeaderText = "用户编号";
|
grdMain.Columns[2].HeaderText = "用户名称";
|
grdMain.Columns[3].HeaderText = "hcheckitemid";
|
grdMain.Columns[4].HeaderText = "审批项目";
|
//
|
grdMain.Columns[0].Visible = false;
|
grdMain.Columns[3].Visible = false;
|
//设置可编辑列
|
string sAllowCol = "";
|
//设置合计列
|
string sTotalCol = "";
|
|
//格式化网格
|
DBUtility.Xt_BaseBillFun.initGridLast(sAllowCol, sTotalCol, oSumGrid);
|
|
|
//
|
grdSource.ColumnCount = 5; //总列数
|
DBUtility.Xt_BaseBillFun.initGridFst(grdSource, this.Name);
|
grdSource.ReadOnly = true; //是否只读
|
grdSource.RowCount = 0;
|
//
|
grdSource.Columns[0].HeaderText = "HInterID";
|
grdSource.Columns[1].HeaderText = "用户编号";
|
grdSource.Columns[2].HeaderText = "用户名称";
|
grdSource.Columns[3].HeaderText = "hcheckitemid";
|
grdSource.Columns[4].HeaderText = "审批项目";
|
//
|
grdSource.Columns[0].Visible = false;
|
grdSource.Columns[3].Visible = false;
|
//设置可编辑列
|
string sAllowCol2 = "";
|
//设置合计列
|
string sTotalCol2 = "";
|
|
//格式化网格
|
DBUtility.Xt_BaseBillFun.initGridLast(sAllowCol2, sTotalCol2, oSumGrid2);
|
|
}
|
//显示
|
private void Display()
|
{
|
initGrid();
|
DisplayMain();
|
DisplaySource();
|
}
|
//显示列表
|
private void DisplayMain()
|
{
|
ClsCN SubCn = new ClsCN();
|
DataSet DSet ;
|
string sSql = "select * from h_v_Xt_CheckUserRightMain ";
|
if (CurNode.Name == null || CurNode.Name=="")
|
{
|
return;
|
}
|
string sWhere = " Where czybm='" + CurNode.Name.Trim().Substring(1, CurNode.Name.Trim().Length - 1) + "'";
|
sWhere = sWhere + " and HInterID='" + ClsPub.isLong(txtHCheckFlowID.Tag) + "'";
|
//过滤条件
|
sSql = sSql + sWhere;
|
//
|
//执行SQL
|
DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo);
|
//
|
if (DSet == null)
|
{
|
MessageBox.Show("显示失败!原因:" + DBUtility.ClsPub.sExeReturnInfo);
|
return;
|
}
|
for (int i = 0; i <= DSet.Tables[0].Rows.Count - 1; i++)
|
{
|
if (i >= grdMain.RowCount - 1)
|
grdMain.Rows.Add();
|
grdMain.Rows[i].Cells[0].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["HInterID"]);
|
grdMain.Rows[i].Cells[1].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["Czybm"]);
|
grdMain.Rows[i].Cells[2].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["用户名称"]);
|
grdMain.Rows[i].Cells[3].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["hcheckitemid"]);
|
grdMain.Rows[i].Cells[4].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["审批项目"]);
|
}
|
|
//加载列宽
|
DBUtility.Gy_BaseFun.DisplayGrid(grdMain, this.Name);
|
//
|
HItemIDCol = Fun_GetCol("HInterID");
|
HNumberCol = Fun_GetCol(ModName + "代码");
|
}
|
|
private void DisplaySource()
|
{
|
ClsCN SubCn = new ClsCN();
|
DataSet DSet ;
|
if (CurNode.Name == null || CurNode.Name == "")
|
{
|
return;
|
}
|
string sSql = "select * from h_v_Xt_CheckUserRightSource ";
|
string sWhere = " Where czybm='" + CurNode.Name.Trim().Substring(1, CurNode.Name.Trim().Length - 1) + "'";
|
sWhere = sWhere + " and HInterID='" + ClsPub.isLong(txtHCheckFlowID.Tag) + "'";
|
//过滤条件
|
sSql = sSql + sWhere;
|
//
|
//执行SQL
|
DSet = SubCn.RunProcReturn(sSql, ViewName, ref DBUtility.ClsPub.sExeReturnInfo);
|
//
|
if (DSet == null)
|
{
|
MessageBox.Show("显示失败!原因:" + DBUtility.ClsPub.sExeReturnInfo);
|
return;
|
}
|
for (int i = 0; i <= DSet.Tables[0].Rows.Count - 1; i++)
|
{
|
if (i >= grdSource.RowCount - 1)
|
grdSource.Rows.Add();
|
grdSource.Rows[i].Cells[0].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["HInterID"]);
|
grdSource.Rows[i].Cells[1].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["Czybm"]);
|
grdSource.Rows[i].Cells[2].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["用户名称"]);
|
grdSource.Rows[i].Cells[3].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["hcheckitemid"]);
|
grdSource.Rows[i].Cells[4].Value = ClsPub.isStrNull(DSet.Tables[0].Rows[i]["审批项目"]);
|
}
|
|
//加载列宽
|
DBUtility.Gy_BaseFun.DisplayGrid(grdSource, this.Name);
|
//
|
HItemIDCol = Fun_GetCol("HInterID");
|
HNumberCol = Fun_GetCol(ModName + "代码");
|
}
|
//得到对应列
|
private Int32 Fun_GetCol(string sCol)
|
{
|
return DBUtility.Gy_BaseFun.Fun_GetCol(sCol, grdMain);
|
}
|
//退出模块
|
private void tc_Click(object sender, EventArgs e)
|
{
|
this.Close();
|
}
|
//刷新
|
private void xs_Click(object sender, EventArgs e)
|
{
|
Display();
|
}
|
|
|
//树型 单击
|
private void tv_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
|
{
|
CurNode = e.Node;
|
if (CurNode != null)
|
{
|
|
//找到选中结点
|
Display();
|
}
|
}
|
//查找结点
|
private void FindRow(string sCode)
|
{
|
//sCode = sCode.Trim();
|
//char c = Convert.ToChar("-");
|
//string[] s = sCode.Split(c);
|
//if (s.Length > 0)
|
//{
|
// sCode = s[0].Trim();
|
// grdMain.Redraw = VSFlex7.RedrawSettings.flexRDNone;
|
// for (int i = grdMain.FixedRows; i < grdMain.Rows; i++)
|
// {
|
// if (sCode.Trim() == grdMain.get_TextMatrix(i, HNumberCol))
|
// {
|
// grdMain.TopRow = i;
|
// grdMain.Row = i;
|
// }
|
// }
|
// grdMain.Redraw = VSFlex7.RedrawSettings.flexRDBuffered;
|
//}
|
}
|
|
//时间控件
|
private void timer1_Tick(object sender, EventArgs e)
|
{
|
timer1.Enabled = false;
|
Display();
|
}
|
|
//删除项目
|
public void Delete()
|
{
|
if (DBUtility.Gy_BaseFun.AllowRow(grdMain))
|
{
|
|
|
}
|
}
|
|
private void bclk_Click(object sender, EventArgs e)
|
{
|
DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath);
|
DBUtility.ClsPub.SaveGridView(grdSource, this.Name, DBUtility.ClsPub.AppPath);
|
}
|
|
private void mrlk_Click(object sender, EventArgs e)
|
{
|
DBUtility.ClsPub.DefaultGridView(grdMain);
|
//参数解释 开始列 ,结束列,是否以最大列宽为准,最小列宽
|
DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath);
|
DBUtility.ClsPub.DefaultGridView(grdSource);
|
//参数解释 开始列 ,结束列,是否以最大列宽为准,最小列宽
|
DBUtility.ClsPub.SaveGridView(grdSource, this.Name, DBUtility.ClsPub.AppPath);
|
}
|
|
|
//保存GRID列宽
|
private void Xt_CheckUserRight_FormClosing(object sender, FormClosingEventArgs e)
|
{
|
DBUtility.ClsPub.SaveGridView(grdMain, this.Name, DBUtility.ClsPub.AppPath);
|
DBUtility.ClsPub.SaveGridView(grdSource, this.Name, DBUtility.ClsPub.AppPath);
|
}
|
//窗体加载
|
private void Xt_CheckUserRight_Load(object sender, EventArgs e)
|
{
|
oSumGrid.NoCol = 0;
|
oSumGrid.ogrdMain = grdMain;
|
//oSumGrid.oGridsum = grdMain;
|
//
|
|
oSumGrid2.NoCol = 0;
|
oSumGrid2.ogrdMain = grdSource;
|
//oSumGrid2.oGridsum = grdSource;
|
|
LoadTree();
|
initGrid();
|
}
|
|
//加载树形
|
private void LoadTree()
|
{
|
try
|
{
|
tv.Nodes.Clear();
|
tv.ImageList = imageList1;
|
TreeNode sNode = tv.Nodes.Add("T0", this.Text,0, 1);
|
//sNode.Expand();
|
LoadAllNodes(sNode);
|
}
|
catch (Exception e )
|
{
|
MessageBox.Show("加载树型失败!" + e.Message, "提示");
|
}
|
}
|
//初始化界面
|
private bool Init()
|
{
|
txtHCheckFlowID.Tag = "0";
|
return true;
|
}
|
#endregion
|
|
#region 界面控件处理
|
|
//保存
|
private bool Save()
|
{
|
if (CurNode.Name == null || CurNode.Name == "")
|
{
|
MessageBox.Show("保存失败,选择的结点有异常!");
|
return false;
|
}
|
try
|
{
|
oCn.BeginTran();
|
//删除原记录
|
oCn.RunProc("Delete From Xt_CheckUserRight where HUserID='" + CurNode.Name.Trim().Substring(1, CurNode.Name.Trim().Length - 1) + "'and HCheckFlowInterID=" + ClsPub.isLong(txtHCheckFlowID.Tag) + "");
|
//新增记录
|
for (int i = 0; i <= grdMain.RowCount - 1; i++)
|
{
|
oCn.RunProc("insert into Xt_CheckUserRight(HUserID,HCheckFlowInterID,HCheckItemID) values('" + CurNode.Name.Trim().Substring(1, CurNode.Name.Trim().Length - 1) + "'," + ClsPub.isLong(txtHCheckFlowID.Tag) + "," + ClsPub.isLong(grdMain.Rows[i].Cells[3].Value) + ") ");
|
}
|
|
oCn.Commit();
|
}
|
catch (Exception e)
|
{
|
oCn.RollBack();
|
MessageBox.Show("保存失败!" + e.Message);
|
}
|
return true;
|
}
|
//新增时清空信息
|
private void Sub_Clear()
|
{
|
return;
|
//
|
}
|
|
//加载子结点
|
private void LoadAllNodes(TreeNode sNode)
|
{
|
if (sNode != null)
|
{
|
try
|
{
|
long sName = Convert.ToInt64(sNode.Name.Substring(1, sNode.Name.Length - 1));
|
sNode.Nodes.Clear();
|
DataSet Ds = oCn.RunProcReturn("select * from Gy_Czygl ", "Xt_CheckUserRight");
|
for (int i = 0; i < Ds.Tables[0].Rows.Count; i++)
|
{
|
TreeNode oNode = sNode.Nodes.Add("T" + Ds.Tables[0].Rows[i]["Czybm"].ToString(), Ds.Tables[0].Rows[i]["Czymc"].ToString(), 0, 1);
|
}
|
sNode.Expand();
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show("加载子项目失败!" + e.Message, "提示");
|
}
|
}
|
}
|
|
private void cmdQForward_Click(object sender, EventArgs e)
|
{
|
if (grdSource.CurrentRow != null)
|
{
|
grdMain.Rows.Add();
|
grdMain.Rows[grdMain.Rows.Count - 1].Cells[4].Value = grdSource.Rows[grdSource.CurrentCell.RowIndex].Cells[4].Value;
|
grdMain.Rows[grdMain.Rows.Count - 1].Cells[3].Value = grdSource.Rows[grdSource.CurrentCell.RowIndex].Cells[3].Value;
|
grdMain.Rows[grdMain.Rows.Count - 1].Cells[2].Value = grdSource.Rows[grdSource.CurrentCell.RowIndex].Cells[2].Value;
|
grdMain.Rows[grdMain.Rows.Count - 1].Cells[1].Value = grdSource.Rows[grdSource.CurrentCell.RowIndex].Cells[1].Value;
|
grdMain.Rows[grdMain.Rows.Count - 1].Cells[0].Value = grdSource.Rows[grdSource.CurrentCell.RowIndex].Cells[0].Value;
|
//
|
grdSource.Rows.RemoveAt(grdSource.CurrentCell.RowIndex);
|
Save();
|
}
|
}
|
|
private void cmdQBack_Click(object sender, EventArgs e)
|
{
|
if (grdMain.CurrentRow != null)
|
{
|
grdSource.Rows.Add();
|
grdSource.Rows[grdSource.Rows.Count - 1].Cells[4].Value = grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[4].Value;
|
grdSource.Rows[grdSource.Rows.Count - 1].Cells[3].Value = grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[3].Value;
|
grdSource.Rows[grdSource.Rows.Count - 1].Cells[2].Value = grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[2].Value;
|
grdSource.Rows[grdSource.Rows.Count - 1].Cells[1].Value = grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[1].Value;
|
grdSource.Rows[grdSource.Rows.Count - 1].Cells[0].Value = grdMain.Rows[grdMain.CurrentCell.RowIndex].Cells[0].Value;
|
//
|
grdMain.Rows.RemoveAt(grdSource.CurrentCell.RowIndex);
|
Save();
|
}
|
}
|
#endregion
|
|
private void cmdHCheckFlowID_Click(object sender, EventArgs e)
|
{
|
ClsXt_CheckFlowHlp oCheck = new ClsXt_CheckFlowHlp();
|
if (oCheck.Refresh())
|
{
|
txtHCheckFlowID.Text = oCheck.HName;
|
txtHCheckFlowID.Tag = oCheck.HInterID.ToString();
|
}
|
else
|
{
|
txtHCheckFlowID.Text = "";
|
}
|
|
}
|
|
private void txtHCheckFlowID_TextChanged(object sender, EventArgs e)
|
{
|
if (txtHCheckFlowID.Text.Trim() == "")
|
{
|
txtHCheckFlowID.Tag = "0";
|
}
|
}
|
|
|
|
|
|
}
|
}
|