115 lines
3.7 KiB
C#
115 lines
3.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using WebLib;
|
|
|
|
namespace Education.Forms.組織
|
|
{
|
|
public partial class 組織人員處理 : FormBase
|
|
{
|
|
private int 組織類別Id;
|
|
private DAC_組織人員 Dao組織人員;
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
FunctionName = "組織人員處理";
|
|
Dao組織人員 = new DAC_組織人員(conn);
|
|
|
|
if (!IsPostBack)
|
|
ddl組織類別.DataBind();
|
|
else if (pnl組織圖.Visible)
|
|
{
|
|
GridView1.DataBind();
|
|
}
|
|
}
|
|
|
|
protected void btnSelect組織類別_Click(object sender, EventArgs e)
|
|
{
|
|
組織類別Id = DAC.GetInt32(ddl組織類別.SelectedValue);
|
|
Dao組織圖.DrawTree(TV, 組織類別Id);
|
|
pnl組織圖.Visible = true;
|
|
TV.ExpandAll();
|
|
|
|
if (TV.Nodes.Count > 0)
|
|
{
|
|
TV.Nodes[0].Select();
|
|
TV_SelectedNodeChanged(sender, e);
|
|
}
|
|
else
|
|
{
|
|
txt人員.Text = "";
|
|
txt人員姓名.Text = "";
|
|
lb組織名稱.Text = "";
|
|
}
|
|
}
|
|
|
|
protected void TV_SelectedNodeChanged(object sender, EventArgs e)
|
|
{
|
|
GridView1.DataBind();
|
|
lb組織名稱.Text = TV.SelectedNode.Text;
|
|
//txt人員.Focus();
|
|
}
|
|
|
|
protected void btnInsert_Click(object sender, EventArgs e)
|
|
{
|
|
if (!IsValid)
|
|
return;
|
|
|
|
組織人員 newValue = new 組織人員();
|
|
newValue.組織ID = DAC.GetInt32(TV.SelectedValue);
|
|
newValue.人員ID = txt人員.Text;
|
|
newValue.職務ID = DAC.GetInt32(ddl職務.SelectedValue);
|
|
newValue.直接主管ID = ddl主管.SelectedValue;
|
|
newValue.DB_CRUSR = UserId;
|
|
|
|
Dao組織人員.InsertOne(newValue);
|
|
GridView1.DataBind();
|
|
ddl主管.DataBind();
|
|
//txt人員.Focus();
|
|
}
|
|
|
|
protected void dsGrid_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
|
|
{
|
|
e.ObjectInstance = Dao組織人員;
|
|
}
|
|
|
|
protected void ds職務_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
|
|
{
|
|
e.ObjectInstance = Dao職務;
|
|
}
|
|
|
|
protected void cv人員_ServerValidate(object source, ServerValidateEventArgs args)
|
|
{
|
|
// 檢查人員是否存在
|
|
args.IsValid = Get員工姓名(args.Value).Trim().Length > 0;
|
|
}
|
|
|
|
protected void cv主管_ServerValidate(object source, ServerValidateEventArgs args)
|
|
{
|
|
// 檢查人員是否存在
|
|
args.IsValid = Get員工姓名(args.Value).Trim().Length > 0;
|
|
}
|
|
|
|
protected void cv人員重複_ServerValidate(object source, ServerValidateEventArgs args)
|
|
{
|
|
// 檢查人員是否重複
|
|
args.IsValid = !Dao組織人員.IsDuplicate(DAC.GetInt32(TV.SelectedValue), args.Value);
|
|
}
|
|
|
|
protected void GridView1_RowDeleted(object sender, GridViewDeletedEventArgs e)
|
|
{
|
|
ddl主管.DataBind();
|
|
|
|
// 20181023 檢查部門主管是否在部門人員中,若無則清除部門的主管欄位
|
|
組織圖 dept = Dao組織圖.SelectOne(DAC.GetInt32(TV.SelectedNode.Value)).FirstOrDefault();
|
|
if (dept != null && ddl主管.Items.FindByValue(dept.部門主管) == null)
|
|
{
|
|
dept.部門主管 = "";
|
|
Dao組織圖.UpdateOne(dept);
|
|
}
|
|
}
|
|
}
|
|
} |