using Quartz; using Entity=Sugar.Enties; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Utils; namespace PMS.NetCore.Service { /// /// 当有新的待审审批流到达董事长时向王帅发一个通知邮件 /// public class SendEmailToChairmanJob : IJob { NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); /// /// 当有新的待审审批流到达董事长时向王帅发一个通知邮件 /// /// /// public Task Execute(IJobExecutionContext context) { return Task.Run(() => { try { ////NlogHelper.quartzLogger.Info("开始"); //var sql = $"SELECT * FROM dbo.WorkFlowAct WHERE ToTaskName LIKE '%董事长%' AND SignDate IS NULL AND FinishDate IS NULL AND NOT EXISTS(SELECT EmailHistoryCode FROM dbo.EmailHistory WHERE MasterCode=WorkFlowAct.actcode and EmailType='WorkFlowAct')"; ////logger.Info($"主项计划sql:{sql}"); //var manager = new WorkFlowActManager(); //var unitManager = new UnitManager(); //var list = manager.Db.Ado.SqlQuery(sql); //foreach (var item in list) //{ // sql = $"SELECT * FROM dbo.WorkFlowCaseProperty WHERE WorkFlowCaseCode='{item.CaseCode}' AND (WorkFlowProcedurePropertyName='流水号' OR WorkFlowProcedurePropertyName='主题' OR WorkFlowProcedurePropertyName='项目代码')"; // var list1 = manager.Db.Ado.SqlQuery(sql); // string liushui = ""; // string zhuti = ""; // string projectCode = ""; // string projectName = ""; // string procedureName = ""; // foreach(var item1 in list1) // { // if(item1.WorkFlowProcedurePropertyName=="流水号") // { // liushui = item1.WorkFlowProcedurePropertyValue; // } // else if(item1.WorkFlowProcedurePropertyName == "主题") // { // zhuti = item1.WorkFlowProcedurePropertyValue; // } // else if (item1.WorkFlowProcedurePropertyName == "项目代码") // { // projectCode = item1.WorkFlowProcedurePropertyValue; // } // } // sql = $"SELECT ProjectName FROM dbo.Project WHERE ProjectCode='{projectCode}'"; // projectName = manager.Db.Ado.GetString(sql); // sql = $"SELECT Description FROM dbo.WorkFlowProcedure WHERE ProcedureCode='{item.ProcedureCode}'"; // procedureName = manager.Db.Ado.GetString(sql); // #region 给王帅发邮件 // var username = "王帅"; // var mailBox = "shuai.wang@chinahonden.com"; // NlogHelper.quartzLogger.Info($"给{username}发邮件开始"); // EmailHelper helper = new EmailHelper(); // helper.Title = $"新审批流程需要董事长审批"; // helper.Cont = $"流水号为{liushui},项目名称为{projectName},主题为{zhuti},流程名称为{procedureName},需要董事长审批,请查收"; // helper.ReceiveEmail = mailBox; // helper.SendMail(helper); // NlogHelper.quartzLogger.Info($"给{username}发邮件结束"); // #endregion // #region 发邮件后做发邮件记录,防止重复发送 // var emailHistory = new Entity.EmailHistory(); // emailHistory.EmailHistoryCode = unitManager.GetSysCodeValue("EmailHistory"); // emailHistory.EmailType = "WorkFlowAct"; // emailHistory.MasterCode = item.ActCode; // emailHistory.EmailTitle = helper.Title; // emailHistory.EmailContent = helper.Cont; // emailHistory.Sender = helper.SendEMail; // emailHistory.Receiver = helper.ReceiveEmail; // emailHistory.SendDate = DateTime.Now; // manager.Db.Insertable(emailHistory).ExecuteCommand(); // #endregion //} } catch (Exception ero) { NlogHelper.quartzLogger.Error(" 给王帅发邮件执行出错:" + ero, true); } }); } } }