2025-03-27 15:05:14 +08:00

682 lines
35 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.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SuperMap.RealEstate.Web.UI;
using SuperMap.RealEstate.Web.Utility;
using SuperMap.RealEstate.CoreFrameWork;
using SuperMap.RealEstate.Web.UI.WebControls;
using Business = SuperMap.RealEstate.Personnel.Storage.Business;
using Historys = SuperMap.RealEstate.Personnel.History.Business;
using SRCDB = SuperMap.RealEstate.CoreFrameWork.Dictionary.Business;
using SuperMap.RealEstate.Utility;
using System.Data;
namespace SuperMap.RealEstate.Personnel.Modules.Position
{
public partial class POSITION : UserControl<Business.POSITION>
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack) return;
if (!string.IsNullOrEmpty(Request["STAFF_ID"]))
{
//姓名
Business.STAFF _STAFF = new Business.STAFF(Transaction);
_STAFF.STAFF_ID = int.Parse(Request["STAFF_ID"].ToDecrypt());
if (_STAFF.Select())
{
STAFF_ID.Text = _STAFF.STAFF_ID.ToString();
STAFF_NAME.Text = _STAFF.STAFF_NAME;
if (Request["ISADD"] == null || (Request["ISADD"] != null && Request["ISADD"].ToString() != "false"))
{
if (_STAFF.CURRENT_POSITION != null)
{
//现任岗位绑定
//CURRENT_POSITION.SelectedValue = _STAFF.CURRENT_POSITION.ToString();
//CURRENT_POSITION.Items.Clear();
//ListItemEx _ListItemEx = new ListItemEx();
//_ListItemEx.Text = "现任岗位";
//_ListItemEx.Enabled = false;
//ListItemEx _ListItemFirstEx = new ListItemEx();
//_ListItemFirstEx.Text=DictionaryHelper.GetFieldEnumName("SEX_TYPE", _STAFF_SEX, Transaction);
DataTable _DataTable = CurrObject.ExecuteDataTable(@"SELECT WM_CONCAT(RANK_PID) FROM
PERSONNEL_STORAGE.T_RANK WHERE EXISTS(SELECT 1 FROM PERSONNEL_STORAGE.T_STAFF WHERE
(RANK_ID = CURRENT_POSITION OR '%,' || NVL(ADDITIONAL_POSITION,0) || ',%' LIKE '%,' || RANK_ID || ',%')
AND STAFF_ID =" + _STAFF.STAFF_ID + ")");
//现任岗位
CURRENT_POSITION.Clear();
Business.RANK _RANKONE = new Business.RANK(Transaction);
_RANKONE.BindingDropDownList(this.CURRENT_POSITION.Items, "-1", 0, "", _STAFF,
_DataTable.Rows.Count > 0 ? _DataTable.Rows[0][0].ToString() : "");
QUASI_EXEMPT_DUTY.SelectedValue = _STAFF.CURRENT_POSITION.ToString();
}
else
{
CURRENT_POSITION.SelectedValue = "";
QUASI_EXEMPT_DUTY.SelectedValue = "";
}
}
}
}
//拟任职务
if (Request["ISADD"] == null || (Request["ISADD"] != null && Request["ISADD"].ToString() != "false"))
{
//新增异动
QUASI_POST.SelectedValue = "";
//现任岗位
CURRENT_POSITION.CaptionText = " 现任岗位:";
}
else
{
//修改异动
if (CurrObject != null && CurrObject.QUASI_POST != null)
{
QUASI_POST.SelectedValue = CurrObject.QUASI_POST;
}
//原始岗位
CURRENT_POSITION.CaptionText = " 原始岗位:";
}
}
//在此加入界面的数据初始化(Page_Load之前)如DropDownList的数据源绑定等
public override void InitializeWebControl()
{
//拟免职务
QUASI_EXEMPT_DUTY.Clear();
Business.RANK _RANKTWO = new Business.RANK(Transaction);
_RANKTWO.BindingDropDownList(this.QUASI_EXEMPT_DUTY.Items, "-1", 0, "");
//拟任职务
QUASI_POST.Clear();
Business.RANK _RANK = new Business.RANK(Transaction);
_RANK.BindingDropDownList(this.QUASI_POST.Items, "-1", 0, "");
//异动类型
VARIANT_TYPE.Clear();
DictionaryHelper.BindingDropDownList("VARIANT_TYPE", VARIANT_TYPE.Items, this.Transaction);
//历史异动类型
POSITION_TYPE.Clear();
DictionaryHelper.BindingDropDownList("POSITION_TYPE", POSITION_TYPE.Items, this.Transaction);
POSITION_TYPE.SelectedValue = "3";
//异动单位
QUASI_UNIT.Clear();
QUASI_DEPT.Clear();
DataTable dt = (new Business.DEPARTMENT(this.Transaction)).ExecuteDataTable(
"SELECT * FROM PERSONNEL_STORAGE.T_DEPARTMENT WHERE DEPARTMENT_PID = '-1' ORDER BY DEPARTMENT_ID");
foreach (DataRow row in dt.Rows)
{
if (!row["DEPARTMENT_NAME"].ToString().Contains("离职人员") && !row["DEPARTMENT_NAME"].ToString().Contains("退休人员"))
{
ListItemEx _ListItemEx = new ListItemEx();
_ListItemEx.Value = row["DEPARTMENT_ID"].ToString();
_ListItemEx.Text = row["DEPARTMENT_NAME"].ToString();
QUASI_UNIT.Items.Add(_ListItemEx);
//异动部门
DataTable dt_quasi_dept = (new Business.DEPARTMENT(this.Transaction)).ExecuteDataTable(
@"SELECT DEPARTMENT_ID,DEPARTMENT_NAME FROM PERSONNEL_STORAGE.T_DEPARTMENT
WHERE DEPARTMENT_NAME IS NOT NULL AND DEPARTMENT_PID = " +
row["DEPARTMENT_ID"].ToString() + "ORDER BY DEPARTMENT_ID");
foreach (DataRow rw in dt_quasi_dept.Rows)
{
ListItemEx _ListItem = new ListItemEx();
_ListItem.Value = rw["DEPARTMENT_ID"].ToString();
_ListItem.Text = rw["DEPARTMENT_NAME"].ToString();
_ListItem.Level = 0;
QUASI_DEPT.Items.Add(_ListItem);
DataTable dts = (new Business.DEPARTMENT(this.Transaction)).ExecuteDataTable(
@"SELECT DEPARTMENT_ID,DEPARTMENT_NAME FROM PERSONNEL_STORAGE.T_DEPARTMENT
WHERE DEPARTMENT_NAME IS NOT NULL AND DEPARTMENT_PID = " +
rw["DEPARTMENT_ID"].ToString() + "ORDER BY DEPARTMENT_ID");
foreach (DataRow rows in dts.Rows)
{
ListItemEx _ListItemExs = new ListItemEx();
_ListItemExs.Value = rows["DEPARTMENT_ID"].ToString();
_ListItemExs.Text = rows["DEPARTMENT_NAME"].ToString();
_ListItemExs.Level = 1;
QUASI_DEPT.Items.Add(_ListItemExs);
}
}
}
}
//现任单位
CURRENT_UNIT.Clear();
CURRENT_DEPT.Clear();
DataTable dt_current_unit = (new Business.DEPARTMENT(this.Transaction)).ExecuteDataTable(
"SELECT * FROM PERSONNEL_STORAGE.T_DEPARTMENT WHERE DEPARTMENT_PID = '-1' ORDER BY DEPARTMENT_ID");
foreach (DataRow row in dt_current_unit.Rows)
{
if (!row["DEPARTMENT_NAME"].ToString().Contains("离职人员") && !row["DEPARTMENT_NAME"].ToString().Contains("退休人员"))
{
ListItemEx _ListItemEx = new ListItemEx();
_ListItemEx.Value = row["DEPARTMENT_ID"].ToString();
_ListItemEx.Text = row["DEPARTMENT_NAME"].ToString();
CURRENT_UNIT.Items.Add(_ListItemEx);
//现任部门
DataTable dt_current_dept = (new Business.DEPARTMENT(this.Transaction)).ExecuteDataTable(
@"SELECT DEPARTMENT_ID,DEPARTMENT_NAME FROM PERSONNEL_STORAGE.T_DEPARTMENT
WHERE DEPARTMENT_NAME IS NOT NULL AND DEPARTMENT_PID = " +
row["DEPARTMENT_ID"].ToString() + "ORDER BY DEPARTMENT_ID");
foreach (DataRow rw in dt_current_dept.Rows)
{
ListItemEx _ListItem = new ListItemEx();
_ListItem.Value = rw["DEPARTMENT_ID"].ToString();
_ListItem.Text = rw["DEPARTMENT_NAME"].ToString();
_ListItem.Level = 0;
CURRENT_DEPT.Items.Add(_ListItem);
DataTable dts = (new Business.DEPARTMENT(this.Transaction)).ExecuteDataTable(
@"SELECT DEPARTMENT_ID,DEPARTMENT_NAME FROM PERSONNEL_STORAGE.T_DEPARTMENT
WHERE DEPARTMENT_NAME IS NOT NULL AND DEPARTMENT_PID = " +
rw["DEPARTMENT_ID"].ToString() + "ORDER BY DEPARTMENT_ID");
foreach (DataRow rows in dts.Rows)
{
ListItemEx _ListItemExs = new ListItemEx();
_ListItemExs.Value = rows["DEPARTMENT_ID"].ToString();
_ListItemExs.Text = rows["DEPARTMENT_NAME"].ToString();
_ListItemExs.Level = 1;
CURRENT_DEPT.Items.Add(_ListItemExs);
}
}
}
}
}
#region 1. 2.
protected void POSITION_TYPE_CallBackSetControl(object sender, ClientSetEventArgs e)
{
CURRENT_POSITION.Clear();
if (POSITION_TYPE.SelectedValue == "4" || POSITION_TYPE.SelectedValue == "1")
{
Business.RANK _RANK = new Business.RANK(Transaction);
_RANK.BindingDropDownList(this.CURRENT_POSITION.Items, "-1", 0, "");
e.SetEnabled(CURRENT_UNIT, true);
e.SetEnabled(CURRENT_DEPT, true);
}
else if (POSITION_TYPE.SelectedValue == "3" || POSITION_TYPE.SelectedValue == "2")
{
e.SetEnabled(CURRENT_UNIT, false);
e.SetEnabled(CURRENT_DEPT, false);
if (Request["ISADD"] == null || (Request["ISADD"] != null && Request["ISADD"].ToString() != "false"))
{
if (!string.IsNullOrEmpty(Request["STAFF_ID"]))
{
Business.STAFF _STAFF = new Business.STAFF(Transaction);
_STAFF.STAFF_ID = int.Parse(Request["STAFF_ID"].ToDecrypt());
if (_STAFF.Select())
{
if (Request["ISADD"] == null || (Request["ISADD"] != null && Request["ISADD"].ToString() != "false"))
{
if (_STAFF.CURRENT_POSITION != null)
{
DataTable _DataTable = CurrObject.ExecuteDataTable(@"SELECT WM_CONCAT(RANK_PID) FROM PERSONNEL_STORAGE.T_RANK
WHERE EXISTS(SELECT 1 FROM PERSONNEL_STORAGE.T_STAFF WHERE (RANK_ID = CURRENT_POSITION OR
'%,' || NVL(ADDITIONAL_POSITION,0) || ',%' LIKE '%,' || RANK_ID || ',%') AND STAFF_ID = " + _STAFF.STAFF_ID + ")");
//现任岗位
Business.RANK _RANKONE = new Business.RANK(Transaction);
_RANKONE.BindingDropDownList(this.CURRENT_POSITION.Items, "-1", 0, "", _STAFF,
_DataTable.Rows.Count > 0 ? _DataTable.Rows[0][0].ToString() : "");
QUASI_EXEMPT_DUTY.SelectedValue = _STAFF.CURRENT_POSITION.ToString();
}
else
{
CURRENT_POSITION.SelectedValue = "";
QUASI_EXEMPT_DUTY.SelectedValue = "";
}
}
}
}
}
}
//绑定
e.SetDropDownListEx(CURRENT_POSITION);
}
#endregion
//载入数据
public override bool LoadData()
{
if (!String.IsNullOrEmpty(Request["ID"]) && !String.IsNullOrEmpty(Request["OPERATE_DATE"]))
{
Historys.POSITION _POSITION = new Historys.POSITION(Transaction);
_POSITION.AddSearchParameter("POSITION_ID", Request["ID"].ToDecrypt());
_POSITION.AddSearchParameter("OPERATE_DATE", DateTime.Parse(Request["OPERATE_DATE"]));
if (_POSITION.Search())
{
BindObjectToControl(_POSITION);
return true;
}
}
else if (!String.IsNullOrEmpty(Request["ID"]))
{
CurrObject.POSITION_ID_Encrypt = Request["ID"];
bool Flag = this.Select();
return Flag;
}
//默认返回值工作流组件返回True,功能模块返回False。
return (WorkFlowPage != null);
}
#region ->
//OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理
//e.CancelDataAction 来处理是否取消该动作;
//失败的原因可以用Page.Alert()传递到页面
public override void OnDataAction_BeforeSave(DataActionEventArgs<Business.POSITION> e)
{
#region
// if (CURRENT_POSITION.SelectedIndex > 0 && QUASI_POST.SelectedIndex > 0 && VARIANT_TYPE.SelectedValue == "2")
// {
// Business.STAFF _STAFF = new Business.STAFF(Transaction);
// DataTable staff = _STAFF.ExecuteDataTable(@"SELECT CURRENT_POSITION,ADDITIONAL_POSITION
// FROM PERSONNEL_STORAGE.T_STAFF WHERE STAFF_ID = " + Request["STAFF_ID"].ToDecrypt());
// _STAFF.ResetProperty();
// _STAFF.STAFF_ID_Encrypt = Request["STAFF_ID"];
// if (_STAFF.Select())
// {
// string CURRENTPOSITION = _STAFF.CURRENT_POSITION.ToString();
// if (_STAFF.CURRENT_POSITION == int.Parse(CURRENT_POSITION.SelectedValue))
// {
// if (QUASI_POST.SelectedIndex > -1)
// {
// _STAFF.CURRENT_POSITION = int.Parse(QUASI_POST.SelectedValue);
// }
// }
// else
// {
// if (!string.IsNullOrEmpty(_STAFF.ADDITIONAL_POSITION))
// {
// foreach (string str in _STAFF.ADDITIONAL_POSITION.Split(','))
// {
// if (str == CURRENT_POSITION.SelectedValue)
// {
// if (_STAFF.CURRENT_POSITION != null)
// {
// _STAFF.CURRENT_POSITION = int.Parse(QUASI_POST.SelectedValue);
// _STAFF.ADDITIONAL_POSITION = _STAFF.ADDITIONAL_POSITION.Replace(str, staff.Rows[0]["CURRENT_POSITION"].ToString());
// }
// }
// }
// }
// }
// _STAFF.Update();
// }
// }
#endregion
Business.STAFF _STAFF = new Business.STAFF(Transaction);
_STAFF.STAFF_ID = e.CurrObject.STAFF_ID;
if (_STAFF.Select())
{
#region
//if (e.CurrObject.POSITION_TYPE == 3)
//{
// switch (VARIANT_TYPE.SelectedValue)
// {
// case "1":
// case "2":
// case "3":
// if (string.IsNullOrEmpty(CURRENT_POSITION.SelectedValue))
// {
// throw new Exception("该异动调整类型需要选择现任岗位");
// }
// else if (string.IsNullOrEmpty(QUASI_POST.SelectedValue))
// {
// throw new Exception("该异动调整类型需要选择异动职位");
// }
// else
// {
// if (Check(_STAFF.STAFF_ID.ToString(), CURRENT_UNIT.SelectedValue, CURRENT_DEPT.SelectedValue))
// {
// throw new Exception("异动调整职位不可选择已担任职位");
// }
// else if (_STAFF.CURRENT_POSITION.ToString() == QUASI_POST.SelectedValue)
// {
// throw new Exception("异动调整职位不可选择已担任职位");
// }
// }
// break;
// case "6":
// case "4":
// if (string.IsNullOrEmpty(QUASI_POST.SelectedValue))
// {
// throw new Exception("该异动调整类型需要选择异动职位");
// }
// else if (QUASI_UNIT.SelectedValue == CURRENT_UNIT.SelectedValue &&
// QUASI_DEPT.SelectedValue == CURRENT_DEPT.SelectedValue &&
// QUASI_POST.SelectedValue == _STAFF.CURRENT_POSITION.ToString())
// {
// throw new Exception("异动调整职位不可选择已担任职位");
// }
// else if (Check(_STAFF.STAFF_ID.ToString(), QUASI_UNIT.SelectedValue, QUASI_DEPT.SelectedValue))
// {
// throw new Exception("异动调整职位不可选择已担任职位");
// }
// break;
// case "5":
// if (string.IsNullOrEmpty(CURRENT_POSITION.SelectedValue))
// {
// throw new Exception("该异动调整类型需要选择现任岗位");
// }
// break;
// }
//}
#endregion
//不可担任主职
if (_STAFF.CURRENT_POSITION.ToString() == QUASI_POST.SelectedValue &&
_STAFF.DEPARTMENT_ID.ToString() == QUASI_DEPT.SelectedValue)
{
throw new Exception("异动调整职位不可选择已担任职位");
}
else
{
Business.ADDITIONAL _ADDITIONAL = new Business.ADDITIONAL(Transaction);
_ADDITIONAL.AddSearchParameter("STAFF_ID", _STAFF.STAFF_ID);
_ADDITIONAL.AddSearchParameter("ADDITIONAL_UNIT", QUASI_UNIT.SelectedValue);
_ADDITIONAL.AddSearchParameter("ADDITIONAL_DEPT", QUASI_DEPT.SelectedValue);
_ADDITIONAL.AddSearchParameter("ADDITIONAL_POSITION", QUASI_POST.SelectedValue);
if (_ADDITIONAL.Search())
{
throw new Exception("异动调整职位不可选择已担任职位");
}
}
}
if (e.CurrObject.STAFF_ID == null || e.CurrObject.STAFF_ID == 0)
{
throw new Exception("您未选中任何人员");
}
e.CurrObject.OPERATE_DATE = DateTime.Now;
e.CurrObject.OPERATE_USER = Page.PassportInfo.Name;
e.CurrObject.OPERATE_USERID = Page.PassportInfo.ID;
base.OnDataAction_BeforeSave(e);
}
#region
public override void OnDataAction_AfterSave(DataActionEventArgs<Business.POSITION> e)
{
if (POSITION_TYPE.SelectedValue != "3")
{
if (Request["STAFF_ID"] != null)
{
DataTable dt = new Business.POSITION(Transaction).ExecuteDataTable(string.Format(
@"SELECT POSITION_ID FROM PERSONNEL_STORAGE.T_POSITION
WHERE STAFF_ID ={0} ORDER BY POSITION_ID DESC", Request["STAFF_ID"].ToDecrypt()));
if (dt.Rows.Count > 0)
{
Business.POSITION _POSITIONOld = new Business.POSITION(Transaction);
_POSITIONOld.POSITION_ID = int.Parse(dt.Rows[0]["POSITION_ID"].ToString());
if (_POSITIONOld.Select())
{
Historys.POSITION _HistoryPOSITION = new Historys.POSITION(Transaction);
_HistoryPOSITION.ResetProperty();
_HistoryPOSITION.CopyFrom(_POSITIONOld);
_HistoryPOSITION.Insert();
string _Sql = "DELETE FROM PERSONNEL_STORAGE.T_POSITION WHERE POSITION_ID = " + _POSITIONOld.POSITION_ID;
_POSITIONOld.ExecuteNonQuery(_Sql, null);
}
}
}
}
else
{
Business.ADDITIONAL _ADDITIONAL = new Business.ADDITIONAL(Transaction);
Business.STAFF _STAFF = new Business.STAFF(Transaction);
_STAFF.STAFF_ID = e.CurrObject.STAFF_ID;
if (_STAFF.Select())
{
//更新人事表操作人员
_STAFF.OPERATE_USER = Page.PassportInfo.Name;
_STAFF.OPERATE_USERID = Page.PassportInfo.ID;
_STAFF.Update();
//更新兼职表操作人员
_ADDITIONAL.AddSearchParameter("STAFF_ID", _STAFF.STAFF_ID);
_ADDITIONAL.AddSearchParameter("ADDITIONAL_UNIT", QUASI_UNIT.SelectedValue);
_ADDITIONAL.AddSearchParameter("ADDITIONAL_DEPT", QUASI_DEPT.SelectedValue);
_ADDITIONAL.AddSearchParameter("ADDITIONAL_POSITION", QUASI_POST.SelectedValue);
if (_ADDITIONAL.Search())
{
_ADDITIONAL.OPERATE_ID = Page.PassportInfo.ID;
_ADDITIONAL.OPERATE_NAME = Page.PassportInfo.Name;
_ADDITIONAL.Update();
}
}
}
}
#endregion
public override void OnDataAction_BeforeDelete(DataActionEventArgs<Business.POSITION> e)
{
e.CurrObject.OPERATE_DATE = DateTime.Now;
e.CurrObject.OPERATE_USER = Page.PassportInfo.Name;
e.CurrObject.OPERATE_USERID = Page.PassportInfo.ID;
base.OnDataAction_BeforeDelete(e);
}
#endregion
#region ->
public bool Check(string id, string unit, string dept)
{
bool flag = false;
Business.ADDITIONAL _ADDITIONAL = new Business.ADDITIONAL(Transaction);
_ADDITIONAL.AddSearchParameter("STAFF_ID", id);
_ADDITIONAL.AddSearchParameter("ADDITIONAL_UNIT", unit);
_ADDITIONAL.AddSearchParameter("ADDITIONAL_DEPT", dept);
_ADDITIONAL.AddSearchParameter("ADDITIONAL_POSITION", QUASI_POST.SelectedValue);
if (_ADDITIONAL.Search())
{
flag = true;
}
return flag;
}
#endregion
// #region 绑定现任职位 1.历史异动:绑定全部职位 2.职位异动:绑定现任职位和兼职
// protected void POSITION_TYPE_CallBackSetControl(object sender, ClientSetEventArgs e)
// {
// CURRENT_POSITION.Clear();
// if (POSITION_TYPE.SelectedValue == "4")
// {
// Business.RANK _RANK = new Business.RANK(Transaction);
// _RANK.BindingDropDownList(this.CURRENT_POSITION.Items, "-1", 0, "");
// e.SetEnabled(CURRENT_UNIT, true);
// e.SetEnabled(CURRENT_DEPT, true);
// }
// else
// {
// e.SetEnabled(CURRENT_UNIT, false);
// e.SetEnabled(CURRENT_DEPT, false);
// if (Request["ISADD"] == null || (Request["ISADD"] != null && Request["ISADD"].ToString() != "false"))
// {
// if (!string.IsNullOrEmpty(Request["STAFF_ID"]))
// {
// Business.STAFF _STAFF = new Business.STAFF(Transaction);
// _STAFF.STAFF_ID = int.Parse(Request["STAFF_ID"].ToDecrypt());
// if (_STAFF.Select())
// {
// if (Request["ISADD"] == null || (Request["ISADD"] != null && Request["ISADD"].ToString() != "false"))
// {
// if (_STAFF.CURRENT_POSITION != null)
// {
// DataTable _DataTable = CurrObject.ExecuteDataTable(@"SELECT WM_CONCAT(RANK_PID) FROM PERSONNEL_STORAGE.T_RANK
// WHERE EXISTS(SELECT 1 FROM PERSONNEL_STORAGE.T_STAFF WHERE (RANK_ID = CURRENT_POSITION OR
// '%,' || NVL(ADDITIONAL_POSITION,0) || ',%' LIKE '%,' || RANK_ID || ',%') AND STAFF_ID = " + _STAFF.STAFF_ID + ")");
// //现任岗位
// Business.RANK _RANKONE = new Business.RANK(Transaction);
// _RANKONE.BindingDropDownList(this.CURRENT_POSITION.Items, "-1", 0, "", _STAFF,
// _DataTable.Rows.Count > 0 ? _DataTable.Rows[0][0].ToString() : "");
// QUASI_EXEMPT_DUTY.SelectedValue = _STAFF.CURRENT_POSITION.ToString();
// }
// else
// {
// CURRENT_POSITION.SelectedValue = "";
// QUASI_EXEMPT_DUTY.SelectedValue = "";
// }
// }
// }
// }
// }
// }
// //绑定
// e.SetDropDownListEx(CURRENT_POSITION);
// }
// #endregion
//#region 方法 -> 异动类型
//protected void VARIANT_TYPE_CallBackSetControl(object sender, ClientSetEventArgs e)
//{
// switch (VARIANT_TYPE.SelectedValue)
// {
// case "1":
// case "3":
// e.SetAllowEmpty(CURRENT_POSITION, false);
// e.SetAllowEmpty(QUASI_POST, false);
// e.SetAllowEmpty(QUASI_UNIT, true);
// e.SetAllowEmpty(QUASI_DEPT, true);
// e.SetEnabled(QUASI_POST, true);
// e.SetEnabled(QUASI_UNIT, false);
// e.SetEnabled(QUASI_DEPT, false);
// break;
// case "2":
// e.SetAllowEmpty(CURRENT_POSITION, true);
// e.SetAllowEmpty(QUASI_POST, false);
// e.SetAllowEmpty(QUASI_UNIT, true);
// e.SetAllowEmpty(QUASI_DEPT, true);
// e.SetEnabled(QUASI_POST, true);
// e.SetEnabled(QUASI_UNIT, false);
// e.SetEnabled(QUASI_DEPT, false);
// break;
// case "4":
// case "6":
// e.SetAllowEmpty(CURRENT_POSITION, true);
// e.SetAllowEmpty(QUASI_POST, false);
// e.SetAllowEmpty(QUASI_UNIT, false);
// e.SetAllowEmpty(QUASI_DEPT, false);
// e.SetEnabled(QUASI_POST, true);
// e.SetEnabled(QUASI_UNIT, true);
// e.SetEnabled(QUASI_DEPT, true);
// break;
// case "5":
// e.SetAllowEmpty(CURRENT_POSITION, false);
// e.SetAllowEmpty(QUASI_POST, true);
// e.SetAllowEmpty(QUASI_UNIT, true);
// e.SetAllowEmpty(QUASI_DEPT, true);
// e.SetEnabled(QUASI_POST, false);
// e.SetEnabled(QUASI_UNIT, false);
// e.SetEnabled(QUASI_DEPT, false);
// break;
// }
//}
//#endregion
#region ->
protected void QUASI_UNIT_CallBackSetControl(object sender, ClientSetEventArgs e)
{
//异动部门
QUASI_DEPT.Clear();
DataTable dt = (new Business.DEPARTMENT(this.Transaction)).ExecuteDataTable(
@"SELECT DEPARTMENT_ID,DEPARTMENT_NAME FROM PERSONNEL_STORAGE.T_DEPARTMENT
WHERE DEPARTMENT_NAME IS NOT NULL AND DEPARTMENT_PID = " + QUASI_UNIT.SelectedValue + "ORDER BY DEPARTMENT_ID");
foreach (DataRow row in dt.Rows)
{
ListItemEx _ListItemEx = new ListItemEx();
_ListItemEx.Value = row["DEPARTMENT_ID"].ToString();
_ListItemEx.Text = row["DEPARTMENT_NAME"].ToString();
_ListItemEx.Level = 0;
QUASI_DEPT.Items.Add(_ListItemEx);
DataTable dts = (new Business.DEPARTMENT(this.Transaction)).ExecuteDataTable(
@"SELECT DEPARTMENT_ID,DEPARTMENT_NAME FROM PERSONNEL_STORAGE.T_DEPARTMENT
WHERE DEPARTMENT_NAME IS NOT NULL AND DEPARTMENT_PID = " + row["DEPARTMENT_ID"].ToString() +
"ORDER BY DEPARTMENT_ID");
foreach (DataRow rows in dts.Rows)
{
ListItemEx _ListItemExs = new ListItemEx();
_ListItemExs.Value = rows["DEPARTMENT_ID"].ToString();
_ListItemExs.Text = rows["DEPARTMENT_NAME"].ToString();
_ListItemExs.Level = 1;
QUASI_DEPT.Items.Add(_ListItemExs);
}
}
e.SetDropDownListEx(QUASI_DEPT);
}
#endregion
#region ->
protected void CURRENT_UNIT_CallBackSetControl(object sender, ClientSetEventArgs e)
{
//现任部门
CURRENT_DEPT.Clear();
DataTable dt = (new Business.DEPARTMENT(this.Transaction)).ExecuteDataTable(
@"SELECT DEPARTMENT_ID,DEPARTMENT_NAME FROM PERSONNEL_STORAGE.T_DEPARTMENT
WHERE DEPARTMENT_NAME IS NOT NULL AND DEPARTMENT_PID = " + CURRENT_UNIT.SelectedValue + "ORDER BY DEPARTMENT_ID");
foreach (DataRow row in dt.Rows)
{
ListItemEx _ListItemEx = new ListItemEx();
_ListItemEx.Value = row["DEPARTMENT_ID"].ToString();
_ListItemEx.Text = row["DEPARTMENT_NAME"].ToString();
_ListItemEx.Level = 0;
CURRENT_DEPT.Items.Add(_ListItemEx);
DataTable dts = (new Business.DEPARTMENT(this.Transaction)).ExecuteDataTable(
@"SELECT DEPARTMENT_ID,DEPARTMENT_NAME FROM PERSONNEL_STORAGE.T_DEPARTMENT
WHERE DEPARTMENT_NAME IS NOT NULL AND DEPARTMENT_PID = " + row["DEPARTMENT_ID"].ToString() +
"ORDER BY DEPARTMENT_ID");
foreach (DataRow rows in dts.Rows)
{
ListItemEx _ListItemExs = new ListItemEx();
_ListItemExs.Value = rows["DEPARTMENT_ID"].ToString();
_ListItemExs.Text = rows["DEPARTMENT_NAME"].ToString();
_ListItemExs.Level = 1;
CURRENT_DEPT.Items.Add(_ListItemExs);
}
}
e.SetDropDownListEx(CURRENT_DEPT);
}
#endregion
#region ->
protected void CURRENT_POSITION_CallBackSetControl(object sender, ClientSetEventArgs e)
{
DataTable dt = (new Business.STAFF(this.Transaction)).ExecuteDataTable(
"SELECT DEPARTMENT_ID,DEPARTMENT_NAME FROM PERSONNEL_STORAGE.V_STAFFINFO WHERE STAFF_ID = " + Request["STAFF_ID"].ToDecrypt());
if (dt.Rows.Count > 0)
{
GetUnit(int.Parse(dt.Rows[0]["DEPARTMENT_ID"].ToString()));
CURRENT_DEPT.SelectedValue = dt.Rows[0]["DEPARTMENT_ID"].ToString();
e.SetValue(CURRENT_DEPT);
e.SetValue(CURRENT_UNIT);
}
}
public void GetUnit(int DEPARTMENT_ID)
{
Business.DEPARTMENT _DEPARTMENT = new Business.DEPARTMENT(Transaction);
_DEPARTMENT.DEPARTMENT_ID = DEPARTMENT_ID;
if (_DEPARTMENT.Select())
{
if (_DEPARTMENT.DEPARTMENT_PID == "-1")
{
CURRENT_UNIT.SelectedValue = _DEPARTMENT.DEPARTMENT_ID.ToString();
}
else
{
this.GetUnit(int.Parse(_DEPARTMENT.DEPARTMENT_PID));
}
}
}
#endregion
}
}