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

287 lines
14 KiB
C#
Raw 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.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);
}
}
}