931 lines
48 KiB
C#
931 lines
48 KiB
C#
namespace FineUIPro.Web
|
||
{
|
||
using BLL;
|
||
using Model;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Collections.Specialized;
|
||
using System.Configuration;
|
||
using System.Globalization;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Web;
|
||
using System.Data;
|
||
using System.Data.SqlClient;
|
||
|
||
public class Global : System.Web.HttpApplication
|
||
{
|
||
/// <summary>
|
||
/// 自动启用插件标志文件路径
|
||
/// </summary>
|
||
private static string applicationActiveFlagFilePhysicalPath = String.Empty;
|
||
|
||
protected void Application_Start(object sender, EventArgs e)
|
||
{
|
||
Application["OnlineUserCount"] = 0;
|
||
try
|
||
{
|
||
Funs.RootPath = Server.MapPath("~/");
|
||
Funs.ClientId = ConfigurationManager.AppSettings["clientId"];
|
||
Funs.ClientSecret = ConfigurationManager.AppSettings["clientSecret"];
|
||
Funs.Redirect_url = ConfigurationManager.AppSettings["redirect_url"];
|
||
|
||
// 日志文件所在目录
|
||
ErrLogInfo.DefaultErrLogFullPath = Server.MapPath("~/ErrLog.txt");
|
||
//Funs.ConnString = ConfigurationManager.AppSettings["ConnectionString"];
|
||
Funs.SystemName = ConfigurationManager.AppSettings["SystemName"];
|
||
Funs.LdapUrl = ConfigurationManager.AppSettings["LdapUrl"];
|
||
Funs.ConnString = ConfigurationManager.ConnectionStrings["EProjectDBConnectionString"].ConnectionString;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
ErrLogInfo.WriteLog(ex);
|
||
AppDomain.Unload(AppDomain.CurrentDomain);
|
||
}
|
||
|
||
//每年1月份邮件提醒前一年项目状态为MC的项目,同时PM / EM编辑器的Pressure Piping打勾
|
||
if (DateTime.Now.Month == 1 && DateTime.Now.Day == 1)
|
||
{
|
||
System.Timers.Timer aTimer = new System.Timers.Timer();
|
||
//1小时执行一次
|
||
aTimer.Interval = 3600000;
|
||
aTimer.Enabled = true;
|
||
aTimer.Start();
|
||
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(PressurePiping);
|
||
}
|
||
|
||
//当Const.Kick - off Meeting不为空时,每月20号发送提醒邮件给CM,当MC不为空时,停止发送提醒邮件。
|
||
if (DateTime.Now.Day == 20)
|
||
{
|
||
System.Timers.Timer aTimer = new System.Timers.Timer();
|
||
//1小时执行一次
|
||
aTimer.Interval = 3600000;
|
||
aTimer.Enabled = true;
|
||
aTimer.Start();
|
||
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(ConstInfoMaintenance);
|
||
}
|
||
|
||
//计划:邮件26号自动发送提醒,下月5号冻结
|
||
if (DateTime.Now.Day == 26)
|
||
{
|
||
System.Timers.Timer aTimer = new System.Timers.Timer();
|
||
//1小时执行一次
|
||
aTimer.Interval = 3600000;
|
||
aTimer.Enabled = true;
|
||
aTimer.Start();
|
||
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(PlanProject);
|
||
}
|
||
|
||
//实际:邮件21号自动发送提醒,当月25号冻结。
|
||
if (DateTime.Now.Day == 21)
|
||
{
|
||
System.Timers.Timer aTimer = new System.Timers.Timer();
|
||
//1小时执行一次
|
||
aTimer.Interval = 3600000;
|
||
aTimer.Enabled = true;
|
||
aTimer.Start();
|
||
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(ActualProject);
|
||
}
|
||
//项目状态MC之后1个月时(由5个月改为1个月)
|
||
if (DateTime.Now.Hour == 10)
|
||
{
|
||
System.Timers.Timer aTimer = new System.Timers.Timer();
|
||
//1小时执行一次
|
||
aTimer.Interval = 3600000;
|
||
aTimer.Enabled = true;
|
||
aTimer.Start();
|
||
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(MCEmial);
|
||
}
|
||
//填写第二张资源时,第一张资源预留一个月的时候填写人工时
|
||
if (DateTime.Now.Hour == 10)
|
||
{
|
||
System.Timers.Timer aTimer = new System.Timers.Timer();
|
||
//1小时执行一次
|
||
aTimer.Interval = 3600000;
|
||
aTimer.Enabled = true;
|
||
aTimer.Start();
|
||
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(UpdateManHourDisabled);
|
||
}
|
||
|
||
// MC证书提醒
|
||
if ((DateTime.Now.Day == 1 || DateTime.Now.Day == 16) && DateTime.Now.Hour == 10)
|
||
{
|
||
System.Timers.Timer aTimer = new System.Timers.Timer();
|
||
//1小时执行一次
|
||
aTimer.Interval = 3600000;
|
||
aTimer.Enabled = true;
|
||
aTimer.Start();
|
||
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(MCSigned_AutoSend);
|
||
}
|
||
|
||
// FC证书提醒
|
||
if ((DateTime.Now.Day == 1 || DateTime.Now.Day == 16) && DateTime.Now.Hour == 10)
|
||
{
|
||
System.Timers.Timer aTimer = new System.Timers.Timer();
|
||
//1小时执行一次
|
||
aTimer.Interval = 3600000;
|
||
aTimer.Enabled = true;
|
||
aTimer.Start();
|
||
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(FCSigned_AutoSend);
|
||
}
|
||
|
||
// Punch_Check_Send
|
||
if (DateTime.Now.Hour == 10)
|
||
{
|
||
System.Timers.Timer aTimer = new System.Timers.Timer();
|
||
//1小时执行一次
|
||
aTimer.Interval = 60 * 60 * 1000;
|
||
aTimer.Enabled = true;
|
||
aTimer.Start();
|
||
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(Punch_Check_Send);
|
||
}
|
||
|
||
// Design Input
|
||
if (DateTime.Now.Hour == 9)
|
||
{
|
||
System.Timers.Timer aTimer = new System.Timers.Timer();
|
||
//2小时执行一次
|
||
aTimer.Interval = 120 * 60 * 1000;
|
||
aTimer.Enabled = true;
|
||
aTimer.Start();
|
||
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(Design_Input_Send);
|
||
}
|
||
|
||
// 项目达到条件自动关闭
|
||
if (DateTime.Now.Hour == 16)
|
||
{
|
||
System.Timers.Timer aTimer = new System.Timers.Timer();
|
||
//2小时执行一次
|
||
aTimer.Interval = 120 * 60 * 1000;
|
||
aTimer.Enabled = true;
|
||
aTimer.Start();
|
||
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(Auto_Close);
|
||
}
|
||
}
|
||
|
||
#region 压力管道注册提醒
|
||
/// <summary>
|
||
/// 每年1月份邮件提醒前一年项目状态为MC的项目,同时PM/EM编辑器的Pressure Piping打勾
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void PressurePiping(object sender, System.Timers.ElapsedEventArgs e)
|
||
{
|
||
int m = DateTime.Now.Month;
|
||
int d = DateTime.Now.Day;
|
||
int h = DateTime.Now.Hour;
|
||
|
||
if (m == 1 && d == 1 && h == 10)
|
||
{
|
||
int y = Convert.ToInt32(DateTime.Now.ToString("yy")) - 1;
|
||
List<Model.Editor_EProject> eplist = new List<Model.Editor_EProject>();
|
||
eplist = (from x in Funs.DB.Editor_EProject where x.PM_PressurePipingChecked == true && x.ProjectControl_JobStatus == "MC" && x.ProjectControl_JobNo.Substring(0, 2) == y.ToString() select x).ToList();
|
||
|
||
if (eplist.Count > 0)
|
||
{
|
||
for (int i = 0; i < eplist.Count; i++)
|
||
{
|
||
if (eplist[i].PM_PressurePipingChecked == true)
|
||
{
|
||
PageBase bg = new PageBase();
|
||
NameValueCollection nameValue = new NameValueCollection();
|
||
nameValue.Add("projectNo", eplist[i].ProjectControl_JobNo.ToString());
|
||
nameValue.Add("projectName", eplist[i].ProjectControl_JobTitle.ToString());
|
||
bg.EmailSendMessage(eplist[i], BLL.Const.PPRRString, nameValue, BLL.Const.CustomString, BLL.Const.NoprojectString);
|
||
|
||
//Pressure Piping的PLAN自动 = 次年3月1日
|
||
Editor_EProject editor_EProject = BLL.EProjectService.GeteProjectById(eplist[i].EProjectId);
|
||
if (editor_EProject != null)
|
||
{
|
||
editor_EProject = eplist[i];
|
||
editor_EProject.PM_PP_PressurePiping = Funs.GetNewDateTime(DateTime.Now.Year + "-03-01");
|
||
BLL.EProjectService.UpdateProject(editor_EProject, "PM");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 施工信息维护提醒
|
||
/// <summary>
|
||
/// 当Const.Kick - off Meeting不为空时,每月20号发送提醒邮件给CM,当MC不为空时,停止发送提醒邮件
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void ConstInfoMaintenance(object sender, System.Timers.ElapsedEventArgs e)
|
||
{
|
||
int d = DateTime.Now.Day;
|
||
int h = DateTime.Now.Hour;
|
||
if (d == 20 && h == 9)
|
||
{
|
||
List<Model.Editor_EProject> eplist = new List<Model.Editor_EProject>();
|
||
eplist = (from x in Funs.DB.Editor_EProject where x.CM_KickOffMetting.HasValue && !x.CM_MA_MC.HasValue select x).ToList();
|
||
if (eplist.Count > 0)
|
||
{
|
||
for (int i = 0; i < eplist.Count; i++)
|
||
{
|
||
PageBase bg = new PageBase();
|
||
NameValueCollection nameValue = new NameValueCollection();
|
||
nameValue.Add("projectNo", eplist[i].ProjectControl_JobNo.ToString());
|
||
nameValue.Add("projectName", eplist[i].ProjectControl_JobTitle.ToString());
|
||
bg.EmailSendMessage(eplist[i], BLL.Const.CIMRString, nameValue, BLL.Const.CustomString, BLL.Const.projectString);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 计划:邮件26号自动发送提醒,下月5号冻结
|
||
/// <summary>
|
||
/// 计划:邮件26号自动发送提醒,下月5号冻结
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void PlanProject(object sender, System.Timers.ElapsedEventArgs e)
|
||
{
|
||
int d = DateTime.Now.Day;
|
||
int h = DateTime.Now.Hour;
|
||
if (d == 26 && h == 9)
|
||
{
|
||
PageBase bg = new PageBase();
|
||
bg.EmailSendMessage(null, BLL.Const.SASString, null, BLL.Const.NoCustomString, BLL.Const.NoprojectString);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 实际:邮件21号自动发送提醒,当月25号冻结。
|
||
/// <summary>
|
||
/// 实际:邮件21号自动发送提醒,当月25号冻结。
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void ActualProject(object sender, System.Timers.ElapsedEventArgs e)
|
||
{
|
||
int d = DateTime.Now.Day;
|
||
int h = DateTime.Now.Hour;
|
||
if (d == 21 && h == 9)
|
||
{
|
||
PageBase bg = new PageBase();
|
||
bg.EmailSendMessage(null, BLL.Const.AASString, null, BLL.Const.NoCustomString, BLL.Const.NoprojectString);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 项目状态MC之后3个月时发邮件,4个月人工时填写关闭
|
||
/// <summary>
|
||
/// 项目状态MC之后1个月时(由5个月改为1个月)
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void MCEmial(object sender, System.Timers.ElapsedEventArgs e)
|
||
{
|
||
if (DateTime.Now.Hour == 10)
|
||
{
|
||
var eplist = (from x in Funs.DB.Editor_EProject
|
||
where x.CM_MA_MC.Value.AddMonths(3).Year == DateTime.Now.Year
|
||
&& x.CM_MA_MC.Value.AddMonths(3).Month == DateTime.Now.Month
|
||
&& x.CM_MA_MC.Value.AddMonths(3).Day == DateTime.Now.Day
|
||
select x).ToList();
|
||
if (eplist.Count > 0)
|
||
{
|
||
for (int i = 0; i < eplist.Count; i++)
|
||
{
|
||
PageBase bg = new PageBase();
|
||
NameValueCollection nameValue = new NameValueCollection();
|
||
nameValue.Add("projectName", eplist[i].ProjectControl_JobTitle.ToString().Trim());
|
||
nameValue.Add("projectNo", eplist[i].ProjectControl_JobNo.ToString().Trim());
|
||
nameValue.Add("CM_MA_MC", Convert.ToDateTime(eplist[i].CM_MA_MC).AddMonths(4).ToString("yyyy-MM-dd"));
|
||
nameValue.Add("BUCode", eplist[i].ProjectControl_BUCode);
|
||
bg.EmailSendMessage(eplist[i], BLL.Const.FIRILHString, nameValue, BLL.Const.CustomString, BLL.Const.projectString2);
|
||
}
|
||
}
|
||
}
|
||
//项目的人员的人工时自动关闭(MC时间 + 4个月-- >> 项目成员的人工时disable置为1)(由原来的6个月改为4个月)
|
||
var eplist1 = (from x in Funs.DB.Editor_EProject
|
||
where x.CM_MA_MC.Value.AddMonths(4).Year == DateTime.Now.Year
|
||
&& x.CM_MA_MC.Value.AddMonths(4).Month == DateTime.Now.Month
|
||
&& x.CM_MA_MC.Value.AddMonths(4).Day == DateTime.Now.Day
|
||
select x).ToList();
|
||
if (eplist1.Count > 0)
|
||
{
|
||
for (int i = 0; i < eplist1.Count; i++)
|
||
{
|
||
List<Model.ManHours_Plan> manHours_Plans = (from x in Funs.DB.ManHours_Plan where x.EProjectId == eplist1[i].EProjectId select x).ToList();
|
||
if (manHours_Plans.Count > 0)
|
||
{
|
||
for (int a = 0; a < manHours_Plans.Count; a++)
|
||
{
|
||
var manHours_Plan = Funs.DB.ManHours_Plan.FirstOrDefault(x => x.ManHoursPlanId == manHours_Plans[a].ManHoursPlanId);
|
||
if (manHours_Plan != null)
|
||
{
|
||
manHours_Plan.AccountDisabled = 1;
|
||
Funs.DB.SubmitChanges();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 1、填写第二张资源时,第一张资源预留一个月的时候填写人工时 2、Cancelled或Hold也预留一个月
|
||
/// <summary>
|
||
/// 填写第二张资源时,第一张资源预留一个月的时候填写人工时
|
||
/// MOC和Projects项目
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
private void UpdateManHourDisabled(object sender, System.Timers.ElapsedEventArgs e)
|
||
{
|
||
var eprojects = (from x in Funs.DB.Resource_Plan select x).GroupBy(x => x.EProjectId).ToList();
|
||
if (eprojects != null)
|
||
{
|
||
foreach (var epr in eprojects)
|
||
{
|
||
var planLists = (from x in Funs.DB.Resource_Plan
|
||
join y in Funs.DB.Editor_EProject on x.EProjectId equals y.EProjectId
|
||
where x.EProjectId == epr.Key && (y.ProjectControl_JobType == "Projects" || y.ProjectControl_JobType == "MOC")
|
||
orderby x.CreateDate ascending
|
||
select new { x.ResourcePlanId, y.PM_MA_ProjectApproval }).ToList();
|
||
if (planLists.Count == 2)
|
||
{
|
||
if (planLists[0].PM_MA_ProjectApproval.HasValue && planLists[0].PM_MA_ProjectApproval.Value.AddMonths(1) <= DateTime.Now)
|
||
{
|
||
string resourcePlanId = planLists[0].ResourcePlanId.ToString();
|
||
List<ManHours_Plan> manHours_Plan = (from x in Funs.DB.ManHours_Plan where x.ResourcePlanId == resourcePlanId select x).ToList();
|
||
foreach (var item in manHours_Plan)
|
||
{
|
||
item.AccountDisabled = 1;
|
||
Funs.DB.SubmitChanges();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
var epList = from x in Funs.DB.Editor_EProject
|
||
where (x.ProjectControl_PC_CancelDate.HasValue && x.ProjectControl_PC_CancelDate.Value.AddMonths(1) <= DateTime.Now && x.ProjectControl_PC_CancelDate.Value.AddMonths(2) >= DateTime.Now)
|
||
|| (x.Job_Hold.HasValue && x.Job_Hold.Value.AddMonths(1) <= DateTime.Now && x.Job_Hold.Value.AddMonths(2) >= DateTime.Now)
|
||
select x;
|
||
foreach (var ep in epList)
|
||
{
|
||
var manHours_Plan = (from x in Funs.DB.ManHours_Plan where x.EProjectId == ep.EProjectId && x.AccountDisabled != 1 select x).ToList();
|
||
if (manHours_Plan.Count > 0)
|
||
{
|
||
foreach (var item in manHours_Plan)
|
||
{
|
||
item.AccountDisabled = 1;
|
||
Funs.DB.SubmitChanges();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region MC证书提醒
|
||
private void MCSigned_AutoSend(object sender, System.Timers.ElapsedEventArgs e)
|
||
{
|
||
string strSql = @"SELECT pro.EProjectId,pro.ProjectControl_JobNo,pro.ProjectControl_JobTitle,pro.ProjectControl_ConstManagerId
|
||
FROM dbo.Editor_EProject pro
|
||
WHERE pro.CM_MA_MC IS NOT NULL AND DATEDIFF(DAY,pro.CM_MA_MC,GETDATE())>30
|
||
AND (pro.ProjectControl_JobType='Projects' OR pro.ProjectControl_JobType='Small Invest')
|
||
AND pro.ProjectControl_JobStatus='MC'
|
||
AND (SELECT COUNT(*) FROM dbo.Editor_TDC tdc
|
||
WHERE tdc.EProjectId=pro.EProjectId AND tdc.[Type]='D11_MC' AND tdc.ReceiveHC IS NOT NULL)=0";
|
||
DataTable dt = BLL.SQLHelper.GetDataTableRunText(strSql, null);
|
||
if (dt.Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dt.Rows.Count; i++)
|
||
{
|
||
Model.Editor_EProject ep = new Editor_EProject();
|
||
ep.EProjectId = dt.Rows[i]["EProjectId"].ToString();
|
||
ep.ProjectControl_JobNo = dt.Rows[i]["ProjectControl_JobNo"].ToString();
|
||
if (dt.Rows[i]["ProjectControl_ConstManagerId"] != null)
|
||
{
|
||
ep.ProjectControl_ConstManagerId = dt.Rows[i]["ProjectControl_ConstManagerId"].ToString();
|
||
}
|
||
else
|
||
{
|
||
ep.ProjectControl_ConstManagerId = string.Empty;
|
||
}
|
||
PageBase bg = new PageBase();
|
||
NameValueCollection nameValue = new NameValueCollection();
|
||
nameValue.Add("projectNo", dt.Rows[i]["ProjectControl_JobNo"].ToString());
|
||
nameValue.Add("projectName", dt.Rows[i]["ProjectControl_JobTitle"].ToString());
|
||
bg.EmailSendMessage(ep, BLL.Const.MCSigned, nameValue, BLL.Const.CustomString, BLL.Const.projectString4);
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region FC证书提醒
|
||
private void FCSigned_AutoSend(object sender, System.Timers.ElapsedEventArgs e)
|
||
{
|
||
string strSql = @"SELECT pro.EProjectId,pro.ProjectControl_JobNo,pro.ProjectControl_JobTitle,pro.ProjectControl_ProjectManagerId
|
||
FROM dbo.Editor_EProject pro
|
||
WHERE pro.CM_MA_MC IS NOT NULL AND DATEDIFF(DAY,pro.CM_MA_MC,GETDATE())>83
|
||
AND pro.ProjectControl_JobType='Projects' AND pro.ProjectControl_OrginalBudget>1000000
|
||
AND pro.ProjectControl_JobStatus='MC'
|
||
AND (SELECT COUNT(*) FROM dbo.Editor_TDC tdc
|
||
WHERE tdc.EProjectId=pro.EProjectId AND tdc.[Type]='D30_FC' AND tdc.ReceiveHC IS NOT NULL)=0";
|
||
DataTable dt = BLL.SQLHelper.GetDataTableRunText(strSql, null);
|
||
if (dt.Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dt.Rows.Count; i++)
|
||
{
|
||
Model.Editor_EProject ep = new Editor_EProject();
|
||
ep.EProjectId = dt.Rows[i]["EProjectId"].ToString();
|
||
ep.ProjectControl_JobNo = dt.Rows[i]["ProjectControl_JobNo"].ToString();
|
||
if (dt.Rows[i]["ProjectControl_ProjectManagerId"] != null)
|
||
{
|
||
ep.ProjectControl_ConstManagerId = dt.Rows[i]["ProjectControl_ProjectManagerId"].ToString();
|
||
}
|
||
else
|
||
{
|
||
ep.ProjectControl_ConstManagerId = string.Empty;
|
||
}
|
||
PageBase bg = new PageBase();
|
||
NameValueCollection nameValue = new NameValueCollection();
|
||
nameValue.Add("projectNo", dt.Rows[i]["ProjectControl_JobNo"].ToString());
|
||
nameValue.Add("projectName", dt.Rows[i]["ProjectControl_JobTitle"].ToString());
|
||
bg.EmailSendMessage(ep, BLL.Const.FCSigned, nameValue, BLL.Const.CustomString, BLL.Const.projectString4);
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region Punch_Check_Send
|
||
private void Punch_Check_Send(object sender, System.Timers.ElapsedEventArgs e)
|
||
{
|
||
PageBase bg = new PageBase();
|
||
|
||
// 发送给CTECheckerName
|
||
var punchCTEList = from x in Funs.DB.Editor_Punch
|
||
join y in Funs.DB.Editor_EProject on x.EProjectId equals y.EProjectId
|
||
where !x.CTECheckDate.HasValue && x.PlanedFinishDate.HasValue
|
||
&& (x.CTECheckerId != null && x.CTECheckerId != "")
|
||
&& (DateTime.Now.AddDays(7).Date == x.PlanedFinishDate.Value.Date
|
||
|| DateTime.Now.AddDays(3).Date == x.PlanedFinishDate.Value.Date)
|
||
select new
|
||
{
|
||
y.ProjectControl_JobNo,
|
||
y.ProjectControl_JobTitle,
|
||
x.CTECheckerId,
|
||
x.CTECheckerName,
|
||
x.TagNo,
|
||
x.Description
|
||
};
|
||
if (punchCTEList.Count() > 0)
|
||
{
|
||
foreach (var p in punchCTEList)
|
||
{
|
||
NameValueCollection nameValue = new NameValueCollection();
|
||
nameValue.Add("projectNo", p.ProjectControl_JobNo.ToString().Trim());
|
||
nameValue.Add("projectName", p.ProjectControl_JobTitle.ToString().Trim());
|
||
nameValue.Add("CheckName", p.CTECheckerName.Trim());
|
||
nameValue.Add("TagNo", p.TagNo.Trim());
|
||
nameValue.Add("Description", p.Description.Trim());
|
||
Model.Sys_User sys_User = new Model.Sys_User();
|
||
sys_User = BLL.Sys_UserService.GetUsersByUserId(p.CTECheckerId);
|
||
List<Model.Sys_User> list = new List<Model.Sys_User>();
|
||
list.Add(sys_User);
|
||
bg.EmailSendMessage(BLL.Const.CCOCString, nameValue, BLL.Const.CustomString, list, "CTE Check");
|
||
}
|
||
}
|
||
|
||
// 发送给OwnerCheckerName 去掉
|
||
//var punchOwnerList = from x in Funs.DB.Editor_Punch
|
||
// join y in Funs.DB.Editor_EProject on x.EProjectId equals y.EProjectId
|
||
// where !x.OwnerCheckDate.HasValue && x.CTECheckDate.HasValue
|
||
// && (x.OwnerCheckerId != null && x.OwnerCheckerId != "")
|
||
// && x.CTECheckDate.Value.AddDays(7).Date == DateTime.Now.Date
|
||
// select new
|
||
// {
|
||
// y.ProjectControl_JobNo,
|
||
// y.ProjectControl_JobTitle,
|
||
// x.OwnerCheckerId,
|
||
// x.OwnerCheckerName,
|
||
// x.TagNo,
|
||
// x.Description
|
||
// };
|
||
//if (punchOwnerList.Count() > 0)
|
||
//{
|
||
// foreach (var p in punchOwnerList)
|
||
// {
|
||
// NameValueCollection nameValue = new NameValueCollection();
|
||
// nameValue.Add("projectNo", p.ProjectControl_JobNo.ToString().Trim());
|
||
// nameValue.Add("projectName", p.ProjectControl_JobTitle.ToString().Trim());
|
||
// nameValue.Add("CheckName", p.OwnerCheckerName.Trim());
|
||
// nameValue.Add("TagNo", p.TagNo.Trim());
|
||
// nameValue.Add("Description", p.Description.Trim());
|
||
// Model.Sys_User sys_User = new Model.Sys_User();
|
||
// sys_User = BLL.Sys_UserService.GetUsersByUserId(p.OwnerCheckerId);
|
||
// List<Model.Sys_User> list = new List<Model.Sys_User>();
|
||
// list.Add(sys_User);
|
||
// bg.EmailSendMessage(BLL.Const.CCOCString, nameValue, BLL.Const.CustomString, list, "CTE Check");
|
||
// }
|
||
//}
|
||
}
|
||
#endregion
|
||
|
||
#region 设计输入二次邮件提醒
|
||
private void Design_Input_Send(object sender, System.Timers.ElapsedEventArgs e)
|
||
{
|
||
PageBase bg = new PageBase();
|
||
|
||
// 1、 系统在项目计划(改为实际)批准当天自动给项目经理发送提醒邮件,提醒项目经理完成设计输入策划工作,并只适用于CTE设计的项目。
|
||
var eprojectList = from x in BLL.Funs.DB.Editor_EProject
|
||
where x.PM_General_CDI == "CTE" && x.ProjectControl_MS_Approval.HasValue &&
|
||
x.ProjectControl_MS_Approval.Value.Date == DateTime.Now.Date
|
||
select x;
|
||
if (eprojectList.Count() > 0)
|
||
{
|
||
foreach (var eproject in eprojectList)
|
||
{
|
||
BLL.DesignInputService.DesignInputMailSend(eproject.EProjectId, true);
|
||
NameValueCollection nameValue = new NameValueCollection();
|
||
nameValue.Add("projectNo", eproject.ProjectControl_JobNo);
|
||
nameValue.Add("IssuedDiscOrNo", eproject.ProjectControl_JobNo + "-" + eproject.ProjectControl_JobTitle);
|
||
nameValue.Add("Person_Ch", "");
|
||
nameValue.Add("Person_En", "");
|
||
if (!string.IsNullOrEmpty(eproject.ProjectControl_ProjectManagerId))
|
||
{
|
||
Model.Sys_User sys_User = new Model.Sys_User();
|
||
sys_User = BLL.Sys_UserService.GetUsersByUserId(eproject.ProjectControl_ProjectManagerId);
|
||
nameValue.Add("UserName", sys_User.UserName);
|
||
List<Model.Sys_User> list = new List<Model.Sys_User>();
|
||
|
||
list.Add(sys_User);
|
||
bg.EmailSendMessage(BLL.Const.DesignPlanString, nameValue, BLL.Const.NoCustomString, list, "");
|
||
}
|
||
}
|
||
}
|
||
|
||
string strSql = @"SELECT p.ProjectControl_JobNo,p.ProjectControl_JobTitle,u.UserName,u.ChineseName,
|
||
d.DesignInputId,d.DesignInputNo,d.DesignInputChName,d.DesignInputEnName,d.IssuedMan
|
||
FROM dbo.Design_Input d
|
||
LEFT JOIN dbo.Editor_EProject p ON p.EProjectId = d.EProjectId
|
||
LEFT JOIN dbo.Sys_User u ON u.UserId =p.ProjectControl_ProjectManagerId
|
||
WHERE (SELECT COUNT(*) FROM dbo.Design_Notice n WHERE d.DesignInputId=n.DesignInputId)=0
|
||
AND DATEADD(dd,5,d.PlanStartDate)<GETDATE()
|
||
AND d.MailIsWarn IS NULL
|
||
AND d.IssuedMan IS NOT NULL AND d.PlanStartDate IS NOT NULL AND d.PlanEndDate IS NOT NULL
|
||
ORDER BY d.EProjectId";
|
||
// 查找未完成的设计输入
|
||
DataTable dt = SQLHelper.GetDataTableRunText(strSql, null);
|
||
for (int i = 0; i < dt.Rows.Count; i++)
|
||
{
|
||
|
||
NameValueCollection nameValue = new NameValueCollection();
|
||
nameValue.Add("projectNo", dt.Rows[i]["ProjectControl_JobNo"].ToString());
|
||
nameValue.Add("IssuedDiscOrNo", dt.Rows[i]["ProjectControl_JobNo"].ToString() + "-" + dt.Rows[i]["ProjectControl_JobTitle"].ToString() + "," + dt.Rows[i]["DesignInputChName"].ToString() + " " + dt.Rows[i]["DesignInputEnName"].ToString() + " " + dt.Rows[i]["DesignInputNo"].ToString());
|
||
nameValue.Add("Person_Ch", dt.Rows[i]["ChineseName"].ToString());
|
||
nameValue.Add("Person_En", dt.Rows[i]["UserName"].ToString());
|
||
|
||
if (dt.Rows[i]["IssuedMan"].ToString() != "")
|
||
{
|
||
// 更新已提醒
|
||
BLL.DesignInputService.DesignInputEmailIsWarn(dt.Rows[i]["DesignInputId"].ToString(), true);
|
||
|
||
Model.Sys_User sys_User = new Model.Sys_User();
|
||
sys_User = BLL.Sys_UserService.GetUsersByUserId(dt.Rows[i]["IssuedMan"].ToString());
|
||
nameValue.Add("UserName", sys_User.UserName);
|
||
List<Model.Sys_User> list = new List<Model.Sys_User>();
|
||
|
||
list.Add(sys_User);
|
||
bg.EmailSendMessage(BLL.Const.DesignInputString, nameValue, BLL.Const.CustomString, list, "");
|
||
}
|
||
}
|
||
|
||
// 待办人二次邮件提醒
|
||
string noticeSql = @"SELECT p.ProjectControl_JobNo,p.ProjectControl_JobTitle, input.DesignInputNo,input.DesignInputChName,
|
||
input.DesignInputEnName,n.MutualIssuedNo,flow.DesignNoticeId,flow.NoticeFlowId,flow.SubmitMan
|
||
FROM dbo.Design_NoticeFlow flow
|
||
LEFT JOIN dbo.Design_Notice n ON n.DesignNoticeId = flow.DesignNoticeId
|
||
LEFT JOIN dbo.Design_Input input ON input.DesignInputId = n.DesignInputId
|
||
LEFT JOIN dbo.Editor_EProject p ON p.EProjectId = input.EProjectId
|
||
WHERE flow.HandleState='待办理' AND flow.MailIsWarn IS NULL
|
||
AND DATEADD(dd,-5,input.PlanEndDate)<GETDATE()
|
||
ORDER BY input.EProjectId";
|
||
|
||
DataTable dt2 = SQLHelper.GetDataTableRunText(noticeSql, null);
|
||
for (int i = 0; i < dt2.Rows.Count; i++)
|
||
{
|
||
string person_Ch = string.Empty;
|
||
string person_En = string.Empty;
|
||
string designNoticeId = dt.Rows[i]["DesignNoticeId"].ToString();
|
||
var noticeFlow = from x in BLL.Funs.DB.Design_NoticeFlow where x.DesignNoticeId == designNoticeId && x.SubmitDate.HasValue orderby x.SubmitDate descending select x;
|
||
if (noticeFlow.Count() > 0)
|
||
{
|
||
var user = from x in BLL.Funs.DB.Sys_User where x.UserId == noticeFlow.First().SubmitMan select x;
|
||
if (user.Count() > 0)
|
||
{
|
||
person_Ch = user.First().ChineseName;
|
||
person_En = user.First().UserName;
|
||
}
|
||
}
|
||
NameValueCollection nameValue = new NameValueCollection();
|
||
nameValue.Add("projectNo", dt.Rows[i]["ProjectControl_JobNo"].ToString());
|
||
nameValue.Add("IssuedDiscOrNo", dt.Rows[i]["ProjectControl_JobNo"].ToString() + "-" + dt.Rows[i]["ProjectControl_JobTitle"].ToString() + "," + dt.Rows[i]["DesignInputChName"].ToString() + " " + dt.Rows[i]["DesignInputEnName"].ToString() + " " + dt.Rows[i]["DesignInputNo"].ToString() + " " + dt.Rows[i]["MutualIssuedNo"].ToString());
|
||
nameValue.Add("Person_Ch", person_Ch);
|
||
nameValue.Add("Person_En", person_En);
|
||
|
||
if (dt2.Rows[i]["SubmitMan"].ToString() != "")
|
||
{
|
||
// 更新已提醒
|
||
BLL.DesignInputService.NoticeEmailIsWarn(dt2.Rows[i]["NoticeFlowId"].ToString(), true);
|
||
|
||
Model.Sys_User sys_User = new Model.Sys_User();
|
||
sys_User = BLL.Sys_UserService.GetUsersByUserId(dt2.Rows[i]["SubmitMan"].ToString());
|
||
nameValue.Add("UserName", sys_User.UserName);
|
||
List<Model.Sys_User> list = new List<Model.Sys_User>();
|
||
|
||
list.Add(sys_User);
|
||
bg.EmailSendMessage(BLL.Const.DesignInputString, nameValue, BLL.Const.CustomString, list, "");
|
||
}
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 项目达到条件自动关闭
|
||
private void Auto_Close(object sender, System.Timers.ElapsedEventArgs e)
|
||
{
|
||
var projectList = (from x in Funs.DB.Editor_EProject select x).ToList();
|
||
foreach (var eproject in projectList)
|
||
{
|
||
if ((eproject.Permit_PS_SafetyFinalAcc.HasValue && eproject.Permit_PA_SafetyFinalACC.HasValue
|
||
&& eproject.Permit_PS_FFFinalAcc.HasValue && eproject.Permit_PA_FFFinalACC.HasValue
|
||
&& eproject.Permit_PS_EnvFinalAcc.HasValue && eproject.Permit_PA_EnvFinalACC.HasValue)
|
||
|| (eproject.Permit_PS_SafetyFinalAcc.HasValue && eproject.Permit_PA_SafetyFinalACC.HasValue
|
||
&& !eproject.Permit_PS_FFFinalAcc.HasValue && !eproject.Permit_PA_FFFinalACC.HasValue
|
||
&& !eproject.Permit_PS_EnvFinalAcc.HasValue && !eproject.Permit_PA_EnvFinalACC.HasValue)
|
||
|| (eproject.Permit_PS_SafetyFinalAcc.HasValue && eproject.Permit_PA_SafetyFinalACC.HasValue
|
||
&& eproject.Permit_PS_FFFinalAcc.HasValue && eproject.Permit_PA_FFFinalACC.HasValue
|
||
&& !eproject.Permit_PS_EnvFinalAcc.HasValue && !eproject.Permit_PA_EnvFinalACC.HasValue)
|
||
|| (eproject.Permit_PS_SafetyFinalAcc.HasValue && eproject.Permit_PA_SafetyFinalACC.HasValue
|
||
&& !eproject.Permit_PS_FFFinalAcc.HasValue && !eproject.Permit_PA_FFFinalACC.HasValue
|
||
&& eproject.Permit_PS_EnvFinalAcc.HasValue && eproject.Permit_PA_EnvFinalACC.HasValue)
|
||
|| (!eproject.Permit_PS_SafetyFinalAcc.HasValue && !eproject.Permit_PA_SafetyFinalACC.HasValue
|
||
&& eproject.Permit_PS_FFFinalAcc.HasValue && eproject.Permit_PA_FFFinalACC.HasValue
|
||
&& eproject.Permit_PS_EnvFinalAcc.HasValue && eproject.Permit_PA_EnvFinalACC.HasValue)
|
||
|| (!eproject.Permit_PS_SafetyFinalAcc.HasValue && !eproject.Permit_PA_SafetyFinalACC.HasValue
|
||
&& !eproject.Permit_PS_FFFinalAcc.HasValue && !eproject.Permit_PA_FFFinalACC.HasValue
|
||
&& eproject.Permit_PS_EnvFinalAcc.HasValue && eproject.Permit_PA_EnvFinalACC.HasValue)
|
||
|| (!eproject.Permit_PS_SafetyFinalAcc.HasValue && !eproject.Permit_PA_SafetyFinalACC.HasValue
|
||
&& !eproject.Permit_PS_FFFinalAcc.HasValue && !eproject.Permit_PA_FFFinalACC.HasValue
|
||
&& !eproject.Permit_PS_EnvFinalAcc.HasValue && !eproject.Permit_PA_EnvFinalACC.HasValue))
|
||
{
|
||
#region MOC项目
|
||
//MOC项目:最晚的①竣工图接收日期②商务关闭日期③主控文档更新日期④剩余材料登记
|
||
if (eproject.ProjectControl_JobType == "MOC")
|
||
{
|
||
List<DateTime> closeDateLists = new List<DateTime>();
|
||
var built = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D02_AS-BUILT");//竣工图接收日期
|
||
if (built != null)
|
||
{
|
||
if (built.ReceiveHC.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(built.ReceiveHC));
|
||
}
|
||
}
|
||
var md = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D03_MD");//主控文档更新日期
|
||
if (md != null)
|
||
{
|
||
if (md.ReceivePDF.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(md.ReceivePDF));
|
||
}
|
||
}
|
||
if (eproject.ProjectControl_BC_CloseDate.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(eproject.ProjectControl_BC_CloseDate));//商务关闭日期
|
||
}
|
||
if (eproject.CM_Date_of_Registration.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(eproject.CM_Date_of_Registration));//剩余材料登记
|
||
}
|
||
closeDateLists.Sort();
|
||
|
||
if (closeDateLists.Count == 4)
|
||
{
|
||
eproject.ProjectControl_ClosedDate = closeDateLists[3];
|
||
eproject.ProjectControl_JobStatus = "Closed";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 类型为项目和小型投资
|
||
//类型为项目和小型投资:最晚的①竣工图接收日期②商务关闭日期③主控文档更新日期④C类尾项消项日期⑤机械竣工签署日期⑥剩余材料登记⑦计划具备开车条件日期⑧大于100万需要FC签署日期
|
||
else if (eproject.ProjectControl_JobType == "Small Invest" || eproject.ProjectControl_JobType == "Projects")
|
||
{
|
||
List<DateTime> closeDateLists = new List<DateTime>();
|
||
var built = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D02_AS-BUILT");
|
||
if (built != null)
|
||
{
|
||
if (built.ReceiveHC.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(built.ReceiveHC));//竣工图接收日期
|
||
}
|
||
}
|
||
if (eproject.ProjectControl_BC_CloseDate.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(eproject.ProjectControl_BC_CloseDate));//商务关闭日期
|
||
}
|
||
var md = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D03_MD");
|
||
if (md != null)
|
||
{
|
||
if (md.ReceivePDF.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(md.ReceivePDF));//主控文档更新日期
|
||
}
|
||
}
|
||
if (eproject.CM_Punch_CKilledDate.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(eproject.CM_Punch_CKilledDate));//C类尾项消项日期
|
||
}
|
||
var mc = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D11_MC");
|
||
if (mc != null)
|
||
{
|
||
if (mc.ReceiveHC.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(mc.ReceiveHC));//机械竣工签署日期
|
||
}
|
||
}
|
||
if (eproject.CM_Date_of_Registration.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(eproject.CM_Date_of_Registration));//剩余材料登记
|
||
}
|
||
var rfsu = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D12_RFSU");
|
||
if (rfsu != null)
|
||
{
|
||
if (rfsu.ReceiveHC.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(mc.ReceiveHC));//计划具备开车条件日期
|
||
}
|
||
}
|
||
// 大于1000000需要FC签署日期
|
||
if (eproject.ProjectControl_OrginalBudget != null && eproject.ProjectControl_OrginalBudget > 1000000)
|
||
{
|
||
var fc = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D30_FC");
|
||
if (fc != null)
|
||
{
|
||
if (fc.ReceiveHC.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(fc.ReceiveHC));//FC签署日期
|
||
}
|
||
}
|
||
closeDateLists.Sort();
|
||
if (closeDateLists.Count == 8)
|
||
{
|
||
eproject.ProjectControl_ClosedDate = closeDateLists[7];
|
||
eproject.ProjectControl_JobStatus = "Closed";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
closeDateLists.Sort();
|
||
if (closeDateLists.Count == 7)
|
||
{
|
||
eproject.ProjectControl_ClosedDate = closeDateLists[6];
|
||
eproject.ProjectControl_JobStatus = "Closed";
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 其他类项目
|
||
//其他类项目:最晚的①竣工图接收日期②商务关闭日期③主控文档更新日期
|
||
else if (eproject.ProjectControl_JobType == "Other")
|
||
{
|
||
List<DateTime> closeDateLists = new List<DateTime>();
|
||
var built = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D02_AS-BUILT");
|
||
if (built != null)
|
||
{
|
||
if (built.ReceiveHC.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(built.ReceiveHC));//竣工图接收日期
|
||
}
|
||
}
|
||
if (eproject.ProjectControl_BC_CloseDate.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(eproject.ProjectControl_BC_CloseDate));//商务关闭日期
|
||
}
|
||
var md = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D03_MD");
|
||
if (md != null)
|
||
{
|
||
if (md.ReceivePDF.HasValue)
|
||
{
|
||
closeDateLists.Add(Convert.ToDateTime(md.ReceivePDF));//主控文档更新日期
|
||
}
|
||
}
|
||
closeDateLists.Sort();
|
||
if (closeDateLists.Count == 3)
|
||
{
|
||
eproject.ProjectControl_ClosedDate = closeDateLists[2];
|
||
eproject.ProjectControl_JobStatus = "Closed";
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
protected void Session_Start(object sender, EventArgs e)
|
||
{
|
||
Session.Timeout = 720;
|
||
// 这种统计在线人数的做法会有一定的误差
|
||
Application.Lock();
|
||
Application["OnlineUserCount"] = (int)Application["OnlineUserCount"] + 1;
|
||
Application.UnLock();
|
||
|
||
// https访问secure设置为true
|
||
if (Request.IsSecureConnection)
|
||
{
|
||
Response.Cookies["ASP.NET_SessionId"].Secure = true;
|
||
}
|
||
}
|
||
|
||
protected void Application_BeginRequest(object sender, EventArgs e)
|
||
{
|
||
|
||
}
|
||
|
||
protected void Application_AuthenticateRequest(object sender, EventArgs e)
|
||
{
|
||
|
||
}
|
||
|
||
protected void Application_Error(object sender, EventArgs e)
|
||
{
|
||
StringBuilder errLog = null;
|
||
Exception ex = null;
|
||
try
|
||
{
|
||
// 获取错误类
|
||
ex = Server.GetLastError().InnerException;
|
||
if (ex == null)
|
||
{
|
||
ex = Server.GetLastError().GetBaseException();
|
||
}
|
||
|
||
errLog = new StringBuilder();
|
||
errLog.Append(String.Format(CultureInfo.InvariantCulture, "出错文件:{0}\r\n", Request.Url.AbsoluteUri));
|
||
if (Request.UserHostAddress != null)
|
||
{
|
||
errLog.Append(String.Format(CultureInfo.InvariantCulture, "IP地址:{0}\r\n", Request.UserHostAddress));
|
||
}
|
||
|
||
if (Session != null && Session["CurrUser"] != null)
|
||
{
|
||
errLog.Append(String.Format(CultureInfo.InvariantCulture, "操作人员:{0}\r\n", BLL.Sys_UserService.GetUsersByUserId(((Model.Sys_User)Session["CurrUser"]).UserId).UserName));
|
||
}
|
||
else
|
||
{
|
||
PageBase.ZXRefresh(Request.ApplicationPath + "/LogOff.aspx");
|
||
}
|
||
|
||
if (ex is HttpRequestValidationException)
|
||
{
|
||
PageBase.ZXRefresh(Request.ApplicationPath + "/Wrong.aspx?Message=0");
|
||
}
|
||
else if (ex is FriendlyException)
|
||
{
|
||
PageBase.ZXRefresh(Request.ApplicationPath + "/Wrong.aspx?MessageText=" + ex.Message);
|
||
}
|
||
}
|
||
catch
|
||
{
|
||
try
|
||
{
|
||
PageBase.ZXRefresh(Request.ApplicationPath + "/OperationError.aspx");
|
||
}
|
||
catch
|
||
{
|
||
}
|
||
}
|
||
finally
|
||
{
|
||
ErrLogInfo.WriteLog(ex, errLog == null ? null : errLog.ToString());
|
||
Server.ClearError();
|
||
|
||
PageBase.ZXRefresh(Request.ApplicationPath + "/OperationError.aspx");
|
||
}
|
||
}
|
||
|
||
protected void Session_End(object sender, EventArgs e)
|
||
{
|
||
|
||
}
|
||
|
||
protected void Application_End(object sender, EventArgs e)
|
||
{
|
||
|
||
}
|
||
}
|
||
}
|