287 lines
14 KiB
C#
287 lines
14 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using SuperMap.RealEstate.CoreFrameWork;
|
||
using SuperMap.RealEstate.Web.UI;
|
||
using SuperMap.RealEstate.Web.UI.WebControls;
|
||
using HZQR.Common;
|
||
|
||
namespace SuperMap.RealEstate.Finance.Running
|
||
{
|
||
/// <summary>
|
||
/// T_LEAVE_请假管理表 的WebUserControl
|
||
/// <summary>
|
||
public partial class LEAVE : UserControl<Business.LEAVE>
|
||
{
|
||
Running.Business.FINANCEPROINST _FINANCEPROINST = null;
|
||
|
||
protected override void OnInit(EventArgs e)
|
||
{
|
||
Common.PageHelper.CreateHeaderStyle(Page);
|
||
_FINANCEPROINST = Running.Business.FINANCEPROINST.CreateInstance(Page);
|
||
base.ButtonVisible = false;
|
||
base.OnInit(e);
|
||
}
|
||
|
||
#region 方法 -> 页面加载
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (IsPostBack) return;
|
||
|
||
if (!string.IsNullOrWhiteSpace(LEAVE_STARTDATE.Text) && !string.IsNullOrWhiteSpace(LEAVE_ENDDATE.Text) &&
|
||
string.IsNullOrWhiteSpace(DURATION_DAYS.Text))
|
||
{
|
||
TimeSpan _TimeSpan = (LEAVE_ENDDATE.Text.TryParseToDateTime() - LEAVE_STARTDATE.Text.TryParseToDateTime()).Value;
|
||
if (_TimeSpan.TotalDays <= 1)
|
||
{
|
||
DURATION_DAYS.Text = "1";
|
||
}
|
||
else
|
||
{
|
||
DURATION_DAYS.Text = _TimeSpan.Hours == 0 ? _TimeSpan.TotalDays.ToString("0") :
|
||
_TimeSpan.TotalDays.ToString("0.0");
|
||
}
|
||
DURATION_HOURS.Text = _TimeSpan.Hours.ToString();
|
||
}
|
||
if (ModifyType != ModifyTypeEnum.Edit && ModifyType != ModifyTypeEnum.EditVisible)
|
||
{
|
||
LEAVE_STARTDATE.ValidType = ValidTypeEnum.NoSet;
|
||
LEAVE_STARTDATE.Text = DateTime.Parse(LEAVE_STARTDATE.Text).ToString("yyyy年MM月dd日");
|
||
LEAVE_ENDDATE.ValidType = ValidTypeEnum.NoSet;
|
||
LEAVE_ENDDATE.Text = DateTime.Parse(LEAVE_ENDDATE.Text).ToString("yyyy年MM月dd日");
|
||
}
|
||
if (_FINANCEPROINST.__ProInst != null)
|
||
{
|
||
#region 审批信息
|
||
DataTable APPROVEDTable = new Running.Business.APPROVED(Transaction).ExecuteDataTable(string.Format(
|
||
@"SELECT APPROVED_TYPE,APPROVED_INFO,STAFF_ID,STAFF_NAME,APPROVED_STAFF,APPROVEDTYPE,
|
||
APPROVED_MARK,APPROVED_NAME,APPROVED_DESC,MAX(APPROVED_DATE) AS APPROVED_DATE
|
||
FROM FINANCE_STORAGE.V_APPROVED_ALL WHERE APPROVED_MARK = 2000 AND FINANCEPROINST_ID = {0}
|
||
GROUP BY APPROVED_TYPE,APPROVED_INFO,STAFF_ID,STAFF_NAME,APPROVED_STAFF,
|
||
APPROVED_MARK,APPROVED_NAME,APPROVED_DESC,APPROVEDTYPE
|
||
ORDER BY APPROVEDTYPE,APPROVED_DATE", _FINANCEPROINST.FINANCEPROINST_ID));
|
||
|
||
if (_FINANCEPROINST.__ProInst.ProDef_Name.Contains("区域"))
|
||
{
|
||
APPROVE_NAME_M.Text = "区域部门负责人";
|
||
if (APPROVEDTable.Select("APPROVEDTYPE = 1040").Length > 0)
|
||
{
|
||
DataRow[] DataRowList = APPROVEDTable.Select("APPROVEDTYPE = 1040");
|
||
APPROVE_INFO_M.Text = DataRowList[0]["APPROVED_INFO"].ToString();
|
||
APPROVE_STAFF_M.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核人:</a><u>" +
|
||
DataRowList[0]["APPROVED_STAFF"].ToString() + "</u>";
|
||
APPROVE_DATE_M.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核时间:</a><u>" +
|
||
DataRowList[0]["APPROVED_DATE"].ToString() + "</u>";
|
||
}
|
||
APPROVE_NAME_L.Text = "区域综合主管";
|
||
if (APPROVEDTable.Select("APPROVEDTYPE = 1050").Length > 0)
|
||
{
|
||
DataRow[] DataRowList = APPROVEDTable.Select("APPROVEDTYPE = 1050");
|
||
APPROVE_INFO_L.Text = DataRowList[0]["APPROVED_INFO"].ToString();
|
||
APPROVE_STAFF_L.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核人:</a><u>" +
|
||
DataRowList[0]["APPROVED_STAFF"].ToString() + "</u>";
|
||
APPROVE_DATE_L.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核时间:</a><u>" +
|
||
DataRowList[0]["APPROVED_DATE"].ToString() + "</u>";
|
||
}
|
||
APPROVE_NAME_H.Text = "区域负责人";
|
||
if (APPROVEDTable.Select("APPROVEDTYPE = 1060").Length > 0)
|
||
{
|
||
DataRow[] DataRowList = APPROVEDTable.Select("APPROVEDTYPE = 1060");
|
||
APPROVE_INFO_H.Text = DataRowList[0]["APPROVED_INFO"].ToString();
|
||
APPROVE_STAFF_H.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核人:</a><u>" +
|
||
DataRowList[0]["APPROVED_STAFF"].ToString() + "</u>";
|
||
APPROVE_DATE_H.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核时间:</a><u>" +
|
||
DataRowList[0]["APPROVED_DATE"].ToString() + "</u>";
|
||
}
|
||
tr_mleader.Visible = false;
|
||
tr_mleaderInfo.Visible = false;
|
||
}
|
||
else if (_FINANCEPROINST.__ProInst.ProDef_Name.Contains("经理") ||
|
||
_FINANCEPROINST.__ProInst.ProDef_Name.Contains("主任") ||
|
||
_FINANCEPROINST.ProInst.ProDef_Name.Contains("经营管理者"))
|
||
{
|
||
APPROVE_NAME_M.Text = "区域综合主管";
|
||
if (APPROVEDTable.Select("APPROVEDTYPE = 1050").Length > 0)
|
||
{
|
||
DataRow[] DataRowList = APPROVEDTable.Select("APPROVEDTYPE = 1050");
|
||
APPROVE_INFO_M.Text = DataRowList[0]["APPROVED_INFO"].ToString();
|
||
APPROVE_STAFF_M.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核人:</a><u>" +
|
||
DataRowList[0]["APPROVED_STAFF"].ToString() + "</u>";
|
||
APPROVE_DATE_M.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核时间:</a><u>" +
|
||
DataRowList[0]["APPROVED_DATE"].ToString() + "</u>";
|
||
}
|
||
APPROVE_NAME_L.Text = "区域负责人";
|
||
if (APPROVEDTable.Select("APPROVEDTYPE = 1060").Length > 0)
|
||
{
|
||
DataRow[] DataRowList = APPROVEDTable.Select("APPROVEDTYPE = 1060");
|
||
APPROVE_INFO_L.Text = DataRowList[0]["APPROVED_INFO"].ToString();
|
||
APPROVE_STAFF_L.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核人:</a><u>" +
|
||
DataRowList[0]["APPROVED_STAFF"].ToString() + "</u>";
|
||
APPROVE_DATE_L.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核时间:</a><u>" +
|
||
DataRowList[0]["APPROVED_DATE"].ToString() + "</u>";
|
||
}
|
||
tr_manager.Visible = false;
|
||
tr_managerInfo.Visible = false;
|
||
tr_leader.Visible = false;
|
||
tr_leaderInfo.Visible = false;
|
||
}
|
||
else
|
||
{
|
||
APPROVE_NAME_M.Text = "综合管理员";
|
||
if (APPROVEDTable.Select("APPROVEDTYPE = 1015").Length > 0)
|
||
{
|
||
DataRow[] DataRowList = APPROVEDTable.Select("APPROVEDTYPE = 1015");
|
||
APPROVE_INFO_M.Text = DataRowList[0]["APPROVED_INFO"].ToString();
|
||
APPROVE_STAFF_M.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核人:</a><u>" +
|
||
DataRowList[0]["APPROVED_STAFF"].ToString() + "</u>";
|
||
APPROVE_DATE_M.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核时间:</a><u>" +
|
||
DataRowList[0]["APPROVED_DATE"].ToString() + "</u>";
|
||
}
|
||
APPROVE_NAME_L.Text = "服务区负责人";
|
||
if (APPROVEDTable.Select("APPROVEDTYPE = 1020").Length > 0)
|
||
{
|
||
DataRow[] DataRowList = APPROVEDTable.Select("APPROVEDTYPE = 1020");
|
||
APPROVE_INFO_L.Text = DataRowList[0]["APPROVED_INFO"].ToString();
|
||
APPROVE_STAFF_L.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核人:</a><u>" +
|
||
DataRowList[0]["APPROVED_STAFF"].ToString() + "</u>";
|
||
APPROVE_DATE_L.Text = "<a style=\"font-size: 16px; font-weight: bolder;\">审核时间:</a><u>" +
|
||
DataRowList[0]["APPROVED_DATE"].ToString() + "</u>";
|
||
}
|
||
tr_manager.Visible = false;
|
||
tr_managerInfo.Visible = false;
|
||
tr_leader.Visible = false;
|
||
tr_leaderInfo.Visible = false;
|
||
}
|
||
#endregion
|
||
}
|
||
//绑定假期类型
|
||
BindLeaveType();
|
||
}
|
||
#endregion
|
||
|
||
//在此加入界面的数据初始化(Page_Load之前),如DropDownList的数据源绑定等
|
||
public override void InitializeWebControl()
|
||
{
|
||
|
||
}
|
||
|
||
#region 方法 -> 载入数据
|
||
public override bool LoadData()
|
||
{
|
||
FINANCEPROINST_ID.Text = _FINANCEPROINST.FINANCEPROINST_ID.ToString();
|
||
FINANCEPROINST_CREATEDATE.Text = _FINANCEPROINST.FINANCEPROINST_CREATEDATE.Value.ToLongDateString();
|
||
STAFF_ID.Text = Page.PassportInfo.ID.ToString();
|
||
STAFF_NAME.Text = Page.PassportInfo.Name;
|
||
OPERATE_DATE.Text = DateTime.Now.ToString();
|
||
LEAVE_PERSON.Text = Page.PassportInfo.Name;
|
||
|
||
//默认所在部门
|
||
DataTable UserTypeTable = new FrameWork.Business.UserType(CurrObject).ExecuteDataTable(
|
||
@"SELECT B.USERTYPE_NAME FROM PLATFORM_FRAMEWORK.T_USER A,PLATFORM_FRAMEWORK.T_USERTYPE B
|
||
WHERE A.USERTYPE_ID = B.USERTYPE_ID AND USER_ID = " + Page.PassportInfo.ID);
|
||
if (UserTypeTable.Rows.Count > 0)
|
||
{
|
||
DEPARTMENT_NAME.Text = UserTypeTable.Rows[0]["USERTYPE_NAME"].ToString();
|
||
}
|
||
//如果是工作流组件请自行修改载入的逻辑,以下是功能模块的默认代码
|
||
Running.Business.LEAVE _LEAVE = new Business.LEAVE(_FINANCEPROINST);
|
||
_LEAVE.AddSearchParameter("FINANCEPROINST_ID", _FINANCEPROINST.FINANCEPROINST_ID);
|
||
if (_LEAVE.Search())
|
||
{
|
||
BindObjectToControl(_LEAVE);
|
||
return true;
|
||
}
|
||
//默认返回值,工作流组件返回True,功能模块返回False。
|
||
return (WorkFlowPage != null);
|
||
}
|
||
#endregion
|
||
|
||
//OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理
|
||
//e.CancelDataAction 来处理是否取消该动作;
|
||
//失败的原因可以用Page.Alert()传递到页面
|
||
public override void OnDataAction_BeforeSave(DataActionEventArgs<Business.LEAVE> e)
|
||
{
|
||
string _LEAVE_TYPE = "";
|
||
foreach (ListItem _ListItem in LEAVETYPE.Items)
|
||
{
|
||
|
||
if(_ListItem.Selected)
|
||
{
|
||
_LEAVE_TYPE += (_LEAVE_TYPE == "" ? "" : ",") + _ListItem.Value;
|
||
}
|
||
|
||
}
|
||
if (_LEAVE_TYPE=="")
|
||
{
|
||
throw new Exception("请选择请假类型!");
|
||
}
|
||
|
||
e.CurrObject.LEAVE_TYPE = _LEAVE_TYPE;
|
||
base.OnDataAction_BeforeSave(e);
|
||
}
|
||
|
||
public override void OnDataAction_AfterSave(DataActionEventArgs<Business.LEAVE> e)
|
||
{
|
||
if (_FINANCEPROINST.__ProInst != null)
|
||
{
|
||
_FINANCEPROINST.__ProInst.ProInst_Name = e.CurrObject.LEAVE_REASON;
|
||
_FINANCEPROINST.ACCEPT_NAME = e.CurrObject.LEAVE_REASON;
|
||
_FINANCEPROINST.__ProInst.Update();
|
||
_FINANCEPROINST.Update();
|
||
}
|
||
base.OnDataAction_AfterSave(e);
|
||
}
|
||
|
||
#region 方法 -> 绑定假期类型
|
||
private void BindLeaveType()
|
||
{
|
||
Dictionary<string, string> _Dist = DictionaryHelper.GetDictionaryKeyValue(this.Transaction, "LEAVE_TYPE");
|
||
foreach (var item in _Dist)
|
||
{
|
||
ListItem _ListItem = new ListItem();
|
||
_ListItem.Text = item.Value;
|
||
_ListItem.Value = item.Key;
|
||
if (!string.IsNullOrWhiteSpace(LEAVE_TYPE.Text) && LEAVE_TYPE.Text.Contains(_ListItem.Value))
|
||
{
|
||
_ListItem.Selected = true;
|
||
}
|
||
if (ModifyType == ModifyTypeEnum.Edit || ModifyType == ModifyTypeEnum.EditVisible)
|
||
{
|
||
_ListItem.Enabled = true;
|
||
}
|
||
else
|
||
{
|
||
_ListItem.Enabled = false;
|
||
}
|
||
LEAVETYPE.Items.Add(_ListItem);
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
protected void LEAVE_STARTDATE_CallBackSetControl(object sender, ClientSetEventArgs e)
|
||
{
|
||
//计算时间间隔
|
||
if (!string.IsNullOrWhiteSpace(LEAVE_STARTDATE.Text) && !string.IsNullOrWhiteSpace(LEAVE_ENDDATE.Text))
|
||
{
|
||
TimeSpan _TimeSpan = (LEAVE_ENDDATE.Text.TryParseToDateTime() - LEAVE_STARTDATE.Text.TryParseToDateTime()).Value;
|
||
if (_TimeSpan.TotalDays <= 1)
|
||
{
|
||
DURATION_DAYS.Text = "1";
|
||
}
|
||
else
|
||
{
|
||
DURATION_DAYS.Text = _TimeSpan.Hours == 0 ? _TimeSpan.TotalDays.ToString("0") :
|
||
_TimeSpan.TotalDays.ToString("0.0");
|
||
}
|
||
DURATION_HOURS.Text = _TimeSpan.Hours.ToString();
|
||
}
|
||
|
||
e.SetValue(DURATION_DAYS);
|
||
e.SetValue(DURATION_HOURS);
|
||
}
|
||
}
|
||
}
|