From 34b61fb9c6e18f4d07f3e8d33f3e9e184364ac43 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期六, 15 二月 2025 10:26:46 +0800 Subject: [PATCH] 添加线体偏移量接口 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceProtocolService.cs | 1 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceProtocolController.cs | 10 ++++ Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs | 65 ++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 2 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs index 3aee210..dbdaa48 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs @@ -84,5 +84,68 @@ //{ // Type type = typeof(); //} + + + // 灏佽妫�鏌ラ�昏緫 + private bool DeviceProtocolExists(int DeviceID, string DeviceChildCode, decimal DeviceProOffset) + { + return BaseDal.QueryFirst(x => x.DeviceId == DeviceID && x.DeviceChildCode == DeviceChildCode && x.DeviceProOffset == DeviceProOffset) != null; + } + + // 灏佽瀵硅薄鍒涘缓閫昏緫 + private Dt_DeviceProtocol CreateDeviceProtocol(int DeviceID, string DeviceChildCode, decimal DeviceProOffset, int additionalOffset, string dataType, int dataLength, string paramName) + { + decimal DeviceProOffsets = DeviceProOffset + additionalOffset; + return new Dt_DeviceProtocol + { + DeviceId = DeviceID, + DeviceChildCode = DeviceChildCode, + DeviceProDataBlock = "DB1000", + DeviceProOffset = DeviceProOffsets, + DeviceProDataLength = dataLength, + DeviceProDataType = dataType, + DeviceProParamName = paramName, + DeviceProParamType = "DeviceCommand", + DeviceProParamDes = "1", + DeviceProRemark = "", + Creater = "admin", + CreateDate = DateTime.Now, + }; + } + + public WebResponseContent AddDeviceProtocol(int DeviceID, string DeviceChildCode, decimal DeviceProOffset) + { + WebResponseContent content = new WebResponseContent(); + try + { + if (DeviceProtocolExists(DeviceID, DeviceChildCode, DeviceProOffset)) + { + throw new InvalidOperationException("宸插瓨鍦ㄨ鑺傜偣鏄庣粏"); + } + + var protocols = new List<Dt_DeviceProtocol> + { + CreateDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffset, 0, "int", 1, "ConveyorLineTargetAddress"), + CreateDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffset, 2, "int", 1, "ConveyorLineTaskNum"), + CreateDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffset, 6, "string", 25, "ConveyorLineBarcode"), + CreateDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffset, 34, "int", 1, "Reserve1"), + CreateDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffset, 36, "int", 1, "Reserve2"), + CreateDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffset, 38, "int", 1, "Reserve3"), + CreateDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffset, 40, "byte", 1, "InteractiveSignal"), + CreateDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffset, 42, "int", 1, "HasPallet"), + CreateDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffset, 44, "int", 1, "ConveyorLineAlarm"), + CreateDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffset, 46, "int", 1, "ResponState"), + CreateDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffset, 48, "int", 1, "Reserve5") + + }; + var result=BaseDal.AddData(protocols); + return content.OK(data:result); + } + catch (Exception ex) + { + return content.Error(ex.Message); + } + + } } -} +} \ No newline at end of file diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceProtocolService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceProtocolService.cs index f2b8023..5b63f18 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceProtocolService.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/IDeviceProtocolService.cs @@ -36,5 +36,6 @@ /// <param name="fileInput">鏂囦欢</param> /// <returns>杩斿洖璇诲彇缁撴灉锛屾垚鍔熻繑鍥炴暟鎹紝澶辫触杩斿洖閿欒淇℃伅</returns> WebResponseContent GetImportData(List<IFormFile> fileInput); + WebResponseContent AddDeviceProtocol(int DeviceID, string DeviceChildCode, decimal DeviceProOffset); } } diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceProtocolController.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceProtocolController.cs index 68078c5..48181c7 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceProtocolController.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Controllers/QuartzJob/DeviceProtocolController.cs @@ -1,4 +1,5 @@ -锘縰sing Microsoft.AspNetCore.Authorization; +锘縰sing Autofac.Core; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using WIDESEAWCS_Core; @@ -20,5 +21,12 @@ { return Service.GetImportData(fileInput); } + + [HttpPost, Route("AddDeviceProtocol"), AllowAnonymous] + public WebResponseContent AddDeviceProtocol(int DeviceID,string DeviceChildCode, decimal DeviceProOffset) + { + + return Service.AddDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffset); + } } } -- Gitblit v1.9.3