using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Security; using System.Web.SessionState; using System.Web.Routing; using CY.WebForm.Helper; using CY.BLL; using System.Data.SqlClient; using CY.SQLDAL; using CY.Infrastructure.Logging; using System.Data; using System.Globalization; namespace CY.WebForm { public class Global : System.Web.HttpApplication { void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("~/config/log4net.config"))); // 在应用程序启动时运行的代码 TimeTaskHelper.Instance().ExecuteTask += new System.Timers.ElapsedEventHandler(Global_ExecuteTask); TimeTaskHelper.Instance().Interval = 1000*3000;//表示间隔 1个小时 TimeTaskHelper.Instance().Start(); } void Global_ExecuteTask(object sender, System.Timers.ElapsedEventArgs e) { //在这里编写需要定时执行的逻辑代码 //这里执行定时任务 DateTime time = DateTime.Now; #region 未完结客户例行置位 var data = time.ToString("ddd HH"); if (data == "周一 1") { Database DC = new Database(); string sqlStr = " UPDATE[dbo].[OA_CorporateClients] SET [NeedWiHu] = 'true' WHERE[Shifouwanjie] = 2"; try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); int a = myCmd.ExecuteNonQuery(); //myDa.Dispose(); } catch (Exception ee) { new Log4NetAdapter().Log("周一执行为完结客户 提醒设置失败 错误:" + ee.Message); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } } #endregion #region 已完结客户维护置位 string strtime = time.ToString("MM dd HH"); if (strtime == "01 01 01" || strtime == "04 01 01" || strtime == "07 01 01" || strtime == "10 01 01") { //1 、4、7、10月 1号1点,刷新 已完结订单的维护提醒 Database DC = new Database(); string sqlStr = " UPDATE[dbo].[OA_CorporateClients] SET [NeedWiHu] = 'true' WHERE[Shifouwanjie] = 1"; try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); int a = myCmd.ExecuteNonQuery(); //myDa.Dispose(); } catch (Exception ee) { new Log4NetAdapter().Log("完结订单客户3个月一次提醒错误 提醒设置失败 错误:" + ee.Message); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } } #endregion #region 节日提醒置位 ///以下为节日提醒 var date20days= time.AddDays(20); ChineseLunisolarCalendar chineseLunisolarCalendar = new ChineseLunisolarCalendar(); int lyear = chineseLunisolarCalendar.GetYear(date20days); int lmonth = chineseLunisolarCalendar.GetMonth(date20days); int lday = chineseLunisolarCalendar.GetDayOfMonth(date20days); //获取闰月, 0 则表示没有闰月 int leapMonth = chineseLunisolarCalendar.GetLeapMonth(lyear); if(lmonth==1&&lday==1&& time.Hour==1) { Database DC = new Database(); string sqlStr = " UPDATE[dbo].[OA_CorporateClients] SET [JieJiaRiWiHu] = 'true'"; try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); int a = myCmd.ExecuteNonQuery(); //myDa.Dispose(); } catch (Exception ee) { new Log4NetAdapter().Log("春节设置提醒错误 错误:" + ee.Message); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } //春节提醒 } if (leapMonth == 0) { //没有闰月 if (lmonth == 8 && lday == 15&&time.Hour==1) { //中秋节提醒 Database DC = new Database(); string sqlStr = " UPDATE[dbo].[OA_CorporateClients] SET [JieJiaRiWiHu] = 'true'"; try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); int a = myCmd.ExecuteNonQuery(); //myDa.Dispose(); } catch (Exception ee) { new Log4NetAdapter().Log("中秋节提醒错误 错误:" + ee.Message); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } } if (lmonth == 5 && lday == 5 && time.Hour == 1) { //端午节 Database DC = new Database(); string sqlStr = " UPDATE[dbo].[OA_CorporateClients] SET [JieJiaRiWiHu] = 'true'"; try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); int a = myCmd.ExecuteNonQuery(); //myDa.Dispose(); } catch (Exception ee) { new Log4NetAdapter().Log("端午节设置提醒错误 错误:" + ee.Message); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } } } else { //有闰月 //没有闰月 int ms = 8; if (leapMonth < 8) ms++; if (lmonth == ms && lday == 15 && time.Hour == 1) { //中秋节提醒 Database DC = new Database(); string sqlStr = " UPDATE[dbo].[OA_CorporateClients] SET [JieJiaRiWiHu] = 'true'"; try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); int a = myCmd.ExecuteNonQuery(); //myDa.Dispose(); } catch (Exception ee) { new Log4NetAdapter().Log("中秋节设置提醒错误 错误:" + ee.Message); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } } ms = 5; if (leapMonth < 5) ms++; if (lmonth == ms && lday == 5 && time.Hour == 1) { //端午节 Database DC = new Database(); string sqlStr = " UPDATE[dbo].[OA_CorporateClients] SET [JieJiaRiWiHu] = 'true'"; try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); int a = myCmd.ExecuteNonQuery(); //myDa.Dispose(); } catch (Exception ee) { new Log4NetAdapter().Log("端午节设置提醒错误 错误:" + ee.Message); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } } } #endregion #region 节日提醒过期置位取消 ///以下为节日提醒 ChineseLunisolarCalendar chineseLunisolarCalendar2 = new ChineseLunisolarCalendar(); lyear = chineseLunisolarCalendar2.GetYear(time); lmonth = chineseLunisolarCalendar2.GetMonth(time); lday = chineseLunisolarCalendar2.GetDayOfMonth(time); //获取闰月, 0 则表示没有闰月 leapMonth = chineseLunisolarCalendar.GetLeapMonth(lyear); if (lmonth == 1 && lday == 1 && time.Hour == 1) { Database DC = new Database(); string sqlStr = " UPDATE[dbo].[OA_CorporateClients] SET [JieJiaRiWiHu] = 'false'"; try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); int a = myCmd.ExecuteNonQuery(); //myDa.Dispose(); } catch (Exception ee) { new Log4NetAdapter().Log("春节设置提醒错误 错误:" + ee.Message); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } //春节提醒 } if (leapMonth == 0) { //没有闰月 if (lmonth == 8 && lday == 15 && time.Hour == 1) { //中秋节提醒 Database DC = new Database(); string sqlStr = " UPDATE[dbo].[OA_CorporateClients] SET [JieJiaRiWiHu] = 'false'"; try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); int a = myCmd.ExecuteNonQuery(); //myDa.Dispose(); } catch (Exception ee) { new Log4NetAdapter().Log("中秋节提醒错误 错误:" + ee.Message); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } } if (lmonth == 5 && lday == 5 && time.Hour == 1) { //端午节 Database DC = new Database(); string sqlStr = " UPDATE[dbo].[OA_CorporateClients] SET [JieJiaRiWiHu] = 'false'"; try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); int a = myCmd.ExecuteNonQuery(); //myDa.Dispose(); } catch (Exception ee) { new Log4NetAdapter().Log("端午节设置提醒错误 错误:" + ee.Message); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } } } else { //有闰月 int ms = 8; if (leapMonth < 8) ms++; if (lmonth == ms && lday == 15 && time.Hour == 1) { //中秋节提醒 Database DC = new Database(); string sqlStr = " UPDATE[dbo].[OA_CorporateClients] SET [JieJiaRiWiHu] = 'false'"; try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); int a = myCmd.ExecuteNonQuery(); //myDa.Dispose(); } catch (Exception ee) { new Log4NetAdapter().Log("中秋节设置提醒错误 错误:" + ee.Message); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } } ms = 5; if (leapMonth < 5) ms++; if (lmonth == ms && lday == 5 && time.Hour == 1) { //端午节 Database DC = new Database(); string sqlStr = " UPDATE[dbo].[OA_CorporateClients] SET [JieJiaRiWiHu] = 'false'"; try { SqlCommand myCmd = new SqlCommand(sqlStr, DC.Connection); //SqlDataAdapter myDa = new SqlDataAdapter(myCmd); int a = myCmd.ExecuteNonQuery(); //myDa.Dispose(); } catch (Exception ee) { new Log4NetAdapter().Log("端午节设置提醒错误 错误:" + ee.Message); } finally { if (DC.Connection.State != System.Data.ConnectionState.Closed) DC.Connection.Close(); } } } #endregion } protected void Application_BeginRequest(Object sender, EventArgs e) { } void Application_End(object sender, EventArgs e) { // 在应用程序关闭时运行的代码 } void Application_Error(object sender, EventArgs e) { // 在出现未处理的错误时运行的代码 } void Session_Start(object sender, EventArgs e) { // 在新会话启动时运行的代码 } void Session_End(object sender, EventArgs e) { // 在会话结束时运行的代码。 // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer // 或 SQLServer,则不会引发该事件。 } } }