1
huanghongfeng
2025-02-28 4d5e2e2340899e8cb8dd6855fcdd9ce384d78351
1
已修改1个文件
已添加1个文件
241 ■■■■■ 文件已修改
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceProtocolController.cs 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/LogJob.cs 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceProtocolController.cs
@@ -20,5 +20,171 @@
        {
            return Service.GetImportData(fileInput);
        }
        [HttpPost, Route("GetImportData2"), AllowAnonymous]
        public void GetImportData2()
        {
            try
            {
                List<Dt_DeviceProtocol> dt_Devices = new List<Dt_DeviceProtocol>();
                for (int i = 0; i < 4; i++)
                {
                    //写入模块
                    #region
                    Dt_DeviceProtocol dt_DeviceProtocol = new Dt_DeviceProtocol();
                    dt_DeviceProtocol.DeviceId = 1002;
                    dt_DeviceProtocol.DeviceChildCode = ("B" +1+i + "02").ToString();
                    dt_DeviceProtocol.DeviceProDataBlock = "DB50";
                    dt_DeviceProtocol.DeviceProOffset = (decimal)0 + (16 * i);  //指值多少
                    dt_DeviceProtocol.DeviceProDataType = "bool";  //类型
                    dt_DeviceProtocol.DeviceProParamName = "Backup01";     //名称
                    dt_DeviceProtocol.DeviceProDataLength = 1;  //长度
                    dt_DeviceProtocol.DeviceProParamType = "DeviceCommand"; //读取
                    dt_DeviceProtocol.DeviceProParamDes = "";
                    dt_DeviceProtocol.DeviceProRemark = "备用1";    //备注
                    dt_DeviceProtocol.Creater = "admin";
                    dt_DeviceProtocol.CreateDate = DateTime.Now;
                    dt_Devices.Add(dt_DeviceProtocol);
                    Dt_DeviceProtocol dt_DeviceProtoco2 = new Dt_DeviceProtocol();
                    dt_DeviceProtoco2.DeviceId = 1002;
                    dt_DeviceProtoco2.DeviceChildCode = ("B" + 1 + i + "02").ToString();
                    dt_DeviceProtoco2.DeviceProDataBlock = "DB50";
                    dt_DeviceProtoco2.DeviceProOffset = (decimal)0.1 + (16 * i);  //指值多少
                    dt_DeviceProtoco2.DeviceProDataType = "bool";  //类型
                    dt_DeviceProtoco2.DeviceProParamName = "Backup02";     //名称
                    dt_DeviceProtoco2.DeviceProDataLength = 1;  //长度
                    dt_DeviceProtoco2.DeviceProParamType = "DeviceCommand"; //读取
                    dt_DeviceProtoco2.DeviceProParamDes = "";
                    dt_DeviceProtoco2.DeviceProRemark = "备用2";    //备注
                    dt_DeviceProtoco2.Creater = "admin";
                    dt_DeviceProtoco2.CreateDate = DateTime.Now;
                    dt_Devices.Add(dt_DeviceProtoco2);
                    Dt_DeviceProtocol dt_DeviceProtoco3 = new Dt_DeviceProtocol();
                    dt_DeviceProtoco3.DeviceId = 1002;
                    dt_DeviceProtoco3.DeviceChildCode = ("B" + 1 + i + "02").ToString();
                    dt_DeviceProtoco3.DeviceProDataBlock = "DB50";
                    dt_DeviceProtoco3.DeviceProOffset = (decimal)0.2 + (16 * i);  //指值多少
                    dt_DeviceProtoco3.DeviceProDataType = "bool";  //类型
                    dt_DeviceProtoco3.DeviceProParamName = "Backup03";     //名称
                    dt_DeviceProtoco3.DeviceProDataLength = 1;  //长度
                    dt_DeviceProtoco3.DeviceProParamType = "DeviceCommand"; //读取
                    dt_DeviceProtoco3.DeviceProParamDes = "";
                    dt_DeviceProtoco3.DeviceProRemark = "备用3";    //备注
                    dt_DeviceProtoco3.Creater = "admin";
                    dt_DeviceProtoco3.CreateDate = DateTime.Now;
                    dt_Devices.Add(dt_DeviceProtoco3);
                    Dt_DeviceProtocol dt_DeviceProtoco4 = new Dt_DeviceProtocol();
                    dt_DeviceProtoco4.DeviceId = 1002;
                    dt_DeviceProtoco4.DeviceChildCode = ("B" + 1 + i + "02").ToString();
                    dt_DeviceProtoco4.DeviceProDataBlock = "DB50";
                    dt_DeviceProtoco4.DeviceProOffset = (decimal)0.3 + (16 * i);  //指值多少
                    dt_DeviceProtoco4.DeviceProDataType = "bool";  //类型
                    dt_DeviceProtoco4.DeviceProParamName = "Backup04";     //名称
                    dt_DeviceProtoco4.DeviceProDataLength = 1;  //长度
                    dt_DeviceProtoco4.DeviceProParamType = "DeviceCommand"; //读取
                    dt_DeviceProtoco4.DeviceProParamDes = "";
                    dt_DeviceProtoco4.DeviceProRemark = "备用4";    //备注
                    dt_DeviceProtoco4.Creater = "admin";
                    dt_DeviceProtoco4.CreateDate = DateTime.Now;
                    dt_Devices.Add(dt_DeviceProtoco4);
                    #endregion
                    //读取模块
                    #region
                    Dt_DeviceProtocol dt_DeviceProtoco5 = new Dt_DeviceProtocol();
                    dt_DeviceProtoco5.DeviceId = 1002;
                    dt_DeviceProtoco5.DeviceChildCode = ("B" + 1 + i + "02").ToString();
                    dt_DeviceProtoco5.DeviceProDataBlock = "DB50";
                    dt_DeviceProtoco5.DeviceProOffset = (decimal)8 + (16 * i);  //指值多少
                    dt_DeviceProtoco5.DeviceProDataType = "bool";  //类型
                    dt_DeviceProtoco5.DeviceProParamName = "Heartbeat";     //名称
                    dt_DeviceProtoco5.DeviceProDataLength = 1;  //长度
                    dt_DeviceProtoco5.DeviceProParamType = "ReadDeviceCommand"; //读取
                    dt_DeviceProtoco5.DeviceProParamDes = "";
                    dt_DeviceProtoco5.DeviceProRemark = "心跳";    //备注
                    dt_DeviceProtoco5.Creater = "admin";
                    dt_DeviceProtoco5.CreateDate = DateTime.Now;
                    dt_Devices.Add(dt_DeviceProtoco5);
                    Dt_DeviceProtocol dt_DeviceProtoco6 = new Dt_DeviceProtocol();
                    dt_DeviceProtoco6.DeviceId = 1002;
                    dt_DeviceProtoco6.DeviceChildCode = ("B" + 1 + i + "02").ToString();
                    dt_DeviceProtoco6.DeviceProDataBlock = "DB50";
                    dt_DeviceProtoco6.DeviceProOffset = (decimal)8.1 + (16 * i);  //指值多少
                    dt_DeviceProtoco6.DeviceProDataType = "bool";  //类型
                    dt_DeviceProtoco6.DeviceProParamName = "Allowpickup";     //名称
                    dt_DeviceProtoco6.DeviceProDataLength = 1;  //长度
                    dt_DeviceProtoco6.DeviceProParamType = "ReadDeviceCommand"; //读取
                    dt_DeviceProtoco6.DeviceProParamDes = "";
                    dt_DeviceProtoco6.DeviceProRemark = "请求取货状态";    //备注
                    dt_DeviceProtoco6.Creater = "admin";
                    dt_DeviceProtoco6.CreateDate = DateTime.Now;
                    dt_Devices.Add(dt_DeviceProtoco6);
                    Dt_DeviceProtocol dt_DeviceProtoco7 = new Dt_DeviceProtocol();
                    dt_DeviceProtoco7.DeviceId = 1002;
                    dt_DeviceProtoco7.DeviceChildCode = ("B" + 1 + i + "02").ToString();
                    dt_DeviceProtoco7.DeviceProDataBlock = "DB50";
                    dt_DeviceProtoco7.DeviceProOffset = (decimal)8.2 + (16 * i);  //指值多少
                    dt_DeviceProtoco7.DeviceProDataType = "bool";  //类型
                    dt_DeviceProtoco7.DeviceProParamName = "Allowreleasegoods";     //名称
                    dt_DeviceProtoco7.DeviceProDataLength = 1;  //长度
                    dt_DeviceProtoco7.DeviceProParamType = "ReadDeviceCommand"; //读取
                    dt_DeviceProtoco7.DeviceProParamDes = "";
                    dt_DeviceProtoco7.DeviceProRemark = "允许放货状态";    //备注
                    dt_DeviceProtoco7.Creater = "admin";
                    dt_DeviceProtoco7.CreateDate = DateTime.Now;
                    dt_Devices.Add(dt_DeviceProtoco7);
                    Dt_DeviceProtocol dt_DeviceProtoco8 = new Dt_DeviceProtocol();
                    dt_DeviceProtoco8.DeviceId = 1002;
                    dt_DeviceProtoco8.DeviceChildCode = ("B" + 1 + i + "02").ToString();
                    dt_DeviceProtoco8.DeviceProDataBlock = "DB50";
                    dt_DeviceProtoco8.DeviceProOffset = (decimal)8.3 + (16 * i);  //指值多少
                    dt_DeviceProtoco8.DeviceProDataType = "bool";  //类型
                    dt_DeviceProtoco8.DeviceProParamName = "Backup01";     //名称
                    dt_DeviceProtoco8.DeviceProDataLength = 1;  //长度
                    dt_DeviceProtoco8.DeviceProParamType = "ReadDeviceCommand"; //读取
                    dt_DeviceProtoco8.DeviceProParamDes = "";
                    dt_DeviceProtoco8.DeviceProRemark = "备用1";    //备注
                    dt_DeviceProtoco8.Creater = "admin";
                    dt_DeviceProtoco8.CreateDate = DateTime.Now;
                    dt_Devices.Add(dt_DeviceProtoco8);
                    Dt_DeviceProtocol dt_DeviceProtoco9 = new Dt_DeviceProtocol();
                    dt_DeviceProtoco9.DeviceId = 1002;
                    dt_DeviceProtoco9.DeviceChildCode = ("B" + 1 + i + "02").ToString();
                    dt_DeviceProtoco9.DeviceProDataBlock = "DB50";
                    dt_DeviceProtoco9.DeviceProOffset = (decimal)8.4 + (16 * i);  //指值多少
                    dt_DeviceProtoco9.DeviceProDataType = "bool";  //类型
                    dt_DeviceProtoco9.DeviceProParamName = "Backup02";     //名称
                    dt_DeviceProtoco9.DeviceProDataLength = 1;  //长度
                    dt_DeviceProtoco9.DeviceProParamType = "ReadDeviceCommand"; //读取
                    dt_DeviceProtoco9.DeviceProParamDes = "";
                    dt_DeviceProtoco9.DeviceProRemark = "备用2";    //备注
                    dt_DeviceProtoco9.Creater = "admin";
                    dt_DeviceProtoco9.CreateDate = DateTime.Now;
                    dt_Devices.Add(dt_DeviceProtoco9);
                    #endregion
                }
                foreach (var deviceProtocol in dt_Devices)
                {
                    base.AddData(deviceProtocol);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
    }
}
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/LogJob.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,75 @@
using HslCommunication;
using HslCommunication.Core;
using HslCommunication.WebSocket;
using Microsoft.AspNetCore.Http;
using Microsoft.VisualBasic.FileIO;
using Newtonsoft.Json;
using Quartz;
using Quartz.Util;
using SixLabors.ImageSharp.PixelFormats;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Reflection;
using System.Reflection.Metadata.Ecma335;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Common.Log;
using WIDESEAWCS_Communicator;
using WIDESEAWCS_Core.Helper;
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_QuartzJob.DeviceBase;
using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
namespace WIDESEAWCS_Tasks
{
    [DisallowConcurrentExecution]
    public class LogJob : IJob
    {
        static object sendData = null;
        public Task Execute(IJobExecutionContext context)
        {
            try
            {
                Task.Run(() =>
                {
                    try
                    {
                        while (true)
                        {
                            Run(5);
                        }
                    }
                    catch { }
                });
            }
            catch (Exception ex)
            {
                Console.Out.WriteLine(nameof(LogJob) + ":" + ex.Message);
            }
            return Task.CompletedTask;
        }
        private static void Run(int saveDays)
        {
            sendData = new { code = "1002", Messagest = $"车轮SN号:123123123" };
            CacheData.WebSocket.PublishAllClientPayload(sendData.Serialize());
        }
        public class CacheData
        {
            public static WebSocketServer WebSocket = new WebSocketServer();
            public static void StartServer()
            {
                WebSocket = new WebSocketServer();
                WebSocket.ServerStart(1880);
            }
        }
    }
}