From 2190be42c0d77be84fed82d387f2a34da7fe4acc Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期四, 07 八月 2025 16:17:07 +0800
Subject: [PATCH] 1
---
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs | 146 +++++++++++++++++++++++++++++++-----------------
1 files changed, 95 insertions(+), 51 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs"
index 478a196..67756a3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs"
@@ -2,6 +2,7 @@
using Mapster;
using Newtonsoft.Json;
using SqlSugar;
+using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using WIDESEAWCS_Common;
@@ -12,8 +13,11 @@
using WIDESEAWCS_Model.BasicInfo;
using WIDESEAWCS_Model.Models;
using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.DeviceBase;
+using WIDESEAWCS_QuartzJob.DTO;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_Tasks.ConveyorLineJob;
+using WIDESEAWCS_Tasks.StackerCraneJob;
namespace WIDESEAWCS_Tasks
{
@@ -63,31 +67,7 @@
var RGVName = string.Empty;
if (stationManager.stationFloor == "1F")
{
- var deviceCode = _deviceInfoRepository.Db.Queryable<Dt_DeviceInfo>().Where(x => x.DeviceStatus == "1" && x.DeviceRemark == "1F").Where(x => x.DeviceCode.Contains("RGV")).ToList().Select(x => x.DeviceCode).ToList();
- if (deviceCode != null && deviceCode.Count() > 0)
- {
- if (deviceCode.Contains("RGV01") && deviceCode.Contains("RGV02"))
- {
- var RGVOne = _taskRepository.QueryData(x => x.RGVName == "RGV01").ToList();
- var RGVTwo = _taskRepository.QueryData(x => x.RGVName == "RGV02").ToList();
- if (RGVOne.Count > RGVTwo.Count)
- {
- RGVName = "RGV01";
- }
- else
- {
- RGVName = "RGV02";
- }
- }
- else
- {
- RGVName = deviceCode[0];
- }
- }
- else
- {
- RGVName = "RGV01";
- }
+ RGVName = stationManager.RGVName;
}
else
{
@@ -100,44 +80,108 @@
TaskState = (int)TaskInStatusEnum.InNew,
SourceAddress = childDeviceCode,
Dispatchertime = DateTime.Now,
- Grade = 1, // 璁剧疆榛樿浼樺厛绾т负1
+ Grade = 1,
Creater = "System",
Floor = stationManager.stationFloor,
- RGVName = stationManager.RGVName != null ? stationManager.RGVName : RGVName,
+ RGVName = RGVName,
+ SourceStation = stationManager.remark,
+ TargetStation = 0,
};
+
_taskRepository.AddData(task);
}
private void RequestWMSTask(CommonConveyorLine conveyorLine, Dt_StationManager stationManager)
{
- var Barcode = conveyorLine.GetValue<ConveyorLineDBName, string>(ConveyorLineDBName.ConveyorLineBarcode, stationManager.stationNextChildCode);
-
- if (Barcode == "")
- {
- conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal,Convert.ToSByte(3), stationManager.stationChildCode);
- }
- var task = _taskRepository.QueryFirst(x => x.PalletCode == Barcode);
- if (task != null)
+ if (stationManager.stationChildCode == "3002")
{
+ var newTask = _taskRepository.QueryFirst(x => x.TargetAddress == "3004");
+ if (newTask != null)
+ {
+ return;
+ }
+
+ DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault();
+ var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 10);
+
+ string Barcode = Encoding.UTF8.GetString(x);
+
+ if (Barcode == null || Barcode==""|| Barcode.Trim().Contains("\0"))
+ {
+ conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode);
+ }
+ var task = _taskRepository.QueryFirst(x => x.PalletCode == Barcode && x.TaskState == (int)TaskInStatusEnum.HoistNew);
+
+ if (task != null)
+ {
+ ConveyorLineTaskCommandWrite taskCommand = new ConveyorLineTaskCommandWrite()
+ {
+ TaskNum = Convert.ToInt16(task.TaskNum),
+ TargetAddress = Convert.ToInt16(task.NextAddress),
+ WriteInteractiveSignal = task.TaskType == (int)TaskOutboundTypeEnum.Outbound ? (byte)Convert.ToSByte(2) : (byte)Convert.ToSByte(1)
+ };
+ var result = SendCommand(taskCommand, conveyorLine, stationManager.stationChildCode);
+ if (result)
+ {
+ task.TaskState = (int)TaskInStatusEnum.HoistInExecuting;
+ _taskRepository.UpdateData(task);
+ }
+ }
+ else
+ {
+ var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+ var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTask)?.ConfigValue;
+
+ WMSTaskDTO taskDTO = new WMSTaskDTO()
+ {
+ TPbarcode = Barcode,
+ WhCode = "1001",
+ BeginPoint = stationManager.stationChildCode
+ };
+ if (wmsBase == null || requestTask == null)
+ {
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ }
+ var wmsIpAddress = wmsBase + requestTask;
+ var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+ }
}
else
{
- //var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
- //var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
- //var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTask)?.ConfigValue;
- //var keys = new Dictionary<string, object>()
- //{
- // {"TPbarcode", Barcode},
- // {"WhCode", "1001"},
- // {"BeginPoint", stationManager.stationChildCode}
- //};
- //if (wmsBase == null || requestTask == null)
- //{
- // throw new InvalidOperationException("WMS IP 鏈厤缃�");
- //}
- //var wmsIpAddress = wmsBase + requestTask;
- //var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, keys.ToString()).Result;
- }
+ DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceChildCode == stationManager.stationNextChildCode && x.DeviceProParamName == "ConveyorLineBarcode").FirstOrDefault();
+ var x = conveyorLine.Communicator.Read(devicePro.DeviceProAddress, 10);
+
+ string Barcode = Encoding.UTF8.GetString(x);
+ if (Barcode == null || Barcode == "" || Barcode.Trim().Contains("\0"))
+ {
+ conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, Convert.ToSByte(3), stationManager.stationChildCode);
+ }
+ var task = _taskRepository.QueryFirst(x => x.PalletCode == Barcode);
+ if (task != null)
+ {
+
+ }
+ else
+ {
+ var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
+ var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
+ var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTask)?.ConfigValue;
+
+ WMSTaskDTO taskDTO = new WMSTaskDTO()
+ {
+ TPbarcode = Barcode,
+ WhCode = "1001",
+ BeginPoint = stationManager.stationChildCode
+ };
+ if (wmsBase == null || requestTask == null)
+ {
+ throw new InvalidOperationException("WMS IP 鏈厤缃�");
+ }
+ var wmsIpAddress = wmsBase + requestTask;
+ var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;
+ }
+ }
}
}
}
--
Gitblit v1.9.3