`
hwh
2024-09-26 2eeda76d44d82438210e195fd5ebc0deeee29092
Admin.NET/WCS.Application/Hub/PlcHub.cs
@@ -1,5 +1,6 @@
using Furion.InstantMessaging;
using Microsoft.AspNetCore.SignalR;
using WCS.Application.Entity;
namespace WCS.Application;
@@ -11,10 +12,12 @@
{
    private readonly IHubContext<PlcHub, IPlcHub> _plcHubContext;
    private readonly SysConfigService _sysConfigService;
    public PlcHub(IHubContext<PlcHub, IPlcHub> plcHubContext, SysConfigService sysConfigService)
    private readonly SqlSugarRepository<WcsCheckTask> _wcsCheckTaskRep;
    public PlcHub(IHubContext<PlcHub, IPlcHub> plcHubContext, SysConfigService sysConfigService, SqlSugarRepository<WcsCheckTask> wcsCheckTaskRep)
    {
        _plcHubContext = plcHubContext;
        _sysConfigService = sysConfigService;
        _wcsCheckTaskRep = wcsCheckTaskRep;
    }
    /// <summary>
    /// 下发PLC连接状态
@@ -68,6 +71,26 @@
        {
            PLCTaskAction.boDemo = context.BoDemo.Value;
            if (PLCTaskAction.boDemo)
            {
                //判断分拣码垛有没有绑定任务
                var checkTask = await _wcsCheckTaskRep.Context.Queryable<WcsCheckTask>().Where(w => w.Status == "1").ToListAsync();
                if (checkTask.Count > 0)
                {
                    PLCTaskAction.boDemo = false;
                    await _plcHubContext.Clients.All.UpdateService(
                        new PLCServiceModel()
                        {
                            BoRunningState = PLCTaskAction.boRunningState,
                            BoRefresh = PLCTaskAction.boRefresh,
                            BoOffline = PLCTaskAction.boOffline,
                            BoDemo = PLCTaskAction.boDemo,
                            BoDrumReversal = PLCTaskAction.boDrumReversal,
                            Error = "分拣码垛已绑定任务,不支持开启演示模式!"
                        });
                    return;
                }
            }
            //PLC连接
            var plcStackeConn = PLCTaskAction.listPlcConn.First(m => m.PlcIP == "10.18.51.120");
            if (plcStackeConn.Connected)
@@ -108,7 +131,7 @@
                    PLCTaskAction.boDrumReversal = !PLCTaskAction.boDrumReversal;
                }
            }
            else
            else
            {
                PLCTaskAction.boDrumReversal = !PLCTaskAction.boDrumReversal;
            }
@@ -129,4 +152,8 @@
    public bool? BoDemo { get; set; }
    public bool? BoDrumReversal { get; set; }
    /// <summary>
    /// 错误信息
    /// </summary>
    public string Error { get; set; }
}