change - 定时器改定时任务

dev
liuwf 1 year ago
parent 2e5c112322
commit bd8a8f3ca7

@ -20,8 +20,8 @@ namespace Admin.Core.Tasks
{
public class Job_AllState_Quartz : JobBase, IJob
{
public delegate Task RefreshCodeBindingState(bool mesState, bool plcState, bool scanner1, bool scanner2);
public static event RefreshCodeBindingState RefreshCodeBindingStateEvent;
public delegate Task RefreshState(bool mesState, bool plcState, bool scanner1, bool scanner2);
public static event RefreshState RefreshStateEvent;
private readonly IBaseServices<BaseBomInfo> baseServices;
public Job_AllState_Quartz(ISysTasksQzService SysTasksQzService, ISysJobLogService sysJobLogService,IBaseBomInfoServices baseBomInfoServices)
@ -45,7 +45,8 @@ namespace Admin.Core.Tasks
bool scanner1;
bool scanner2;
mesState = baseServices.GetConnectionState();
var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("条码绑定Plc"));
// var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("条码绑定Plc"));
var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("成品下线Plc"));
if (obj != null && obj.plc.IsConnected)
{
plcState = true;
@ -58,8 +59,8 @@ namespace Admin.Core.Tasks
string ip2 = Appsettings.app("Middleware", "Scanner2", "Ip");
scanner1 = MvCodeHelper.ConnectionStatus(ip1);
scanner2 = MvCodeHelper.ConnectionStatus(ip2);
//条码绑定上位机状态刷新
RefreshCodeBindingStateEvent(mesState,plcState,scanner1,scanner2);
//状态刷新
RefreshStateEvent(mesState,plcState,scanner1,scanner2);
return Task.FromResult(0);
#endregion
}

