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 { 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 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 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 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 } }