123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- using Cksoft.Unity;
- using Cksoft.Unity.Log4NetConfig;
- using DllEapBll;
- using DllEapDal.OFILM;
- using DllUfpDal;
- using Hangfire;
- using Microsoft.Extensions.Configuration;
- using Microsoft.Extensions.Logging;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- namespace WebMainFrameForEap.Config
- {
- /// <summary>
- /// 管理服务启动项111
- /// </summary>
- public class TaskLaunchManager
- {
- public IConfiguration Configuration { get; set; }
- private ILogger myloger = AppConfigurtaionServices.MyLog;
- public TaskLaunchManager(IConfiguration configuration)
- {
- Configuration = configuration;
- }
- /// <summary>
- /// 启动任务
- /// </summary>
- public void LaunchTask()
- {
- if (Configuration["CollectEapData"] != null && Convert.ToBoolean(Configuration["CollectEapData"]) == true)
- {
- this.StartCollectEapAlarmData();
- this.StartHandleFailCollection();
- }
- if (Configuration["DisconnectionNotice"] != null && Convert.ToBoolean(Configuration["DisconnectionNotice"]) == true)
- {
- this.IPDifferentNotice();
- this.AAMaterialNotice();
- }
- if (Configuration["PushBIData"] != null && Convert.ToBoolean(Configuration["PushBIData"]) == true)
- {
- // this.StartPushBIStatusData();
- this.StartPushBIOutput();
- }
- if (Convert.ToBoolean(Configuration["SyncEmployee"]) == true)
- {
- StartSyncEmployee();
- }
- if (Convert.ToBoolean(Configuration["SyncSample"]))
- {
- StartSample();
- }
- if (Configuration["ClearTempView"] == "true")
- {
- ClearTempViews();
- }
- if (Configuration["SyncMacLastStatus"] == "true")
- {
-
- SyncMacLastStatus();
- }
-
- if (Configuration["SyncMacOutPutTime"] == "true")
- {
- SyncMacOutPutTime();
- }
- }
- private void SyncMacOutPutTime()
- {
-
- var cron = $"0 01 0/1 * * ?";
- MacOutPutTimeDal dal = new MacOutPutTimeDal();
- RecurringJob.AddOrUpdate(() => dal.SetData(), cron, TimeZoneInfo.Local);
- }
- /// <summary>
- /// Sample校验
- /// </summary>
- private void StartSample()
- {
- var cron = $"0 0/10 * * * ?";
- SamplePara sample = new SamplePara();
- RecurringJob.AddOrUpdate(() => sample.Get(), cron);
- }
- /// <summary>
- /// 定时汇总机台报警等数据
- /// </summary>
- public void StartCollectEapAlarmData()
- {
- var hour = Convert.ToInt32(Configuration["ColllectTimeSpan:Hour"]);
- var minute = Convert.ToInt32(Configuration["ColllectTimeSpan:Minute"]);
- // 设置汇总报警等数据定时任务
- var cron = $"0 */{minute} {hour} * * ?";
- if (hour == 0)
- {
- cron = $"0 */{minute} * * * ?";
- }
- //
- RecurringJob.AddOrUpdate(() => EapDataCollectBll.CollectEapData(),
- cron);
- }
- /// <summary>
- /// BI失败数据处理
- /// </summary>
- public void StartHandleFailCollection()
- {
- BackgroundJob.Enqueue(() => EapDataCollectBll.HandleFailCollection());
- }
- /// <summary>
- /// 同步员工账号
- /// </summary>
- public void StartSyncEmployee()
- {
- var cron = $"0 0 2 1 * *";
- var service = new OfilmRzSyncService();
- RecurringJob.AddOrUpdate(() => service.Sync(),
- cron);
- }
- /// <summary>
- /// BI产量数据
- /// </summary>
- public void StartPushBIOutput()
- {
- var cron = $"0 */10 * * * ?";
- RecurringJob.AddOrUpdate(() => EapDataCollectBll.PushBIOutput(),
- cron);
- // BackgroundJob.Enqueue(() => EapDataCollectBll.PushBIOutput());
- }
- /// <summary>
- /// 断线通知
- /// </summary>
- public void DisconnectionNotice()
- {
- myloger.LogError($"机台断线邮件定时任务开始");
- var cron = Configuration["DisConnNoticeCron"].ToString();
- RecurringJob.AddOrUpdate(() => MailNotice.DisconnectionNotice(1),
- cron, TimeZoneInfo.Local);
- myloger.LogError($"机台断线邮件定时任务结束");
- }
- /// <summary>
- /// ip地址不一致通知
- /// </summary>
- public void IPDifferentNotice()
- {
- myloger.LogError($"ip地址不一致邮件定时任务开始");
- var cron = Configuration["DisConnNoticeCron"].ToString();
- RecurringJob.AddOrUpdate(() => MailNotice.IPDifferentAndDiconnectionNotice(),
- cron, TimeZoneInfo.Local);
- myloger.LogError($"ip地址不一致邮件定时任务结束");
- }
- /// <summary>
- /// AA抛料率未上传预警
- /// </summary>
- public void AAMaterialNotice()
- {
- myloger.LogError($"AA抛料率预警邮件定时任务开始");
- var cron = Configuration["AAMaterialNoticeCron"].ToString();
- RecurringJob.AddOrUpdate(() => MailNotice.AAMaterialUploadErrorNotice(),
- cron, TimeZoneInfo.Local);
- myloger.LogError($"AA抛料率预警邮件定时任务结束");
- }
- /// <summary>
- /// 删除因查询看板生成的临时视图
- /// </summary>
- public void ClearTempViews()
- {
- var cron = $"0 0/15 * * * *";
- MacStatusTotalDal dal = new MacStatusTotalDal();
- RecurringJob.AddOrUpdate(() => dal.ClearTempViews(), cron);
- }
- /// <summary>
- /// 计算
- /// </summary>5
- public void SyncMacLastStatus()
- {
- myloger.LogError($"计算机台当班最后状态开始");
- var cron = Configuration["SyncLastStatusCron"].ToString();
- var dal = new MacLastStatusDal();
- RecurringJob.AddOrUpdate(() => dal.SyncLastStatus(), cron, TimeZoneInfo.Local);
- myloger.LogError($"计算机台当班最后状态结束");
- }
- }
- }
|