682 lines
35 KiB
C#
682 lines
35 KiB
C#
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
|
||
}
|
||
} |