From 457b75b642a1fdaa7158e5b047cabc5d7ae16333 Mon Sep 17 00:00:00 2001
From: xxyy <cathay_xy@163.com>
Date: 星期一, 10 三月 2025 10:10:13 +0800
Subject: [PATCH] 修复和优化 Dt_TaskService.cs 中的任务请求逻辑
---
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs | 69 +++++++++++++++++++++++++++++++++-
1 files changed, 66 insertions(+), 3 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 ef65b50..dbdaa48 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/DeviceProtocolService.cs
@@ -80,9 +80,72 @@
return base.AddData(saveModel);
}
- //public WebResponseContent InsertProtocol_Line(int PLCid,string ChildCode,)
+ //public WebResponseContent InsertProtocol_Line(int PLCid, string ChildCode,decimal ProOffsetStart)
//{
-
+ // 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
--
Gitblit v1.9.3