diff --git a/SGGL/BLL/PZHGL/GJSX/GJSXMonitorService.cs b/SGGL/BLL/PZHGL/GJSX/GJSXMonitorService.cs
index 2629e70a..a96ed6a8 100644
--- a/SGGL/BLL/PZHGL/GJSX/GJSXMonitorService.cs
+++ b/SGGL/BLL/PZHGL/GJSX/GJSXMonitorService.cs
@@ -18,176 +18,6 @@ namespace BLL
{
public static Model.SGGLDB db = Funs.DB;
- #region 启动监视器 定时清理推送日志
- ///
- /// 监视组件
- ///
- private static Timer messageTimer1;
-
- ///
- /// 关键事项超期预警定时提醒邮箱
- ///
- public static void StartMonitorOverdueWarningPushEmail()
- {
- int adTimeJ = 60 * 4;
- if (messageTimer1 != null)
- {
- messageTimer1.Stop();
- messageTimer1.Dispose();
- messageTimer1 = null;
- }
- if (adTimeJ > 0)
- {
- messageTimer1 = new Timer
- {
- AutoReset = true
- };
- messageTimer1.Elapsed += new ElapsedEventHandler(OverdueWarningPushEmail);
- messageTimer1.Interval = 1000 * 60 * adTimeJ;// 60分钟 60000 * adTimeJ;
- messageTimer1.Start();
- }
- }
-
- ///
- /// 流程确认 定时执行 系统启动5分钟
- ///
- /// Timer组件
- /// 事件参数
- private static void OverdueWarningPushEmail(object sender, ElapsedEventArgs e)
- {
- try
- {
- Model.SGGLDB db = Funs.DB;
- //取未关闭且已经超期的数据
-
- string strSql = @"select
- DATEDIFF(DAY, CompleteDate, isnull(CloseDate,getdate())) AS DateDiffDays
- ,a.GJSXID,a.ProjectId,a.Detail,a.UserID,a.createDate,Base_Project.ProjectName,Base_Unit.UnitName,a.CloseDate,a.IsManypeople,a.CompleteDate,a.AttachUrl
- ,case a.state when 2 then '正在进行' when 3 then '待办' when 0 then '已关闭' when 1 then '开放' end as state
- ,CNProfessionalName = STUFF((SELECT ',' + Base_CNProfessional.ProfessionalName FROM dbo.Base_CNProfessional where PATINDEX('%,' + RTRIM(Base_CNProfessional.CNProfessionalId) + ',%', ',' + a.CNProfessional_ID + ',') > 0 FOR XML PATH('')), 1, 1,'')
- ,QuestionTypeName = STUFF((SELECT ',' + Base_QuestionType.QuestionTypeName FROM dbo.Base_QuestionType where PATINDEX('%,' + RTRIM(Base_QuestionType.QuestionTypeID) + ',%', ',' + a.QuestionTypeID + ',') > 0 FOR XML PATH('')), 1, 1,'')
- ,GJSXTypeName = STUFF((SELECT ',' + Base_GJSXType.GJSXTypeName FROM dbo.Base_GJSXType where PATINDEX('%,' + RTRIM(Base_GJSXType.GJSXTypeID) + ',%', ',' + a.GJSXTypeID + ',') > 0 FOR XML PATH('')), 1, 1,'')
- ,b.UserName,b.Email as UserEmail
- ,User_ReceiveUserName = STUFF((SELECT ',' + p2.UserName FROM dbo.Sys_User as p2 where PATINDEX('%,' + RTRIM(p2.UserId) + ',%', ',' + a.User_ReceiveID + ',') > 0 FOR XML PATH('')), 1, 1,'')
- ,User_ReceiveUserEmail = STUFF((SELECT ',' + p2.Email FROM dbo.Sys_User as p2 where PATINDEX('%,' + RTRIM(p2.UserId) + ',%', ',' + a.User_ReceiveID + ',') > 0 FOR XML PATH('')), 1, 1,'')
- ,User_AcceptanceUserName = STUFF((SELECT ',' + p2.UserName FROM dbo.Sys_User as p2 where PATINDEX('%,' + RTRIM(p2.UserId) + ',%', ',' + a.user_Acceptance + ',') > 0 FOR XML PATH('')), 1, 1,'')
- ,User_AcceptanceUserEmail = STUFF((SELECT ',' + p2.Email FROM dbo.Sys_User as p2 where PATINDEX('%,' + RTRIM(p2.UserId) + ',%', ',' + a.user_Acceptance + ',') > 0 FOR XML PATH('')), 1, 1,'')
- ,User_CsUsers = STUFF((SELECT ',' + p2.UserName FROM dbo.Sys_User as p2 where PATINDEX('%,' + RTRIM(p2.UserId) + ',%', ',' + a.CsUsers + ',') > 0 FOR XML PATH('')), 1, 1,'')
- ,User_CsUsersUserEmail = STUFF((SELECT ',' + p2.Email FROM dbo.Sys_User as p2 where PATINDEX('%,' + RTRIM(p2.UserId) + ',%', ',' + a.CsUsers + ',') > 0 FOR XML PATH('')), 1, 1,'')
- from GJSX as a
- left join Sys_User as b on a.UserId = b.UserId
- left join[dbo].[Base_Project] on a.ProjectId = Base_Project.ProjectId
- left join[dbo].[Base_Unit] on a.UnitId = Base_Unit.UnitId
- where 1=1 and a.state<>'0' and GETDATE()>a.CompleteDate ";
-
- List listStr = new List();
- SqlParameter[] parameter = listStr.ToArray();
-
- DataTable table = SQLHelper.GetDataTableRunText(strSql, parameter);
-
- // 使用LINQ将DataTable转换为List
- var lstOverdue = table.AsEnumerable()
- .Select(row => new GJSXItem
- {
- DateDiffDays = Convert.ToInt32(row["DateDiffDays"]),
- GJSXID = row["GJSXID"].ToString(),
- ProjectId = row["ProjectId"].ToString(),
- ProjectName = row["ProjectName"].ToString(),
- UnitName = row["UnitName"].ToString(),
- Detail = row["Detail"].ToString(),
- CNProfessionalName = row["CNProfessionalName"].ToString(),
- QuestionTypeName = row["QuestionTypeName"].ToString(),
- GJSXTypeName = row["GJSXTypeName"].ToString(),
- UserName = row["UserName"].ToString(),
- //UserEmail = row["UserEmail"].ToString(),
- User_ReceiveUserName = row["User_ReceiveUserName"].ToString(),
- //User_ReceiveUserEmail = row["User_ReceiveUserEmail"].ToString(),
- User_AcceptanceUserName = row["User_AcceptanceUserName"].ToString(),
- //User_AcceptanceUserEmail = row["User_AcceptanceUserEmail"].ToString(),
- User_CsUsers = row["User_CsUsers"].ToString(),
- //User_CsUsersUserEmail = row["User_CsUsersUserEmail"].ToString(),
- CompleteDate = Convert.ToDateTime(row["CompleteDate"].ToString())
- })
- .ToList();
-
- ////超期一周
- //var allItems1 = from x in db.GJSX
- // join a in db.Base_Project on x.ProjectId equals a.ProjectId
- // join b in db.Base_Unit on x.UnitId equals b.UnitId
- // where x.State != "0" && x.CloseDate == null && DateTime.Now > Convert.ToDateTime(x.CompleteDate).AddDays(7)
- // && DateTime.Now < Convert.ToDateTime(x.CompleteDate).AddDays(14)
- // select x;
-
- ////超期两周
- //var allItems2 = from x in db.GJSX
- // where x.State != "0" && x.CloseDate == null && DateTime.Now > Convert.ToDateTime(x.CompleteDate).AddDays(14)
- // && DateTime.Now < Convert.ToDateTime(x.CompleteDate).AddDays(21)
- // select x;
-
- ////超期三周
- //var allItems3 = from x in db.GJSX
- // where x.State != "0" && x.CloseDate == null && DateTime.Now > Convert.ToDateTime(x.CompleteDate).AddDays(21)
- // select x;
-
-
- if (lstOverdue.Any())
- {
- foreach (var item in lstOverdue)
- {
- if (item.DateDiffDays > 6)
- {//超期一周
- MailMessage mail = new MailMessage();
- //邮件主题
- mail.Subject = "关键事项超期预警提醒";
- //邮件正文
- mail.Body = $@"责任单位:{item.UnitName}
-项目名称:{item.ProjectName}
-事项ID:{item.GJSXID}
-事项描述:{item.Detail}
-事项类别:{item.GJSXTypeName}
-紧急程度:{item.QuestionTypeName}
-专业:{item.CNProfessionalName}
-约定完成时间:{item.CompleteDate.ToShortDateString()}";
-
-
- mail.To.Add("1923421292@qq.com");
- mail.To.Add("765289303@qq.com");
- mail.CC.Add("1784803958@qq.com");
- //if (!string.IsNullOrWhiteSpace(item.UserEmail))
- //{//提出人
- // mail.To.Add(item.UserEmail);
- //}
- //if (!string.IsNullOrWhiteSpace(item.User_AcceptanceUserEmail))
- //{//责任人
- // mail.To.Add(item.User_AcceptanceUserEmail);
- //}
- //if (!string.IsNullOrWhiteSpace(item.User_ReceiveUserEmail))
- //{//跟踪人
- // mail.To.Add(item.User_ReceiveUserEmail);
- //}
- //if (!string.IsNullOrWhiteSpace(item.User_CsUsersUserEmail))
- //{//抄送人
- // //mail.CC.Add("765289303@qq.com");
- // mail.CC.Add(item.User_CsUsersUserEmail);
- //}
- if (item.DateDiffDays > 21)
- {//超期三周——增加抄送主管
-
- }
- else if (item.DateDiffDays > 13)
- {//超期两周——增加项目经理、部门主管
-
- }
- PushEmail(mail);
- }
- }
- }
- }
- catch (Exception ex)
- {
- }
- }
-
///
/// 关键事项超期预警定时提醒发送邮箱
///
@@ -334,6 +164,7 @@ namespace BLL
关键事项超期预警提醒
+中国五环智慧施工管理信息系统
@@ -397,7 +228,5 @@ namespace BLL
}
}
- #endregion
-
}
}
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index cf00c480..57083727 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -42,7 +42,7 @@
bin\
DEBUG;TRACE
prompt
- 4
+ 0
AnyCPU
false
MinimumRecommendedRules.ruleset
@@ -19697,7 +19697,7 @@
-
+