@ -40,7 +40,7 @@ namespace Aucma.Core.CodeBinding.ViewModels
{
UserContent = firstPage;
Job_AllState_Quartz.RefreshCodeBindingStateEvent += RefreshStatus;
Job_AllState_Quartz.RefreshStateEvent += RefreshStatus;
}
@ -49,8 +49,6 @@ namespace Aucma.Core.CodeBinding.ViewModels
/// <summary>
/// 设备状态刷新
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public Task RefreshStatus(bool mesState,bool plcState,bool scanner1,bool scanner2)
{
MesDbState(mesState);

@ -105,7 +105,7 @@
"Remark": "执行任务调度系统",
"RunTimes": 3881,
"BeginTime": "2023-04-23 11:08:50.000",
"EndTime": "2080-12-01 16:45:30.000",
"EndTime": "2180-12-01 16:45:30.000",
"TriggerType": 1,
"IntervalSecond": 5,
"CycleRunTimes": 1,

@ -66,7 +66,7 @@ namespace Aucma.Core.ProductOffLine
services.AddScannerSetup();
//任务调度
// services.AddJobSetup();
services.AddJobSetup();
//PLC
services.AddPlcSetup();
@ -91,7 +91,7 @@ namespace Aucma.Core.ProductOffLine
/// </summary>
/// <param name="app"></param>
/// <param name="env"></param>
public void Configure(IApplicationBuilder app, IScannerService scannerService, IRunPlcService runPlcService)
public void Configure(IApplicationBuilder app, IScannerService scannerService, IRunPlcService runPlcService, ISysTasksQzService tasksQzService, ISchedulerCenter schedulerCenter)
{
// 使用静态文件
app.UseStaticFiles();
@ -99,7 +99,7 @@ namespace Aucma.Core.ProductOffLine
//app.UseAuthorization();
// 开启QuartzNetJob调度服务
// app.UseQuartzJobMildd(tasksQzService, schedulerCenter);
app.UseQuartzJobMildd(tasksQzService, schedulerCenter);
//开启扫码服务
app.UseScannerMildd(scannerService);
//PLC

@ -43,17 +43,23 @@ namespace Aucma.Core.ProductOffLine.ViewModels
private async void ExecuteQuery()
{
MaterialDataGrid.Clear();
// 处理查询按钮点击事件
List<BaseMaterialInfo> materialInfoList = await _baseMaterialInfoServices.queryAsyncLike(Search);
int count = 0;
Application.Current.Dispatcher.Invoke(() =>
try
{
MaterialDataGrid.Clear();
// 处理查询按钮点击事件
List<BaseMaterialInfo> materialInfoList = await _baseMaterialInfoServices.queryAsyncLike(Search);
int count = 0;
Application.Current.Dispatcher.Invoke(() =>
{
foreach (BaseMaterialInfo materialInfo in materialInfoList)
{
MaterialDataGrid.Add(new DirectionEditModel() { No = ++count, ObjId = materialInfo.ObjId, MaterialCode = materialInfo.MaterialCode, MaterialName = materialInfo.MaterialName, SpaceCode = materialInfo.InboundDirection });
}
});
}
catch (Exception ex)
{
foreach (BaseMaterialInfo materialInfo in materialInfoList)
{
MaterialDataGrid.Add(new DirectionEditModel() { No = ++count, ObjId = materialInfo.ObjId, MaterialCode = materialInfo.MaterialCode, MaterialName = materialInfo.MaterialName, SpaceCode = materialInfo.InboundDirection });
}
});
}
public void MouseClick(object obj)
{

@ -13,14 +13,13 @@ using System.Threading.Tasks;
using System.Windows.Threading;
using Admin.Core.Common;
using Aucma.Core.Scanner;
using Admin.Core.Tasks;
namespace Aucma.Core.ProductOffLine.ViewModels
{
public partial class MainWindowViewModel : ObservableObject
{
#region plc状态刷新
#endregion
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(MainWindowViewModel));
private IndexPageView firstPage = new IndexPageView();//首页
private StatisticsPageView recordPage = new StatisticsPageView(); // 统计页面
@ -29,22 +28,7 @@ namespace Aucma.Core.ProductOffLine.ViewModels
public MainWindowViewModel()
{
UserContent = firstPage;
MesDbState(true);
PlcState(true);
Scanner1State(true);
Scanner2State(true);
init();
}
public void init()
{
// 设备状态刷新定时器
System.Timers.Timer timer = new System.Timers.Timer(1000 * 5);
timer.Elapsed += new System.Timers.ElapsedEventHandler(RefreshStatus);
timer.AutoReset = true;
timer.Enabled = true;
timer.Start();
Job_AllState_Quartz.RefreshStateEvent += RefreshStatus;
}
@ -52,15 +36,15 @@ namespace Aucma.Core.ProductOffLine.ViewModels
/// <summary>
/// 设备状态刷新
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void RefreshStatus(object sender, System.Timers.ElapsedEventArgs e)
public Task RefreshStatus(bool mesState, bool plcState, bool scanner1, bool scanner2)
{
RefreshMesDb();
RefreshPlc();
RefreshScanner();
MesDbState(mesState);
PlcState(plcState);
Scanner1State(scanner1);
Scanner2State(scanner2);
return Task.CompletedTask;
}
/// <summary>
/// 数据库状态刷新
/// </summary>
@ -257,14 +241,14 @@ namespace Aucma.Core.ProductOffLine.ViewModels
Application.Current.Dispatcher.Invoke(() =>
{
if (type)
{
MesDbUIStatusWb = "MES数据库连接成功";
{
MesDbUIStatusWb = "MES数据库";
MesDbUIColor = "Green";
MesUIIcon = "Assets/Images/Green.png";
}
else
{
MesDbUIStatusWb = "MES数据库异常";
MesDbUIStatusWb = "MES数据库";
MesDbUIColor = "Red";
MesUIIcon = "Assets/Images/Red.png";
}
@ -311,13 +295,13 @@ namespace Aucma.Core.ProductOffLine.ViewModels
{
if (type)
{
PlcUIStatusWb = "PLC连接成功";
PlcUIStatusWb = "PLC状态";
PlcUIColor = "Green";
PlcUIIcon = "Assets/Images/Green.png";
}
else
{
PlcUIStatusWb = "PLC状态异常";
PlcUIStatusWb = "PLC状态";
PlcUIColor = "Red";
PlcUIIcon = "Assets/Images/Red.png";
}
@ -370,13 +354,13 @@ namespace Aucma.Core.ProductOffLine.ViewModels
{
if (type)
{
Scanner1UIStatusWb = "扫码器1连接成功";
Scanner1UIStatusWb = "扫码器1状态";
Scanner1UIColor = "Green";
Scanner1UIIcon = "Assets/Images/Green.png";
}
else
{
Scanner1UIStatusWb = "扫码器1状态异常";
Scanner1UIStatusWb = "扫码器1状态";
Scanner1UIColor = "Red";
Scanner1UIIcon = "Assets/Images/Red.png";
}
@ -429,13 +413,13 @@ namespace Aucma.Core.ProductOffLine.ViewModels
{
if (type)
{
Scanner2UIStatusWb = "扫码器2连接成功";
Scanner2UIStatusWb = "扫码器2状态";
Scanner2UIColor = "Green";
Scanner2UIIcon = "Assets/Images/Green.png";
}
else
{
Scanner2UIStatusWb = "扫码器2状态异常";
Scanner2UIStatusWb = "扫码器2状态";
Scanner2UIColor = "Red";
Scanner2UIIcon = "Assets/Images/Red.png";
}

@ -53,11 +53,17 @@ namespace Aucma.Core.ProductOffLine.ViewModels
private async void ExecuteQuery()
{
List<BaseQualityInspectionItemInfo> list = await _baseQualityInspectionItemInfoServices.query();
qualityItemGrid.Clear();
for (int i = 0; i < list.Count; i++)
try
{
List<BaseQualityInspectionItemInfo> list = await _baseQualityInspectionItemInfoServices.query();
qualityItemGrid.Clear();
for (int i = 0; i < list.Count; i++)
{
qualityItemGrid.Add(new QualityInspectionModel() { No = i + 1, ObjId = list[i].ObjId, QualityDefectCode = list[i].QualityDefectCode, QualityDefectName = list[i].QualityDefectName, IsInSpection = list[i].IsInSpection == "0" ? "否" : "是" });
}
}
catch (Exception)
{
qualityItemGrid.Add(new QualityInspectionModel() { No = i + 1, ObjId = list[i].ObjId, QualityDefectCode = list[i].QualityDefectCode, QualityDefectName = list[i].QualityDefectName, IsInSpection = list[i].IsInSpection == "0" ? "否" : "是" });
}
}

@ -110,13 +110,13 @@
"JobGroup": "DEFAULT",
"Cron": "*/1 * * * * ?",
"AssemblyName": "Admin.Core.Tasks",
"ClassName": "Job_Admin_Quartz",
"ClassName": "Job_AllState_Quartz",
"Remark": "执行任务调度系统",
"RunTimes": 3881,
"BeginTime": "2023-04-23 11:08:50.000",
"EndTime": "2324-08-06 16:45:30.000",
"EndTime": "2180-12-01 16:45:30.000",
"TriggerType": 1,
"IntervalSecond": 1,
"IntervalSecond": 5,
"CycleRunTimes": 1,
"IsStart": true,
"JobParams": null,
@ -136,7 +136,7 @@
"Remark": "执行任务调度系统",
"RunTimes": 3881,
"BeginTime": "2023-04-23 11:08:50.000",
"EndTime": "2324-08-06 16:45:30.000",
"EndTime": "2022-08-06 16:45:30.000",
"TriggerType": 1,
"IntervalSecond": 1,
"CycleRunTimes": 1,

Loading…
Cancel
Save