¤NameÀ¤User¤Name«wanshenmean¤Icon¤GuidÙ$933e5978-4e1c-4bf5-a8b1-2c7e2a777396¢Id§ServiceÀ«TimeCreated×ÿÓn`ggàO¢IdÙ$0fd52b0d-b36f-4668-871f-5e1c1d23e2e3¢IdÙ4Microsoft.VisualStudio.Conversations.Chat.HelpWindow¨Metadata¨IsThreadðConversationMode°ExperimentalChatªResponders¤Name®GitHub Copilot¤Icon¤GuidÙ$4515b9bd-70a1-45fa-9545-d4536417c596¢Id§Service¤NameÙ7Microsoft.VisualStudio.Copilot.CopilotChatAgentProvider§Version£0.3 CorrelationIdÙ$66e48ccf-daeb-4701-aefa-f709960b5684©MessageIdÙ$a25557ff-9afb-4265-8299-194f3b4ca058§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ
§ContentÚiusing AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
HandleNewTask(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
//}
|
//else
|
//{
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
//}
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
|
#region
|
//var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
|
//List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
//if (deviceProtocolDetails != null)
|
//{
|
// foreach (var item in deviceProtocolDetails)
|
// {
|
// if (structs[item.ProtocalDetailValue.ObjToInt()] == true)
|
// {
|
// MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
// if (method != null)
|
// {
|
// var numRead = item.ProtocalDetailValue.ObjToInt();
|
// var numWrite = item.ProtocalDetailValue.ObjToInt() + 1;
|
// ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[item.ProtocalDetailValue.ObjToInt()]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[item.ProtocalDetailValue.ObjToInt() + 1]}ã");
|
// if (structs[item.ProtocalDetailValue.ObjToInt() + 1] != structs[item.ProtocalDetailValue.ObjToInt()])
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue.ObjToInt() });
|
// }
|
// }
|
// }
|
// else
|
// {
|
// ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
|
// }
|
// }
|
//}
|
|
//Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
//if (platform != null)
|
//{
|
// if (command.InteractiveSignal != 2)
|
// {
|
// MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
// if (method != null)
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// int count = string.IsNullOrEmpty(platform.Location) ? 0 + 1 : platform.Location.Split(',').Count() + 1;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
// }
|
// }
|
// else
|
// {
|
// if (platform.Location != null && platform.Location != "")
|
// {
|
// var strings = platform.Location.Split(',').ToList();
|
// foreach (var ite in strings)
|
// {
|
// //int index = strings.FindIndex(p => p == ite);
|
// ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
// if (command1.InteractiveSignal != 2)
|
// {
|
// MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
// if (method != null)
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// //int count = strings.Count - index;
|
// int count = strings.Count;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
// }
|
// }
|
// }
|
// }
|
// }
|
//}
|
#endregion
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
HandleNewTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
if (task != null)
|
{
|
//if (command.Barcode == task.PalletCode)
|
{
|
//task.NextAddress = task.NextAddress.Replace("-1", "");
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
|
//ConveyorLineTaskCommand taskCommand = MapTaskCommand(task, command);
|
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
WebResponseContent content = new WebResponseContent();
|
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
taskCommand.TargetAddress = 1000;
|
}
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
string DeviceProAddress = string.Join(".", x);
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
if (tasks.Count < index)
|
{
|
//ConsoleHelper.WriteErrorLine($"ã{childDeviceCode}ã请æ±ã{taskType.ToString()}ãä»»å¡,å·²æã{taskType.ToString()}ãä»»å¡ã{tasks.Count}ã,æå¤æ¥æã{index - 1}ã");
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMSipå°å
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
//var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString());
|
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥ç¶æå¹¶è¿å
|
if (!content.Status)
|
return;
|
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(dt_Task);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
|
//ConveyorLineTaskCommand taskCommand = MapTaskCommand(dt_Task, command);
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = "1000",
|
TaskNum = 0
|
};
|
ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(dt_Task);
|
taskCommand.InteractiveSignal = command.InteractiveSignal;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$94c79cd0-bc9c-4848-a64b-8a4d6c3a2312¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$66e48ccf-daeb-4701-aefa-f709960b5684©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ 5§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ o¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine._communicator¯UnqualifiedName_communicator¬CommentRange¥Start͸¦Length:©NameRange¥StartͦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍü¦Length0¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProDTOs¯UnqualifiedName®_deviceProDTOs¬CommentRange¥StartÍ8¦Length:©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ|¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._heartStatr¯UnqualifiedName«_heartStatr¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ6¦Length ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine._isConnected¯UnqualifiedName¬_isConnected¬CommentRange¥Start ¦Length ©NameRange¥StartÍo¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦Length!¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.Communicator¯UnqualifiedName¬Communicator¬CommentRange¥StartÍÆ¦Length:©NameRange¥StartÍ"¦Length©BodyRange¥StartÍ/¦Length«ExtentRange¥StartÍ
|
¦Length6¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.IsFault¯UnqualifiedName§IsFault¬CommentRange¥StartÍ m¦Length8©NameRange¥StartÍ »¦Length©BodyRange¥StartÍ Ã¦Length«ExtentRange¥StartÍ ¯¦Length¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.IsConnected¯UnqualifiedName«IsConnected¬CommentRange¥StartÍ Ø¦Length:©NameRange¥StartÍ
|
(¦Length©BodyRange¥StartÍ
|
4¦Length+«ExtentRange¥StartÍ
|
¦LengthD¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.CommonConveyorLine.Status¯UnqualifiedName¦Status¬CommentRange¥StartÍ
|
l¦Length7©NameRange¥StartÍ
|
Á¦Length©BodyRange¥StartÍ
|
ȦLength«ExtentRange¥StartÍ
|
¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ1WIDESEAWCS_QuartzJob.CommonConveyorLine.Heartbeat¯UnqualifiedName©Heartbeat¬CommentRange¥StartÍY¦Length9©NameRange¥Startͨ¦Length ©BodyRange¥Startͽ¦Length>«ExtentRange¥StartͦLength_¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.Dispose¯UnqualifiedName§Dispose¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+~¦Length©BodyRange¥StartÍ+¦Length|«ExtentRange¥StartÍ+r¦Length̤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙJWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.InteractiveSignal¯UnqualifiedName±InteractiveSignal¬CommentRange¥Start ¦Length ©NameRange¥StartÍP¦Length©BodyRange¥StartÍb¦Length «ExtentRange¥StartÍB¦Length-¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.Barcode¯UnqualifiedName§Barcode¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥StartÍ«¦Length «ExtentRange¥StartÍ{¦Length=¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Exists¯UnqualifiedName¦Exists¬CommentRange¥StartÌá¦LengthÌ©NameRange¥StartÍz¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍu¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ.WIDESEAWCS_Core.Caches.ICacheService.AddObject¯UnqualifiedName©AddObject¬CommentRange¥StartͦLengthÍQ©NameRange¥StartÍù¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthY¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Add¯UnqualifiedName£Add¬CommentRange¥Start ¦Length ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍY¦LengthS¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartͦLengthÌ
©NameRange¥Startͳ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ®¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartÍÒ¦LengthÌ©NameRange¥StartÍj¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍe¦Length&¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartͦLengthÌ
©NameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦Length%¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartÍW¦LengthÌ
©NameRange¥StartÍí¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦Length¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙ5WIDESEAWCS_BasicInfoService.IDt_StationManagerService¯UnqualifiedName¹IDt_StationManagerService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ!¦Length©BodyRange¥StartÍ^¦LengthÍ«ExtentRange¥StartͦLengthÍh¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetAllStationByDeviceCode¯UnqualifiedName¹GetAllStationByDeviceCode¬CommentRange¥StartÍi¦LengthÌ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthE¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetStationInfoByChildCode¯UnqualifiedName¹GetStationInfoByChildCode¬CommentRange¥StartÍ_¦Length̽©NameRange¥StartÍ8¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ.WIDESEAWCS_SignalR.INoticeService.UserLoginOut¯UnqualifiedName¬UserLoginOut¬CommentRange¥StarțLengthÌÙ©NameRange¥StartÍg¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦LengthI¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ0WIDESEAWCS_SignalR.INoticeService.UpdatePassWord¯UnqualifiedName®UpdatePassWord¬CommentRange¥Startͳ¦LengthÌÛ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ+WIDESEAWCS_SignalR.INoticeService.NewMesage¯UnqualifiedName©NewMesage¬CommentRange¥StartÍç¦LengthÌØ©NameRange¥StartÍʦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍŦLengthM¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ-WIDESEAWCS_SignalR.INoticeService.StackerData¯UnqualifiedName«StackerData¬CommentRange¥StartͦLengthÌØ©NameRange¥StartÍý¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍø¦LengthF¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.Service.IRouterService.QueryNextRoutes¯UnqualifiedName¯QueryNextRoutes¬CommentRange¥StartÍr¦LengthÌשNameRange¥StartÍc¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍS¦LengthB¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ>WIDESEAWCS_QuartzJob.Service.IRouterService.GetAllWholeRouters¯UnqualifiedName²GetAllWholeRouters¬CommentRange¥StartͦLengtho©NameRange¥StartÍ%¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength"¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.Service.IRouterService.AddRouters¯UnqualifiedNameªAddRouters¬CommentRange¥Start ¦Length ©NameRange¥StartÍY¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartÍF¦LengthR¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ-WIDESEAWCS_ISystemServices.ISys_ConfigService¯UnqualifiedName²ISys_ConfigService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¦Length©BodyRange¥StartÍc¦LengthÍ«ExtentRange¥StartÍ#¦LengthÍäKind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ISystemServices.ISys_ConfigService.GetAll¯UnqualifiedName¦GetAll¬CommentRange¥StartÍn¦Length\©NameRange¥StartÍå¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÔ¦Length¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙBWIDESEAWCS_ISystemServices.ISys_ConfigService.GetConfigsByCategory¯UnqualifiedName´GetConfigsByCategory¬CommentRange¥StartÍú¦LengthÌ©NameRange¥StartÍ¢¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength7¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ISystemServices.ISys_ConfigService.GetByConfigKey¯UnqualifiedName®GetByConfigKey¬CommentRange¥StartÍÔ¦LengthÌÄ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¢¦Length=¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.TaskOrderBy¯UnqualifiedName«TaskOrderBy¬CommentRange¥StartÍ}¦Length7©NameRange¥StartÍå¦Length©BodyRange¥StartÍñ¦Length «ExtentRange¥Start;¦Length@¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.TaskInboundTypes¯UnqualifiedName°TaskInboundTypes¬CommentRange¥StartÍ
|
¦Length;©NameRange¥StartÍ`¦Length©BodyRange¥StartÍq¦Length«ExtentRange¥StartÍO¦Length*¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ:WIDESEAWCS_ITaskInfoService.ITaskService.TaskOutboundTypes¯UnqualifiedName±TaskOutboundTypes¬CommentRange¥StartÍ
¦Length;©NameRange¥StartÍÛ¦Length©BodyRange¥StartÍí¦Length«ExtentRange¥StartÍʦLength+¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.RequestOutTaskToBZAsync¯UnqualifiedName·RequestOutTaskToBZAsync¬CommentRange¥StartÍ ¦LengthÌ©NameRange¥StartÍ Â¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ©¦LengthS¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍ
|
¦LengthÌΩNameRange¥StartÍ
|
ù¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
à¦Length̤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍo¦LengthÌÌ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦LengthZ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTasks¯UnqualifiedName¹QueryStackerCraneOutTasks¬CommentRange¥StartÍô¦LengthÌö©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthW¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.PlatCode¯UnqualifiedName¨PlatCode¬CommentRange¥StartÍu¦LengthC©NameRange¥StartÍ¡¦Length©BodyRange¥Startͪ¦Length «ExtentRange¥StartͦLengthÌõ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformName¯UnqualifiedName¬PlatformName¬CommentRange¥StartÍæLength@©NameRange¥StartÍȦLength©BodyRange¥StartÍÕ¦Length «ExtentRange¥StartÍ ¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.Stacker¯UnqualifiedName§Stacker¬CommentRange¥StartÍî¦Length8©NameRange¥StartÍî¦Length©BodyRange¥StartÍö¦Length «ExtentRange¥StartÍ0¦LengthÌÓ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ0WIDESEAWCS_Model.Models.Platform.ExecutionMethod¯UnqualifiedName¯ExecutionMethod¬CommentRange¥StartͦLength7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍP¦LengthÌØ¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$a0b5402a-4022-4c48-adc5-d3ea75db37cb¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$66e48ccf-daeb-4701-aefa-f709960b5684©ReferenceÀ¦Traits«IsEphemeral§Content
¢IdÄ4nÜ¡·I¡°®ÐÇÕeªVisibility«Annotations§ContentÙ5å¦ä½æ¹è¿ #ï¼å»ºè®®å¯ç¨äºæ¹è¿çä»»ä½ä»£ç ¨Mentions¤Span¦InputsÙ'ï¼å»ºè®®å¯ç¨äºæ¹è¿çä»»ä½ä»£ç ªIsExcluded¨Metadata¦IntentÀ¨GuidanceÀ¥Model«modelFamily¦gpt-4o²DirectedResponders©FunctionsCorrelationIdÙ$66e48ccf-daeb-4701-aefa-f709960b5684©MessageIdÙ$29571247-f74e-4210-a4a5-316a03763e40§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ
§ContentÚiusing AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
HandleNewTask(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
//}
|
//else
|
//{
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
//}
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
|
#region
|
//var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
|
//List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
//if (deviceProtocolDetails != null)
|
//{
|
// foreach (var item in deviceProtocolDetails)
|
// {
|
// if (structs[item.ProtocalDetailValue.ObjToInt()] == true)
|
// {
|
// MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
// if (method != null)
|
// {
|
// var numRead = item.ProtocalDetailValue.ObjToInt();
|
// var numWrite = item.ProtocalDetailValue.ObjToInt() + 1;
|
// ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[item.ProtocalDetailValue.ObjToInt()]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[item.ProtocalDetailValue.ObjToInt() + 1]}ã");
|
// if (structs[item.ProtocalDetailValue.ObjToInt() + 1] != structs[item.ProtocalDetailValue.ObjToInt()])
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue.ObjToInt() });
|
// }
|
// }
|
// }
|
// else
|
// {
|
// ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
|
// }
|
// }
|
//}
|
|
//Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
//if (platform != null)
|
//{
|
// if (command.InteractiveSignal != 2)
|
// {
|
// MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
// if (method != null)
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// int count = string.IsNullOrEmpty(platform.Location) ? 0 + 1 : platform.Location.Split(',').Count() + 1;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
// }
|
// }
|
// else
|
// {
|
// if (platform.Location != null && platform.Location != "")
|
// {
|
// var strings = platform.Location.Split(',').ToList();
|
// foreach (var ite in strings)
|
// {
|
// //int index = strings.FindIndex(p => p == ite);
|
// ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
// if (command1.InteractiveSignal != 2)
|
// {
|
// MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
// if (method != null)
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// //int count = strings.Count - index;
|
// int count = strings.Count;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
// }
|
// }
|
// }
|
// }
|
// }
|
//}
|
#endregion
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
HandleNewTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
if (task != null)
|
{
|
//if (command.Barcode == task.PalletCode)
|
{
|
//task.NextAddress = task.NextAddress.Replace("-1", "");
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
|
//ConveyorLineTaskCommand taskCommand = MapTaskCommand(task, command);
|
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
WebResponseContent content = new WebResponseContent();
|
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
taskCommand.TargetAddress = 1000;
|
}
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
string DeviceProAddress = string.Join(".", x);
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
if (tasks.Count < index)
|
{
|
//ConsoleHelper.WriteErrorLine($"ã{childDeviceCode}ã请æ±ã{taskType.ToString()}ãä»»å¡,å·²æã{taskType.ToString()}ãä»»å¡ã{tasks.Count}ã,æå¤æ¥æã{index - 1}ã");
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMSipå°å
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
//var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString());
|
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥ç¶æå¹¶è¿å
|
if (!content.Status)
|
return;
|
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(dt_Task);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
|
//ConveyorLineTaskCommand taskCommand = MapTaskCommand(dt_Task, command);
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = "1000",
|
TaskNum = 0
|
};
|
ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(dt_Task);
|
taskCommand.InteractiveSignal = command.InteractiveSignal;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$94c79cd0-bc9c-4848-a64b-8a4d6c3a2312¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$66e48ccf-daeb-4701-aefa-f709960b5684©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ 5§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ o¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine._communicator¯UnqualifiedName_communicator¬CommentRange¥Start͸¦Length:©NameRange¥StartͦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍü¦Length0¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProDTOs¯UnqualifiedName®_deviceProDTOs¬CommentRange¥StartÍ8¦Length:©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ|¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._heartStatr¯UnqualifiedName«_heartStatr¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ6¦Length ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine._isConnected¯UnqualifiedName¬_isConnected¬CommentRange¥Start ¦Length ©NameRange¥StartÍo¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦Length!¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.Communicator¯UnqualifiedName¬Communicator¬CommentRange¥StartÍÆ¦Length:©NameRange¥StartÍ"¦Length©BodyRange¥StartÍ/¦Length«ExtentRange¥StartÍ
|
¦Length6¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.IsFault¯UnqualifiedName§IsFault¬CommentRange¥StartÍ m¦Length8©NameRange¥StartÍ »¦Length©BodyRange¥StartÍ Ã¦Length«ExtentRange¥StartÍ ¯¦Length¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.IsConnected¯UnqualifiedName«IsConnected¬CommentRange¥StartÍ Ø¦Length:©NameRange¥StartÍ
|
(¦Length©BodyRange¥StartÍ
|
4¦Length+«ExtentRange¥StartÍ
|
¦LengthD¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.CommonConveyorLine.Status¯UnqualifiedName¦Status¬CommentRange¥StartÍ
|
l¦Length7©NameRange¥StartÍ
|
Á¦Length©BodyRange¥StartÍ
|
ȦLength«ExtentRange¥StartÍ
|
¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ1WIDESEAWCS_QuartzJob.CommonConveyorLine.Heartbeat¯UnqualifiedName©Heartbeat¬CommentRange¥StartÍY¦Length9©NameRange¥Startͨ¦Length ©BodyRange¥Startͽ¦Length>«ExtentRange¥StartͦLength_¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.Dispose¯UnqualifiedName§Dispose¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+~¦Length©BodyRange¥StartÍ+¦Length|«ExtentRange¥StartÍ+r¦Length̤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙJWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.InteractiveSignal¯UnqualifiedName±InteractiveSignal¬CommentRange¥Start ¦Length ©NameRange¥StartÍP¦Length©BodyRange¥StartÍb¦Length «ExtentRange¥StartÍB¦Length-¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.Barcode¯UnqualifiedName§Barcode¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥StartÍ«¦Length «ExtentRange¥StartÍ{¦Length=¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Exists¯UnqualifiedName¦Exists¬CommentRange¥StartÌá¦LengthÌ©NameRange¥StartÍz¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍu¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ.WIDESEAWCS_Core.Caches.ICacheService.AddObject¯UnqualifiedName©AddObject¬CommentRange¥StartͦLengthÍQ©NameRange¥StartÍù¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthY¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Add¯UnqualifiedName£Add¬CommentRange¥Start ¦Length ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍY¦LengthS¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartͦLengthÌ
©NameRange¥Startͳ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ®¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartÍÒ¦LengthÌ©NameRange¥StartÍj¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍe¦Length&¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartͦLengthÌ
©NameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦Length%¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartÍW¦LengthÌ
©NameRange¥StartÍí¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦Length¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙ5WIDESEAWCS_BasicInfoService.IDt_StationManagerService¯UnqualifiedName¹IDt_StationManagerService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ!¦Length©BodyRange¥StartÍ^¦LengthÍ«ExtentRange¥StartͦLengthÍh¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetAllStationByDeviceCode¯UnqualifiedName¹GetAllStationByDeviceCode¬CommentRange¥StartÍi¦LengthÌ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthE¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetStationInfoByChildCode¯UnqualifiedName¹GetStationInfoByChildCode¬CommentRange¥StartÍ_¦Length̽©NameRange¥StartÍ8¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ.WIDESEAWCS_SignalR.INoticeService.UserLoginOut¯UnqualifiedName¬UserLoginOut¬CommentRange¥StarțLengthÌÙ©NameRange¥StartÍg¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦LengthI¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ0WIDESEAWCS_SignalR.INoticeService.UpdatePassWord¯UnqualifiedName®UpdatePassWord¬CommentRange¥Startͳ¦LengthÌÛ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ+WIDESEAWCS_SignalR.INoticeService.NewMesage¯UnqualifiedName©NewMesage¬CommentRange¥StartÍç¦LengthÌØ©NameRange¥StartÍʦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍŦLengthM¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ-WIDESEAWCS_SignalR.INoticeService.StackerData¯UnqualifiedName«StackerData¬CommentRange¥StartͦLengthÌØ©NameRange¥StartÍý¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍø¦LengthF¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.Service.IRouterService.QueryNextRoutes¯UnqualifiedName¯QueryNextRoutes¬CommentRange¥StartÍr¦LengthÌשNameRange¥StartÍc¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍS¦LengthB¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ>WIDESEAWCS_QuartzJob.Service.IRouterService.GetAllWholeRouters¯UnqualifiedName²GetAllWholeRouters¬CommentRange¥StartͦLengtho©NameRange¥StartÍ%¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength"¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.Service.IRouterService.AddRouters¯UnqualifiedNameªAddRouters¬CommentRange¥Start ¦Length ©NameRange¥StartÍY¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartÍF¦LengthR¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ-WIDESEAWCS_ISystemServices.ISys_ConfigService¯UnqualifiedName²ISys_ConfigService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¦Length©BodyRange¥StartÍc¦LengthÍ«ExtentRange¥StartÍ#¦LengthÍäKind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ISystemServices.ISys_ConfigService.GetAll¯UnqualifiedName¦GetAll¬CommentRange¥StartÍn¦Length\©NameRange¥StartÍå¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÔ¦Length¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙBWIDESEAWCS_ISystemServices.ISys_ConfigService.GetConfigsByCategory¯UnqualifiedName´GetConfigsByCategory¬CommentRange¥StartÍú¦LengthÌ©NameRange¥StartÍ¢¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength7¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ISystemServices.ISys_ConfigService.GetByConfigKey¯UnqualifiedName®GetByConfigKey¬CommentRange¥StartÍÔ¦LengthÌÄ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¢¦Length=¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.TaskOrderBy¯UnqualifiedName«TaskOrderBy¬CommentRange¥StartÍ}¦Length7©NameRange¥StartÍå¦Length©BodyRange¥StartÍñ¦Length «ExtentRange¥Start;¦Length@¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.TaskInboundTypes¯UnqualifiedName°TaskInboundTypes¬CommentRange¥StartÍ
|
¦Length;©NameRange¥StartÍ`¦Length©BodyRange¥StartÍq¦Length«ExtentRange¥StartÍO¦Length*¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ:WIDESEAWCS_ITaskInfoService.ITaskService.TaskOutboundTypes¯UnqualifiedName±TaskOutboundTypes¬CommentRange¥StartÍ
¦Length;©NameRange¥StartÍÛ¦Length©BodyRange¥StartÍí¦Length«ExtentRange¥StartÍʦLength+¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.RequestOutTaskToBZAsync¯UnqualifiedName·RequestOutTaskToBZAsync¬CommentRange¥StartÍ ¦LengthÌ©NameRange¥StartÍ Â¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ©¦LengthS¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍ
|
¦LengthÌΩNameRange¥StartÍ
|
ù¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
à¦Length̤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍo¦LengthÌÌ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦LengthZ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTasks¯UnqualifiedName¹QueryStackerCraneOutTasks¬CommentRange¥StartÍô¦LengthÌö©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthW¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.PlatCode¯UnqualifiedName¨PlatCode¬CommentRange¥StartÍu¦LengthC©NameRange¥StartÍ¡¦Length©BodyRange¥Startͪ¦Length «ExtentRange¥StartͦLengthÌõ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformName¯UnqualifiedName¬PlatformName¬CommentRange¥StartÍæLength@©NameRange¥StartÍȦLength©BodyRange¥StartÍÕ¦Length «ExtentRange¥StartÍ ¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.Stacker¯UnqualifiedName§Stacker¬CommentRange¥StartÍî¦Length8©NameRange¥StartÍî¦Length©BodyRange¥StartÍö¦Length «ExtentRange¥StartÍ0¦LengthÌÓ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ0WIDESEAWCS_Model.Models.Platform.ExecutionMethod¯UnqualifiedName¯ExecutionMethod¬CommentRange¥StartͦLength7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍP¦LengthÌØ¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$a0b5402a-4022-4c48-adc5-d3ea75db37cb¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$66e48ccf-daeb-4701-aefa-f709960b5684©ReferenceÀ¦Traits«IsEphemeral§Content
¢IdÄ« KøKª7tlYªVisibility«Annotations§ContentÚ?以䏿¯ä¸äºå¯ä»¥æ¹è¿ `CommonConveyorLineJob` ç±»ç建议ï¼å
æ¬ä»£ç å¯è¯»æ§ãæ§è½ä»¥åå¼å¸¸å¤çæ¹é¢çä¼åï¼
|
|
### 1. æé«ä»£ç å¯è¯»æ§
|
ç¡®ä¿æææ¹æ³é½å
·å¤æ¸
æ°çææ¡£è¯´æï¼ä¾¿äºåç»ç»´æ¤ã
|
|
### 2. 使ç¨å¸¸é
|
对éå¤åºç°çåç¬¦ä¸²ææ°å使ç¨å¸¸éï¼ä¾å¦ï¼
|
¨Mentions¢IdÄóOîÃKúüyªVisibility«Annotations§ContentÙYprivate const int StationTypeException = 5;
|
private const int StationTypeEmptyTray = 11;
|
¨Language¢C#¬IsRefinement¤FileÀ§OptionsÀ¨Commands
¢IdÄTGëCOSÕr5ôªVisibility«Annotations§ContentÚM
|
### 3. æ¹è¿å¼å¸¸å¤ç
|
ä½¿ç¨æ´å
·ä½çå¼å¸¸æè·ï¼ä»¥ä¾¿äºè°è¯ãä¾å¦ï¼æè· `HttpRequestException` çç¹å®å¼å¸¸ï¼è䏿¯ä¸è¬ç `Exception`ã
|
|
### 4. ç®åé»è¾
|
卿¹æ³ä¸ï¼å°è¯å°å¤æçé»è¾åè§£æå°çãç¬ç«çæ¹æ³ãä¾å¦ï¼å°è®¾å¤å¤çé»è¾æ½åå°ä¸ä¸ªåç¬çæ¹æ³ä¸ï¼
|
|
¨Mentions¢IdÄ]ô.x2J¦õÏR³iªVisibility«Annotations§ContentÙuprivate async Task HandleStation(CommonConveyorLine conveyorLine, Dt_StationManager station)
|
{
|
// å¤çé»è¾
|
}
|
¨Language¢C#¬IsRefinement¤FileÀ§OptionsÀ¨Commands
¢IdÄù|d1õùF¼õ²:yhͪVisibility«Annotations§ContentÙ\
|
### 5. é¿å
使ç¨éæ³æ°å
|
å¯ä»¥ç¨å½åçæä¸¾æ¥ä»£æ¿ï¼ä»¥å¢å¼ºå¯è¯»æ§ï¼
|
|
¨Mentions¢IdÄWk`Ùg½nG¯Òù¹;\PªVisibility«Annotations§ContentÙBpublic enum StationType
|
{
|
EmptyTray = 11,
|
Exception = 5
|
}
|
¨Language¢C#¬IsRefinement¤FileÀ§OptionsÀ¨Commands
¢IdÄa{ÖkE¶¨×ÊaúªVisibility«Annotations§ContentÚ8
|
### 6. 使ç¨å¼æ¥ç¼ç¨
|
ç¡®ä¿ææå¯è½ç IO æä½é½ä½¿ç¨å¼æ¥è°ç¨ï¼ä»¥é¿å
é»å¡çº¿ç¨ãä¾å¦å¨è¯»å设å¤ä¿¡æ¯æ¶ä½¿ç¨ `await` ã
|
|
### 7. ä½¿ç¨ `using` è¯å¥ç¡®ä¿èµæºéæ¾
|
ä¾å¦ï¼å¨ `HttpHelper` 使ç¨ä¸ç¡®ä¿ä½¿ç¨ `IHttpClientFactory` æ¥è·å¾ `HttpClient`ï¼ä»¥æ´å¥½å°ç®¡çèµæºã
|
|
### 8. æ¹éæ´æ°æè®¿é®æ°æ®åºæ¶é¿å
循ç¯
|
妿æå¤æ¬¡æ°æ®åºè®¿é®çæ
åµï¼å°½éå°å¤ä¸ªæä½å并为ä¸ä¸ªæ¹éæä½ï¼ä»¥æé«æ§è½ã
|
|
### ä¿®æ¹åç示ä¾ä»£ç ï¼
|
以䏿¯å¯¹é¨å代ç çæ¹è¿ç¤ºä¾ï¼
|
|
¨Mentions¢IdÄÛËa',A!bv³°zªVisibility«Annotations§ContentÚ§public async Task Execute(IJobExecutionContext context)
|
{
|
// ... çç¥åé¢ç代ç
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
|
// 使ç¨å¹¶è¡å¤ç
|
var tasks = stationManagers.Select(station => HandleStation(conveyorLine, station));
|
await Task.WhenAll(tasks);
|
}
|
|
private async Task HandleStation(CommonConveyorLine conveyorLine, Dt_StationManager station)
|
{
|
if (station.stationType == (int)StationType.EmptyTray)
|
{
|
// å¤ç空æç请æ±
|
}
|
else if (station.stationType == (int)StationType.Exception)
|
{
|
// å¤çå¼å¸¸æç请æ±
|
}
|
}
|
¨Language¢C#¬IsRefinement¤FileÀ§OptionsÀ¨Commands
¢IdÄûùyñcAQ=Fk ¦ªVisibility«Annotations§ContentÙº
|
### å°ç»
|
éè¿ä¸è¿°æ¹è¿ï¼å¯ä»¥æé«ä»£ç çå¯è¯»æ§ãæ§è½åå¯ç»´æ¤æ§ï¼åå°æ½å¨çé误ãè®°å¾å¨è¿è¡æ´æ¹åè¿è¡å¿
è¦çæµè¯ï¼ä»¥ç¡®ä¿åè½æ£å¸¸ã¨Mentions¨Metadata©SessionIdÙ$0fd52b0d-b36f-4668-871f-5e1c1d23e2e3¢IdÙ4Microsoft.VisualStudio.Conversations.Chat.HelpWindow¦Author¤Name®GitHub Copilot¤Icon¤GuidÙ$4515b9bd-70a1-45fa-9545-d4536417c596¢Id§Service¤NameÙ7Microsoft.VisualStudio.Copilot.CopilotChatAgentProvider§Version£0.3¦Status©FollowUps§MessageÙBé对è¿äºæ¹è¿å»ºè®®ï¼ä½ 认为åªä¸ªæéè¦ï¼ä¸ºä»ä¹ï¼ CorrelationIdÙ$0497d119-d2bb-4e31-8939-395914ac23c3©MessageIdÙ$fe54cd18-0f06-474c-a306-ade2e2134f7a§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ
§ContentÚiusing AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
HandleNewTask(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
//}
|
//else
|
//{
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
//}
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
|
#region
|
//var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
|
//List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
//if (deviceProtocolDetails != null)
|
//{
|
// foreach (var item in deviceProtocolDetails)
|
// {
|
// if (structs[item.ProtocalDetailValue.ObjToInt()] == true)
|
// {
|
// MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
// if (method != null)
|
// {
|
// var numRead = item.ProtocalDetailValue.ObjToInt();
|
// var numWrite = item.ProtocalDetailValue.ObjToInt() + 1;
|
// ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[item.ProtocalDetailValue.ObjToInt()]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[item.ProtocalDetailValue.ObjToInt() + 1]}ã");
|
// if (structs[item.ProtocalDetailValue.ObjToInt() + 1] != structs[item.ProtocalDetailValue.ObjToInt()])
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue.ObjToInt() });
|
// }
|
// }
|
// }
|
// else
|
// {
|
// ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
|
// }
|
// }
|
//}
|
|
//Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
//if (platform != null)
|
//{
|
// if (command.InteractiveSignal != 2)
|
// {
|
// MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
// if (method != null)
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// int count = string.IsNullOrEmpty(platform.Location) ? 0 + 1 : platform.Location.Split(',').Count() + 1;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
// }
|
// }
|
// else
|
// {
|
// if (platform.Location != null && platform.Location != "")
|
// {
|
// var strings = platform.Location.Split(',').ToList();
|
// foreach (var ite in strings)
|
// {
|
// //int index = strings.FindIndex(p => p == ite);
|
// ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
// if (command1.InteractiveSignal != 2)
|
// {
|
// MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
// if (method != null)
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// //int count = strings.Count - index;
|
// int count = strings.Count;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
// }
|
// }
|
// }
|
// }
|
// }
|
//}
|
#endregion
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
HandleNewTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
if (task != null)
|
{
|
//if (command.Barcode == task.PalletCode)
|
{
|
//task.NextAddress = task.NextAddress.Replace("-1", "");
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
|
//ConveyorLineTaskCommand taskCommand = MapTaskCommand(task, command);
|
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
WebResponseContent content = new WebResponseContent();
|
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
taskCommand.TargetAddress = 1000;
|
}
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
string DeviceProAddress = string.Join(".", x);
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
if (tasks.Count < index)
|
{
|
//ConsoleHelper.WriteErrorLine($"ã{childDeviceCode}ã请æ±ã{taskType.ToString()}ãä»»å¡,å·²æã{taskType.ToString()}ãä»»å¡ã{tasks.Count}ã,æå¤æ¥æã{index - 1}ã");
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMSipå°å
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
//var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString());
|
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥ç¶æå¹¶è¿å
|
if (!content.Status)
|
return;
|
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(dt_Task);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
|
//ConveyorLineTaskCommand taskCommand = MapTaskCommand(dt_Task, command);
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = "1000",
|
TaskNum = 0
|
};
|
ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(dt_Task);
|
taskCommand.InteractiveSignal = command.InteractiveSignal;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$90cdffcf-d316-4329-9a01-185a9adfd134¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$0497d119-d2bb-4e31-8939-395914ac23c3©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ 5§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ o¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine._communicator¯UnqualifiedName_communicator¬CommentRange¥Start͸¦Length:©NameRange¥StartͦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍü¦Length0¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProDTOs¯UnqualifiedName®_deviceProDTOs¬CommentRange¥StartÍ8¦Length:©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ|¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._heartStatr¯UnqualifiedName«_heartStatr¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ6¦Length ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine._isConnected¯UnqualifiedName¬_isConnected¬CommentRange¥Start ¦Length ©NameRange¥StartÍo¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦Length!¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.Communicator¯UnqualifiedName¬Communicator¬CommentRange¥StartÍÆ¦Length:©NameRange¥StartÍ"¦Length©BodyRange¥StartÍ/¦Length«ExtentRange¥StartÍ
|
¦Length6¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.IsFault¯UnqualifiedName§IsFault¬CommentRange¥StartÍ m¦Length8©NameRange¥StartÍ »¦Length©BodyRange¥StartÍ Ã¦Length«ExtentRange¥StartÍ ¯¦Length¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.IsConnected¯UnqualifiedName«IsConnected¬CommentRange¥StartÍ Ø¦Length:©NameRange¥StartÍ
|
(¦Length©BodyRange¥StartÍ
|
4¦Length+«ExtentRange¥StartÍ
|
¦LengthD¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.CommonConveyorLine.Status¯UnqualifiedName¦Status¬CommentRange¥StartÍ
|
l¦Length7©NameRange¥StartÍ
|
Á¦Length©BodyRange¥StartÍ
|
ȦLength«ExtentRange¥StartÍ
|
¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ1WIDESEAWCS_QuartzJob.CommonConveyorLine.Heartbeat¯UnqualifiedName©Heartbeat¬CommentRange¥StartÍY¦Length9©NameRange¥Startͨ¦Length ©BodyRange¥Startͽ¦Length>«ExtentRange¥StartͦLength_¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.Dispose¯UnqualifiedName§Dispose¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+~¦Length©BodyRange¥StartÍ+¦Length|«ExtentRange¥StartÍ+r¦Length̤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙJWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.InteractiveSignal¯UnqualifiedName±InteractiveSignal¬CommentRange¥Start ¦Length ©NameRange¥StartÍP¦Length©BodyRange¥StartÍb¦Length «ExtentRange¥StartÍB¦Length-¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.Barcode¯UnqualifiedName§Barcode¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥StartÍ«¦Length «ExtentRange¥StartÍ{¦Length=¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Exists¯UnqualifiedName¦Exists¬CommentRange¥StartÌá¦LengthÌ©NameRange¥StartÍz¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍu¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ.WIDESEAWCS_Core.Caches.ICacheService.AddObject¯UnqualifiedName©AddObject¬CommentRange¥StartͦLengthÍQ©NameRange¥StartÍù¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthY¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Add¯UnqualifiedName£Add¬CommentRange¥Start ¦Length ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍY¦LengthS¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartͦLengthÌ
©NameRange¥Startͳ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ®¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartÍÒ¦LengthÌ©NameRange¥StartÍj¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍe¦Length&¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartͦLengthÌ
©NameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦Length%¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartÍW¦LengthÌ
©NameRange¥StartÍí¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦Length¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙ5WIDESEAWCS_BasicInfoService.IDt_StationManagerService¯UnqualifiedName¹IDt_StationManagerService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ!¦Length©BodyRange¥StartÍ^¦LengthÍ«ExtentRange¥StartͦLengthÍh¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetAllStationByDeviceCode¯UnqualifiedName¹GetAllStationByDeviceCode¬CommentRange¥StartÍi¦LengthÌ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthE¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetStationInfoByChildCode¯UnqualifiedName¹GetStationInfoByChildCode¬CommentRange¥StartÍ_¦Length̽©NameRange¥StartÍ8¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ.WIDESEAWCS_SignalR.INoticeService.UserLoginOut¯UnqualifiedName¬UserLoginOut¬CommentRange¥StarțLengthÌÙ©NameRange¥StartÍg¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦LengthI¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ0WIDESEAWCS_SignalR.INoticeService.UpdatePassWord¯UnqualifiedName®UpdatePassWord¬CommentRange¥Startͳ¦LengthÌÛ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ+WIDESEAWCS_SignalR.INoticeService.NewMesage¯UnqualifiedName©NewMesage¬CommentRange¥StartÍç¦LengthÌØ©NameRange¥StartÍʦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍŦLengthM¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ-WIDESEAWCS_SignalR.INoticeService.StackerData¯UnqualifiedName«StackerData¬CommentRange¥StartͦLengthÌØ©NameRange¥StartÍý¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍø¦LengthF¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.Service.IRouterService.QueryNextRoutes¯UnqualifiedName¯QueryNextRoutes¬CommentRange¥StartÍr¦LengthÌשNameRange¥StartÍc¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍS¦LengthB¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ>WIDESEAWCS_QuartzJob.Service.IRouterService.GetAllWholeRouters¯UnqualifiedName²GetAllWholeRouters¬CommentRange¥StartͦLengtho©NameRange¥StartÍ%¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength"¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.Service.IRouterService.AddRouters¯UnqualifiedNameªAddRouters¬CommentRange¥Start ¦Length ©NameRange¥StartÍY¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartÍF¦LengthR¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ-WIDESEAWCS_ISystemServices.ISys_ConfigService¯UnqualifiedName²ISys_ConfigService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¦Length©BodyRange¥StartÍc¦LengthÍ«ExtentRange¥StartÍ#¦LengthÍäKind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ISystemServices.ISys_ConfigService.GetAll¯UnqualifiedName¦GetAll¬CommentRange¥StartÍn¦Length\©NameRange¥StartÍå¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÔ¦Length¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙBWIDESEAWCS_ISystemServices.ISys_ConfigService.GetConfigsByCategory¯UnqualifiedName´GetConfigsByCategory¬CommentRange¥StartÍú¦LengthÌ©NameRange¥StartÍ¢¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength7¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ISystemServices.ISys_ConfigService.GetByConfigKey¯UnqualifiedName®GetByConfigKey¬CommentRange¥StartÍÔ¦LengthÌÄ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¢¦Length=¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.TaskOrderBy¯UnqualifiedName«TaskOrderBy¬CommentRange¥StartÍ}¦Length7©NameRange¥StartÍå¦Length©BodyRange¥StartÍñ¦Length «ExtentRange¥Start;¦Length@¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.TaskInboundTypes¯UnqualifiedName°TaskInboundTypes¬CommentRange¥StartÍ
|
¦Length;©NameRange¥StartÍ`¦Length©BodyRange¥StartÍq¦Length«ExtentRange¥StartÍO¦Length*¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ:WIDESEAWCS_ITaskInfoService.ITaskService.TaskOutboundTypes¯UnqualifiedName±TaskOutboundTypes¬CommentRange¥StartÍ
¦Length;©NameRange¥StartÍÛ¦Length©BodyRange¥StartÍí¦Length«ExtentRange¥StartÍʦLength+¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.RequestOutTaskToBZAsync¯UnqualifiedName·RequestOutTaskToBZAsync¬CommentRange¥StartÍ ¦LengthÌ©NameRange¥StartÍ Â¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ©¦LengthS¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍ
|
¦LengthÌΩNameRange¥StartÍ
|
ù¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
à¦Length̤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍo¦LengthÌÌ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦LengthZ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTasks¯UnqualifiedName¹QueryStackerCraneOutTasks¬CommentRange¥StartÍô¦LengthÌö©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthW¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.PlatCode¯UnqualifiedName¨PlatCode¬CommentRange¥StartÍu¦LengthC©NameRange¥StartÍ¡¦Length©BodyRange¥Startͪ¦Length «ExtentRange¥StartͦLengthÌõ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformName¯UnqualifiedName¬PlatformName¬CommentRange¥StartÍæLength@©NameRange¥StartÍȦLength©BodyRange¥StartÍÕ¦Length «ExtentRange¥StartÍ ¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.Stacker¯UnqualifiedName§Stacker¬CommentRange¥StartÍî¦Length8©NameRange¥StartÍî¦Length©BodyRange¥StartÍö¦Length «ExtentRange¥StartÍ0¦LengthÌÓ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ0WIDESEAWCS_Model.Models.Platform.ExecutionMethod¯UnqualifiedName¯ExecutionMethod¬CommentRange¥StartͦLength7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍP¦LengthÌØ¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$a71461a4-19c6-4e0c-954b-de7cab523795¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$0497d119-d2bb-4e31-8939-395914ac23c3©ReferenceÀ¦Traits«IsEphemeral§Content
¢IdÄ×RõIú?OTÂÌ·ªVisibility«Annotations§ContentÙBé对è¿äºæ¹è¿å»ºè®®ï¼ä½ 认为åªä¸ªæéè¦ï¼ä¸ºä»ä¹ï¼¨Mentions¨Metadata¦IntentÀ¨GuidanceÀ¥Model«modelFamily¦gpt-4o²DirectedResponders©FunctionsCorrelationIdÙ$0497d119-d2bb-4e31-8939-395914ac23c3©MessageIdÙ$bb8a00f0-9c74-4bb4-ab74-5c29b3dbeb09§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ
§ContentÚiusing AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
HandleNewTask(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
//}
|
//else
|
//{
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
//}
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
|
#region
|
//var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
|
//List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
//if (deviceProtocolDetails != null)
|
//{
|
// foreach (var item in deviceProtocolDetails)
|
// {
|
// if (structs[item.ProtocalDetailValue.ObjToInt()] == true)
|
// {
|
// MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
// if (method != null)
|
// {
|
// var numRead = item.ProtocalDetailValue.ObjToInt();
|
// var numWrite = item.ProtocalDetailValue.ObjToInt() + 1;
|
// ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[item.ProtocalDetailValue.ObjToInt()]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[item.ProtocalDetailValue.ObjToInt() + 1]}ã");
|
// if (structs[item.ProtocalDetailValue.ObjToInt() + 1] != structs[item.ProtocalDetailValue.ObjToInt()])
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue.ObjToInt() });
|
// }
|
// }
|
// }
|
// else
|
// {
|
// ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
|
// }
|
// }
|
//}
|
|
//Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
//if (platform != null)
|
//{
|
// if (command.InteractiveSignal != 2)
|
// {
|
// MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
// if (method != null)
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// int count = string.IsNullOrEmpty(platform.Location) ? 0 + 1 : platform.Location.Split(',').Count() + 1;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
// }
|
// }
|
// else
|
// {
|
// if (platform.Location != null && platform.Location != "")
|
// {
|
// var strings = platform.Location.Split(',').ToList();
|
// foreach (var ite in strings)
|
// {
|
// //int index = strings.FindIndex(p => p == ite);
|
// ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
// if (command1.InteractiveSignal != 2)
|
// {
|
// MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
// if (method != null)
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// //int count = strings.Count - index;
|
// int count = strings.Count;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
// }
|
// }
|
// }
|
// }
|
// }
|
//}
|
#endregion
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
HandleNewTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
if (task != null)
|
{
|
//if (command.Barcode == task.PalletCode)
|
{
|
//task.NextAddress = task.NextAddress.Replace("-1", "");
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
|
//ConveyorLineTaskCommand taskCommand = MapTaskCommand(task, command);
|
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
WebResponseContent content = new WebResponseContent();
|
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
taskCommand.TargetAddress = 1000;
|
}
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
string DeviceProAddress = string.Join(".", x);
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
if (tasks.Count < index)
|
{
|
//ConsoleHelper.WriteErrorLine($"ã{childDeviceCode}ã请æ±ã{taskType.ToString()}ãä»»å¡,å·²æã{taskType.ToString()}ãä»»å¡ã{tasks.Count}ã,æå¤æ¥æã{index - 1}ã");
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMSipå°å
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
//var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString());
|
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥ç¶æå¹¶è¿å
|
if (!content.Status)
|
return;
|
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(dt_Task);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
|
//ConveyorLineTaskCommand taskCommand = MapTaskCommand(dt_Task, command);
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = "1000",
|
TaskNum = 0
|
};
|
ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(dt_Task);
|
taskCommand.InteractiveSignal = command.InteractiveSignal;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$90cdffcf-d316-4329-9a01-185a9adfd134¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$0497d119-d2bb-4e31-8939-395914ac23c3©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ 5§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ o¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine._communicator¯UnqualifiedName_communicator¬CommentRange¥Start͸¦Length:©NameRange¥StartͦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍü¦Length0¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProDTOs¯UnqualifiedName®_deviceProDTOs¬CommentRange¥StartÍ8¦Length:©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ|¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._heartStatr¯UnqualifiedName«_heartStatr¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ6¦Length ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine._isConnected¯UnqualifiedName¬_isConnected¬CommentRange¥Start ¦Length ©NameRange¥StartÍo¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦Length!¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.Communicator¯UnqualifiedName¬Communicator¬CommentRange¥StartÍÆ¦Length:©NameRange¥StartÍ"¦Length©BodyRange¥StartÍ/¦Length«ExtentRange¥StartÍ
|
¦Length6¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.IsFault¯UnqualifiedName§IsFault¬CommentRange¥StartÍ m¦Length8©NameRange¥StartÍ »¦Length©BodyRange¥StartÍ Ã¦Length«ExtentRange¥StartÍ ¯¦Length¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.IsConnected¯UnqualifiedName«IsConnected¬CommentRange¥StartÍ Ø¦Length:©NameRange¥StartÍ
|
(¦Length©BodyRange¥StartÍ
|
4¦Length+«ExtentRange¥StartÍ
|
¦LengthD¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.CommonConveyorLine.Status¯UnqualifiedName¦Status¬CommentRange¥StartÍ
|
l¦Length7©NameRange¥StartÍ
|
Á¦Length©BodyRange¥StartÍ
|
ȦLength«ExtentRange¥StartÍ
|
¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ1WIDESEAWCS_QuartzJob.CommonConveyorLine.Heartbeat¯UnqualifiedName©Heartbeat¬CommentRange¥StartÍY¦Length9©NameRange¥Startͨ¦Length ©BodyRange¥Startͽ¦Length>«ExtentRange¥StartͦLength_¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.Dispose¯UnqualifiedName§Dispose¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+~¦Length©BodyRange¥StartÍ+¦Length|«ExtentRange¥StartÍ+r¦Length̤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙJWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.InteractiveSignal¯UnqualifiedName±InteractiveSignal¬CommentRange¥Start ¦Length ©NameRange¥StartÍP¦Length©BodyRange¥StartÍb¦Length «ExtentRange¥StartÍB¦Length-¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.Barcode¯UnqualifiedName§Barcode¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥StartÍ«¦Length «ExtentRange¥StartÍ{¦Length=¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Exists¯UnqualifiedName¦Exists¬CommentRange¥StartÌá¦LengthÌ©NameRange¥StartÍz¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍu¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ.WIDESEAWCS_Core.Caches.ICacheService.AddObject¯UnqualifiedName©AddObject¬CommentRange¥StartͦLengthÍQ©NameRange¥StartÍù¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthY¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Add¯UnqualifiedName£Add¬CommentRange¥Start ¦Length ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍY¦LengthS¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartͦLengthÌ
©NameRange¥Startͳ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ®¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartÍÒ¦LengthÌ©NameRange¥StartÍj¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍe¦Length&¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartͦLengthÌ
©NameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦Length%¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartÍW¦LengthÌ
©NameRange¥StartÍí¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦Length¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙ5WIDESEAWCS_BasicInfoService.IDt_StationManagerService¯UnqualifiedName¹IDt_StationManagerService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ!¦Length©BodyRange¥StartÍ^¦LengthÍ«ExtentRange¥StartͦLengthÍh¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetAllStationByDeviceCode¯UnqualifiedName¹GetAllStationByDeviceCode¬CommentRange¥StartÍi¦LengthÌ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthE¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetStationInfoByChildCode¯UnqualifiedName¹GetStationInfoByChildCode¬CommentRange¥StartÍ_¦Length̽©NameRange¥StartÍ8¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ.WIDESEAWCS_SignalR.INoticeService.UserLoginOut¯UnqualifiedName¬UserLoginOut¬CommentRange¥StarțLengthÌÙ©NameRange¥StartÍg¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦LengthI¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ0WIDESEAWCS_SignalR.INoticeService.UpdatePassWord¯UnqualifiedName®UpdatePassWord¬CommentRange¥Startͳ¦LengthÌÛ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ+WIDESEAWCS_SignalR.INoticeService.NewMesage¯UnqualifiedName©NewMesage¬CommentRange¥StartÍç¦LengthÌØ©NameRange¥StartÍʦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍŦLengthM¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ-WIDESEAWCS_SignalR.INoticeService.StackerData¯UnqualifiedName«StackerData¬CommentRange¥StartͦLengthÌØ©NameRange¥StartÍý¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍø¦LengthF¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.Service.IRouterService.QueryNextRoutes¯UnqualifiedName¯QueryNextRoutes¬CommentRange¥StartÍr¦LengthÌשNameRange¥StartÍc¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍS¦LengthB¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ>WIDESEAWCS_QuartzJob.Service.IRouterService.GetAllWholeRouters¯UnqualifiedName²GetAllWholeRouters¬CommentRange¥StartͦLengtho©NameRange¥StartÍ%¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength"¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.Service.IRouterService.AddRouters¯UnqualifiedNameªAddRouters¬CommentRange¥Start ¦Length ©NameRange¥StartÍY¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartÍF¦LengthR¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ-WIDESEAWCS_ISystemServices.ISys_ConfigService¯UnqualifiedName²ISys_ConfigService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¦Length©BodyRange¥StartÍc¦LengthÍ«ExtentRange¥StartÍ#¦LengthÍäKind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ISystemServices.ISys_ConfigService.GetAll¯UnqualifiedName¦GetAll¬CommentRange¥StartÍn¦Length\©NameRange¥StartÍå¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÔ¦Length¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙBWIDESEAWCS_ISystemServices.ISys_ConfigService.GetConfigsByCategory¯UnqualifiedName´GetConfigsByCategory¬CommentRange¥StartÍú¦LengthÌ©NameRange¥StartÍ¢¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength7¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ISystemServices.ISys_ConfigService.GetByConfigKey¯UnqualifiedName®GetByConfigKey¬CommentRange¥StartÍÔ¦LengthÌÄ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¢¦Length=¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.TaskOrderBy¯UnqualifiedName«TaskOrderBy¬CommentRange¥StartÍ}¦Length7©NameRange¥StartÍå¦Length©BodyRange¥StartÍñ¦Length «ExtentRange¥Start;¦Length@¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.TaskInboundTypes¯UnqualifiedName°TaskInboundTypes¬CommentRange¥StartÍ
|
¦Length;©NameRange¥StartÍ`¦Length©BodyRange¥StartÍq¦Length«ExtentRange¥StartÍO¦Length*¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ:WIDESEAWCS_ITaskInfoService.ITaskService.TaskOutboundTypes¯UnqualifiedName±TaskOutboundTypes¬CommentRange¥StartÍ
¦Length;©NameRange¥StartÍÛ¦Length©BodyRange¥StartÍí¦Length«ExtentRange¥StartÍʦLength+¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.RequestOutTaskToBZAsync¯UnqualifiedName·RequestOutTaskToBZAsync¬CommentRange¥StartÍ ¦LengthÌ©NameRange¥StartÍ Â¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ©¦LengthS¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍ
|
¦LengthÌΩNameRange¥StartÍ
|
ù¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
à¦Length̤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍo¦LengthÌÌ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦LengthZ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTasks¯UnqualifiedName¹QueryStackerCraneOutTasks¬CommentRange¥StartÍô¦LengthÌö©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthW¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.PlatCode¯UnqualifiedName¨PlatCode¬CommentRange¥StartÍu¦LengthC©NameRange¥StartÍ¡¦Length©BodyRange¥Startͪ¦Length «ExtentRange¥StartͦLengthÌõ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformName¯UnqualifiedName¬PlatformName¬CommentRange¥StartÍæLength@©NameRange¥StartÍȦLength©BodyRange¥StartÍÕ¦Length «ExtentRange¥StartÍ ¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.Stacker¯UnqualifiedName§Stacker¬CommentRange¥StartÍî¦Length8©NameRange¥StartÍî¦Length©BodyRange¥StartÍö¦Length «ExtentRange¥StartÍ0¦LengthÌÓ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ0WIDESEAWCS_Model.Models.Platform.ExecutionMethod¯UnqualifiedName¯ExecutionMethod¬CommentRange¥StartͦLength7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍP¦LengthÌØ¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$a71461a4-19c6-4e0c-954b-de7cab523795¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$0497d119-d2bb-4e31-8939-395914ac23c3©ReferenceÀ¦Traits«IsEphemeral§Content
¢IdÄaÆ©?ïUO͵cpTTªVisibility«Annotations§ContentÚh卿ä¹åæå°çæ¹è¿å»ºè®®ä¸ï¼**æé«ä»£ç å¯è¯»æ§** æ¯æéè¦çä¸ä¸ªæ¹é¢ã以䏿¯åå ï¼
|
|
### 1. å¯è¯»æ§å¯¹ç»´æ¤æ§çéè¦æ§
|
- **代ç å¯è¯»æ§é«çä»£ç æ´æäºçè§£**ï¼å
¶ä»å¼å人åï¼ææªæ¥çèªå·±ï¼å¨é
è¯»ä»£ç æ¶è½å¤å¿«éææ¡å
¶é»è¾åç®çãè¿æ ·è½åå°çè§£ä¸ç误差ï¼ä»èéä½é误åççå¯è½æ§ã
|
|
### 2. ä¿è¿å¢éåä½
|
- å¨å¢éå¼åç¯å¢ä¸ï¼ä»£ç å¯è¯»æ§å³å®äºå¢éæåä¹é´çå使çã妿代ç ç»ææ¸
æ°ã注éå®å¤ï¼å¢éæåè½æ´å¿«ä¸æï¼èä¸éè¦è±è´¹è¿å¤æ¶é´å»ç解代ç é»è¾ã
|
|
### 3. åå°bugåç»´æ¤ææ¬
|
- å¯è¯»æ§é«ç代ç ä¸è¬ç»ææ´å æ¸
æ°ï¼è¿æ ·å¨åºç°bugæ¶ï¼å¼åè
è½æ´å®¹æå°å®ä½é®é¢æå¨ï¼ç¸åºå°ï¼æé«äºä¿®å¤çæçååç¡®æ§ãé¿æç»´æ¤æ¶ï¼ç»´æ¤ææ¬ä¹ä¼æ¾èéä½ã
|
|
### 4. æ¯ææ©å±åä¿®æ¹
|
- å¯è¯»æ§å¼ºç代ç 便äºåç»çåè½æ©å±åä¿®æ¹ãå¨ä»£ç éè¦åå¨çæ
åµä¸ï¼æ¸
æ°çç»æåé»è¾è½å¤å¸®å©å¼åè
é¢è§å°ä¿®æ¹åå¯è½äº§ççå½±åã
|
|
å æ¤ï¼åªåæé«ä»£ç çå¯è¯»æ§ä¸ä»
å¯ä»¥ä¸ºå½å项ç®å¸¦æ¥å¥½å¤ï¼è¿è½ä¸ºæªæ¥çç»´æ¤åæå±æä¸è¯å¥½çåºç¡ãå¨å
·ä½å®ç°æ¶ï¼å¯ä»¥ç»åå
¶ä»å»ºè®®ï¼å¦ä½¿ç¨å¸¸éãç®åé»è¾åæ¹è¿å¼å¸¸å¤ççï¼æ¥è¿ä¸æ¥å¢å¼ºä»£ç çæ´ä½è´¨éã¨Mentions¨Metadata¸clarifiedInRespondIntent®System.BooleanÓ Ã©SessionIdÙ$0fd52b0d-b36f-4668-871f-5e1c1d23e2e3¢IdÙ4Microsoft.VisualStudio.Conversations.Chat.HelpWindow¦Author¤Name®GitHub Copilot¤Icon¤GuidÙ$4515b9bd-70a1-45fa-9545-d4536417c596¢Id§Service¤NameÙ7Microsoft.VisualStudio.Copilot.CopilotChatAgentProvider§Version£0.3¦Status©FollowUps§MessageÙ3å¦ä½å
·ä½å®ç°æé«ä»£ç å¯è¯»æ§ççç¥ï¼ CorrelationIdÙ$e5d5765a-a518-4c24-98fc-e106a527fdc4©MessageIdÙ$1013347c-3948-4617-b062-900c0f9664ae§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ
§ContentÚiusing AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
HandleNewTask(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
//}
|
//else
|
//{
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
//}
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
|
#region
|
//var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
|
//List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
//if (deviceProtocolDetails != null)
|
//{
|
// foreach (var item in deviceProtocolDetails)
|
// {
|
// if (structs[item.ProtocalDetailValue.ObjToInt()] == true)
|
// {
|
// MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
// if (method != null)
|
// {
|
// var numRead = item.ProtocalDetailValue.ObjToInt();
|
// var numWrite = item.ProtocalDetailValue.ObjToInt() + 1;
|
// ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[item.ProtocalDetailValue.ObjToInt()]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[item.ProtocalDetailValue.ObjToInt() + 1]}ã");
|
// if (structs[item.ProtocalDetailValue.ObjToInt() + 1] != structs[item.ProtocalDetailValue.ObjToInt()])
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue.ObjToInt() });
|
// }
|
// }
|
// }
|
// else
|
// {
|
// ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
|
// }
|
// }
|
//}
|
|
//Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
//if (platform != null)
|
//{
|
// if (command.InteractiveSignal != 2)
|
// {
|
// MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
// if (method != null)
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// int count = string.IsNullOrEmpty(platform.Location) ? 0 + 1 : platform.Location.Split(',').Count() + 1;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
// }
|
// }
|
// else
|
// {
|
// if (platform.Location != null && platform.Location != "")
|
// {
|
// var strings = platform.Location.Split(',').ToList();
|
// foreach (var ite in strings)
|
// {
|
// //int index = strings.FindIndex(p => p == ite);
|
// ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
// if (command1.InteractiveSignal != 2)
|
// {
|
// MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
// if (method != null)
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// //int count = strings.Count - index;
|
// int count = strings.Count;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
// }
|
// }
|
// }
|
// }
|
// }
|
//}
|
#endregion
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
HandleNewTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
if (task != null)
|
{
|
//if (command.Barcode == task.PalletCode)
|
{
|
//task.NextAddress = task.NextAddress.Replace("-1", "");
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
|
//ConveyorLineTaskCommand taskCommand = MapTaskCommand(task, command);
|
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
WebResponseContent content = new WebResponseContent();
|
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
taskCommand.TargetAddress = 1000;
|
}
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
string DeviceProAddress = string.Join(".", x);
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
if (tasks.Count < index)
|
{
|
//ConsoleHelper.WriteErrorLine($"ã{childDeviceCode}ã请æ±ã{taskType.ToString()}ãä»»å¡,å·²æã{taskType.ToString()}ãä»»å¡ã{tasks.Count}ã,æå¤æ¥æã{index - 1}ã");
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMSipå°å
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
//var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString());
|
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥ç¶æå¹¶è¿å
|
if (!content.Status)
|
return;
|
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(dt_Task);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
|
//ConveyorLineTaskCommand taskCommand = MapTaskCommand(dt_Task, command);
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = "1000",
|
TaskNum = 0
|
};
|
ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(dt_Task);
|
taskCommand.InteractiveSignal = command.InteractiveSignal;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$4019c867-3550-4600-81ac-c9c0b845c4cc¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$e5d5765a-a518-4c24-98fc-e106a527fdc4©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ 5§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ o¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine._communicator¯UnqualifiedName_communicator¬CommentRange¥Start͸¦Length:©NameRange¥StartͦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍü¦Length0¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProDTOs¯UnqualifiedName®_deviceProDTOs¬CommentRange¥StartÍ8¦Length:©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ|¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._heartStatr¯UnqualifiedName«_heartStatr¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ6¦Length ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine._isConnected¯UnqualifiedName¬_isConnected¬CommentRange¥Start ¦Length ©NameRange¥StartÍo¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦Length!¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.Communicator¯UnqualifiedName¬Communicator¬CommentRange¥StartÍÆ¦Length:©NameRange¥StartÍ"¦Length©BodyRange¥StartÍ/¦Length«ExtentRange¥StartÍ
|
¦Length6¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.IsFault¯UnqualifiedName§IsFault¬CommentRange¥StartÍ m¦Length8©NameRange¥StartÍ »¦Length©BodyRange¥StartÍ Ã¦Length«ExtentRange¥StartÍ ¯¦Length¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.IsConnected¯UnqualifiedName«IsConnected¬CommentRange¥StartÍ Ø¦Length:©NameRange¥StartÍ
|
(¦Length©BodyRange¥StartÍ
|
4¦Length+«ExtentRange¥StartÍ
|
¦LengthD¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.CommonConveyorLine.Status¯UnqualifiedName¦Status¬CommentRange¥StartÍ
|
l¦Length7©NameRange¥StartÍ
|
Á¦Length©BodyRange¥StartÍ
|
ȦLength«ExtentRange¥StartÍ
|
¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ1WIDESEAWCS_QuartzJob.CommonConveyorLine.Heartbeat¯UnqualifiedName©Heartbeat¬CommentRange¥StartÍY¦Length9©NameRange¥Startͨ¦Length ©BodyRange¥Startͽ¦Length>«ExtentRange¥StartͦLength_¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.Dispose¯UnqualifiedName§Dispose¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+~¦Length©BodyRange¥StartÍ+¦Length|«ExtentRange¥StartÍ+r¦Length̤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙJWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.InteractiveSignal¯UnqualifiedName±InteractiveSignal¬CommentRange¥Start ¦Length ©NameRange¥StartÍP¦Length©BodyRange¥StartÍb¦Length «ExtentRange¥StartÍB¦Length-¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.Barcode¯UnqualifiedName§Barcode¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥StartÍ«¦Length «ExtentRange¥StartÍ{¦Length=¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Exists¯UnqualifiedName¦Exists¬CommentRange¥StartÌá¦LengthÌ©NameRange¥StartÍz¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍu¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ.WIDESEAWCS_Core.Caches.ICacheService.AddObject¯UnqualifiedName©AddObject¬CommentRange¥StartͦLengthÍQ©NameRange¥StartÍù¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthY¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Add¯UnqualifiedName£Add¬CommentRange¥Start ¦Length ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍY¦LengthS¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartͦLengthÌ
©NameRange¥Startͳ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ®¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartÍÒ¦LengthÌ©NameRange¥StartÍj¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍe¦Length&¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartͦLengthÌ
©NameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦Length%¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartÍW¦LengthÌ
©NameRange¥StartÍí¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦Length¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙ5WIDESEAWCS_BasicInfoService.IDt_StationManagerService¯UnqualifiedName¹IDt_StationManagerService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ!¦Length©BodyRange¥StartÍ^¦LengthÍ«ExtentRange¥StartͦLengthÍh¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetAllStationByDeviceCode¯UnqualifiedName¹GetAllStationByDeviceCode¬CommentRange¥StartÍi¦LengthÌ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthE¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetStationInfoByChildCode¯UnqualifiedName¹GetStationInfoByChildCode¬CommentRange¥StartÍ_¦Length̽©NameRange¥StartÍ8¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ.WIDESEAWCS_SignalR.INoticeService.UserLoginOut¯UnqualifiedName¬UserLoginOut¬CommentRange¥StarțLengthÌÙ©NameRange¥StartÍg¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦LengthI¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ0WIDESEAWCS_SignalR.INoticeService.UpdatePassWord¯UnqualifiedName®UpdatePassWord¬CommentRange¥Startͳ¦LengthÌÛ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ+WIDESEAWCS_SignalR.INoticeService.NewMesage¯UnqualifiedName©NewMesage¬CommentRange¥StartÍç¦LengthÌØ©NameRange¥StartÍʦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍŦLengthM¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ-WIDESEAWCS_SignalR.INoticeService.StackerData¯UnqualifiedName«StackerData¬CommentRange¥StartͦLengthÌØ©NameRange¥StartÍý¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍø¦LengthF¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.Service.IRouterService.QueryNextRoutes¯UnqualifiedName¯QueryNextRoutes¬CommentRange¥StartÍr¦LengthÌשNameRange¥StartÍc¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍS¦LengthB¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ>WIDESEAWCS_QuartzJob.Service.IRouterService.GetAllWholeRouters¯UnqualifiedName²GetAllWholeRouters¬CommentRange¥StartͦLengtho©NameRange¥StartÍ%¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength"¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.Service.IRouterService.AddRouters¯UnqualifiedNameªAddRouters¬CommentRange¥Start ¦Length ©NameRange¥StartÍY¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartÍF¦LengthR¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ-WIDESEAWCS_ISystemServices.ISys_ConfigService¯UnqualifiedName²ISys_ConfigService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¦Length©BodyRange¥StartÍc¦LengthÍ«ExtentRange¥StartÍ#¦LengthÍäKind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ISystemServices.ISys_ConfigService.GetAll¯UnqualifiedName¦GetAll¬CommentRange¥StartÍn¦Length\©NameRange¥StartÍå¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÔ¦Length¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙBWIDESEAWCS_ISystemServices.ISys_ConfigService.GetConfigsByCategory¯UnqualifiedName´GetConfigsByCategory¬CommentRange¥StartÍú¦LengthÌ©NameRange¥StartÍ¢¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength7¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ISystemServices.ISys_ConfigService.GetByConfigKey¯UnqualifiedName®GetByConfigKey¬CommentRange¥StartÍÔ¦LengthÌÄ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¢¦Length=¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.TaskOrderBy¯UnqualifiedName«TaskOrderBy¬CommentRange¥StartÍ}¦Length7©NameRange¥StartÍå¦Length©BodyRange¥StartÍñ¦Length «ExtentRange¥Start;¦Length@¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.TaskInboundTypes¯UnqualifiedName°TaskInboundTypes¬CommentRange¥StartÍ
|
¦Length;©NameRange¥StartÍ`¦Length©BodyRange¥StartÍq¦Length«ExtentRange¥StartÍO¦Length*¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ:WIDESEAWCS_ITaskInfoService.ITaskService.TaskOutboundTypes¯UnqualifiedName±TaskOutboundTypes¬CommentRange¥StartÍ
¦Length;©NameRange¥StartÍÛ¦Length©BodyRange¥StartÍí¦Length«ExtentRange¥StartÍʦLength+¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.RequestOutTaskToBZAsync¯UnqualifiedName·RequestOutTaskToBZAsync¬CommentRange¥StartÍ ¦LengthÌ©NameRange¥StartÍ Â¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ©¦LengthS¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍ
|
¦LengthÌΩNameRange¥StartÍ
|
ù¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
à¦Length̤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍo¦LengthÌÌ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦LengthZ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTasks¯UnqualifiedName¹QueryStackerCraneOutTasks¬CommentRange¥StartÍô¦LengthÌö©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthW¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.PlatCode¯UnqualifiedName¨PlatCode¬CommentRange¥StartÍu¦LengthC©NameRange¥StartÍ¡¦Length©BodyRange¥Startͪ¦Length «ExtentRange¥StartͦLengthÌõ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformName¯UnqualifiedName¬PlatformName¬CommentRange¥StartÍæLength@©NameRange¥StartÍȦLength©BodyRange¥StartÍÕ¦Length «ExtentRange¥StartÍ ¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.Stacker¯UnqualifiedName§Stacker¬CommentRange¥StartÍî¦Length8©NameRange¥StartÍî¦Length©BodyRange¥StartÍö¦Length «ExtentRange¥StartÍ0¦LengthÌÓ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ0WIDESEAWCS_Model.Models.Platform.ExecutionMethod¯UnqualifiedName¯ExecutionMethod¬CommentRange¥StartͦLength7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍP¦LengthÌØ¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$6d8f7038-9c9f-45b2-b045-cdd95259a879¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$e5d5765a-a518-4c24-98fc-e106a527fdc4©ReferenceÀ¦Traits«IsEphemeral§Content
¢IdÄ!Åç*_îL^ç¯ûq@ªVisibility«Annotations§Content»å¸®ææ¹è¿ä¸ä¸æ´ä¸ªç±»¨Mentions¨Metadata¦IntentÀ¨GuidanceÀ¥Model«modelFamily¦gpt-4o²DirectedResponders©FunctionsCorrelationIdÙ$e5d5765a-a518-4c24-98fc-e106a527fdc4©MessageIdÙ$7c287487-3bca-4d08-907c-67a88f36dd66§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ
§ContentÚiusing AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
HandleNewTask(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
//}
|
//else
|
//{
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
//}
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
|
#region
|
//var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
|
//List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
//if (deviceProtocolDetails != null)
|
//{
|
// foreach (var item in deviceProtocolDetails)
|
// {
|
// if (structs[item.ProtocalDetailValue.ObjToInt()] == true)
|
// {
|
// MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
// if (method != null)
|
// {
|
// var numRead = item.ProtocalDetailValue.ObjToInt();
|
// var numWrite = item.ProtocalDetailValue.ObjToInt() + 1;
|
// ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[item.ProtocalDetailValue.ObjToInt()]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[item.ProtocalDetailValue.ObjToInt() + 1]}ã");
|
// if (structs[item.ProtocalDetailValue.ObjToInt() + 1] != structs[item.ProtocalDetailValue.ObjToInt()])
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue.ObjToInt() });
|
// }
|
// }
|
// }
|
// else
|
// {
|
// ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
|
// }
|
// }
|
//}
|
|
//Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
//if (platform != null)
|
//{
|
// if (command.InteractiveSignal != 2)
|
// {
|
// MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
// if (method != null)
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// int count = string.IsNullOrEmpty(platform.Location) ? 0 + 1 : platform.Location.Split(',').Count() + 1;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
// }
|
// }
|
// else
|
// {
|
// if (platform.Location != null && platform.Location != "")
|
// {
|
// var strings = platform.Location.Split(',').ToList();
|
// foreach (var ite in strings)
|
// {
|
// //int index = strings.FindIndex(p => p == ite);
|
// ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
// if (command1.InteractiveSignal != 2)
|
// {
|
// MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
// if (method != null)
|
// {
|
// command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// //int count = strings.Count - index;
|
// int count = strings.Count;
|
// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
// }
|
// }
|
// }
|
// }
|
// }
|
//}
|
#endregion
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
HandleNewTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
if (task != null)
|
{
|
//if (command.Barcode == task.PalletCode)
|
{
|
//task.NextAddress = task.NextAddress.Replace("-1", "");
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
|
//ConveyorLineTaskCommand taskCommand = MapTaskCommand(task, command);
|
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
WebResponseContent content = new WebResponseContent();
|
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
taskCommand.TargetAddress = 1000;
|
}
|
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
string DeviceProAddress = string.Join(".", x);
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
if (tasks.Count < index)
|
{
|
//ConsoleHelper.WriteErrorLine($"ã{childDeviceCode}ã请æ±ã{taskType.ToString()}ãä»»å¡,å·²æã{taskType.ToString()}ãä»»å¡ã{tasks.Count}ã,æå¤æ¥æã{index - 1}ã");
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMSipå°å
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
//var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString());
|
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥ç¶æå¹¶è¿å
|
if (!content.Status)
|
return;
|
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(dt_Task);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
|
//ConveyorLineTaskCommand taskCommand = MapTaskCommand(dt_Task, command);
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = "1000",
|
TaskNum = 0
|
};
|
ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(dt_Task);
|
taskCommand.InteractiveSignal = command.InteractiveSignal;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$4019c867-3550-4600-81ac-c9c0b845c4cc¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$e5d5765a-a518-4c24-98fc-e106a527fdc4©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ 5§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ o¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine._communicator¯UnqualifiedName_communicator¬CommentRange¥Start͸¦Length:©NameRange¥StartͦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍü¦Length0¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProDTOs¯UnqualifiedName®_deviceProDTOs¬CommentRange¥StartÍ8¦Length:©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ|¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._heartStatr¯UnqualifiedName«_heartStatr¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ6¦Length ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine._isConnected¯UnqualifiedName¬_isConnected¬CommentRange¥Start ¦Length ©NameRange¥StartÍo¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦Length!¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.Communicator¯UnqualifiedName¬Communicator¬CommentRange¥StartÍÆ¦Length:©NameRange¥StartÍ"¦Length©BodyRange¥StartÍ/¦Length«ExtentRange¥StartÍ
|
¦Length6¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.IsFault¯UnqualifiedName§IsFault¬CommentRange¥StartÍ m¦Length8©NameRange¥StartÍ »¦Length©BodyRange¥StartÍ Ã¦Length«ExtentRange¥StartÍ ¯¦Length¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.IsConnected¯UnqualifiedName«IsConnected¬CommentRange¥StartÍ Ø¦Length:©NameRange¥StartÍ
|
(¦Length©BodyRange¥StartÍ
|
4¦Length+«ExtentRange¥StartÍ
|
¦LengthD¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.CommonConveyorLine.Status¯UnqualifiedName¦Status¬CommentRange¥StartÍ
|
l¦Length7©NameRange¥StartÍ
|
Á¦Length©BodyRange¥StartÍ
|
ȦLength«ExtentRange¥StartÍ
|
¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ1WIDESEAWCS_QuartzJob.CommonConveyorLine.Heartbeat¯UnqualifiedName©Heartbeat¬CommentRange¥StartÍY¦Length9©NameRange¥Startͨ¦Length ©BodyRange¥Startͽ¦Length>«ExtentRange¥StartͦLength_¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.Dispose¯UnqualifiedName§Dispose¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+~¦Length©BodyRange¥StartÍ+¦Length|«ExtentRange¥StartÍ+r¦Length̤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙJWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.InteractiveSignal¯UnqualifiedName±InteractiveSignal¬CommentRange¥Start ¦Length ©NameRange¥StartÍP¦Length©BodyRange¥StartÍb¦Length «ExtentRange¥StartÍB¦Length-¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.Barcode¯UnqualifiedName§Barcode¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥StartÍ«¦Length «ExtentRange¥StartÍ{¦Length=¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Exists¯UnqualifiedName¦Exists¬CommentRange¥StartÌá¦LengthÌ©NameRange¥StartÍz¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍu¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ.WIDESEAWCS_Core.Caches.ICacheService.AddObject¯UnqualifiedName©AddObject¬CommentRange¥StartͦLengthÍQ©NameRange¥StartÍù¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthY¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Add¯UnqualifiedName£Add¬CommentRange¥Start ¦Length ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍY¦LengthS¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartͦLengthÌ
©NameRange¥Startͳ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ®¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartÍÒ¦LengthÌ©NameRange¥StartÍj¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍe¦Length&¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartͦLengthÌ
©NameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦Length%¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartÍW¦LengthÌ
©NameRange¥StartÍí¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦Length¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙ5WIDESEAWCS_BasicInfoService.IDt_StationManagerService¯UnqualifiedName¹IDt_StationManagerService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ!¦Length©BodyRange¥StartÍ^¦LengthÍ«ExtentRange¥StartͦLengthÍh¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetAllStationByDeviceCode¯UnqualifiedName¹GetAllStationByDeviceCode¬CommentRange¥StartÍi¦LengthÌ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthE¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetStationInfoByChildCode¯UnqualifiedName¹GetStationInfoByChildCode¬CommentRange¥StartÍ_¦Length̽©NameRange¥StartÍ8¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ.WIDESEAWCS_SignalR.INoticeService.UserLoginOut¯UnqualifiedName¬UserLoginOut¬CommentRange¥StarțLengthÌÙ©NameRange¥StartÍg¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦LengthI¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ0WIDESEAWCS_SignalR.INoticeService.UpdatePassWord¯UnqualifiedName®UpdatePassWord¬CommentRange¥Startͳ¦LengthÌÛ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ+WIDESEAWCS_SignalR.INoticeService.NewMesage¯UnqualifiedName©NewMesage¬CommentRange¥StartÍç¦LengthÌØ©NameRange¥StartÍʦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍŦLengthM¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ-WIDESEAWCS_SignalR.INoticeService.StackerData¯UnqualifiedName«StackerData¬CommentRange¥StartͦLengthÌØ©NameRange¥StartÍý¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍø¦LengthF¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.Service.IRouterService.QueryNextRoutes¯UnqualifiedName¯QueryNextRoutes¬CommentRange¥StartÍr¦LengthÌשNameRange¥StartÍc¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍS¦LengthB¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ>WIDESEAWCS_QuartzJob.Service.IRouterService.GetAllWholeRouters¯UnqualifiedName²GetAllWholeRouters¬CommentRange¥StartͦLengtho©NameRange¥StartÍ%¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength"¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.Service.IRouterService.AddRouters¯UnqualifiedNameªAddRouters¬CommentRange¥Start ¦Length ©NameRange¥StartÍY¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartÍF¦LengthR¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ-WIDESEAWCS_ISystemServices.ISys_ConfigService¯UnqualifiedName²ISys_ConfigService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¦Length©BodyRange¥StartÍc¦LengthÍ«ExtentRange¥StartÍ#¦LengthÍäKind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ISystemServices.ISys_ConfigService.GetAll¯UnqualifiedName¦GetAll¬CommentRange¥StartÍn¦Length\©NameRange¥StartÍå¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÔ¦Length¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙBWIDESEAWCS_ISystemServices.ISys_ConfigService.GetConfigsByCategory¯UnqualifiedName´GetConfigsByCategory¬CommentRange¥StartÍú¦LengthÌ©NameRange¥StartÍ¢¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength7¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ISystemServices.ISys_ConfigService.GetByConfigKey¯UnqualifiedName®GetByConfigKey¬CommentRange¥StartÍÔ¦LengthÌÄ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¢¦Length=¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.TaskOrderBy¯UnqualifiedName«TaskOrderBy¬CommentRange¥StartÍ}¦Length7©NameRange¥StartÍå¦Length©BodyRange¥StartÍñ¦Length «ExtentRange¥Start;¦Length@¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.TaskInboundTypes¯UnqualifiedName°TaskInboundTypes¬CommentRange¥StartÍ
|
¦Length;©NameRange¥StartÍ`¦Length©BodyRange¥StartÍq¦Length«ExtentRange¥StartÍO¦Length*¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ:WIDESEAWCS_ITaskInfoService.ITaskService.TaskOutboundTypes¯UnqualifiedName±TaskOutboundTypes¬CommentRange¥StartÍ
¦Length;©NameRange¥StartÍÛ¦Length©BodyRange¥StartÍí¦Length«ExtentRange¥StartÍʦLength+¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.RequestOutTaskToBZAsync¯UnqualifiedName·RequestOutTaskToBZAsync¬CommentRange¥StartÍ ¦LengthÌ©NameRange¥StartÍ Â¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ©¦LengthS¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍ
|
¦LengthÌΩNameRange¥StartÍ
|
ù¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
à¦Length̤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍo¦LengthÌÌ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦LengthZ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTasks¯UnqualifiedName¹QueryStackerCraneOutTasks¬CommentRange¥StartÍô¦LengthÌö©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthW¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.PlatCode¯UnqualifiedName¨PlatCode¬CommentRange¥StartÍu¦LengthC©NameRange¥StartÍ¡¦Length©BodyRange¥Startͪ¦Length «ExtentRange¥StartͦLengthÌõ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformName¯UnqualifiedName¬PlatformName¬CommentRange¥StartÍæLength@©NameRange¥StartÍȦLength©BodyRange¥StartÍÕ¦Length «ExtentRange¥StartÍ ¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.Stacker¯UnqualifiedName§Stacker¬CommentRange¥StartÍî¦Length8©NameRange¥StartÍî¦Length©BodyRange¥StartÍö¦Length «ExtentRange¥StartÍ0¦LengthÌÓ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ0WIDESEAWCS_Model.Models.Platform.ExecutionMethod¯UnqualifiedName¯ExecutionMethod¬CommentRange¥StartͦLength7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍP¦LengthÌØ¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$6d8f7038-9c9f-45b2-b045-cdd95259a879¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$e5d5765a-a518-4c24-98fc-e106a527fdc4©ReferenceÀ¦Traits«IsEphemeral§Content
¢IdÄ+nj}qKuYʪVisibility«Annotations§ContentÙ以䏿¯å¯¹ `CommonConveyorLineJob` ç±»çæ¹è¿çæ¬ï¼ç»åäºå¯è¯»æ§ãå¼å¸¸å¤çãé»è¾ç®ååæ§è½æåç夿¹é¢ç建议ï¼
|
|
¨Mentions¢IdÄ5»¼c[öE¾f#íÅóªVisibility«Annotations§ContentÚ$ using AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
private readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
|
try
|
{
|
var conveyorLine = context.JobDetail.JobDataMap.Get("JobParams") as CommonConveyorLine;
|
if (conveyorLine == null) return;
|
|
var childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
var stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
await HandleStationAsync(conveyorLine, station);
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine($"{nameof(CommonConveyorLineJob)}: {ex}");
|
}
|
}
|
|
private async Task HandleStationAsync(CommonConveyorLine conveyorLine, Dt_StationManager station)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
|
if (command == null || commandWrite == null)
|
return;
|
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (station.stationType == 11)
|
{
|
await HandleEmptyTrayAsync(conveyorLine, command, station, structs);
|
}
|
else if (station.stationType == 5)
|
{
|
await HandleExceptionTrayAsync(conveyorLine, command, station, structs);
|
}
|
}
|
|
private async Task HandleEmptyTrayAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, Dt_StationManager station, bool[] structs)
|
{
|
if (structs[0])
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
await NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
|
private async Task HandleExceptionTrayAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, Dt_StationManager station, bool[] structs)
|
{
|
if (structs[0])
|
{
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Any())
|
{
|
return; // Exit if there are existing tasks
|
}
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
await HandleNewTaskAsync(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
|
if (command != null && commandWrite != null)
|
{
|
NotifyFrontend(conveyorLine, command, commandWrite, childDeviceCode);
|
UpdateDeviceProtocol(conveyorLine, command, commandWrite, childDeviceCode);
|
}
|
return Task.CompletedTask;
|
}
|
|
private void NotifyFrontend(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, ConveyorLineTaskCommandWrite commandWrite, string childDeviceCode)
|
{
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
var obj = new { command, commandWrite };
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
}
|
|
private void UpdateDeviceProtocol(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, ConveyorLineTaskCommandWrite commandWrite, string childDeviceCode)
|
{
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
List<DeviceProtocolDetailDTO> deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue])
|
{
|
ExecuteProtocolMethod(conveyorLine, command, childDeviceCode, item);
|
}
|
else
|
{
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
private void ExecuteProtocolMethod(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, DeviceProtocolDetailDTO item)
|
{
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue });
|
}
|
}
|
|
#region å
¥åºä¸åºåºé»è¾å¤ç
|
|
// è¿éç»§ç»å®ç° RequestInboundãRequestOutbound çå
¥åºåºåºåè½çæ¹æ³
|
// ...
|
|
#endregion
|
}
|
}
|
¨Language¢C#¬IsRefinement¤FileÀ§OptionsÀ¨Commands
¢IdÄ=x¹ÙG¾dUߢڪVisibility«Annotations§ContentÚÍ
|
### æ¹è¿çè¦ç¹ï¼
|
1. **æé«å¯è¯»æ§**ï¼éè¿æ¹æ³éæï¼å°æ¯ä¸ªå¤çåå
æå为ç¬ç«çæ¹æ³ï¼å¢å 注é使é»è¾æ´æ¸
æ°ã
|
2. **使ç¨å¼æ¥ç¼ç¨**ï¼å¨åéçå°æ¹ä½¿ç¨å¼æ¥æ¹æ³ï¼ä¾å¦ `HandleStationAsync` å `NGRequestTaskInbound` 以æé«æ§è½ã
|
3. **ç®åé»è¾**ï¼ä½¿ç¨ `NotifyFrontend` å `UpdateDeviceProtocol` æ¹æ³å°éç¥ååè®®æ´æ°é»è¾åå¼ï¼å¢å¼ºå¯æµè¯æ§åå¤ç¨æ§ã
|
4. **æ¸
æ°çé误å¤ç**ï¼å¼å¸¸å¤çä¿æå¨ `Execute` æ¹æ³ä¸ï¼ç¡®ä¿ç»ä¸çé误å¤çé»è¾ã
|
|
å¨å®ç°æ¶è¦ç¡®ä¿å¨åæé»è¾çåºç¡ä¸è¿è¡æµè¯ï¼ç¡®ä¿åè½çæ£ç¡®æ§åç¨³å®æ§ãæ ¹æ®éè¦ï¼ç»§ç»å®åå
¥åºååºåºå¤çæ¹æ³ã¨Mentions¨Metadata©SessionIdÙ$0fd52b0d-b36f-4668-871f-5e1c1d23e2e3¢IdÙ4Microsoft.VisualStudio.Conversations.Chat.HelpWindow¦Author¤Name®GitHub Copilot¤Icon¤GuidÙ$4515b9bd-70a1-45fa-9545-d4536417c596¢Id§Service¤NameÙ7Microsoft.VisualStudio.Copilot.CopilotChatAgentProvider§Version£0.3¦Status©FollowUps§MessageÙa卿¹è¿åç `CommonConveyorLineJob` ç±»ä¸ï¼å¦ä½æ´å¥½å°å¤çä»»å¡ç¶ææ´æ°é»è¾ï¼ CorrelationIdÙ$53efaf0e-3dec-4d41-9db1-736d312245b1©MessageIdÙ$72fdc1e1-e2cb-4074-8633-80802217b9bd§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ {
§ContentÚ³using AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
// ä»JobDataMapä¸è·åä¼ éçåæ°
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
// æ¥è¯¢ææå设å¤çä½ç½®
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
// å¹¶è¡å¤çæ¯ä¸ªå设å¤
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
// è·åææç«ç¹ç®¡çå¨
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
// å¤çå
¥åºè¯·æ±
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// æ£æ¥æ¯å¦åå¨ä»»å¡
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
// å¤çæ°ä»»å¡
|
await HandleNewTaskAsync(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
// è¾åºå¼å¸¸ä¿¡æ¯
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
// }
|
// else
|
// {
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
// }
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// è·åç¼åä¸çç¨æ·ä¿¡æ¯
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
// æé éç¥æ°æ®
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
// åééç¥
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
// è·å设å¤å议详æ
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
// æ¥è¯¢å¹³å°ä¿¡æ¯
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
// 读åä»»å¡å½ä»¤
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public async Task RequestInboundAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
await HandleNewTaskAsync(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æ¥è¯¢è¾é线任å¡ï¼æ ¹æ®è¾é线设å¤åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç åå设å¤ä»£ç ï¼ä»¥åä»»å¡ä¿¡æ¯
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
|
// 妿任å¡ä¸ä¸ºç©ºï¼åæ§è¡ä»¥ä¸æä½
|
if (task != null)
|
{
|
// è·åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
|
// å°ä»»å¡å½ä»¤æ å°å°å½åä»»å¡
|
var taskCommand = MapTaskCommand(task, command);
|
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åè¾é线åéå½ä»¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// 宿è¾é线åéä»»å¡ï¼å¹¶æ´æ°ä»»å¡ç¶æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
|
// 妿任å¡çç®æ å°åæ¯"1020-1"ï¼å忬¡æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç 以å请æ±åºåºä¸ä¸å°åçå设å¤ä»£ç
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡ï¼æ ¹æ®ä»»å¡å·åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// æ£æ¥ä»»å¡ä¸çæçæ¡ç æ¯å¦ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// æ´æ°ä»»å¡çä½ç½®ä¿¡æ¯ï¼å¹¶è·åæ´æ°åçä»»å¡å¯¹è±¡
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
|
// å¦ææ´æ°åçä»»å¡å¯¹è±¡ä¸ä¸ºç©º
|
if (newTask != null)
|
{
|
// è·åä¸ä¸ç®æ å°å
|
var next = newTask.NextAddress;
|
|
// å°æ°ä»»å¡å¯¹è±¡æ å°ä¸ºä»»å¡å½ä»¤å¯¹è±¡
|
var taskCommand = MapTaskCommand(newTask, command);
|
|
// æ¢å¤æ°ä»»å¡å¯¹è±¡çä¸ä¸ç®æ å°å
|
newTask.NextAddress = next;
|
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç 以åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åéä»»å¡å½ä»¤å°å设å¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// æ è®°è¾é线åéä»»å¡å®æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåº
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// 妿任å¡ä¸çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// å建ä¸ä¸ªç©ºçWebResponseContent对象
|
WebResponseContent content = new WebResponseContent();
|
|
// ä¿åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
// å°ä»»å¡æ å°ä¸ºå½ä»¤
|
var taskCommand = MapTaskCommand(task, command);
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// 妿任å¡çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸ä¸è´æè
ä»»å¡å¤æ³¨ä¸º"NG"
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// 设置å½ä»¤çç®æ å°å为NGå°å
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
// 设置å½ä»¤çç®æ å°å为1000
|
taskCommand.TargetAddress = 1000;
|
}
|
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
// åéå½ä»¤å°è¾é线
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
// 设置è¾é线çç®æ å°å为NGå°å
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
// ä»conveyorLineä¸çDeviceProDTOsåè¡¨ä¸æ¥æ¾ç¬¬ä¸ä¸ªç¬¦åæ¡ä»¶çDeviceProDTO对象
|
// æ¡ä»¶æ¯DeviceProParamTypeçäºDeviceCommandï¼ä¸DeviceChildCodeçäºchildDeviceCode
|
// æ¥æ¾ç»ææDeviceProOffsetååºæå
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
|
// å°deviceProçDeviceProAddressæ'.'å岿å符串æ°ç»x
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
|
// å°æ°ç»xçæåä¸ä¸ªå
ç´ æ¿æ¢ä¸ºProtocalDetailValueå 1åçå符串形å¼
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
|
// å°ä¿®æ¹åçæ°ç»xéæ°æ¼æ¥æå符串ï¼ä½ä¸ºæ°çDeviceProAddress
|
string DeviceProAddress = string.Join(".", x);
|
|
// 使ç¨conveyorLineçCommunicator对象çWriteæ¹æ³ï¼å°valueåå
¥æ°çDeviceProAddresså°å
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
// å®ä¹ä¸ä¸ªå¼æ¥æ¹æ³ï¼ç¨äºå¤ç空æçè¿åä»»å¡
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
// å®ä¹ä»»å¡ç±»åæä¸¾åé
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
// æ ¹æ®å¹³å°ç±»å设置任å¡ç±»åæä¸¾
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
// è°ç¨æ£æ¥å¹¶å建任å¡çæ¹æ³
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
// æè·å¹¶å¿½ç¥å¼å¸¸
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
// æ¥è¯¢æ°æ®åºä¸å·²æçä»»å¡
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
// 妿已æä»»å¡æ°éå°äºæå®ç´¢å¼
|
if (tasks.Count < index)
|
{
|
// è°ç¨WMSè·ååºåºä»»å¡
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
// å®ä¹WMS任塿°æ®ä¼ è¾å¯¹è±¡
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMS IPå°åé
ç½®
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
// 妿WMS IPå°åæªé
ç½®ï¼æåºå¼å¸¸
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
// åéHTTP POST请æ±è·å任塿°æ®
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
// è§£æè¿åçJSONæ°æ®
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥è¿åç¶æï¼å¦æå¤±è´¥åè¿å
|
if (!content.Status)
|
return;
|
|
// è§£æä»»å¡æ°æ®
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
// å建并åéä»»å¡
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, 1000, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¥CaretÀ¥StartÍ3Ù£EndÍ;´¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$bd50617f-25fd-45dd-86f2-2c223c8a89d7¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$53efaf0e-3dec-4d41-9db1-736d312245b1©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ É]§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine._communicator¯UnqualifiedName_communicator¬CommentRange¥Start͸¦Length:©NameRange¥StartͦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍü¦Length0¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProDTOs¯UnqualifiedName®_deviceProDTOs¬CommentRange¥StartÍ8¦Length:©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ|¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._heartStatr¯UnqualifiedName«_heartStatr¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ6¦Length ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine._isConnected¯UnqualifiedName¬_isConnected¬CommentRange¥Start ¦Length ©NameRange¥StartÍo¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦Length!¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.Communicator¯UnqualifiedName¬Communicator¬CommentRange¥StartÍÆ¦Length:©NameRange¥StartÍ"¦Length©BodyRange¥StartÍ/¦Length«ExtentRange¥StartÍ
|
¦Length6¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.IsFault¯UnqualifiedName§IsFault¬CommentRange¥StartÍ m¦Length8©NameRange¥StartÍ »¦Length©BodyRange¥StartÍ Ã¦Length«ExtentRange¥StartÍ ¯¦Length¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.IsConnected¯UnqualifiedName«IsConnected¬CommentRange¥StartÍ Ø¦Length:©NameRange¥StartÍ
|
(¦Length©BodyRange¥StartÍ
|
4¦Length+«ExtentRange¥StartÍ
|
¦LengthD¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.CommonConveyorLine.Status¯UnqualifiedName¦Status¬CommentRange¥StartÍ
|
l¦Length7©NameRange¥StartÍ
|
Á¦Length©BodyRange¥StartÍ
|
ȦLength«ExtentRange¥StartÍ
|
¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ1WIDESEAWCS_QuartzJob.CommonConveyorLine.Heartbeat¯UnqualifiedName©Heartbeat¬CommentRange¥StartÍY¦Length9©NameRange¥Startͨ¦Length ©BodyRange¥Startͽ¦Length>«ExtentRange¥StartͦLength_¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.Dispose¯UnqualifiedName§Dispose¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+~¦Length©BodyRange¥StartÍ+¦Length|«ExtentRange¥StartÍ+r¦Length̤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙJWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.InteractiveSignal¯UnqualifiedName±InteractiveSignal¬CommentRange¥Start ¦Length ©NameRange¥StartÍP¦Length©BodyRange¥StartÍb¦Length «ExtentRange¥StartÍB¦Length-¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.Barcode¯UnqualifiedName§Barcode¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥StartÍ«¦Length «ExtentRange¥StartÍ{¦Length=¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Exists¯UnqualifiedName¦Exists¬CommentRange¥StartÌá¦LengthÌ©NameRange¥StartÍz¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍu¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ.WIDESEAWCS_Core.Caches.ICacheService.AddObject¯UnqualifiedName©AddObject¬CommentRange¥StartͦLengthÍQ©NameRange¥StartÍù¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthY¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Add¯UnqualifiedName£Add¬CommentRange¥Start ¦Length ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍY¦LengthS¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartͦLengthÌ
©NameRange¥Startͳ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ®¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartÍÒ¦LengthÌ©NameRange¥StartÍj¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍe¦Length&¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartͦLengthÌ
©NameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦Length%¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartÍW¦LengthÌ
©NameRange¥StartÍí¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦Length¤Kind ¨FileNameÙvD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoRepository\IDt_StationManagerRepository.cs²FullyQualifiedNameÙ;WIDESEAWCS_BasicInfoRepository.IDt_StationManagerRepository¯UnqualifiedName¼IDt_StationManagerRepository¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍâ¦Length
|
«ExtentRange¥StartͦLength^¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙ5WIDESEAWCS_BasicInfoService.IDt_StationManagerService¯UnqualifiedName¹IDt_StationManagerService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ!¦Length©BodyRange¥StartÍ^¦LengthÍ«ExtentRange¥StartͦLengthÍh¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetAllStationByDeviceCode¯UnqualifiedName¹GetAllStationByDeviceCode¬CommentRange¥StartÍi¦LengthÌ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthE¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetStationInfoByChildCode¯UnqualifiedName¹GetStationInfoByChildCode¬CommentRange¥StartÍ_¦Length̽©NameRange¥StartÍ8¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ.WIDESEAWCS_SignalR.INoticeService.UserLoginOut¯UnqualifiedName¬UserLoginOut¬CommentRange¥StarțLengthÌÙ©NameRange¥StartÍg¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦LengthI¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ0WIDESEAWCS_SignalR.INoticeService.UpdatePassWord¯UnqualifiedName®UpdatePassWord¬CommentRange¥Startͳ¦LengthÌÛ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ+WIDESEAWCS_SignalR.INoticeService.NewMesage¯UnqualifiedName©NewMesage¬CommentRange¥StartÍç¦LengthÌØ©NameRange¥StartÍʦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍŦLengthM¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ-WIDESEAWCS_SignalR.INoticeService.StackerData¯UnqualifiedName«StackerData¬CommentRange¥StartͦLengthÌØ©NameRange¥StartÍý¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍø¦LengthF¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ProcessParameters\IPlatFormRepository.cs²FullyQualifiedNameÙ1WIDESEAWCS_IProcessRepository.IPlatFormRepository¯UnqualifiedName³IPlatFormRepository¬CommentRange¥Start ¦Length ©NameRange¥Start=¦Length©BodyRange¥Startj¦Length«ExtentRange¥Start,¦LengthB¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.Service.IRouterService.QueryNextRoutes¯UnqualifiedName¯QueryNextRoutes¬CommentRange¥StartÍr¦LengthÌשNameRange¥StartÍc¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍS¦LengthB¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ>WIDESEAWCS_QuartzJob.Service.IRouterService.GetAllWholeRouters¯UnqualifiedName²GetAllWholeRouters¬CommentRange¥StartͦLengtho©NameRange¥StartÍ%¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength"¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.Service.IRouterService.AddRouters¯UnqualifiedNameªAddRouters¬CommentRange¥Start ¦Length ©NameRange¥StartÍY¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartÍF¦LengthR¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ-WIDESEAWCS_ISystemServices.ISys_ConfigService¯UnqualifiedName²ISys_ConfigService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¦Length©BodyRange¥StartÍc¦LengthÍ«ExtentRange¥StartÍ#¦LengthÍäKind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ISystemServices.ISys_ConfigService.GetAll¯UnqualifiedName¦GetAll¬CommentRange¥StartÍn¦Length\©NameRange¥StartÍå¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÔ¦Length¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙBWIDESEAWCS_ISystemServices.ISys_ConfigService.GetConfigsByCategory¯UnqualifiedName´GetConfigsByCategory¬CommentRange¥StartÍú¦LengthÌ©NameRange¥StartÍ¢¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength7¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ISystemServices.ISys_ConfigService.GetByConfigKey¯UnqualifiedName®GetByConfigKey¬CommentRange¥StartÍÔ¦LengthÌÄ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¢¦Length=¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoRepository\ITaskRepository.cs²FullyQualifiedNameÙ.WIDESEAWCS_ITaskInfoRepository.ITaskRepository¯UnqualifiedName¯ITaskRepository¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ˦Length
|
«ExtentRange¥StartͦLengthG¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.TaskOrderBy¯UnqualifiedName«TaskOrderBy¬CommentRange¥StartÍ}¦Length7©NameRange¥StartÍå¦Length©BodyRange¥StartÍñ¦Length «ExtentRange¥Start;¦Length@¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.TaskInboundTypes¯UnqualifiedName°TaskInboundTypes¬CommentRange¥StartÍ
|
¦Length;©NameRange¥StartÍ`¦Length©BodyRange¥StartÍq¦Length«ExtentRange¥StartÍO¦Length*¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ:WIDESEAWCS_ITaskInfoService.ITaskService.TaskOutboundTypes¯UnqualifiedName±TaskOutboundTypes¬CommentRange¥StartÍ
¦Length;©NameRange¥StartÍÛ¦Length©BodyRange¥StartÍí¦Length«ExtentRange¥StartÍʦLength+¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.RequestOutTaskToBZAsync¯UnqualifiedName·RequestOutTaskToBZAsync¬CommentRange¥StartÍ ¦LengthÌ©NameRange¥StartÍ Â¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ©¦LengthS¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍ
|
¦LengthÌΩNameRange¥StartÍ
|
ù¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
à¦Length̤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍo¦LengthÌÌ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦LengthZ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTasks¯UnqualifiedName¹QueryStackerCraneOutTasks¬CommentRange¥StartÍô¦LengthÌö©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthW¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.PlatCode¯UnqualifiedName¨PlatCode¬CommentRange¥StartÍu¦LengthC©NameRange¥StartÍ¡¦Length©BodyRange¥Startͪ¦Length «ExtentRange¥StartͦLengthÌõ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformName¯UnqualifiedName¬PlatformName¬CommentRange¥StartÍæLength@©NameRange¥StartÍȦLength©BodyRange¥StartÍÕ¦Length «ExtentRange¥StartÍ ¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.Stacker¯UnqualifiedName§Stacker¬CommentRange¥StartÍî¦Length8©NameRange¥StartÍî¦Length©BodyRange¥StartÍö¦Length «ExtentRange¥StartÍ0¦LengthÌÓ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ0WIDESEAWCS_Model.Models.Platform.ExecutionMethod¯UnqualifiedName¯ExecutionMethod¬CommentRange¥StartͦLength7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍP¦LengthÌØ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformType¯UnqualifiedName¬PlatformType¬CommentRange¥StartÍ4¦Length=©NameRange¥StartÍ6¦Length©BodyRange¥StartÍC¦Length «ExtentRange¥StartÍ{¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.PLCCode¯UnqualifiedName§PLCCode¬CommentRange¥StartÍ\¦LengthG©NameRange¥StartÍ q¦Length©BodyRange¥StartÍ y¦Length «ExtentRange¥StartͦLengthÌÙ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Location¯UnqualifiedName¨Location¬CommentRange¥StartÍ ¦Length7©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ
|
¦Length «ExtentRange¥StartÍ Ó¦LengthÌФKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Capacity¯UnqualifiedName¨Capacity¬CommentRange¥StartÍ
|
¯¦Length7©NameRange¥StartͦLength©BodyRange¥StartÍ£¦Length «ExtentRange¥StartÍ
|
ð¦LengthÌÀ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ'WIDESEAWCS_Model.Models.Platform.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍʦLength «ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ.WIDESEAWCS_Model.Models.Platform.Status.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍÚ¦Length«ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ/WIDESEAWCS_Model.Models.Platform.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥StartÍñ¦Length7©NameRange¥StartÍ ì¦Length©BodyRange¥StartÍ û¦Length «ExtentRange¥StartÍ 2¦LengthÌÖ¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ/WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum¯UnqualifiedName´TaskOutboundTypeEnum¬CommentRange¥Start ¦Length ©NameRange¥StartÍà¦Length©BodyRange¥StartÍú¦LengthÍa«ExtentRange¥StartÍÔ¦LengthͤKind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ8WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.Outbound¯UnqualifiedName¨Outbound¬CommentRange¥StartͦLength5©NameRange¥StartÍa¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍD¦Length+¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ<WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutInventory¯UnqualifiedName¬OutInventory¬CommentRange¥StartÍ|¦Length7©NameRange¥StartÍܦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͽ¦Length1¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutPick¯UnqualifiedName§OutPick¬CommentRange¥StartÍû¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ<¦Length,¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ:WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutQuality¯UnqualifiedNameªOutQuality¬CommentRange¥StartÍu¦Length7©NameRange¥StartÍÕ¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartͶ¦Length/¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutTray¯UnqualifiedName§OutTray¬CommentRange¥StartÍò¦Length8©NameRange¥StartÍT¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ4¦Length-¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ5WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutNG¯UnqualifiedName¥OutNG¬CommentRange¥StartÍn¦Length7©NameRange¥StartÍΦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͯ¦Length*¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.InToOut¯UnqualifiedName§InToOut¬CommentRange¥StartÍæ¦Length7©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'¦Length,¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ"WIDESEAWCS_Core.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥Start̪¦Length©BodyRange¥StarțLengthÍ«ExtentRange¥StarțLengthÍ)¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ5WIDESEAWCS_Core.WebResponseContent.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥StartÌÔ¦Length©BodyRange¥StartÌò¦Length«ExtentRange¥StartÌͦLength1¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ5WIDESEAWCS_Core.WebResponseContent.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ8¦Length*«ExtentRange¥StartͦLengthZ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ)WIDESEAWCS_Core.WebResponseContent.Status¯UnqualifiedName¦Status¬CommentRange¥Start ¦Length ©NameRange¥StartÍx¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍl¦Length ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ'WIDESEAWCS_Core.WebResponseContent.Code¯UnqualifiedName¤Code¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥Startͨ¦Length «ExtentRange¥StartͦLength¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ*WIDESEAWCS_Core.WebResponseContent.Message¯UnqualifiedName§Message¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength©BodyRange¥StartÍצLength «ExtentRange¥StartÍÁ¦Length#¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ'WIDESEAWCS_Core.WebResponseContent.Data¯UnqualifiedName¤Data¬CommentRange¥Start ¦Length ©NameRange¥StartÍþ¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍð¦Length ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ-WIDESEAWCS_Core.WebResponseContent.DevMessage¯UnqualifiedNameªDevMessage¬CommentRange¥Start ¦Length ©NameRange¥StartÍ*¦Length
|
©BodyRange¥StartÍ5¦Length «ExtentRange¥StartͦLength&¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍh¦Length©BodyRange¥StartÍv¦LengthB«ExtentRange¥StartÍN¦Lengthj¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.WebResponseContent.Instance¯UnqualifiedName¨Instance¬CommentRange¥Start ¦Length ©NameRange¥StartÍå¦Length©BodyRange¥StartÍ÷¦LengthB«ExtentRange¥StartÍĦLengthu¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍ]¦Length©BodyRange¥StartͦLength|«ExtentRange¥StartÍC¦LengthÌͤKind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.WebResponseContent.Error¯UnqualifiedName¥Error¬CommentRange¥Start ¦Length ©NameRange¥StartÍ6¦Length©BodyRange¥StartÍ\¦Lengthc«ExtentRange¥StartͦLengthÌ£¤Kind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ"WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO¯UnqualifiedNameªWMSTaskDTO¬CommentRange¥Start ¦Length ©NameRange¥Start̲¦Length
|
©BodyRange¥StarțLengthÍô«ExtentRange¥StartÌ¥¦LengthͤKind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ%WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.Id¯UnqualifiedName¢Id¬CommentRange¥StartÌͦLength:©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartͦLength¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥StartÍ9¦Length6©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartÍy¦Length!¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ-WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.PalletCode¯UnqualifiedNameªPalletCode¬CommentRange¥Startͦ¦Length6©NameRange¥StartÍô¦Length
|
©BodyRange¥StartÍÿ¦Length«ExtentRange¥StartÍæ¦Length'¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.RoadWay¯UnqualifiedName§RoadWay¬CommentRange¥StartͦLength6©NameRange¥StartÍg¦Length©BodyRange¥StartÍo¦Length «ExtentRange¥StartÍY¦Length#¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ+WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskType¯UnqualifiedName¨TaskType¬CommentRange¥StartͦLength7©NameRange¥StartÍÔ¦Length©BodyRange¥StartÍݦLength«ExtentRange¥StartÍɦLength"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ,WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskState¯UnqualifiedName©TaskState¬CommentRange¥StartÍ÷¦Length7©NameRange¥StartÍC¦Length ©BodyRange¥StartÍM¦Length «ExtentRange¥StartÍ8¦Length"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.SourceAddress¯UnqualifiedNameSourceAddress¬CommentRange¥StartÍf¦Length5©NameRange¥Startͳ¦Length ©BodyRange¥StartÍÁ¦Length«ExtentRange¥StartÍ¥¦Length*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥StartÍÛ¦Length5©NameRange¥StartÍ(¦Length ©BodyRange¥StartÍ6¦Length«ExtentRange¥StartͦLength*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ(WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.Grade¯UnqualifiedName¥Grade¬CommentRange¥StartÍP¦Length6©NameRange¥StartͦLength©BodyRange¥StartÍ¡¦Length«ExtentRange¥StartͦLength¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$d57dcdab-b2f9-48d7-a822-6ecda941b98d¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$53efaf0e-3dec-4d41-9db1-736d312245b1©ReferenceÀ¦Traits«IsEphemeral§Content
¢IdÄÎ|bè ©#B¶Ç¼Ñ6ªVisibility«Annotations§Content¤/doc¨Mentions¨Metadata¦Intent£Doc¨GuidanceÀ¥Model«modelFamily¦gpt-4o²DirectedResponders©FunctionsCorrelationIdÙ$53efaf0e-3dec-4d41-9db1-736d312245b1©MessageIdÙ$2acd100b-1f14-408e-9638-81d1e2f98cae§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ {
§ContentÚ³using AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
// ä»JobDataMapä¸è·åä¼ éçåæ°
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
// æ¥è¯¢ææå设å¤çä½ç½®
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
// å¹¶è¡å¤çæ¯ä¸ªå设å¤
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
// è·åææç«ç¹ç®¡çå¨
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
// å¤çå
¥åºè¯·æ±
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// æ£æ¥æ¯å¦åå¨ä»»å¡
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
// å¤çæ°ä»»å¡
|
await HandleNewTaskAsync(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
// è¾åºå¼å¸¸ä¿¡æ¯
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
// }
|
// else
|
// {
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
// }
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// è·åç¼åä¸çç¨æ·ä¿¡æ¯
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
// æé éç¥æ°æ®
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
// åééç¥
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
// è·å设å¤å议详æ
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
// æ¥è¯¢å¹³å°ä¿¡æ¯
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
// 读åä»»å¡å½ä»¤
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public async Task RequestInboundAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
await HandleNewTaskAsync(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æ¥è¯¢è¾é线任å¡ï¼æ ¹æ®è¾é线设å¤åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç åå设å¤ä»£ç ï¼ä»¥åä»»å¡ä¿¡æ¯
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
|
// 妿任å¡ä¸ä¸ºç©ºï¼åæ§è¡ä»¥ä¸æä½
|
if (task != null)
|
{
|
// è·åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
|
// å°ä»»å¡å½ä»¤æ å°å°å½åä»»å¡
|
var taskCommand = MapTaskCommand(task, command);
|
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åè¾é线åéå½ä»¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// 宿è¾é线åéä»»å¡ï¼å¹¶æ´æ°ä»»å¡ç¶æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
|
// 妿任å¡çç®æ å°åæ¯"1020-1"ï¼å忬¡æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç 以å请æ±åºåºä¸ä¸å°åçå设å¤ä»£ç
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡ï¼æ ¹æ®ä»»å¡å·åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// æ£æ¥ä»»å¡ä¸çæçæ¡ç æ¯å¦ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// æ´æ°ä»»å¡çä½ç½®ä¿¡æ¯ï¼å¹¶è·åæ´æ°åçä»»å¡å¯¹è±¡
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
|
// å¦ææ´æ°åçä»»å¡å¯¹è±¡ä¸ä¸ºç©º
|
if (newTask != null)
|
{
|
// è·åä¸ä¸ç®æ å°å
|
var next = newTask.NextAddress;
|
|
// å°æ°ä»»å¡å¯¹è±¡æ å°ä¸ºä»»å¡å½ä»¤å¯¹è±¡
|
var taskCommand = MapTaskCommand(newTask, command);
|
|
// æ¢å¤æ°ä»»å¡å¯¹è±¡çä¸ä¸ç®æ å°å
|
newTask.NextAddress = next;
|
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç 以åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åéä»»å¡å½ä»¤å°å设å¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// æ è®°è¾é线åéä»»å¡å®æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåº
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// 妿任å¡ä¸çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// å建ä¸ä¸ªç©ºçWebResponseContent对象
|
WebResponseContent content = new WebResponseContent();
|
|
// ä¿åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
// å°ä»»å¡æ å°ä¸ºå½ä»¤
|
var taskCommand = MapTaskCommand(task, command);
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// 妿任å¡çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸ä¸è´æè
ä»»å¡å¤æ³¨ä¸º"NG"
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// 设置å½ä»¤çç®æ å°å为NGå°å
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
// 设置å½ä»¤çç®æ å°å为1000
|
taskCommand.TargetAddress = 1000;
|
}
|
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
// åéå½ä»¤å°è¾é线
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
// 设置è¾é线çç®æ å°å为NGå°å
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
// ä»conveyorLineä¸çDeviceProDTOsåè¡¨ä¸æ¥æ¾ç¬¬ä¸ä¸ªç¬¦åæ¡ä»¶çDeviceProDTO对象
|
// æ¡ä»¶æ¯DeviceProParamTypeçäºDeviceCommandï¼ä¸DeviceChildCodeçäºchildDeviceCode
|
// æ¥æ¾ç»ææDeviceProOffsetååºæå
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
|
// å°deviceProçDeviceProAddressæ'.'å岿å符串æ°ç»x
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
|
// å°æ°ç»xçæåä¸ä¸ªå
ç´ æ¿æ¢ä¸ºProtocalDetailValueå 1åçå符串形å¼
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
|
// å°ä¿®æ¹åçæ°ç»xéæ°æ¼æ¥æå符串ï¼ä½ä¸ºæ°çDeviceProAddress
|
string DeviceProAddress = string.Join(".", x);
|
|
// 使ç¨conveyorLineçCommunicator对象çWriteæ¹æ³ï¼å°valueåå
¥æ°çDeviceProAddresså°å
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
// å®ä¹ä¸ä¸ªå¼æ¥æ¹æ³ï¼ç¨äºå¤ç空æçè¿åä»»å¡
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
// å®ä¹ä»»å¡ç±»åæä¸¾åé
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
// æ ¹æ®å¹³å°ç±»å设置任å¡ç±»åæä¸¾
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
// è°ç¨æ£æ¥å¹¶å建任å¡çæ¹æ³
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
// æè·å¹¶å¿½ç¥å¼å¸¸
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
// æ¥è¯¢æ°æ®åºä¸å·²æçä»»å¡
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
// 妿已æä»»å¡æ°éå°äºæå®ç´¢å¼
|
if (tasks.Count < index)
|
{
|
// è°ç¨WMSè·ååºåºä»»å¡
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
// å®ä¹WMS任塿°æ®ä¼ è¾å¯¹è±¡
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMS IPå°åé
ç½®
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
// 妿WMS IPå°åæªé
ç½®ï¼æåºå¼å¸¸
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
// åéHTTP POST请æ±è·å任塿°æ®
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
// è§£æè¿åçJSONæ°æ®
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥è¿åç¶æï¼å¦æå¤±è´¥åè¿å
|
if (!content.Status)
|
return;
|
|
// è§£æä»»å¡æ°æ®
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
// å建并åéä»»å¡
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, 1000, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¥CaretÀ¥StartÍ3Ù£EndÍ;´¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$bd50617f-25fd-45dd-86f2-2c223c8a89d7¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$53efaf0e-3dec-4d41-9db1-736d312245b1©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ É]§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine._communicator¯UnqualifiedName_communicator¬CommentRange¥Start͸¦Length:©NameRange¥StartͦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍü¦Length0¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProDTOs¯UnqualifiedName®_deviceProDTOs¬CommentRange¥StartÍ8¦Length:©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ|¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._heartStatr¯UnqualifiedName«_heartStatr¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ6¦Length ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine._isConnected¯UnqualifiedName¬_isConnected¬CommentRange¥Start ¦Length ©NameRange¥StartÍo¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦Length!¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.Communicator¯UnqualifiedName¬Communicator¬CommentRange¥StartÍÆ¦Length:©NameRange¥StartÍ"¦Length©BodyRange¥StartÍ/¦Length«ExtentRange¥StartÍ
|
¦Length6¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.IsFault¯UnqualifiedName§IsFault¬CommentRange¥StartÍ m¦Length8©NameRange¥StartÍ »¦Length©BodyRange¥StartÍ Ã¦Length«ExtentRange¥StartÍ ¯¦Length¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.IsConnected¯UnqualifiedName«IsConnected¬CommentRange¥StartÍ Ø¦Length:©NameRange¥StartÍ
|
(¦Length©BodyRange¥StartÍ
|
4¦Length+«ExtentRange¥StartÍ
|
¦LengthD¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.CommonConveyorLine.Status¯UnqualifiedName¦Status¬CommentRange¥StartÍ
|
l¦Length7©NameRange¥StartÍ
|
Á¦Length©BodyRange¥StartÍ
|
ȦLength«ExtentRange¥StartÍ
|
¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ1WIDESEAWCS_QuartzJob.CommonConveyorLine.Heartbeat¯UnqualifiedName©Heartbeat¬CommentRange¥StartÍY¦Length9©NameRange¥Startͨ¦Length ©BodyRange¥Startͽ¦Length>«ExtentRange¥StartͦLength_¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.Dispose¯UnqualifiedName§Dispose¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+~¦Length©BodyRange¥StartÍ+¦Length|«ExtentRange¥StartÍ+r¦Length̤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙJWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.InteractiveSignal¯UnqualifiedName±InteractiveSignal¬CommentRange¥Start ¦Length ©NameRange¥StartÍP¦Length©BodyRange¥StartÍb¦Length «ExtentRange¥StartÍB¦Length-¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.Barcode¯UnqualifiedName§Barcode¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥StartÍ«¦Length «ExtentRange¥StartÍ{¦Length=¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Exists¯UnqualifiedName¦Exists¬CommentRange¥StartÌá¦LengthÌ©NameRange¥StartÍz¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍu¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ.WIDESEAWCS_Core.Caches.ICacheService.AddObject¯UnqualifiedName©AddObject¬CommentRange¥StartͦLengthÍQ©NameRange¥StartÍù¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthY¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Add¯UnqualifiedName£Add¬CommentRange¥Start ¦Length ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍY¦LengthS¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartͦLengthÌ
©NameRange¥Startͳ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ®¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartÍÒ¦LengthÌ©NameRange¥StartÍj¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍe¦Length&¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartͦLengthÌ
©NameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦Length%¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartÍW¦LengthÌ
©NameRange¥StartÍí¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦Length¤Kind ¨FileNameÙvD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoRepository\IDt_StationManagerRepository.cs²FullyQualifiedNameÙ;WIDESEAWCS_BasicInfoRepository.IDt_StationManagerRepository¯UnqualifiedName¼IDt_StationManagerRepository¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍâ¦Length
|
«ExtentRange¥StartͦLength^¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙ5WIDESEAWCS_BasicInfoService.IDt_StationManagerService¯UnqualifiedName¹IDt_StationManagerService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ!¦Length©BodyRange¥StartÍ^¦LengthÍ«ExtentRange¥StartͦLengthÍh¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetAllStationByDeviceCode¯UnqualifiedName¹GetAllStationByDeviceCode¬CommentRange¥StartÍi¦LengthÌ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthE¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetStationInfoByChildCode¯UnqualifiedName¹GetStationInfoByChildCode¬CommentRange¥StartÍ_¦Length̽©NameRange¥StartÍ8¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ.WIDESEAWCS_SignalR.INoticeService.UserLoginOut¯UnqualifiedName¬UserLoginOut¬CommentRange¥StarțLengthÌÙ©NameRange¥StartÍg¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦LengthI¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ0WIDESEAWCS_SignalR.INoticeService.UpdatePassWord¯UnqualifiedName®UpdatePassWord¬CommentRange¥Startͳ¦LengthÌÛ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ+WIDESEAWCS_SignalR.INoticeService.NewMesage¯UnqualifiedName©NewMesage¬CommentRange¥StartÍç¦LengthÌØ©NameRange¥StartÍʦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍŦLengthM¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ-WIDESEAWCS_SignalR.INoticeService.StackerData¯UnqualifiedName«StackerData¬CommentRange¥StartͦLengthÌØ©NameRange¥StartÍý¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍø¦LengthF¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ProcessParameters\IPlatFormRepository.cs²FullyQualifiedNameÙ1WIDESEAWCS_IProcessRepository.IPlatFormRepository¯UnqualifiedName³IPlatFormRepository¬CommentRange¥Start ¦Length ©NameRange¥Start=¦Length©BodyRange¥Startj¦Length«ExtentRange¥Start,¦LengthB¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.Service.IRouterService.QueryNextRoutes¯UnqualifiedName¯QueryNextRoutes¬CommentRange¥StartÍr¦LengthÌשNameRange¥StartÍc¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍS¦LengthB¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ>WIDESEAWCS_QuartzJob.Service.IRouterService.GetAllWholeRouters¯UnqualifiedName²GetAllWholeRouters¬CommentRange¥StartͦLengtho©NameRange¥StartÍ%¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength"¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.Service.IRouterService.AddRouters¯UnqualifiedNameªAddRouters¬CommentRange¥Start ¦Length ©NameRange¥StartÍY¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartÍF¦LengthR¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ-WIDESEAWCS_ISystemServices.ISys_ConfigService¯UnqualifiedName²ISys_ConfigService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¦Length©BodyRange¥StartÍc¦LengthÍ«ExtentRange¥StartÍ#¦LengthÍäKind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ISystemServices.ISys_ConfigService.GetAll¯UnqualifiedName¦GetAll¬CommentRange¥StartÍn¦Length\©NameRange¥StartÍå¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÔ¦Length¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙBWIDESEAWCS_ISystemServices.ISys_ConfigService.GetConfigsByCategory¯UnqualifiedName´GetConfigsByCategory¬CommentRange¥StartÍú¦LengthÌ©NameRange¥StartÍ¢¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength7¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ISystemServices.ISys_ConfigService.GetByConfigKey¯UnqualifiedName®GetByConfigKey¬CommentRange¥StartÍÔ¦LengthÌÄ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¢¦Length=¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoRepository\ITaskRepository.cs²FullyQualifiedNameÙ.WIDESEAWCS_ITaskInfoRepository.ITaskRepository¯UnqualifiedName¯ITaskRepository¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ˦Length
|
«ExtentRange¥StartͦLengthG¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.TaskOrderBy¯UnqualifiedName«TaskOrderBy¬CommentRange¥StartÍ}¦Length7©NameRange¥StartÍå¦Length©BodyRange¥StartÍñ¦Length «ExtentRange¥Start;¦Length@¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.TaskInboundTypes¯UnqualifiedName°TaskInboundTypes¬CommentRange¥StartÍ
|
¦Length;©NameRange¥StartÍ`¦Length©BodyRange¥StartÍq¦Length«ExtentRange¥StartÍO¦Length*¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ:WIDESEAWCS_ITaskInfoService.ITaskService.TaskOutboundTypes¯UnqualifiedName±TaskOutboundTypes¬CommentRange¥StartÍ
¦Length;©NameRange¥StartÍÛ¦Length©BodyRange¥StartÍí¦Length«ExtentRange¥StartÍʦLength+¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.RequestOutTaskToBZAsync¯UnqualifiedName·RequestOutTaskToBZAsync¬CommentRange¥StartÍ ¦LengthÌ©NameRange¥StartÍ Â¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ©¦LengthS¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍ
|
¦LengthÌΩNameRange¥StartÍ
|
ù¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
à¦Length̤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍo¦LengthÌÌ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦LengthZ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTasks¯UnqualifiedName¹QueryStackerCraneOutTasks¬CommentRange¥StartÍô¦LengthÌö©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthW¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.PlatCode¯UnqualifiedName¨PlatCode¬CommentRange¥StartÍu¦LengthC©NameRange¥StartÍ¡¦Length©BodyRange¥Startͪ¦Length «ExtentRange¥StartͦLengthÌõ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformName¯UnqualifiedName¬PlatformName¬CommentRange¥StartÍæLength@©NameRange¥StartÍȦLength©BodyRange¥StartÍÕ¦Length «ExtentRange¥StartÍ ¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.Stacker¯UnqualifiedName§Stacker¬CommentRange¥StartÍî¦Length8©NameRange¥StartÍî¦Length©BodyRange¥StartÍö¦Length «ExtentRange¥StartÍ0¦LengthÌÓ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ0WIDESEAWCS_Model.Models.Platform.ExecutionMethod¯UnqualifiedName¯ExecutionMethod¬CommentRange¥StartͦLength7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍP¦LengthÌØ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformType¯UnqualifiedName¬PlatformType¬CommentRange¥StartÍ4¦Length=©NameRange¥StartÍ6¦Length©BodyRange¥StartÍC¦Length «ExtentRange¥StartÍ{¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.PLCCode¯UnqualifiedName§PLCCode¬CommentRange¥StartÍ\¦LengthG©NameRange¥StartÍ q¦Length©BodyRange¥StartÍ y¦Length «ExtentRange¥StartͦLengthÌÙ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Location¯UnqualifiedName¨Location¬CommentRange¥StartÍ ¦Length7©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ
|
¦Length «ExtentRange¥StartÍ Ó¦LengthÌФKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Capacity¯UnqualifiedName¨Capacity¬CommentRange¥StartÍ
|
¯¦Length7©NameRange¥StartͦLength©BodyRange¥StartÍ£¦Length «ExtentRange¥StartÍ
|
ð¦LengthÌÀ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ'WIDESEAWCS_Model.Models.Platform.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍʦLength «ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ.WIDESEAWCS_Model.Models.Platform.Status.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍÚ¦Length«ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ/WIDESEAWCS_Model.Models.Platform.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥StartÍñ¦Length7©NameRange¥StartÍ ì¦Length©BodyRange¥StartÍ û¦Length «ExtentRange¥StartÍ 2¦LengthÌÖ¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ/WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum¯UnqualifiedName´TaskOutboundTypeEnum¬CommentRange¥Start ¦Length ©NameRange¥StartÍà¦Length©BodyRange¥StartÍú¦LengthÍa«ExtentRange¥StartÍÔ¦LengthͤKind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ8WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.Outbound¯UnqualifiedName¨Outbound¬CommentRange¥StartͦLength5©NameRange¥StartÍa¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍD¦Length+¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ<WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutInventory¯UnqualifiedName¬OutInventory¬CommentRange¥StartÍ|¦Length7©NameRange¥StartÍܦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͽ¦Length1¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutPick¯UnqualifiedName§OutPick¬CommentRange¥StartÍû¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ<¦Length,¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ:WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutQuality¯UnqualifiedNameªOutQuality¬CommentRange¥StartÍu¦Length7©NameRange¥StartÍÕ¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartͶ¦Length/¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutTray¯UnqualifiedName§OutTray¬CommentRange¥StartÍò¦Length8©NameRange¥StartÍT¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ4¦Length-¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ5WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutNG¯UnqualifiedName¥OutNG¬CommentRange¥StartÍn¦Length7©NameRange¥StartÍΦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͯ¦Length*¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.InToOut¯UnqualifiedName§InToOut¬CommentRange¥StartÍæ¦Length7©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'¦Length,¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ"WIDESEAWCS_Core.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥Start̪¦Length©BodyRange¥StarțLengthÍ«ExtentRange¥StarțLengthÍ)¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ5WIDESEAWCS_Core.WebResponseContent.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥StartÌÔ¦Length©BodyRange¥StartÌò¦Length«ExtentRange¥StartÌͦLength1¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ5WIDESEAWCS_Core.WebResponseContent.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ8¦Length*«ExtentRange¥StartͦLengthZ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ)WIDESEAWCS_Core.WebResponseContent.Status¯UnqualifiedName¦Status¬CommentRange¥Start ¦Length ©NameRange¥StartÍx¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍl¦Length ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ'WIDESEAWCS_Core.WebResponseContent.Code¯UnqualifiedName¤Code¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥Startͨ¦Length «ExtentRange¥StartͦLength¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ*WIDESEAWCS_Core.WebResponseContent.Message¯UnqualifiedName§Message¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength©BodyRange¥StartÍצLength «ExtentRange¥StartÍÁ¦Length#¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ'WIDESEAWCS_Core.WebResponseContent.Data¯UnqualifiedName¤Data¬CommentRange¥Start ¦Length ©NameRange¥StartÍþ¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍð¦Length ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ-WIDESEAWCS_Core.WebResponseContent.DevMessage¯UnqualifiedNameªDevMessage¬CommentRange¥Start ¦Length ©NameRange¥StartÍ*¦Length
|
©BodyRange¥StartÍ5¦Length «ExtentRange¥StartͦLength&¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍh¦Length©BodyRange¥StartÍv¦LengthB«ExtentRange¥StartÍN¦Lengthj¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.WebResponseContent.Instance¯UnqualifiedName¨Instance¬CommentRange¥Start ¦Length ©NameRange¥StartÍå¦Length©BodyRange¥StartÍ÷¦LengthB«ExtentRange¥StartÍĦLengthu¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍ]¦Length©BodyRange¥StartͦLength|«ExtentRange¥StartÍC¦LengthÌͤKind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.WebResponseContent.Error¯UnqualifiedName¥Error¬CommentRange¥Start ¦Length ©NameRange¥StartÍ6¦Length©BodyRange¥StartÍ\¦Lengthc«ExtentRange¥StartͦLengthÌ£¤Kind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ"WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO¯UnqualifiedNameªWMSTaskDTO¬CommentRange¥Start ¦Length ©NameRange¥Start̲¦Length
|
©BodyRange¥StarțLengthÍô«ExtentRange¥StartÌ¥¦LengthͤKind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ%WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.Id¯UnqualifiedName¢Id¬CommentRange¥StartÌͦLength:©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartͦLength¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥StartÍ9¦Length6©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartÍy¦Length!¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ-WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.PalletCode¯UnqualifiedNameªPalletCode¬CommentRange¥Startͦ¦Length6©NameRange¥StartÍô¦Length
|
©BodyRange¥StartÍÿ¦Length«ExtentRange¥StartÍæ¦Length'¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.RoadWay¯UnqualifiedName§RoadWay¬CommentRange¥StartͦLength6©NameRange¥StartÍg¦Length©BodyRange¥StartÍo¦Length «ExtentRange¥StartÍY¦Length#¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ+WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskType¯UnqualifiedName¨TaskType¬CommentRange¥StartͦLength7©NameRange¥StartÍÔ¦Length©BodyRange¥StartÍݦLength«ExtentRange¥StartÍɦLength"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ,WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskState¯UnqualifiedName©TaskState¬CommentRange¥StartÍ÷¦Length7©NameRange¥StartÍC¦Length ©BodyRange¥StartÍM¦Length «ExtentRange¥StartÍ8¦Length"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.SourceAddress¯UnqualifiedNameSourceAddress¬CommentRange¥StartÍf¦Length5©NameRange¥Startͳ¦Length ©BodyRange¥StartÍÁ¦Length«ExtentRange¥StartÍ¥¦Length*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥StartÍÛ¦Length5©NameRange¥StartÍ(¦Length ©BodyRange¥StartÍ6¦Length«ExtentRange¥StartͦLength*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ(WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.Grade¯UnqualifiedName¥Grade¬CommentRange¥StartÍP¦Length6©NameRange¥StartͦLength©BodyRange¥StartÍ¡¦Length«ExtentRange¥StartͦLength¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$d57dcdab-b2f9-48d7-a822-6ecda941b98d¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$53efaf0e-3dec-4d41-9db1-736d312245b1©ReferenceÀ¦Traits«IsEphemeral§Content¢IdÄÖ;ó£:SÈG½t³ÀâéªVisibility«Annotations§ContentÚÁ/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public async Task RequestInboundAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
await HandleNewTaskAsync(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
¨Language¢C#¬IsRefinementäFileÙ9WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs§OptionsÀ¨Commands
¢IdÄàfÿkÙõhM»cî8ªVisibility«Annotations§Content°
|
[RESPONSE END]¨Mentions¨Metadata©SessionIdÙ$0fd52b0d-b36f-4668-871f-5e1c1d23e2e3¢IdÙ4Microsoft.VisualStudio.Conversations.Chat.HelpWindow¦Author¤Name®GitHub Copilot¤Icon¤GuidÙ$4515b9bd-70a1-45fa-9545-d4536417c596¢Id§Service¤NameÙ7Microsoft.VisualStudio.Copilot.CopilotChatAgentProvider§Version£0.3¦Status©FollowUps CorrelationIdÙ$d32f80e6-73cb-4360-9d5e-df77bb4bd5e5©MessageIdÙ$095e7675-6ec0-4cf1-8dfe-2ef918da9f40§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ {
§ContentÚ³using AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
// ä»JobDataMapä¸è·åä¼ éçåæ°
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
// æ¥è¯¢ææå设å¤çä½ç½®
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
// å¹¶è¡å¤çæ¯ä¸ªå设å¤
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
// è·åææç«ç¹ç®¡çå¨
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
// å¤çå
¥åºè¯·æ±
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// æ£æ¥æ¯å¦åå¨ä»»å¡
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
// å¤çæ°ä»»å¡
|
await HandleNewTaskAsync(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
// è¾åºå¼å¸¸ä¿¡æ¯
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
// }
|
// else
|
// {
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
// }
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// è·åç¼åä¸çç¨æ·ä¿¡æ¯
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
// æé éç¥æ°æ®
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
// åééç¥
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
// è·å设å¤å议详æ
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
// æ¥è¯¢å¹³å°ä¿¡æ¯
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
// 读åä»»å¡å½ä»¤
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public async Task RequestInboundAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
await HandleNewTaskAsync(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æ¥è¯¢è¾é线任å¡ï¼æ ¹æ®è¾é线设å¤åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç åå设å¤ä»£ç ï¼ä»¥åä»»å¡ä¿¡æ¯
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
|
// 妿任å¡ä¸ä¸ºç©ºï¼åæ§è¡ä»¥ä¸æä½
|
if (task != null)
|
{
|
// è·åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
|
// å°ä»»å¡å½ä»¤æ å°å°å½åä»»å¡
|
var taskCommand = MapTaskCommand(task, command);
|
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åè¾é线åéå½ä»¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// 宿è¾é线åéä»»å¡ï¼å¹¶æ´æ°ä»»å¡ç¶æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
|
// 妿任å¡çç®æ å°åæ¯"1020-1"ï¼å忬¡æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç 以å请æ±åºåºä¸ä¸å°åçå设å¤ä»£ç
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡ï¼æ ¹æ®ä»»å¡å·åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// æ£æ¥ä»»å¡ä¸çæçæ¡ç æ¯å¦ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// æ´æ°ä»»å¡çä½ç½®ä¿¡æ¯ï¼å¹¶è·åæ´æ°åçä»»å¡å¯¹è±¡
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
|
// å¦ææ´æ°åçä»»å¡å¯¹è±¡ä¸ä¸ºç©º
|
if (newTask != null)
|
{
|
// è·åä¸ä¸ç®æ å°å
|
var next = newTask.NextAddress;
|
|
// å°æ°ä»»å¡å¯¹è±¡æ å°ä¸ºä»»å¡å½ä»¤å¯¹è±¡
|
var taskCommand = MapTaskCommand(newTask, command);
|
|
// æ¢å¤æ°ä»»å¡å¯¹è±¡çä¸ä¸ç®æ å°å
|
newTask.NextAddress = next;
|
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç 以åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åéä»»å¡å½ä»¤å°å设å¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// æ è®°è¾é线åéä»»å¡å®æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåº
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// 妿任å¡ä¸çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// å建ä¸ä¸ªç©ºçWebResponseContent对象
|
WebResponseContent content = new WebResponseContent();
|
|
// ä¿åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
// å°ä»»å¡æ å°ä¸ºå½ä»¤
|
var taskCommand = MapTaskCommand(task, command);
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// 妿任å¡çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸ä¸è´æè
ä»»å¡å¤æ³¨ä¸º"NG"
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// 设置å½ä»¤çç®æ å°å为NGå°å
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
// 设置å½ä»¤çç®æ å°å为1000
|
taskCommand.TargetAddress = 1000;
|
}
|
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
// åéå½ä»¤å°è¾é线
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
// 设置è¾é线çç®æ å°å为NGå°å
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
// ä»conveyorLineä¸çDeviceProDTOsåè¡¨ä¸æ¥æ¾ç¬¬ä¸ä¸ªç¬¦åæ¡ä»¶çDeviceProDTO对象
|
// æ¡ä»¶æ¯DeviceProParamTypeçäºDeviceCommandï¼ä¸DeviceChildCodeçäºchildDeviceCode
|
// æ¥æ¾ç»ææDeviceProOffsetååºæå
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
|
// å°deviceProçDeviceProAddressæ'.'å岿å符串æ°ç»x
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
|
// å°æ°ç»xçæåä¸ä¸ªå
ç´ æ¿æ¢ä¸ºProtocalDetailValueå 1åçå符串形å¼
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
|
// å°ä¿®æ¹åçæ°ç»xéæ°æ¼æ¥æå符串ï¼ä½ä¸ºæ°çDeviceProAddress
|
string DeviceProAddress = string.Join(".", x);
|
|
// 使ç¨conveyorLineçCommunicator对象çWriteæ¹æ³ï¼å°valueåå
¥æ°çDeviceProAddresså°å
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
// å®ä¹ä¸ä¸ªå¼æ¥æ¹æ³ï¼ç¨äºå¤ç空æçè¿åä»»å¡
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
// å®ä¹ä»»å¡ç±»åæä¸¾åé
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
// æ ¹æ®å¹³å°ç±»å设置任å¡ç±»åæä¸¾
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
// è°ç¨æ£æ¥å¹¶å建任å¡çæ¹æ³
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
// æè·å¹¶å¿½ç¥å¼å¸¸
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
// æ¥è¯¢æ°æ®åºä¸å·²æçä»»å¡
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
// 妿已æä»»å¡æ°éå°äºæå®ç´¢å¼
|
if (tasks.Count < index)
|
{
|
// è°ç¨WMSè·ååºåºä»»å¡
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
// å®ä¹WMS任塿°æ®ä¼ è¾å¯¹è±¡
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMS IPå°åé
ç½®
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
// 妿WMS IPå°åæªé
ç½®ï¼æåºå¼å¸¸
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
// åéHTTP POST请æ±è·å任塿°æ®
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
// è§£æè¿åçJSONæ°æ®
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥è¿åç¶æï¼å¦æå¤±è´¥åè¿å
|
if (!content.Status)
|
return;
|
|
// è§£æä»»å¡æ°æ®
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
// å建并åéä»»å¡
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, 1000, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¥CaretÀ¥StartÍ3Ù£EndÍ;´¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$7e0589e3-6f95-424f-8c41-9db4bb170834¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$d32f80e6-73cb-4360-9d5e-df77bb4bd5e5©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ É]§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine._communicator¯UnqualifiedName_communicator¬CommentRange¥Start͸¦Length:©NameRange¥StartͦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍü¦Length0¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProDTOs¯UnqualifiedName®_deviceProDTOs¬CommentRange¥StartÍ8¦Length:©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ|¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._heartStatr¯UnqualifiedName«_heartStatr¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ6¦Length ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine._isConnected¯UnqualifiedName¬_isConnected¬CommentRange¥Start ¦Length ©NameRange¥StartÍo¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦Length!¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.Communicator¯UnqualifiedName¬Communicator¬CommentRange¥StartÍÆ¦Length:©NameRange¥StartÍ"¦Length©BodyRange¥StartÍ/¦Length«ExtentRange¥StartÍ
|
¦Length6¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.IsFault¯UnqualifiedName§IsFault¬CommentRange¥StartÍ m¦Length8©NameRange¥StartÍ »¦Length©BodyRange¥StartÍ Ã¦Length«ExtentRange¥StartÍ ¯¦Length¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.IsConnected¯UnqualifiedName«IsConnected¬CommentRange¥StartÍ Ø¦Length:©NameRange¥StartÍ
|
(¦Length©BodyRange¥StartÍ
|
4¦Length+«ExtentRange¥StartÍ
|
¦LengthD¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.CommonConveyorLine.Status¯UnqualifiedName¦Status¬CommentRange¥StartÍ
|
l¦Length7©NameRange¥StartÍ
|
Á¦Length©BodyRange¥StartÍ
|
ȦLength«ExtentRange¥StartÍ
|
¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ1WIDESEAWCS_QuartzJob.CommonConveyorLine.Heartbeat¯UnqualifiedName©Heartbeat¬CommentRange¥StartÍY¦Length9©NameRange¥Startͨ¦Length ©BodyRange¥Startͽ¦Length>«ExtentRange¥StartͦLength_¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.Dispose¯UnqualifiedName§Dispose¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+~¦Length©BodyRange¥StartÍ+¦Length|«ExtentRange¥StartÍ+r¦Length̤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙJWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.InteractiveSignal¯UnqualifiedName±InteractiveSignal¬CommentRange¥Start ¦Length ©NameRange¥StartÍP¦Length©BodyRange¥StartÍb¦Length «ExtentRange¥StartÍB¦Length-¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.Barcode¯UnqualifiedName§Barcode¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥StartÍ«¦Length «ExtentRange¥StartÍ{¦Length=¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Exists¯UnqualifiedName¦Exists¬CommentRange¥StartÌá¦LengthÌ©NameRange¥StartÍz¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍu¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ.WIDESEAWCS_Core.Caches.ICacheService.AddObject¯UnqualifiedName©AddObject¬CommentRange¥StartͦLengthÍQ©NameRange¥StartÍù¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthY¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Add¯UnqualifiedName£Add¬CommentRange¥Start ¦Length ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍY¦LengthS¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartͦLengthÌ
©NameRange¥Startͳ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ®¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartÍÒ¦LengthÌ©NameRange¥StartÍj¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍe¦Length&¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartͦLengthÌ
©NameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦Length%¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartÍW¦LengthÌ
©NameRange¥StartÍí¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦Length¤Kind ¨FileNameÙvD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoRepository\IDt_StationManagerRepository.cs²FullyQualifiedNameÙ;WIDESEAWCS_BasicInfoRepository.IDt_StationManagerRepository¯UnqualifiedName¼IDt_StationManagerRepository¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍâ¦Length
|
«ExtentRange¥StartͦLength^¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙ5WIDESEAWCS_BasicInfoService.IDt_StationManagerService¯UnqualifiedName¹IDt_StationManagerService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ!¦Length©BodyRange¥StartÍ^¦LengthÍ«ExtentRange¥StartͦLengthÍh¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetAllStationByDeviceCode¯UnqualifiedName¹GetAllStationByDeviceCode¬CommentRange¥StartÍi¦LengthÌ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthE¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetStationInfoByChildCode¯UnqualifiedName¹GetStationInfoByChildCode¬CommentRange¥StartÍ_¦Length̽©NameRange¥StartÍ8¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ.WIDESEAWCS_SignalR.INoticeService.UserLoginOut¯UnqualifiedName¬UserLoginOut¬CommentRange¥StarțLengthÌÙ©NameRange¥StartÍg¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦LengthI¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ0WIDESEAWCS_SignalR.INoticeService.UpdatePassWord¯UnqualifiedName®UpdatePassWord¬CommentRange¥Startͳ¦LengthÌÛ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ+WIDESEAWCS_SignalR.INoticeService.NewMesage¯UnqualifiedName©NewMesage¬CommentRange¥StartÍç¦LengthÌØ©NameRange¥StartÍʦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍŦLengthM¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ-WIDESEAWCS_SignalR.INoticeService.StackerData¯UnqualifiedName«StackerData¬CommentRange¥StartͦLengthÌØ©NameRange¥StartÍý¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍø¦LengthF¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ProcessParameters\IPlatFormRepository.cs²FullyQualifiedNameÙ1WIDESEAWCS_IProcessRepository.IPlatFormRepository¯UnqualifiedName³IPlatFormRepository¬CommentRange¥Start ¦Length ©NameRange¥Start=¦Length©BodyRange¥Startj¦Length«ExtentRange¥Start,¦LengthB¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.Service.IRouterService.QueryNextRoutes¯UnqualifiedName¯QueryNextRoutes¬CommentRange¥StartÍr¦LengthÌשNameRange¥StartÍc¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍS¦LengthB¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ>WIDESEAWCS_QuartzJob.Service.IRouterService.GetAllWholeRouters¯UnqualifiedName²GetAllWholeRouters¬CommentRange¥StartͦLengtho©NameRange¥StartÍ%¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength"¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.Service.IRouterService.AddRouters¯UnqualifiedNameªAddRouters¬CommentRange¥Start ¦Length ©NameRange¥StartÍY¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartÍF¦LengthR¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ-WIDESEAWCS_ISystemServices.ISys_ConfigService¯UnqualifiedName²ISys_ConfigService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¦Length©BodyRange¥StartÍc¦LengthÍ«ExtentRange¥StartÍ#¦LengthÍäKind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ISystemServices.ISys_ConfigService.GetAll¯UnqualifiedName¦GetAll¬CommentRange¥StartÍn¦Length\©NameRange¥StartÍå¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÔ¦Length¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙBWIDESEAWCS_ISystemServices.ISys_ConfigService.GetConfigsByCategory¯UnqualifiedName´GetConfigsByCategory¬CommentRange¥StartÍú¦LengthÌ©NameRange¥StartÍ¢¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength7¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ISystemServices.ISys_ConfigService.GetByConfigKey¯UnqualifiedName®GetByConfigKey¬CommentRange¥StartÍÔ¦LengthÌÄ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¢¦Length=¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoRepository\ITaskRepository.cs²FullyQualifiedNameÙ.WIDESEAWCS_ITaskInfoRepository.ITaskRepository¯UnqualifiedName¯ITaskRepository¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ˦Length
|
«ExtentRange¥StartͦLengthG¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.TaskOrderBy¯UnqualifiedName«TaskOrderBy¬CommentRange¥StartÍ}¦Length7©NameRange¥StartÍå¦Length©BodyRange¥StartÍñ¦Length «ExtentRange¥Start;¦Length@¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.TaskInboundTypes¯UnqualifiedName°TaskInboundTypes¬CommentRange¥StartÍ
|
¦Length;©NameRange¥StartÍ`¦Length©BodyRange¥StartÍq¦Length«ExtentRange¥StartÍO¦Length*¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ:WIDESEAWCS_ITaskInfoService.ITaskService.TaskOutboundTypes¯UnqualifiedName±TaskOutboundTypes¬CommentRange¥StartÍ
¦Length;©NameRange¥StartÍÛ¦Length©BodyRange¥StartÍí¦Length«ExtentRange¥StartÍʦLength+¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.RequestOutTaskToBZAsync¯UnqualifiedName·RequestOutTaskToBZAsync¬CommentRange¥StartÍ ¦LengthÌ©NameRange¥StartÍ Â¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ©¦LengthS¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍ
|
¦LengthÌΩNameRange¥StartÍ
|
ù¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
à¦Length̤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍo¦LengthÌÌ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦LengthZ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTasks¯UnqualifiedName¹QueryStackerCraneOutTasks¬CommentRange¥StartÍô¦LengthÌö©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthW¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.PlatCode¯UnqualifiedName¨PlatCode¬CommentRange¥StartÍu¦LengthC©NameRange¥StartÍ¡¦Length©BodyRange¥Startͪ¦Length «ExtentRange¥StartͦLengthÌõ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformName¯UnqualifiedName¬PlatformName¬CommentRange¥StartÍæLength@©NameRange¥StartÍȦLength©BodyRange¥StartÍÕ¦Length «ExtentRange¥StartÍ ¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.Stacker¯UnqualifiedName§Stacker¬CommentRange¥StartÍî¦Length8©NameRange¥StartÍî¦Length©BodyRange¥StartÍö¦Length «ExtentRange¥StartÍ0¦LengthÌÓ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ0WIDESEAWCS_Model.Models.Platform.ExecutionMethod¯UnqualifiedName¯ExecutionMethod¬CommentRange¥StartͦLength7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍP¦LengthÌØ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformType¯UnqualifiedName¬PlatformType¬CommentRange¥StartÍ4¦Length=©NameRange¥StartÍ6¦Length©BodyRange¥StartÍC¦Length «ExtentRange¥StartÍ{¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.PLCCode¯UnqualifiedName§PLCCode¬CommentRange¥StartÍ\¦LengthG©NameRange¥StartÍ q¦Length©BodyRange¥StartÍ y¦Length «ExtentRange¥StartͦLengthÌÙ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Location¯UnqualifiedName¨Location¬CommentRange¥StartÍ ¦Length7©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ
|
¦Length «ExtentRange¥StartÍ Ó¦LengthÌФKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Capacity¯UnqualifiedName¨Capacity¬CommentRange¥StartÍ
|
¯¦Length7©NameRange¥StartͦLength©BodyRange¥StartÍ£¦Length «ExtentRange¥StartÍ
|
ð¦LengthÌÀ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ'WIDESEAWCS_Model.Models.Platform.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍʦLength «ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ.WIDESEAWCS_Model.Models.Platform.Status.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍÚ¦Length«ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ/WIDESEAWCS_Model.Models.Platform.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥StartÍñ¦Length7©NameRange¥StartÍ ì¦Length©BodyRange¥StartÍ û¦Length «ExtentRange¥StartÍ 2¦LengthÌÖ¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ/WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum¯UnqualifiedName´TaskOutboundTypeEnum¬CommentRange¥Start ¦Length ©NameRange¥StartÍà¦Length©BodyRange¥StartÍú¦LengthÍa«ExtentRange¥StartÍÔ¦LengthͤKind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ8WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.Outbound¯UnqualifiedName¨Outbound¬CommentRange¥StartͦLength5©NameRange¥StartÍa¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍD¦Length+¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ<WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutInventory¯UnqualifiedName¬OutInventory¬CommentRange¥StartÍ|¦Length7©NameRange¥StartÍܦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͽ¦Length1¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutPick¯UnqualifiedName§OutPick¬CommentRange¥StartÍû¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ<¦Length,¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ:WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutQuality¯UnqualifiedNameªOutQuality¬CommentRange¥StartÍu¦Length7©NameRange¥StartÍÕ¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartͶ¦Length/¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutTray¯UnqualifiedName§OutTray¬CommentRange¥StartÍò¦Length8©NameRange¥StartÍT¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ4¦Length-¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ5WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutNG¯UnqualifiedName¥OutNG¬CommentRange¥StartÍn¦Length7©NameRange¥StartÍΦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͯ¦Length*¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.InToOut¯UnqualifiedName§InToOut¬CommentRange¥StartÍæ¦Length7©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'¦Length,¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ"WIDESEAWCS_Core.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥Start̪¦Length©BodyRange¥StarțLengthÍ«ExtentRange¥StarțLengthÍ)¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ5WIDESEAWCS_Core.WebResponseContent.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥StartÌÔ¦Length©BodyRange¥StartÌò¦Length«ExtentRange¥StartÌͦLength1¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ5WIDESEAWCS_Core.WebResponseContent.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ8¦Length*«ExtentRange¥StartͦLengthZ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ)WIDESEAWCS_Core.WebResponseContent.Status¯UnqualifiedName¦Status¬CommentRange¥Start ¦Length ©NameRange¥StartÍx¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍl¦Length ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ'WIDESEAWCS_Core.WebResponseContent.Code¯UnqualifiedName¤Code¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥Startͨ¦Length «ExtentRange¥StartͦLength¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ*WIDESEAWCS_Core.WebResponseContent.Message¯UnqualifiedName§Message¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength©BodyRange¥StartÍצLength «ExtentRange¥StartÍÁ¦Length#¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ'WIDESEAWCS_Core.WebResponseContent.Data¯UnqualifiedName¤Data¬CommentRange¥Start ¦Length ©NameRange¥StartÍþ¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍð¦Length ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ-WIDESEAWCS_Core.WebResponseContent.DevMessage¯UnqualifiedNameªDevMessage¬CommentRange¥Start ¦Length ©NameRange¥StartÍ*¦Length
|
©BodyRange¥StartÍ5¦Length «ExtentRange¥StartͦLength&¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍh¦Length©BodyRange¥StartÍv¦LengthB«ExtentRange¥StartÍN¦Lengthj¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.WebResponseContent.Instance¯UnqualifiedName¨Instance¬CommentRange¥Start ¦Length ©NameRange¥StartÍå¦Length©BodyRange¥StartÍ÷¦LengthB«ExtentRange¥StartÍĦLengthu¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍ]¦Length©BodyRange¥StartͦLength|«ExtentRange¥StartÍC¦LengthÌͤKind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.WebResponseContent.Error¯UnqualifiedName¥Error¬CommentRange¥Start ¦Length ©NameRange¥StartÍ6¦Length©BodyRange¥StartÍ\¦Lengthc«ExtentRange¥StartͦLengthÌ£¤Kind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ"WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO¯UnqualifiedNameªWMSTaskDTO¬CommentRange¥Start ¦Length ©NameRange¥Start̲¦Length
|
©BodyRange¥StarțLengthÍô«ExtentRange¥StartÌ¥¦LengthͤKind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ%WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.Id¯UnqualifiedName¢Id¬CommentRange¥StartÌͦLength:©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartͦLength¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥StartÍ9¦Length6©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartÍy¦Length!¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ-WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.PalletCode¯UnqualifiedNameªPalletCode¬CommentRange¥Startͦ¦Length6©NameRange¥StartÍô¦Length
|
©BodyRange¥StartÍÿ¦Length«ExtentRange¥StartÍæ¦Length'¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.RoadWay¯UnqualifiedName§RoadWay¬CommentRange¥StartͦLength6©NameRange¥StartÍg¦Length©BodyRange¥StartÍo¦Length «ExtentRange¥StartÍY¦Length#¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ+WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskType¯UnqualifiedName¨TaskType¬CommentRange¥StartͦLength7©NameRange¥StartÍÔ¦Length©BodyRange¥StartÍݦLength«ExtentRange¥StartÍɦLength"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ,WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskState¯UnqualifiedName©TaskState¬CommentRange¥StartÍ÷¦Length7©NameRange¥StartÍC¦Length ©BodyRange¥StartÍM¦Length «ExtentRange¥StartÍ8¦Length"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.SourceAddress¯UnqualifiedNameSourceAddress¬CommentRange¥StartÍf¦Length5©NameRange¥Startͳ¦Length ©BodyRange¥StartÍÁ¦Length«ExtentRange¥StartÍ¥¦Length*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥StartÍÛ¦Length5©NameRange¥StartÍ(¦Length ©BodyRange¥StartÍ6¦Length«ExtentRange¥StartͦLength*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ(WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.Grade¯UnqualifiedName¥Grade¬CommentRange¥StartÍP¦Length6©NameRange¥StartͦLength©BodyRange¥StartÍ¡¦Length«ExtentRange¥StartͦLength¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$9d8c56a5-d514-4aaf-aa3e-c6790a97902c¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$d32f80e6-73cb-4360-9d5e-df77bb4bd5e5©ReferenceÀ¦Traits«IsEphemeral§Content
¢IdÄÌË HS½J4_cB:ªVisibility«Annotations§Content¨/explain¨Mentions
¢IdÄ©#§§ÄJ£s~ù{à9ªVisibility«Annotations§Content²è§£éæéä»£ç ¨Mentions¨Metadata¦Intent§Explain¨GuidanceÀ¥Model«modelFamily¦gpt-4o²DirectedResponders©FunctionsCorrelationIdÙ$d32f80e6-73cb-4360-9d5e-df77bb4bd5e5©MessageIdÙ$85c2c54e-321f-44a8-a000-d5778d1128d0§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ {
§ContentÚ³using AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
// ä»JobDataMapä¸è·åä¼ éçåæ°
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
// æ¥è¯¢ææå设å¤çä½ç½®
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
// å¹¶è¡å¤çæ¯ä¸ªå设å¤
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
// è·åææç«ç¹ç®¡çå¨
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
// å¤çå
¥åºè¯·æ±
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// æ£æ¥æ¯å¦åå¨ä»»å¡
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
// å¤çæ°ä»»å¡
|
await HandleNewTaskAsync(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
// è¾åºå¼å¸¸ä¿¡æ¯
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
// }
|
// else
|
// {
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
// }
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// è·åç¼åä¸çç¨æ·ä¿¡æ¯
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
// æé éç¥æ°æ®
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
// åééç¥
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
// è·å设å¤å议详æ
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
// æ¥è¯¢å¹³å°ä¿¡æ¯
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
// 读åä»»å¡å½ä»¤
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public async Task RequestInboundAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
await HandleNewTaskAsync(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æ¥è¯¢è¾é线任å¡ï¼æ ¹æ®è¾é线设å¤åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç åå设å¤ä»£ç ï¼ä»¥åä»»å¡ä¿¡æ¯
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
|
// 妿任å¡ä¸ä¸ºç©ºï¼åæ§è¡ä»¥ä¸æä½
|
if (task != null)
|
{
|
// è·åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
|
// å°ä»»å¡å½ä»¤æ å°å°å½åä»»å¡
|
var taskCommand = MapTaskCommand(task, command);
|
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åè¾é线åéå½ä»¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// 宿è¾é线åéä»»å¡ï¼å¹¶æ´æ°ä»»å¡ç¶æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
|
// 妿任å¡çç®æ å°åæ¯"1020-1"ï¼å忬¡æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç 以å请æ±åºåºä¸ä¸å°åçå设å¤ä»£ç
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡ï¼æ ¹æ®ä»»å¡å·åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// æ£æ¥ä»»å¡ä¸çæçæ¡ç æ¯å¦ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// æ´æ°ä»»å¡çä½ç½®ä¿¡æ¯ï¼å¹¶è·åæ´æ°åçä»»å¡å¯¹è±¡
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
|
// å¦ææ´æ°åçä»»å¡å¯¹è±¡ä¸ä¸ºç©º
|
if (newTask != null)
|
{
|
// è·åä¸ä¸ç®æ å°å
|
var next = newTask.NextAddress;
|
|
// å°æ°ä»»å¡å¯¹è±¡æ å°ä¸ºä»»å¡å½ä»¤å¯¹è±¡
|
var taskCommand = MapTaskCommand(newTask, command);
|
|
// æ¢å¤æ°ä»»å¡å¯¹è±¡çä¸ä¸ç®æ å°å
|
newTask.NextAddress = next;
|
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç 以åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åéä»»å¡å½ä»¤å°å设å¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// æ è®°è¾é线åéä»»å¡å®æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåº
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// 妿任å¡ä¸çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// å建ä¸ä¸ªç©ºçWebResponseContent对象
|
WebResponseContent content = new WebResponseContent();
|
|
// ä¿åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
// å°ä»»å¡æ å°ä¸ºå½ä»¤
|
var taskCommand = MapTaskCommand(task, command);
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// 妿任å¡çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸ä¸è´æè
ä»»å¡å¤æ³¨ä¸º"NG"
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// 设置å½ä»¤çç®æ å°å为NGå°å
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
// 设置å½ä»¤çç®æ å°å为1000
|
taskCommand.TargetAddress = 1000;
|
}
|
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
// åéå½ä»¤å°è¾é线
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
// 设置è¾é线çç®æ å°å为NGå°å
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
// ä»conveyorLineä¸çDeviceProDTOsåè¡¨ä¸æ¥æ¾ç¬¬ä¸ä¸ªç¬¦åæ¡ä»¶çDeviceProDTO对象
|
// æ¡ä»¶æ¯DeviceProParamTypeçäºDeviceCommandï¼ä¸DeviceChildCodeçäºchildDeviceCode
|
// æ¥æ¾ç»ææDeviceProOffsetååºæå
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
|
// å°deviceProçDeviceProAddressæ'.'å岿å符串æ°ç»x
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
|
// å°æ°ç»xçæåä¸ä¸ªå
ç´ æ¿æ¢ä¸ºProtocalDetailValueå 1åçå符串形å¼
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
|
// å°ä¿®æ¹åçæ°ç»xéæ°æ¼æ¥æå符串ï¼ä½ä¸ºæ°çDeviceProAddress
|
string DeviceProAddress = string.Join(".", x);
|
|
// 使ç¨conveyorLineçCommunicator对象çWriteæ¹æ³ï¼å°valueåå
¥æ°çDeviceProAddresså°å
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
// å®ä¹ä¸ä¸ªå¼æ¥æ¹æ³ï¼ç¨äºå¤ç空æçè¿åä»»å¡
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
// å®ä¹ä»»å¡ç±»åæä¸¾åé
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
// æ ¹æ®å¹³å°ç±»å设置任å¡ç±»åæä¸¾
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
// è°ç¨æ£æ¥å¹¶å建任å¡çæ¹æ³
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
// æè·å¹¶å¿½ç¥å¼å¸¸
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
// æ¥è¯¢æ°æ®åºä¸å·²æçä»»å¡
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
// 妿已æä»»å¡æ°éå°äºæå®ç´¢å¼
|
if (tasks.Count < index)
|
{
|
// è°ç¨WMSè·ååºåºä»»å¡
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
// å®ä¹WMS任塿°æ®ä¼ è¾å¯¹è±¡
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMS IPå°åé
ç½®
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
// 妿WMS IPå°åæªé
ç½®ï¼æåºå¼å¸¸
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
// åéHTTP POST请æ±è·å任塿°æ®
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
// è§£æè¿åçJSONæ°æ®
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥è¿åç¶æï¼å¦æå¤±è´¥åè¿å
|
if (!content.Status)
|
return;
|
|
// è§£æä»»å¡æ°æ®
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
// å建并åéä»»å¡
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, 1000, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¥CaretÀ¥StartÍ3Ù£EndÍ;´¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$7e0589e3-6f95-424f-8c41-9db4bb170834¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$d32f80e6-73cb-4360-9d5e-df77bb4bd5e5©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ É]§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine._communicator¯UnqualifiedName_communicator¬CommentRange¥Start͸¦Length:©NameRange¥StartͦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍü¦Length0¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProDTOs¯UnqualifiedName®_deviceProDTOs¬CommentRange¥StartÍ8¦Length:©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ|¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._heartStatr¯UnqualifiedName«_heartStatr¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ6¦Length ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine._isConnected¯UnqualifiedName¬_isConnected¬CommentRange¥Start ¦Length ©NameRange¥StartÍo¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦Length!¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.Communicator¯UnqualifiedName¬Communicator¬CommentRange¥StartÍÆ¦Length:©NameRange¥StartÍ"¦Length©BodyRange¥StartÍ/¦Length«ExtentRange¥StartÍ
|
¦Length6¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.IsFault¯UnqualifiedName§IsFault¬CommentRange¥StartÍ m¦Length8©NameRange¥StartÍ »¦Length©BodyRange¥StartÍ Ã¦Length«ExtentRange¥StartÍ ¯¦Length¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.IsConnected¯UnqualifiedName«IsConnected¬CommentRange¥StartÍ Ø¦Length:©NameRange¥StartÍ
|
(¦Length©BodyRange¥StartÍ
|
4¦Length+«ExtentRange¥StartÍ
|
¦LengthD¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.CommonConveyorLine.Status¯UnqualifiedName¦Status¬CommentRange¥StartÍ
|
l¦Length7©NameRange¥StartÍ
|
Á¦Length©BodyRange¥StartÍ
|
ȦLength«ExtentRange¥StartÍ
|
¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ1WIDESEAWCS_QuartzJob.CommonConveyorLine.Heartbeat¯UnqualifiedName©Heartbeat¬CommentRange¥StartÍY¦Length9©NameRange¥Startͨ¦Length ©BodyRange¥Startͽ¦Length>«ExtentRange¥StartͦLength_¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.Dispose¯UnqualifiedName§Dispose¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+~¦Length©BodyRange¥StartÍ+¦Length|«ExtentRange¥StartÍ+r¦Length̤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙJWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.InteractiveSignal¯UnqualifiedName±InteractiveSignal¬CommentRange¥Start ¦Length ©NameRange¥StartÍP¦Length©BodyRange¥StartÍb¦Length «ExtentRange¥StartÍB¦Length-¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.Barcode¯UnqualifiedName§Barcode¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥StartÍ«¦Length «ExtentRange¥StartÍ{¦Length=¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Exists¯UnqualifiedName¦Exists¬CommentRange¥StartÌá¦LengthÌ©NameRange¥StartÍz¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍu¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ.WIDESEAWCS_Core.Caches.ICacheService.AddObject¯UnqualifiedName©AddObject¬CommentRange¥StartͦLengthÍQ©NameRange¥StartÍù¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthY¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Add¯UnqualifiedName£Add¬CommentRange¥Start ¦Length ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍY¦LengthS¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartͦLengthÌ
©NameRange¥Startͳ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ®¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartÍÒ¦LengthÌ©NameRange¥StartÍj¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍe¦Length&¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartͦLengthÌ
©NameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦Length%¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartÍW¦LengthÌ
©NameRange¥StartÍí¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦Length¤Kind ¨FileNameÙvD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoRepository\IDt_StationManagerRepository.cs²FullyQualifiedNameÙ;WIDESEAWCS_BasicInfoRepository.IDt_StationManagerRepository¯UnqualifiedName¼IDt_StationManagerRepository¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍâ¦Length
|
«ExtentRange¥StartͦLength^¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙ5WIDESEAWCS_BasicInfoService.IDt_StationManagerService¯UnqualifiedName¹IDt_StationManagerService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ!¦Length©BodyRange¥StartÍ^¦LengthÍ«ExtentRange¥StartͦLengthÍh¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetAllStationByDeviceCode¯UnqualifiedName¹GetAllStationByDeviceCode¬CommentRange¥StartÍi¦LengthÌ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthE¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetStationInfoByChildCode¯UnqualifiedName¹GetStationInfoByChildCode¬CommentRange¥StartÍ_¦Length̽©NameRange¥StartÍ8¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ.WIDESEAWCS_SignalR.INoticeService.UserLoginOut¯UnqualifiedName¬UserLoginOut¬CommentRange¥StarțLengthÌÙ©NameRange¥StartÍg¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦LengthI¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ0WIDESEAWCS_SignalR.INoticeService.UpdatePassWord¯UnqualifiedName®UpdatePassWord¬CommentRange¥Startͳ¦LengthÌÛ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ+WIDESEAWCS_SignalR.INoticeService.NewMesage¯UnqualifiedName©NewMesage¬CommentRange¥StartÍç¦LengthÌØ©NameRange¥StartÍʦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍŦLengthM¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ-WIDESEAWCS_SignalR.INoticeService.StackerData¯UnqualifiedName«StackerData¬CommentRange¥StartͦLengthÌØ©NameRange¥StartÍý¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍø¦LengthF¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ProcessParameters\IPlatFormRepository.cs²FullyQualifiedNameÙ1WIDESEAWCS_IProcessRepository.IPlatFormRepository¯UnqualifiedName³IPlatFormRepository¬CommentRange¥Start ¦Length ©NameRange¥Start=¦Length©BodyRange¥Startj¦Length«ExtentRange¥Start,¦LengthB¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.Service.IRouterService.QueryNextRoutes¯UnqualifiedName¯QueryNextRoutes¬CommentRange¥StartÍr¦LengthÌשNameRange¥StartÍc¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍS¦LengthB¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ>WIDESEAWCS_QuartzJob.Service.IRouterService.GetAllWholeRouters¯UnqualifiedName²GetAllWholeRouters¬CommentRange¥StartͦLengtho©NameRange¥StartÍ%¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength"¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.Service.IRouterService.AddRouters¯UnqualifiedNameªAddRouters¬CommentRange¥Start ¦Length ©NameRange¥StartÍY¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartÍF¦LengthR¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ-WIDESEAWCS_ISystemServices.ISys_ConfigService¯UnqualifiedName²ISys_ConfigService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¦Length©BodyRange¥StartÍc¦LengthÍ«ExtentRange¥StartÍ#¦LengthÍäKind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ISystemServices.ISys_ConfigService.GetAll¯UnqualifiedName¦GetAll¬CommentRange¥StartÍn¦Length\©NameRange¥StartÍå¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÔ¦Length¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙBWIDESEAWCS_ISystemServices.ISys_ConfigService.GetConfigsByCategory¯UnqualifiedName´GetConfigsByCategory¬CommentRange¥StartÍú¦LengthÌ©NameRange¥StartÍ¢¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength7¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ISystemServices.ISys_ConfigService.GetByConfigKey¯UnqualifiedName®GetByConfigKey¬CommentRange¥StartÍÔ¦LengthÌÄ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¢¦Length=¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoRepository\ITaskRepository.cs²FullyQualifiedNameÙ.WIDESEAWCS_ITaskInfoRepository.ITaskRepository¯UnqualifiedName¯ITaskRepository¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ˦Length
|
«ExtentRange¥StartͦLengthG¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.TaskOrderBy¯UnqualifiedName«TaskOrderBy¬CommentRange¥StartÍ}¦Length7©NameRange¥StartÍå¦Length©BodyRange¥StartÍñ¦Length «ExtentRange¥Start;¦Length@¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.TaskInboundTypes¯UnqualifiedName°TaskInboundTypes¬CommentRange¥StartÍ
|
¦Length;©NameRange¥StartÍ`¦Length©BodyRange¥StartÍq¦Length«ExtentRange¥StartÍO¦Length*¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ:WIDESEAWCS_ITaskInfoService.ITaskService.TaskOutboundTypes¯UnqualifiedName±TaskOutboundTypes¬CommentRange¥StartÍ
¦Length;©NameRange¥StartÍÛ¦Length©BodyRange¥StartÍí¦Length«ExtentRange¥StartÍʦLength+¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.RequestOutTaskToBZAsync¯UnqualifiedName·RequestOutTaskToBZAsync¬CommentRange¥StartÍ ¦LengthÌ©NameRange¥StartÍ Â¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ©¦LengthS¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍ
|
¦LengthÌΩNameRange¥StartÍ
|
ù¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
à¦Length̤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍo¦LengthÌÌ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦LengthZ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTasks¯UnqualifiedName¹QueryStackerCraneOutTasks¬CommentRange¥StartÍô¦LengthÌö©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthW¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.PlatCode¯UnqualifiedName¨PlatCode¬CommentRange¥StartÍu¦LengthC©NameRange¥StartÍ¡¦Length©BodyRange¥Startͪ¦Length «ExtentRange¥StartͦLengthÌõ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformName¯UnqualifiedName¬PlatformName¬CommentRange¥StartÍæLength@©NameRange¥StartÍȦLength©BodyRange¥StartÍÕ¦Length «ExtentRange¥StartÍ ¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.Stacker¯UnqualifiedName§Stacker¬CommentRange¥StartÍî¦Length8©NameRange¥StartÍî¦Length©BodyRange¥StartÍö¦Length «ExtentRange¥StartÍ0¦LengthÌÓ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ0WIDESEAWCS_Model.Models.Platform.ExecutionMethod¯UnqualifiedName¯ExecutionMethod¬CommentRange¥StartͦLength7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍP¦LengthÌØ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformType¯UnqualifiedName¬PlatformType¬CommentRange¥StartÍ4¦Length=©NameRange¥StartÍ6¦Length©BodyRange¥StartÍC¦Length «ExtentRange¥StartÍ{¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.PLCCode¯UnqualifiedName§PLCCode¬CommentRange¥StartÍ\¦LengthG©NameRange¥StartÍ q¦Length©BodyRange¥StartÍ y¦Length «ExtentRange¥StartͦLengthÌÙ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Location¯UnqualifiedName¨Location¬CommentRange¥StartÍ ¦Length7©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ
|
¦Length «ExtentRange¥StartÍ Ó¦LengthÌФKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Capacity¯UnqualifiedName¨Capacity¬CommentRange¥StartÍ
|
¯¦Length7©NameRange¥StartͦLength©BodyRange¥StartÍ£¦Length «ExtentRange¥StartÍ
|
ð¦LengthÌÀ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ'WIDESEAWCS_Model.Models.Platform.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍʦLength «ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ.WIDESEAWCS_Model.Models.Platform.Status.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍÚ¦Length«ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ/WIDESEAWCS_Model.Models.Platform.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥StartÍñ¦Length7©NameRange¥StartÍ ì¦Length©BodyRange¥StartÍ û¦Length «ExtentRange¥StartÍ 2¦LengthÌÖ¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ/WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum¯UnqualifiedName´TaskOutboundTypeEnum¬CommentRange¥Start ¦Length ©NameRange¥StartÍà¦Length©BodyRange¥StartÍú¦LengthÍa«ExtentRange¥StartÍÔ¦LengthͤKind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ8WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.Outbound¯UnqualifiedName¨Outbound¬CommentRange¥StartͦLength5©NameRange¥StartÍa¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍD¦Length+¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ<WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutInventory¯UnqualifiedName¬OutInventory¬CommentRange¥StartÍ|¦Length7©NameRange¥StartÍܦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͽ¦Length1¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutPick¯UnqualifiedName§OutPick¬CommentRange¥StartÍû¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ<¦Length,¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ:WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutQuality¯UnqualifiedNameªOutQuality¬CommentRange¥StartÍu¦Length7©NameRange¥StartÍÕ¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartͶ¦Length/¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutTray¯UnqualifiedName§OutTray¬CommentRange¥StartÍò¦Length8©NameRange¥StartÍT¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ4¦Length-¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ5WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutNG¯UnqualifiedName¥OutNG¬CommentRange¥StartÍn¦Length7©NameRange¥StartÍΦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͯ¦Length*¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.InToOut¯UnqualifiedName§InToOut¬CommentRange¥StartÍæ¦Length7©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'¦Length,¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ"WIDESEAWCS_Core.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥Start̪¦Length©BodyRange¥StarțLengthÍ«ExtentRange¥StarțLengthÍ)¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ5WIDESEAWCS_Core.WebResponseContent.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥StartÌÔ¦Length©BodyRange¥StartÌò¦Length«ExtentRange¥StartÌͦLength1¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ5WIDESEAWCS_Core.WebResponseContent.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ8¦Length*«ExtentRange¥StartͦLengthZ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ)WIDESEAWCS_Core.WebResponseContent.Status¯UnqualifiedName¦Status¬CommentRange¥Start ¦Length ©NameRange¥StartÍx¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍl¦Length ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ'WIDESEAWCS_Core.WebResponseContent.Code¯UnqualifiedName¤Code¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥Startͨ¦Length «ExtentRange¥StartͦLength¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ*WIDESEAWCS_Core.WebResponseContent.Message¯UnqualifiedName§Message¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength©BodyRange¥StartÍצLength «ExtentRange¥StartÍÁ¦Length#¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ'WIDESEAWCS_Core.WebResponseContent.Data¯UnqualifiedName¤Data¬CommentRange¥Start ¦Length ©NameRange¥StartÍþ¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍð¦Length ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ-WIDESEAWCS_Core.WebResponseContent.DevMessage¯UnqualifiedNameªDevMessage¬CommentRange¥Start ¦Length ©NameRange¥StartÍ*¦Length
|
©BodyRange¥StartÍ5¦Length «ExtentRange¥StartͦLength&¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍh¦Length©BodyRange¥StartÍv¦LengthB«ExtentRange¥StartÍN¦Lengthj¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.WebResponseContent.Instance¯UnqualifiedName¨Instance¬CommentRange¥Start ¦Length ©NameRange¥StartÍå¦Length©BodyRange¥StartÍ÷¦LengthB«ExtentRange¥StartÍĦLengthu¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍ]¦Length©BodyRange¥StartͦLength|«ExtentRange¥StartÍC¦LengthÌͤKind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.WebResponseContent.Error¯UnqualifiedName¥Error¬CommentRange¥Start ¦Length ©NameRange¥StartÍ6¦Length©BodyRange¥StartÍ\¦Lengthc«ExtentRange¥StartͦLengthÌ£¤Kind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ"WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO¯UnqualifiedNameªWMSTaskDTO¬CommentRange¥Start ¦Length ©NameRange¥Start̲¦Length
|
©BodyRange¥StarțLengthÍô«ExtentRange¥StartÌ¥¦LengthͤKind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ%WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.Id¯UnqualifiedName¢Id¬CommentRange¥StartÌͦLength:©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartͦLength¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥StartÍ9¦Length6©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartÍy¦Length!¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ-WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.PalletCode¯UnqualifiedNameªPalletCode¬CommentRange¥Startͦ¦Length6©NameRange¥StartÍô¦Length
|
©BodyRange¥StartÍÿ¦Length«ExtentRange¥StartÍæ¦Length'¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.RoadWay¯UnqualifiedName§RoadWay¬CommentRange¥StartͦLength6©NameRange¥StartÍg¦Length©BodyRange¥StartÍo¦Length «ExtentRange¥StartÍY¦Length#¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ+WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskType¯UnqualifiedName¨TaskType¬CommentRange¥StartͦLength7©NameRange¥StartÍÔ¦Length©BodyRange¥StartÍݦLength«ExtentRange¥StartÍɦLength"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ,WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskState¯UnqualifiedName©TaskState¬CommentRange¥StartÍ÷¦Length7©NameRange¥StartÍC¦Length ©BodyRange¥StartÍM¦Length «ExtentRange¥StartÍ8¦Length"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.SourceAddress¯UnqualifiedNameSourceAddress¬CommentRange¥StartÍf¦Length5©NameRange¥Startͳ¦Length ©BodyRange¥StartÍÁ¦Length«ExtentRange¥StartÍ¥¦Length*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥StartÍÛ¦Length5©NameRange¥StartÍ(¦Length ©BodyRange¥StartÍ6¦Length«ExtentRange¥StartͦLength*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ(WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.Grade¯UnqualifiedName¥Grade¬CommentRange¥StartÍP¦Length6©NameRange¥StartͦLength©BodyRange¥StartÍ¡¦Length«ExtentRange¥StartͦLength¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$9d8c56a5-d514-4aaf-aa3e-c6790a97902c¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$d32f80e6-73cb-4360-9d5e-df77bb4bd5e5©ReferenceÀ¦Traits«IsEphemeral§Content
¢IdÄF`Xé©M4J¡+ÿU<
|
SѪVisibility«Annotations§ContentÚ
|
æé代ç çæ®µä½äº `CommonConveyorLineJob` ç±»ä¸ï¼ä¸»è¦è´è´£ç®¡çä¸è¾é线ç¸å
³çè°åº¦åä»»å¡å¤çã以䏿¯è¯¥ä»£ç ç主è¦ç»æé¨åååè½è§£éï¼
|
|
### 1. **弿¥å
¥åºè¯·æ± (`RequestInboundAsync` æ¹æ³)**
|
æ¤æ¹æ³å¤çè¾é线çå
¥åºè¯·æ±ï¼
|
- **åæ°è¯´æ**ï¼
|
- `conveyorLine`: 表示å½åè¾é线çå®ä¾å¯¹è±¡ã
|
- `command`: å
å«ä»è®¾å¤è¯»åçå½ä»¤ä¿¡æ¯ã
|
- `childDeviceCode`: 表示å设å¤çç¼å·ã
|
- `ProtocalDetailValue`: å½åçå¸å°å¼è¯»ååç§»å°åã
|
|
- **é»è¾æµç¨**ï¼
|
- é¦å
è®°å½ä»»å¡çå°è¾¾ä¿¡æ¯ã
|
- éè¿ `QueryBarCodeConveyorLineTask` æ¹æ³æ¥è¯¢ä¸æçæ¡ç ç¸å¯¹åºçä»»å¡ã
|
- 妿æ¾å°äºä»»å¡ï¼æ ¹æ®ä»»å¡ç±»åå³å®å¤çæ¹å¼ï¼å¦æ¯åºåºä»»å¡åè°ç¨ `HandleTaskOut` æ¹æ³ï¼ï¼å¦åå建ä¸ä¸ªæ°çä»»å¡å¹¶æ´æ°ç¶æã
|
|
### 2. **请æ±å
¥åºä¸ä¸å°å (`RequestInNextAddress` æ¹æ³)**
|
è¯¥æ¹æ³ç¨äºå¤æè¾é线请æ±çå
¥åºä¸ä¸å°åï¼
|
- æ¹æ³æå°å½åä»»å¡åæçæ¡ç ä¿¡æ¯ã
|
- æ¥è¯¢æå®ä»»å¡çæ§è¡ç¶æï¼å¹¶æ´æ°ä½ç½®ã
|
|
### 3. **å
¥åºå®æ (`ConveyorLineInFinish` æ¹æ³)**
|
è¯¥æ¹æ³å¨è¾é线å
¥åºå®æåè°ç¨ï¼
|
- æ ¹æ®æçæ¡ç åä»»å¡ç¶ææ´æ°ä»»å¡ä¿¡æ¯ã
|
- 妿任å¡ç¶ææ¯âå
¥åºå®æâï¼åæ´æ°ä»»å¡å°ä¸ä¸ªç¶æãå½ä»»å¡ç±»å为 âNGâ æ¶ï¼è¿è¡ç¹å®å¤çã
|
|
### 4. **请æ±åºåº (`RequestOutbound` æ¹æ³)**
|
è¯¥æ¹æ³å¤çè¾é线çåºåºè¯·æ±ï¼
|
- æ¥è¯¢å½å设å¤çåºåºä»»å¡å¹¶è®°å½ä¿¡æ¯ã
|
- 妿任å¡åå¨ï¼æ´æ°ä»»å¡çä¸ä¸ç®æ å°åï¼åéåºåºå½ä»¤å¹¶æ´æ°ä»»å¡ç¶æã
|
|
### 5. **请æ±åºåºä¸ä¸å°å (`RequestOutNextAddress` æ¹æ³)**
|
æ¤æ¹æ³å¤çåºåºæ¶è¯·æ±çä¸ä¸å°åï¼
|
- æå°ç¸å
³æ¥å¿ã
|
- æ¥è¯¢æ§è¡ä¸çä»»å¡ï¼ç¡®å®æççç¶æå¹¶æ´æ°ä½ç½®åå½ä»¤ã
|
|
### 6. **交äºå®æ (`ConveyorLineSendFinish` æ¹æ³)**
|
è¯¥æ¹æ³å®ç°äºä¸è®¾å¤ç交äºä¿¡å·ç宿éç¥ï¼
|
- å®ä¼è°æ´è®¾å¤å°åçéä¿¡åæ°å¹¶åå设å¤åéä¿¡å·ï¼ç¡®ä¿è®¾å¤ç¶æçåç¡®æ´æ°ã
|
|
### 7. **空æçæ£æµ (`EmptyTrayReturn` å `CheckAndCreateTask` æ¹æ³)**
|
è¿äºæ¹æ³å¤ç空æççæ£æµä¸ç¸å
³ä»»å¡çå建ï¼
|
- éè¿ WMS ç³»ç»è¯·æ±åºåºä»»å¡ï¼å½ä»»å¡æªæ»¡è¶³æ°éè¦æ±æ¶ï¼è°ç¨ WMS API è·åæ°çä»»å¡ã
|
|
æ´ä½ä¸ï¼è¿æ®µä»£ç ä½ç°åºå¼æ¥ç¼ç¨é£æ ¼ï¼è®¾è®¡äºæ¸
æ°çé»è¾åå±ï¼ä»¥ä¾¿äºç»´æ¤åæ©å±ãå¨å®ç°å¤æçé»è¾æ¶ï¼å°½ééç¨å°å½æ°æ¥å¤çç¹å®ä»»å¡ï¼æé«ä»£ç çå¯è¯»æ§åå¯ç»´æ¤æ§ã¨Mentions¨Metadata©SessionIdÙ$0fd52b0d-b36f-4668-871f-5e1c1d23e2e3¢IdÙ4Microsoft.VisualStudio.Conversations.Chat.HelpWindow¦Author¤Name®GitHub Copilot¤Icon¤GuidÙ$4515b9bd-70a1-45fa-9545-d4536417c596¢Id§Service¤NameÙ7Microsoft.VisualStudio.Copilot.CopilotChatAgentProvider§Version£0.3¦Status©FollowUps§MessageÙ0请é®å¦ä½ä¼åè¿æ®µä»£ç 以æé«æ§è½ï¼ CorrelationIdÙ$a30380c1-2c3a-44c7-a791-d6b2a10c262d©MessageIdÙ$52b54e49-1088-4366-bf47-b6144f972cb3§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ {
§ContentÚ³using AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
// ä»JobDataMapä¸è·åä¼ éçåæ°
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
// æ¥è¯¢ææå设å¤çä½ç½®
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
// å¹¶è¡å¤çæ¯ä¸ªå设å¤
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
// è·åææç«ç¹ç®¡çå¨
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
// å¤çå
¥åºè¯·æ±
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// æ£æ¥æ¯å¦åå¨ä»»å¡
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
// å¤çæ°ä»»å¡
|
await HandleNewTaskAsync(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
// è¾åºå¼å¸¸ä¿¡æ¯
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
// }
|
// else
|
// {
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
// }
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// è·åç¼åä¸çç¨æ·ä¿¡æ¯
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
// æé éç¥æ°æ®
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
// åééç¥
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
// è·å设å¤å议详æ
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
// æ¥è¯¢å¹³å°ä¿¡æ¯
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
// 读åä»»å¡å½ä»¤
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public async Task RequestInboundAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
await HandleNewTaskAsync(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æ¥è¯¢è¾é线任å¡ï¼æ ¹æ®è¾é线设å¤åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç åå设å¤ä»£ç ï¼ä»¥åä»»å¡ä¿¡æ¯
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
|
// 妿任å¡ä¸ä¸ºç©ºï¼åæ§è¡ä»¥ä¸æä½
|
if (task != null)
|
{
|
// è·åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
|
// å°ä»»å¡å½ä»¤æ å°å°å½åä»»å¡
|
var taskCommand = MapTaskCommand(task, command);
|
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åè¾é线åéå½ä»¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// 宿è¾é线åéä»»å¡ï¼å¹¶æ´æ°ä»»å¡ç¶æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
|
// 妿任å¡çç®æ å°åæ¯"1020-1"ï¼å忬¡æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç 以å请æ±åºåºä¸ä¸å°åçå设å¤ä»£ç
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡ï¼æ ¹æ®ä»»å¡å·åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// æ£æ¥ä»»å¡ä¸çæçæ¡ç æ¯å¦ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// æ´æ°ä»»å¡çä½ç½®ä¿¡æ¯ï¼å¹¶è·åæ´æ°åçä»»å¡å¯¹è±¡
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
|
// å¦ææ´æ°åçä»»å¡å¯¹è±¡ä¸ä¸ºç©º
|
if (newTask != null)
|
{
|
// è·åä¸ä¸ç®æ å°å
|
var next = newTask.NextAddress;
|
|
// å°æ°ä»»å¡å¯¹è±¡æ å°ä¸ºä»»å¡å½ä»¤å¯¹è±¡
|
var taskCommand = MapTaskCommand(newTask, command);
|
|
// æ¢å¤æ°ä»»å¡å¯¹è±¡çä¸ä¸ç®æ å°å
|
newTask.NextAddress = next;
|
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç 以åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åéä»»å¡å½ä»¤å°å设å¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// æ è®°è¾é线åéä»»å¡å®æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåº
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// 妿任å¡ä¸çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// å建ä¸ä¸ªç©ºçWebResponseContent对象
|
WebResponseContent content = new WebResponseContent();
|
|
// ä¿åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
// å°ä»»å¡æ å°ä¸ºå½ä»¤
|
var taskCommand = MapTaskCommand(task, command);
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// 妿任å¡çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸ä¸è´æè
ä»»å¡å¤æ³¨ä¸º"NG"
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// 设置å½ä»¤çç®æ å°å为NGå°å
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
// 设置å½ä»¤çç®æ å°å为1000
|
taskCommand.TargetAddress = 1000;
|
}
|
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
// åéå½ä»¤å°è¾é线
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
// 设置è¾é线çç®æ å°å为NGå°å
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
// ä»conveyorLineä¸çDeviceProDTOsåè¡¨ä¸æ¥æ¾ç¬¬ä¸ä¸ªç¬¦åæ¡ä»¶çDeviceProDTO对象
|
// æ¡ä»¶æ¯DeviceProParamTypeçäºDeviceCommandï¼ä¸DeviceChildCodeçäºchildDeviceCode
|
// æ¥æ¾ç»ææDeviceProOffsetååºæå
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
|
// å°deviceProçDeviceProAddressæ'.'å岿å符串æ°ç»x
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
|
// å°æ°ç»xçæåä¸ä¸ªå
ç´ æ¿æ¢ä¸ºProtocalDetailValueå 1åçå符串形å¼
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
|
// å°ä¿®æ¹åçæ°ç»xéæ°æ¼æ¥æå符串ï¼ä½ä¸ºæ°çDeviceProAddress
|
string DeviceProAddress = string.Join(".", x);
|
|
// 使ç¨conveyorLineçCommunicator对象çWriteæ¹æ³ï¼å°valueåå
¥æ°çDeviceProAddresså°å
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
// å®ä¹ä¸ä¸ªå¼æ¥æ¹æ³ï¼ç¨äºå¤ç空æçè¿åä»»å¡
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
// å®ä¹ä»»å¡ç±»åæä¸¾åé
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
// æ ¹æ®å¹³å°ç±»å设置任å¡ç±»åæä¸¾
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
// è°ç¨æ£æ¥å¹¶å建任å¡çæ¹æ³
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
// æè·å¹¶å¿½ç¥å¼å¸¸
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
// æ¥è¯¢æ°æ®åºä¸å·²æçä»»å¡
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
// 妿已æä»»å¡æ°éå°äºæå®ç´¢å¼
|
if (tasks.Count < index)
|
{
|
// è°ç¨WMSè·ååºåºä»»å¡
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
// å®ä¹WMS任塿°æ®ä¼ è¾å¯¹è±¡
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMS IPå°åé
ç½®
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
// 妿WMS IPå°åæªé
ç½®ï¼æåºå¼å¸¸
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
// åéHTTP POST请æ±è·å任塿°æ®
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
// è§£æè¿åçJSONæ°æ®
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥è¿åç¶æï¼å¦æå¤±è´¥åè¿å
|
if (!content.Status)
|
return;
|
|
// è§£æä»»å¡æ°æ®
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
// å建并åéä»»å¡
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, 1000, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¥CaretÀ¥StartÍ3Ù£EndÍ;´¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$dc0f04bc-d130-429a-9a7a-121b2956ffa7¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$a30380c1-2c3a-44c7-a791-d6b2a10c262d©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ì§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ x¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DeviceBase\DeviceCommand.cs²FullyQualifiedNameÙ-WIDESEAWCS_QuartzJob.DeviceBase.DeviceCommand¯UnqualifiedNameDeviceCommand¬CommentRange¥Start ¦Length ©NameRange¥Startͧ¦Length ©BodyRange¥StartÍʦLengthÍ#«ExtentRange¥StartͦLengthÍ#ƤKind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DeviceBase\DeviceCommand.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.DeviceBase.DeviceCommand.ToSource¯UnqualifiedName¨ToSource¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥StartÍW¦Lengthͧ«ExtentRange¥StartÍ5¦LengthÍɤKind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DeviceBase\DeviceCommand.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.DeviceBase.DeviceCommand.DeviceCommand¯UnqualifiedNameDeviceCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍF¦Length ©BodyRange¥StartÍ_¦LengthÍ«ExtentRange¥StartÍ?¦LengthÍ«¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DeviceBase\DeviceCommand.cs²FullyQualifiedNameÙ9WIDESEAWCS_QuartzJob.DeviceBase.DeviceCommand.ParseSource¯UnqualifiedName«ParseSource¬CommentRange¥Start ¦Length ©NameRange¥StartÍ m¦Length©BodyRange¥StartÍ ¦LengthÍ «ExtentRange¥StartÍ a¦LengthÍ È¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DeviceBase\DeviceCommand.cs²FullyQualifiedNameÙBWIDESEAWCS_QuartzJob.DeviceBase.DeviceCommand.CheckStringAttribute¯UnqualifiedName´CheckStringAttribute¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
R¦Length©BodyRange¥StartÍ
|
¦LengthÍ«ExtentRange¥StartÍ
|
C¦LengthÍ̤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ,WIDESEAWCS_Model.Models.Dt_TaskExecuteDetail¯UnqualifiedName´Dt_TaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍç¦Length©BodyRange¥StartͦLengthÍ
|
æ«ExtentRange¥StartÍ ¦LengthÍT¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ4WIDESEAWCS_Model.Models.Dt_TaskExecuteDetail.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥StartÍC¦Length6©NameRange¥StartÍ+¦Length©BodyRange¥StartÍ3¦Length «ExtentRange¥StartͦLength̽¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ9WIDESEAWCS_Model.Models.Dt_TaskExecuteDetail.TaskDetailId¯UnqualifiedName¬TaskDetailId¬CommentRange¥StartͦLength5©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍX¦LengthÌÓ¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ8WIDESEAWCS_Model.Models.Dt_TaskExecuteDetail.NextAddress¯UnqualifiedName«NextAddress¬CommentRange¥StartÍ{¦Length7©NameRange¥StartÍ w¦Length©BodyRange¥StartÍ ¦Length «ExtentRange¥Startͼ¦LengthÌÔ¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ3WIDESEAWCS_Model.Models.Dt_TaskExecuteDetail.TaskId¯UnqualifiedName¦TaskId¬CommentRange¥StartÍ7¦Length7©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ*¦Length «ExtentRange¥StartÍx¦LengthÌ¿¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedName¿WIDESEAWCS_Model.Models.Dt_Task¯UnqualifiedName§Dt_Task¬CommentRange¥Start ¦Length ©NameRange¥StartÍØ¦Length©BodyRange¥StartÍò¦LengthÍ«ExtentRange¥StartÍ ¦LengthÍÔ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedNameÙ'WIDESEAWCS_Model.Models.Dt_Task.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥StartͦLength6©NameRange¥StartÍý¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍU¦Length̽¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Dt_Task.TaskType¯UnqualifiedName¨TaskType¬CommentRange¥StartÍW¦Length7©NameRange¥StartÍC¦Length©BodyRange¥StartÍL¦Length «ExtentRange¥StartͦLengthÌÁ¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Dt_Task.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥StartÍ
|
¦Length7©NameRange¥StartͦLength ©BodyRange¥StartÍ¡¦Length «ExtentRange¥StartÍ
|
ئLengthÌÖ¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedNameÙ+WIDESEAWCS_Model.Models.Dt_Task.NextAddress¯UnqualifiedName«NextAddress¬CommentRange¥StartÍÞ¦Length7©NameRange¥StartÍ Ú¦Length©BodyRange¥StartÍ æ¦Length «ExtentRange¥StartÍ ¦LengthÌÔ¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedNameÙ&WIDESEAWCS_Model.Models.Dt_Task.TaskId¯UnqualifiedName¦TaskId¬CommentRange¥StartÍý¦Length5©NameRange¥StartÍõ¦Length©BodyRange¥StartÍü¦Length «ExtentRange¥StartÍ<¦LengthÌͤKind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Dt_Task.TaskState¯UnqualifiedName©TaskState¬CommentRange¥StartÍe¦Length7©NameRange¥StartÍ Q¦Length ©BodyRange¥StartÍ [¦Length «ExtentRange¥Startͦ¦Length̤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ"WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO¯UnqualifiedNameªWMSTaskDTO¬CommentRange¥Start ¦Length ©NameRange¥Start̲¦Length
|
©BodyRange¥StarțLengthÍô«ExtentRange¥StartÌ¥¦LengthͤKind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥StartÍ9¦Length6©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartÍy¦Length!¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ+WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskType¯UnqualifiedName¨TaskType¬CommentRange¥StartͦLength7©NameRange¥StartÍÔ¦Length©BodyRange¥StartÍݦLength«ExtentRange¥StartÍɦLength"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥StartÍÛ¦Length5©NameRange¥StartÍ(¦Length ©BodyRange¥StartÍ6¦Length«ExtentRange¥StartͦLength*¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DTO\DeviceProtocolDetailDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.DTO.DeviceProtocolDetailDTO¯UnqualifiedName·DeviceProtocolDetailDTO¬CommentRange¥Start ¦Length ©NameRange¥StartÍM¦Length©BodyRange¥StartÍj¦LengthÍq«ExtentRange¥StartÍ@¦LengthͤKind ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DTO\DeviceProtocolDetailDTO.cs²FullyQualifiedNameÙDWIDESEAWCS_QuartzJob.DTO.DeviceProtocolDetailDTO.ProtocalDetailValue¯UnqualifiedName³ProtocalDetailValue¬CommentRange¥StartÍc¦Length;©NameRange¥StartͶ¦Length©BodyRange¥StartÍʦLength «ExtentRange¥Startͨ¦Length/¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\IConveyorLine.cs²FullyQualifiedNameÙ"WIDESEAWCS_QuartzJob.IConveyorLine¯UnqualifiedNameIConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍ̦Length ©BodyRange¥StartÍé¦LengthͰ«ExtentRange¥StartÍ»¦LengthÍÞ¤Kind¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\IConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.IConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartÍ o¦LengthÌéNameRange¥StartÍ
|
A¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
<¦LengthV¤Kind ¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\IConveyorLine.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.IConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartͦLengthÍ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthz¤Kind ¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\IConveyorLine.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.IConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÔ¦LengthÍI©NameRange¥StartÍ.¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'¦LengthW¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ*WIDESEAWCS_Core.BaseRepository.IRepository¯UnqualifiedName«IRepository¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍh¦LengthÍ>¶«ExtentRange¥StartͦLengthÍ?¤Kind¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ9WIDESEAWCS_Core.BaseRepository.IRepository.QueryDataAsync¯UnqualifiedName®QueryDataAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ*ô¦LengthP¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙEWIDESEAWCS_Core.BaseRepository.IRepository.QueryDynamicDataBySqlAsync¯UnqualifiedNameºQueryDynamicDataBySqlAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ȦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#´¦Length`¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙDWIDESEAWCS_Core.BaseRepository.IRepository.QueryObjectDataBySqlAsync¯UnqualifiedName¹QueryObjectDataBySqlAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¦Length^¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ:WIDESEAWCS_Core.BaseRepository.IRepository.QueryTableAsync¯UnqualifiedName¯QueryTableAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'o¦LengthQ¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ:WIDESEAWCS_Core.BaseRepository.IRepository.UpdateDataAsync¯UnqualifiedName¯UpdateDataAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ{¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍp¦Lengthk¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ>WIDESEAWCS_Core.BaseRepository.IRepository.QueryDataBySqlAsync¯UnqualifiedName³QueryDataBySqlAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ"B¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ".¦LengthY¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ9WIDESEAWCS_Core.BaseRepository.IRepository.QueryDataAsync¯UnqualifiedName®QueryDataAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ/ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ/¦Lengthd¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ9WIDESEAWCS_Core.BaseRepository.IRepository.QueryDataAsync¯UnqualifiedName®QueryDataAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ)L¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ)8¦Lengths¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ9WIDESEAWCS_Core.BaseRepository.IRepository.QueryDataAsync¯UnqualifiedName®QueryDataAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ"¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength̤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ9WIDESEAWCS_Core.BaseRepository.IRepository.QueryDataAsync¯UnqualifiedName®QueryDataAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ-¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ,û¦Length̤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ4WIDESEAWCS_Core.BaseRepository.IRepository.QueryPage¯UnqualifiedName©QueryPage¬CommentRange¥StartÍ/|¦LengthÍ©NameRange¥StartÍ0µ¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ0¦Length̤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ"WIDESEAWCS_Core.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥Start̪¦Length©BodyRange¥StarțLengthÍ«ExtentRange¥StarțLengthÍ)¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍ]¦Length©BodyRange¥StartͦLength|«ExtentRange¥StartÍC¦LengthÌͤKind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\System\Sys_Config.cs²FullyQualifiedNameÙ"WIDESEAWCS_Model.Models.Sys_Config¯UnqualifiedNameªSys_Config¬CommentRange¥Start{¦Length(©NameRange¥StartÌä¦Length
|
©BodyRange¥StartÌý¦Length;«ExtentRange¥StartÌ¥¦LengthͤKind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\System\Sys_Config.cs²FullyQualifiedNameÙ+WIDESEAWCS_Model.Models.Sys_Config.SortCode¯UnqualifiedName¨SortCode¬CommentRange¥StartÍw¦Length.©NameRange¥StartÍø¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍ«¦Lengthc¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Capacity¯UnqualifiedName¨Capacity¬CommentRange¥StartÍ
|
¯¦Length7©NameRange¥StartͦLength©BodyRange¥StartÍ£¦Length «ExtentRange¥StartÍ
|
ð¦LengthÌÀ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ'WIDESEAWCS_Model.Models.Platform.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍʦLength «ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ.WIDESEAWCS_Model.Models.Platform.Status.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍÚ¦Length«ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Models\Dt_Router.cs²FullyQualifiedNameÙ%WIDESEAWCS_QuartzJob.Models.Dt_Router¯UnqualifiedName©Dt_Router¬CommentRange¥Start ¦Length ©NameRange¥StartÍa¦Length ©BodyRange¥StartÍ}¦LengthÍ Q«ExtentRange¥StartÍ%¦LengthÍ ©¤Kind ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Models\Dt_Router.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Models.Dt_Router.Depth¯UnqualifiedName¥Depth¬CommentRange¥StartͶ¦Length5©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍõ¦Length̸¤Kind¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Models\Dt_Router.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.Models.Dt_Router.SrmColumn¯UnqualifiedName©SrmColumn¬CommentRange¥StartÍ q¦Length<©NameRange¥StartÍ
|
q¦Length ©BodyRange¥StartÍ
|
{¦Length «ExtentRange¥StartÍ ·¦LengthÌѤKind¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Models\Dt_Router.cs²FullyQualifiedNameÙ,WIDESEAWCS_QuartzJob.Models.Dt_Router.SrmRow¯UnqualifiedName¦SrmRow¬CommentRange¥StartÍQ¦Length<©NameRange¥StartÍ Q¦Length©BodyRange¥StartÍ X¦Length «ExtentRange¥StartͦLengthÌΤKind¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Models\Dt_Router.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.Models.Dt_Router.SrmLayer¯UnqualifiedName¨SrmLayer¬CommentRange¥StartÍ
|
¦Length<©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍ
|
Ú¦LengthÌФKind¨FileNameÙmD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Dt_StationManager¯UnqualifiedName±Dt_StationManager¬CommentRange¥Start ¦Length ©NameRange¥StartÍi¦Length©BodyRange¥StartͦLengthͼ«ExtentRange¥StartÍ'¦LengthÍ "¤Kind ¨FileNameÙmD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ5WIDESEAWCS_Model.Models.Dt_StationManager.stationType¯UnqualifiedName«stationType¬CommentRange¥Startͳ¦LengthÌ©NameRange¥StartÍë¦Length©BodyRange¥StartÍ÷¦Length «ExtentRange¥StartÍ@¦LengthÌĤKind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$1cf61f1e-b148-4fbc-a3d4-2e4fd10b7a28¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$a30380c1-2c3a-44c7-a791-d6b2a10c262d©ReferenceÀ¦Traits«IsEphemeral§Content
¢IdÄ<«ÓÇè+F¹Ñ¢ i$
|
ªVisibility«Annotations§ContentÙ0请é®å¦ä½ä¼åè¿æ®µä»£ç 以æé«æ§è½ï¼¨Mentions¨Metadata¦IntentÀ¨GuidanceÀ¥Model«modelFamily¦gpt-4o²DirectedResponders©FunctionsCorrelationIdÙ$a30380c1-2c3a-44c7-a791-d6b2a10c262d©MessageIdÙ$dc51df27-8f60-4fc5-a1b0-0756a7258009§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ {
§ContentÚ³using AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
// ä»JobDataMapä¸è·åä¼ éçåæ°
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
// æ¥è¯¢ææå设å¤çä½ç½®
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
// å¹¶è¡å¤çæ¯ä¸ªå设å¤
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
// è·åææç«ç¹ç®¡çå¨
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
// å¤çå
¥åºè¯·æ±
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// æ£æ¥æ¯å¦åå¨ä»»å¡
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
// å¤çæ°ä»»å¡
|
await HandleNewTaskAsync(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
// è¾åºå¼å¸¸ä¿¡æ¯
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
// }
|
// else
|
// {
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
// }
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// è·åç¼åä¸çç¨æ·ä¿¡æ¯
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
// æé éç¥æ°æ®
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
// åééç¥
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
// è·å设å¤å议详æ
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
// æ¥è¯¢å¹³å°ä¿¡æ¯
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
// 读åä»»å¡å½ä»¤
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public async Task RequestInboundAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
var next = task.NextAddress;
|
var taskCommand = MapTaskCommand(task, command);
|
task.NextAddress = next;
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
await HandleNewTaskAsync(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æ¥è¯¢è¾é线任å¡ï¼æ ¹æ®è¾é线设å¤åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç åå设å¤ä»£ç ï¼ä»¥åä»»å¡ä¿¡æ¯
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
|
// 妿任å¡ä¸ä¸ºç©ºï¼åæ§è¡ä»¥ä¸æä½
|
if (task != null)
|
{
|
// è·åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
|
// å°ä»»å¡å½ä»¤æ å°å°å½åä»»å¡
|
var taskCommand = MapTaskCommand(task, command);
|
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åè¾é线åéå½ä»¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// 宿è¾é线åéä»»å¡ï¼å¹¶æ´æ°ä»»å¡ç¶æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
|
// 妿任å¡çç®æ å°åæ¯"1020-1"ï¼å忬¡æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç 以å请æ±åºåºä¸ä¸å°åçå设å¤ä»£ç
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡ï¼æ ¹æ®ä»»å¡å·åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// æ£æ¥ä»»å¡ä¸çæçæ¡ç æ¯å¦ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// æ´æ°ä»»å¡çä½ç½®ä¿¡æ¯ï¼å¹¶è·åæ´æ°åçä»»å¡å¯¹è±¡
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
|
// å¦ææ´æ°åçä»»å¡å¯¹è±¡ä¸ä¸ºç©º
|
if (newTask != null)
|
{
|
// è·åä¸ä¸ç®æ å°å
|
var next = newTask.NextAddress;
|
|
// å°æ°ä»»å¡å¯¹è±¡æ å°ä¸ºä»»å¡å½ä»¤å¯¹è±¡
|
var taskCommand = MapTaskCommand(newTask, command);
|
|
// æ¢å¤æ°ä»»å¡å¯¹è±¡çä¸ä¸ç®æ å°å
|
newTask.NextAddress = next;
|
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç 以åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åéä»»å¡å½ä»¤å°å设å¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// æ è®°è¾é线åéä»»å¡å®æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåº
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// 妿任å¡ä¸çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// å建ä¸ä¸ªç©ºçWebResponseContent对象
|
WebResponseContent content = new WebResponseContent();
|
|
// ä¿åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
// å°ä»»å¡æ å°ä¸ºå½ä»¤
|
var taskCommand = MapTaskCommand(task, command);
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// 妿任å¡çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸ä¸è´æè
ä»»å¡å¤æ³¨ä¸º"NG"
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// 设置å½ä»¤çç®æ å°å为NGå°å
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
// 设置å½ä»¤çç®æ å°å为1000
|
taskCommand.TargetAddress = 1000;
|
}
|
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
// åéå½ä»¤å°è¾é线
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
// 设置è¾é线çç®æ å°å为NGå°å
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
// ä»conveyorLineä¸çDeviceProDTOsåè¡¨ä¸æ¥æ¾ç¬¬ä¸ä¸ªç¬¦åæ¡ä»¶çDeviceProDTO对象
|
// æ¡ä»¶æ¯DeviceProParamTypeçäºDeviceCommandï¼ä¸DeviceChildCodeçäºchildDeviceCode
|
// æ¥æ¾ç»ææDeviceProOffsetååºæå
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
|
// å°deviceProçDeviceProAddressæ'.'å岿å符串æ°ç»x
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
|
// å°æ°ç»xçæåä¸ä¸ªå
ç´ æ¿æ¢ä¸ºProtocalDetailValueå 1åçå符串形å¼
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
|
// å°ä¿®æ¹åçæ°ç»xéæ°æ¼æ¥æå符串ï¼ä½ä¸ºæ°çDeviceProAddress
|
string DeviceProAddress = string.Join(".", x);
|
|
// 使ç¨conveyorLineçCommunicator对象çWriteæ¹æ³ï¼å°valueåå
¥æ°çDeviceProAddresså°å
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
// å®ä¹ä¸ä¸ªå¼æ¥æ¹æ³ï¼ç¨äºå¤ç空æçè¿åä»»å¡
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
// å®ä¹ä»»å¡ç±»åæä¸¾åé
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
// æ ¹æ®å¹³å°ç±»å设置任å¡ç±»åæä¸¾
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
// è°ç¨æ£æ¥å¹¶å建任å¡çæ¹æ³
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
// æè·å¹¶å¿½ç¥å¼å¸¸
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
// æ¥è¯¢æ°æ®åºä¸å·²æçä»»å¡
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
// 妿已æä»»å¡æ°éå°äºæå®ç´¢å¼
|
if (tasks.Count < index)
|
{
|
// è°ç¨WMSè·ååºåºä»»å¡
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
// å®ä¹WMS任塿°æ®ä¼ è¾å¯¹è±¡
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMS IPå°åé
ç½®
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
// 妿WMS IPå°åæªé
ç½®ï¼æåºå¼å¸¸
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
// åéHTTP POST请æ±è·å任塿°æ®
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
// è§£æè¿åçJSONæ°æ®
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥è¿åç¶æï¼å¦æå¤±è´¥åè¿å
|
if (!content.Status)
|
return;
|
|
// è§£æä»»å¡æ°æ®
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
// å建并åéä»»å¡
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, 1000, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¥CaretÀ¥StartÍ3Ù£EndÍ;´¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$dc0f04bc-d130-429a-9a7a-121b2956ffa7¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$a30380c1-2c3a-44c7-a791-d6b2a10c262d©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ì§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ x¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DeviceBase\DeviceCommand.cs²FullyQualifiedNameÙ-WIDESEAWCS_QuartzJob.DeviceBase.DeviceCommand¯UnqualifiedNameDeviceCommand¬CommentRange¥Start ¦Length ©NameRange¥Startͧ¦Length ©BodyRange¥StartÍʦLengthÍ#«ExtentRange¥StartͦLengthÍ#ƤKind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DeviceBase\DeviceCommand.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.DeviceBase.DeviceCommand.ToSource¯UnqualifiedName¨ToSource¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥StartÍW¦Lengthͧ«ExtentRange¥StartÍ5¦LengthÍɤKind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DeviceBase\DeviceCommand.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.DeviceBase.DeviceCommand.DeviceCommand¯UnqualifiedNameDeviceCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍF¦Length ©BodyRange¥StartÍ_¦LengthÍ«ExtentRange¥StartÍ?¦LengthÍ«¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DeviceBase\DeviceCommand.cs²FullyQualifiedNameÙ9WIDESEAWCS_QuartzJob.DeviceBase.DeviceCommand.ParseSource¯UnqualifiedName«ParseSource¬CommentRange¥Start ¦Length ©NameRange¥StartÍ m¦Length©BodyRange¥StartÍ ¦LengthÍ «ExtentRange¥StartÍ a¦LengthÍ È¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DeviceBase\DeviceCommand.cs²FullyQualifiedNameÙBWIDESEAWCS_QuartzJob.DeviceBase.DeviceCommand.CheckStringAttribute¯UnqualifiedName´CheckStringAttribute¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
R¦Length©BodyRange¥StartÍ
|
¦LengthÍ«ExtentRange¥StartÍ
|
C¦LengthÍ̤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ,WIDESEAWCS_Model.Models.Dt_TaskExecuteDetail¯UnqualifiedName´Dt_TaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍç¦Length©BodyRange¥StartͦLengthÍ
|
æ«ExtentRange¥StartÍ ¦LengthÍT¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ4WIDESEAWCS_Model.Models.Dt_TaskExecuteDetail.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥StartÍC¦Length6©NameRange¥StartÍ+¦Length©BodyRange¥StartÍ3¦Length «ExtentRange¥StartͦLength̽¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ9WIDESEAWCS_Model.Models.Dt_TaskExecuteDetail.TaskDetailId¯UnqualifiedName¬TaskDetailId¬CommentRange¥StartͦLength5©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍX¦LengthÌÓ¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ8WIDESEAWCS_Model.Models.Dt_TaskExecuteDetail.NextAddress¯UnqualifiedName«NextAddress¬CommentRange¥StartÍ{¦Length7©NameRange¥StartÍ w¦Length©BodyRange¥StartÍ ¦Length «ExtentRange¥Startͼ¦LengthÌÔ¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ3WIDESEAWCS_Model.Models.Dt_TaskExecuteDetail.TaskId¯UnqualifiedName¦TaskId¬CommentRange¥StartÍ7¦Length7©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ*¦Length «ExtentRange¥StartÍx¦LengthÌ¿¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedName¿WIDESEAWCS_Model.Models.Dt_Task¯UnqualifiedName§Dt_Task¬CommentRange¥Start ¦Length ©NameRange¥StartÍØ¦Length©BodyRange¥StartÍò¦LengthÍ«ExtentRange¥StartÍ ¦LengthÍÔ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedNameÙ'WIDESEAWCS_Model.Models.Dt_Task.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥StartͦLength6©NameRange¥StartÍý¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍU¦Length̽¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Dt_Task.TaskType¯UnqualifiedName¨TaskType¬CommentRange¥StartÍW¦Length7©NameRange¥StartÍC¦Length©BodyRange¥StartÍL¦Length «ExtentRange¥StartͦLengthÌÁ¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Dt_Task.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥StartÍ
|
¦Length7©NameRange¥StartͦLength ©BodyRange¥StartÍ¡¦Length «ExtentRange¥StartÍ
|
ئLengthÌÖ¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedNameÙ+WIDESEAWCS_Model.Models.Dt_Task.NextAddress¯UnqualifiedName«NextAddress¬CommentRange¥StartÍÞ¦Length7©NameRange¥StartÍ Ú¦Length©BodyRange¥StartÍ æ¦Length «ExtentRange¥StartÍ ¦LengthÌÔ¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedNameÙ&WIDESEAWCS_Model.Models.Dt_Task.TaskId¯UnqualifiedName¦TaskId¬CommentRange¥StartÍý¦Length5©NameRange¥StartÍõ¦Length©BodyRange¥StartÍü¦Length «ExtentRange¥StartÍ<¦LengthÌͤKind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\TaskInfo\Dt_Task.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Dt_Task.TaskState¯UnqualifiedName©TaskState¬CommentRange¥StartÍe¦Length7©NameRange¥StartÍ Q¦Length ©BodyRange¥StartÍ [¦Length «ExtentRange¥Startͦ¦Length̤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ"WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO¯UnqualifiedNameªWMSTaskDTO¬CommentRange¥Start ¦Length ©NameRange¥Start̲¦Length
|
©BodyRange¥StarțLengthÍô«ExtentRange¥StartÌ¥¦LengthͤKind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥StartÍ9¦Length6©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartÍy¦Length!¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ+WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskType¯UnqualifiedName¨TaskType¬CommentRange¥StartͦLength7©NameRange¥StartÍÔ¦Length©BodyRange¥StartÍݦLength«ExtentRange¥StartÍɦLength"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥StartÍÛ¦Length5©NameRange¥StartÍ(¦Length ©BodyRange¥StartÍ6¦Length«ExtentRange¥StartͦLength*¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DTO\DeviceProtocolDetailDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.DTO.DeviceProtocolDetailDTO¯UnqualifiedName·DeviceProtocolDetailDTO¬CommentRange¥Start ¦Length ©NameRange¥StartÍM¦Length©BodyRange¥StartÍj¦LengthÍq«ExtentRange¥StartÍ@¦LengthͤKind ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\DTO\DeviceProtocolDetailDTO.cs²FullyQualifiedNameÙDWIDESEAWCS_QuartzJob.DTO.DeviceProtocolDetailDTO.ProtocalDetailValue¯UnqualifiedName³ProtocalDetailValue¬CommentRange¥StartÍc¦Length;©NameRange¥StartͶ¦Length©BodyRange¥StartÍʦLength «ExtentRange¥Startͨ¦Length/¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\IConveyorLine.cs²FullyQualifiedNameÙ"WIDESEAWCS_QuartzJob.IConveyorLine¯UnqualifiedNameIConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍ̦Length ©BodyRange¥StartÍé¦LengthͰ«ExtentRange¥StartÍ»¦LengthÍÞ¤Kind¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\IConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.IConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartÍ o¦LengthÌéNameRange¥StartÍ
|
A¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
<¦LengthV¤Kind ¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\IConveyorLine.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.IConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartͦLengthÍ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthz¤Kind ¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\IConveyorLine.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.IConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÔ¦LengthÍI©NameRange¥StartÍ.¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'¦LengthW¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ*WIDESEAWCS_Core.BaseRepository.IRepository¯UnqualifiedName«IRepository¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍh¦LengthÍ>¶«ExtentRange¥StartͦLengthÍ?¤Kind¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ9WIDESEAWCS_Core.BaseRepository.IRepository.QueryDataAsync¯UnqualifiedName®QueryDataAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ*ô¦LengthP¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙEWIDESEAWCS_Core.BaseRepository.IRepository.QueryDynamicDataBySqlAsync¯UnqualifiedNameºQueryDynamicDataBySqlAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ȦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#´¦Length`¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙDWIDESEAWCS_Core.BaseRepository.IRepository.QueryObjectDataBySqlAsync¯UnqualifiedName¹QueryObjectDataBySqlAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¦Length^¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ:WIDESEAWCS_Core.BaseRepository.IRepository.QueryTableAsync¯UnqualifiedName¯QueryTableAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'o¦LengthQ¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ:WIDESEAWCS_Core.BaseRepository.IRepository.UpdateDataAsync¯UnqualifiedName¯UpdateDataAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ{¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍp¦Lengthk¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ>WIDESEAWCS_Core.BaseRepository.IRepository.QueryDataBySqlAsync¯UnqualifiedName³QueryDataBySqlAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ"B¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ".¦LengthY¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ9WIDESEAWCS_Core.BaseRepository.IRepository.QueryDataAsync¯UnqualifiedName®QueryDataAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ/ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ/¦Lengthd¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ9WIDESEAWCS_Core.BaseRepository.IRepository.QueryDataAsync¯UnqualifiedName®QueryDataAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ)L¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ)8¦Lengths¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ9WIDESEAWCS_Core.BaseRepository.IRepository.QueryDataAsync¯UnqualifiedName®QueryDataAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ"¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength̤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ9WIDESEAWCS_Core.BaseRepository.IRepository.QueryDataAsync¯UnqualifiedName®QueryDataAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ-¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ,û¦Length̤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ4WIDESEAWCS_Core.BaseRepository.IRepository.QueryPage¯UnqualifiedName©QueryPage¬CommentRange¥StartÍ/|¦LengthÍ©NameRange¥StartÍ0µ¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ0¦Length̤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ"WIDESEAWCS_Core.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥Start̪¦Length©BodyRange¥StarțLengthÍ«ExtentRange¥StarțLengthÍ)¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍ]¦Length©BodyRange¥StartͦLength|«ExtentRange¥StartÍC¦LengthÌͤKind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\System\Sys_Config.cs²FullyQualifiedNameÙ"WIDESEAWCS_Model.Models.Sys_Config¯UnqualifiedNameªSys_Config¬CommentRange¥Start{¦Length(©NameRange¥StartÌä¦Length
|
©BodyRange¥StartÌý¦Length;«ExtentRange¥StartÌ¥¦LengthͤKind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\System\Sys_Config.cs²FullyQualifiedNameÙ+WIDESEAWCS_Model.Models.Sys_Config.SortCode¯UnqualifiedName¨SortCode¬CommentRange¥StartÍw¦Length.©NameRange¥StartÍø¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍ«¦Lengthc¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Capacity¯UnqualifiedName¨Capacity¬CommentRange¥StartÍ
|
¯¦Length7©NameRange¥StartͦLength©BodyRange¥StartÍ£¦Length «ExtentRange¥StartÍ
|
ð¦LengthÌÀ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ'WIDESEAWCS_Model.Models.Platform.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍʦLength «ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ.WIDESEAWCS_Model.Models.Platform.Status.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍÚ¦Length«ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Models\Dt_Router.cs²FullyQualifiedNameÙ%WIDESEAWCS_QuartzJob.Models.Dt_Router¯UnqualifiedName©Dt_Router¬CommentRange¥Start ¦Length ©NameRange¥StartÍa¦Length ©BodyRange¥StartÍ}¦LengthÍ Q«ExtentRange¥StartÍ%¦LengthÍ ©¤Kind ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Models\Dt_Router.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Models.Dt_Router.Depth¯UnqualifiedName¥Depth¬CommentRange¥StartͶ¦Length5©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍõ¦Length̸¤Kind¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Models\Dt_Router.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.Models.Dt_Router.SrmColumn¯UnqualifiedName©SrmColumn¬CommentRange¥StartÍ q¦Length<©NameRange¥StartÍ
|
q¦Length ©BodyRange¥StartÍ
|
{¦Length «ExtentRange¥StartÍ ·¦LengthÌѤKind¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Models\Dt_Router.cs²FullyQualifiedNameÙ,WIDESEAWCS_QuartzJob.Models.Dt_Router.SrmRow¯UnqualifiedName¦SrmRow¬CommentRange¥StartÍQ¦Length<©NameRange¥StartÍ Q¦Length©BodyRange¥StartÍ X¦Length «ExtentRange¥StartͦLengthÌΤKind¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Models\Dt_Router.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.Models.Dt_Router.SrmLayer¯UnqualifiedName¨SrmLayer¬CommentRange¥StartÍ
|
¦Length<©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍ
|
Ú¦LengthÌФKind¨FileNameÙmD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Dt_StationManager¯UnqualifiedName±Dt_StationManager¬CommentRange¥Start ¦Length ©NameRange¥StartÍi¦Length©BodyRange¥StartͦLengthͼ«ExtentRange¥StartÍ'¦LengthÍ "¤Kind ¨FileNameÙmD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ5WIDESEAWCS_Model.Models.Dt_StationManager.stationType¯UnqualifiedName«stationType¬CommentRange¥Startͳ¦LengthÌ©NameRange¥StartÍë¦Length©BodyRange¥StartÍ÷¦Length «ExtentRange¥StartÍ@¦LengthÌĤKind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$1cf61f1e-b148-4fbc-a3d4-2e4fd10b7a28¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$a30380c1-2c3a-44c7-a791-d6b2a10c262d©ReferenceÀ¦Traits«IsEphemeral§Content
¢IdÄOBÆDBÐM¸ÝªVisibility«Annotations§ContentÚJè¦ä¼å `CommonConveyorLineJob` ç±»ä¸ç代ç 以æé«æ§è½ï¼å¯ä»¥èè以ä¸å 个æ¹é¢ï¼
|
|
### 1. **åå° I/O æä½**
|
é¢ç¹ç I/O æä½ï¼å¦æ°æ®åºæ¥è¯¢ãæ¥å£è¯·æ±ï¼ä¼å½±åæ§è½ãå¯ä»¥èèï¼
|
- **æ¹éæ¥è¯¢**ï¼ä¸æ¬¡æ§æ¥è¯¢å¤ä¸ªæ°æ®è䏿¯å个æ¥è¯¢ï¼ä¾å¦å¨å¤çè¯·æ±æ¶ï¼å¯ä»¥ä½¿ç¨æ¹éå¤ççæ¹æ³ã
|
- **ç¼åç»æ**ï¼å¯¹äºä¸å¸¸ååçæ°æ®ï¼å¦è®¾å¤ä¿¡æ¯ã坿é夿§çæ¥è¯¢ç»æï¼ï¼èè使ç¨ç¼åæºå¶ãéè¿ `ICacheService` å¯ä»¥å¨å
åä¸ç¼åè¿äºæ°æ®ï¼åå°åç»è®¿é®çå»¶è¿ã
|
|
¨Mentions¢IdÄçשVAÑO(ÜbO½ªVisibility«Annotations§ContentÚHvar stationManagers = _cacheService.Get<List<Dt_StationManager>>($"StationManagers_{conveyorLine.DeviceCode}");
|
if (stationManagers == null)
|
{
|
stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
_cacheService.Add($"StationManagers_{conveyorLine.DeviceCode}", stationManagers);
|
}
|
¨Language¢C#¬IsRefinement¤FileÀ§OptionsÀ¨Commands
¢IdÄl± !ãH¤ù£õnêªVisibility«Annotations§ContentÚ
|
### 2. **弿¥ç¼ç¨**
|
ç¡®ä¿æææå¯è½çç½ç»ææ°æ®åºæä½é½ä½¿ç¨å¼æ¥æ¹å¼ï¼ä»¥é²æ¢é»å¡çº¿ç¨ã
|
- 卿æå¯ä»¥å¼æ¥çæä½ä¸ä½¿ç¨ `await` å
³é®åï¼å¹¶ç¡®ä¿å
¶ä»é¨åä¹è½æ¯æå¼æ¥æä½ã
|
|
### 3. **å¹¶è¡å¤ç**
|
åçä¼åä»»å¡çå¹¶è¡æ§ï¼å¯ä»¥ä½¿ç¨ `Parallel.ForEach` æ¥å¤çæ¯è¾ç¬ç«çä»»å¡å¤çé»è¾ï¼å¦å¤çå¤ä¸ªå设å¤çæä½ã
|
|
¨Mentions¢IdÄõ
®ë¾óE-.¯¥SªVisibility«Annotations§ContentÙParallel.ForEach(childDeviceCodes, async (childDeviceCode) =>
|
{
|
await ProcessDeviceAsync(conveyorLine, childDeviceCode);
|
});
|
¨Language¢C#¬IsRefinement¤FileÀ§OptionsÀ¨Commands
¢IdÄyNëaiH¡]ý¾ ªVisibility«Annotations§ContentÚ
|
### 4. **é¿å
ä¸å¿
è¦ç计ç®**
|
ç¡®ä¿åªæå¨å¿
è¦æ¶ææ§è¡è®¡ç®ï¼å¦éå¤è¿ç®ï¼ãå¯ä»¥å°ä¸äºä¸å¿
è¦çé»è¾æ¾å¨åéçæ¡ä»¶å¤æä¸ã
|
|
### 5. **使ç¨åéçæ°æ®ç»æ**
|
确认使ç¨çéåååè¡¨æ¯æéåçç±»åãä¾å¦ï¼å¦æåªéè¦æ¥æ¾æåå¨å¯ä¸é¡¹ï¼ä½¿ç¨ `HashSet` å¯è½ä¼æ¯ `List` æé«æçã
|
|
### 6. **åå¹¶æéæé»è¾**
|
对äºéå¤è°ç¨çæ¹æ³ï¼å¦è¯»å设å¤ä¿¡æ¯ãåéå½ä»¤çï¼å¯ä»¥å°è¿äºé»è¾è¿è¡åå¹¶ææ½å为å
Œ
±æ¹æ³ï¼åå°ä»£ç éå¤åé»è¾å¤æåº¦ï¼ä»èæé«å¯ç»´æ¤æ§ï¼ä¹æ½å¨åå°äºè°ç¨å¼éã
|
|
### ä¼ååçé¨å代ç 示ä¾ï¼
|
¨Mentions¢IdÄiÇ=l!ùO¬/iÕ&@}ªVisibility«Annotations§ContentÚ)public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
|
try
|
{
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
var deviceProcessingTasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode));
|
await Task.WhenAll(deviceProcessingTasks);
|
|
var stationManagers = _cacheService.Get<List<Dt_StationManager>>($"StationManagers_{conveyorLine.DeviceCode}") ??
|
_stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
// å¤çç«ç¹é»è¾...
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
}
|
¨Language¢C#¬IsRefinement¤FileÀ§OptionsÀ¨Commands
¢IdÄÚ}ïÖóGB¶nâJóªVisibility«Annotations§ContentÚ
|
### æ»ç»
|
éè¿åå° I/O æä½ã使ç¨å¼æ¥ç¼ç¨ãå¹¶è¡å¤çä»»å¡ãé¿å
ä¸å¿
è¦ç计ç®åéæ©åéçæ°æ®ç»æï¼å¯ä»¥æ¾èæé«ä»£ç çæ§è¡æ§è½ãæ¯æ¬¡ä¼åååºèèæ§è½ç¶é¢çå
·ä½æ
åµï¼è¿è¡é对æ§çæ¹è¿ã¨Mentions¨Metadata©SessionIdÙ$0fd52b0d-b36f-4668-871f-5e1c1d23e2e3¢IdÙ4Microsoft.VisualStudio.Conversations.Chat.HelpWindow¦Author¤Name®GitHub Copilot¤Icon¤GuidÙ$4515b9bd-70a1-45fa-9545-d4536417c596¢Id§Service¤NameÙ7Microsoft.VisualStudio.Copilot.CopilotChatAgentProvider§Version£0.3¦Status©FollowUps§MessageÙ0å¦ä½çæ§åè¯ä¼°ä¼ååçä»£ç æ§è½ï¼ CorrelationIdÙ$f209b2f8-ea52-4407-9abf-87f925e964f3©MessageIdÙ$df299dbb-7be6-4f49-8a21-0e42b394fdce§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ 9
§ContentÚqusing AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
// ä»JobDataMapä¸è·åä¼ éçåæ°
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
// æ¥è¯¢ææå设å¤çä½ç½®
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
// å¹¶è¡å¤çæ¯ä¸ªå设å¤
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
// è·åææç«ç¹ç®¡çå¨
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
// å¤çå
¥åºè¯·æ±
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// æ£æ¥æ¯å¦åå¨ä»»å¡
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
// å¤çæ°ä»»å¡
|
await HandleNewTaskAsync(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
// è¾åºå¼å¸¸ä¿¡æ¯
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
// }
|
// else
|
// {
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
// }
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// è·åç¼åä¸çç¨æ·ä¿¡æ¯
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
// æé éç¥æ°æ®
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
// åééç¥
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
// è·å设å¤å议详æ
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
// æ¥è¯¢å¹³å°ä¿¡æ¯
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
// 读åä»»å¡å½ä»¤
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public async Task RequestInboundAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
// è¾åºè¦åä¿¡æ¯ï¼è¡¨ç¤ºä»»å¡å·²å°è¾¾å设å¤å¹¶è¯·æ±æ«ç å
¥åº
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
// æ¥è¯¢æ¡ç 对åºçä»»å¡
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
// 妿任å¡ç±»åæ¯åºåºæåºæçï¼åå¤çåºåºä»»å¡
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
// è·åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
// å°ä»»å¡æ å°ä¸ºå½ä»¤
|
var taskCommand = MapTaskCommand(task, command);
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
// åéå½ä»¤å°å设å¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// è¾åºè¦åä¿¡æ¯ï¼è¡¨ç¤ºä»»å¡å·²å°è¾¾å设å¤å¹¶è¯·æ±æ«ç å
¥åºï¼ä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åéä»»å¡å®æéç¥
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æä¸ºä¸ä¸ç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
// 妿任å¡ä¸ºç©ºä¸æ¡ç ä¸ä¸º"NoRead"䏿¡ç ä¸ä¸ºç©ºï¼åå¤çæ°ä»»å¡
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
// æ¥è¯¢æ¡ç 对åºçä»»å¡
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
// 弿¥å¤çæ°ä»»å¡
|
await HandleNewTaskAsync(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
// æè·å¹¶è¾åºå¼å¸¸ä¿¡æ¯
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æ¥è¯¢è¾é线任å¡ï¼æ ¹æ®è¾é线设å¤åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç åå设å¤ä»£ç ï¼ä»¥åä»»å¡ä¿¡æ¯
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
|
// 妿任å¡ä¸ä¸ºç©ºï¼åæ§è¡ä»¥ä¸æä½
|
if (task != null)
|
{
|
// è·åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
|
// å°ä»»å¡å½ä»¤æ å°å°å½åä»»å¡
|
var taskCommand = MapTaskCommand(task, command);
|
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åè¾é线åéå½ä»¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// 宿è¾é线åéä»»å¡ï¼å¹¶æ´æ°ä»»å¡ç¶æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
|
// 妿任å¡çç®æ å°åæ¯"1020-1"ï¼å忬¡æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç 以å请æ±åºåºä¸ä¸å°åçå设å¤ä»£ç
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡ï¼æ ¹æ®ä»»å¡å·åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// æ£æ¥ä»»å¡ä¸çæçæ¡ç æ¯å¦ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// æ´æ°ä»»å¡çä½ç½®ä¿¡æ¯ï¼å¹¶è·åæ´æ°åçä»»å¡å¯¹è±¡
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
|
// å¦ææ´æ°åçä»»å¡å¯¹è±¡ä¸ä¸ºç©º
|
if (newTask != null)
|
{
|
// è·åä¸ä¸ç®æ å°å
|
var next = newTask.NextAddress;
|
|
// å°æ°ä»»å¡å¯¹è±¡æ å°ä¸ºä»»å¡å½ä»¤å¯¹è±¡
|
var taskCommand = MapTaskCommand(newTask, command);
|
|
// æ¢å¤æ°ä»»å¡å¯¹è±¡çä¸ä¸ç®æ å°å
|
newTask.NextAddress = next;
|
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç 以åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åéä»»å¡å½ä»¤å°å设å¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// æ è®°è¾é线åéä»»å¡å®æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåº
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// 妿任å¡ä¸çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// å建ä¸ä¸ªç©ºçWebResponseContent对象
|
WebResponseContent content = new WebResponseContent();
|
|
// ä¿åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
// å°ä»»å¡æ å°ä¸ºå½ä»¤
|
var taskCommand = MapTaskCommand(task, command);
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// 妿任å¡çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸ä¸è´æè
ä»»å¡å¤æ³¨ä¸º"NG"
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// 设置å½ä»¤çç®æ å°å为NGå°å
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
// 设置å½ä»¤çç®æ å°å为1000
|
taskCommand.TargetAddress = 1000;
|
}
|
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
// åéå½ä»¤å°è¾é线
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
// 设置è¾é线çç®æ å°å为NGå°å
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
// ä»conveyorLineä¸çDeviceProDTOsåè¡¨ä¸æ¥æ¾ç¬¬ä¸ä¸ªç¬¦åæ¡ä»¶çDeviceProDTO对象
|
// æ¡ä»¶æ¯DeviceProParamTypeçäºDeviceCommandï¼ä¸DeviceChildCodeçäºchildDeviceCode
|
// æ¥æ¾ç»ææDeviceProOffsetååºæå
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
|
// å°deviceProçDeviceProAddressæ'.'å岿å符串æ°ç»x
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
|
// å°æ°ç»xçæåä¸ä¸ªå
ç´ æ¿æ¢ä¸ºProtocalDetailValueå 1åçå符串形å¼
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
|
// å°ä¿®æ¹åçæ°ç»xéæ°æ¼æ¥æå符串ï¼ä½ä¸ºæ°çDeviceProAddress
|
string DeviceProAddress = string.Join(".", x);
|
|
// 使ç¨conveyorLineçCommunicator对象çWriteæ¹æ³ï¼å°valueåå
¥æ°çDeviceProAddresså°å
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
// å®ä¹ä¸ä¸ªå¼æ¥æ¹æ³ï¼ç¨äºå¤ç空æçè¿åä»»å¡
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
// å®ä¹ä»»å¡ç±»åæä¸¾åé
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
// æ ¹æ®å¹³å°ç±»å设置任å¡ç±»åæä¸¾
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
// è°ç¨æ£æ¥å¹¶å建任å¡çæ¹æ³
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
// æè·å¹¶å¿½ç¥å¼å¸¸
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
// æ¥è¯¢æ°æ®åºä¸å·²æçä»»å¡
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
// 妿已æä»»å¡æ°éå°äºæå®ç´¢å¼
|
if (tasks.Count < index)
|
{
|
// è°ç¨WMSè·ååºåºä»»å¡
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
// å®ä¹WMS任塿°æ®ä¼ è¾å¯¹è±¡
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMS IPå°åé
ç½®
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
// 妿WMS IPå°åæªé
ç½®ï¼æåºå¼å¸¸
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
// åéHTTP POST请æ±è·å任塿°æ®
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
// è§£æè¿åçJSONæ°æ®
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥è¿åç¶æï¼å¦æå¤±è´¥åè¿å
|
if (!content.Status)
|
return;
|
|
// è§£æä»»å¡æ°æ®
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
// å建并åéä»»å¡
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, 1000, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¥CaretÀ¥StartÍ3é£EndÍ=ö¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$23c84de9-76a7-4a60-94a8-3c6de1584061¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$f209b2f8-ea52-4407-9abf-87f925e964f3©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ É]§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine._communicator¯UnqualifiedName_communicator¬CommentRange¥Start͸¦Length:©NameRange¥StartͦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍü¦Length0¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProDTOs¯UnqualifiedName®_deviceProDTOs¬CommentRange¥StartÍ8¦Length:©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ|¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._heartStatr¯UnqualifiedName«_heartStatr¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ6¦Length ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine._isConnected¯UnqualifiedName¬_isConnected¬CommentRange¥Start ¦Length ©NameRange¥StartÍo¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦Length!¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.Communicator¯UnqualifiedName¬Communicator¬CommentRange¥StartÍÆ¦Length:©NameRange¥StartÍ"¦Length©BodyRange¥StartÍ/¦Length«ExtentRange¥StartÍ
|
¦Length6¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.IsFault¯UnqualifiedName§IsFault¬CommentRange¥StartÍ m¦Length8©NameRange¥StartÍ »¦Length©BodyRange¥StartÍ Ã¦Length«ExtentRange¥StartÍ ¯¦Length¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.IsConnected¯UnqualifiedName«IsConnected¬CommentRange¥StartÍ Ø¦Length:©NameRange¥StartÍ
|
(¦Length©BodyRange¥StartÍ
|
4¦Length+«ExtentRange¥StartÍ
|
¦LengthD¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.CommonConveyorLine.Status¯UnqualifiedName¦Status¬CommentRange¥StartÍ
|
l¦Length7©NameRange¥StartÍ
|
Á¦Length©BodyRange¥StartÍ
|
ȦLength«ExtentRange¥StartÍ
|
¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ1WIDESEAWCS_QuartzJob.CommonConveyorLine.Heartbeat¯UnqualifiedName©Heartbeat¬CommentRange¥StartÍY¦Length9©NameRange¥Startͨ¦Length ©BodyRange¥Startͽ¦Length>«ExtentRange¥StartͦLength_¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.Dispose¯UnqualifiedName§Dispose¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+~¦Length©BodyRange¥StartÍ+¦Length|«ExtentRange¥StartÍ+r¦Length̤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙJWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.InteractiveSignal¯UnqualifiedName±InteractiveSignal¬CommentRange¥Start ¦Length ©NameRange¥StartÍP¦Length©BodyRange¥StartÍb¦Length «ExtentRange¥StartÍB¦Length-¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.Barcode¯UnqualifiedName§Barcode¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥StartÍ«¦Length «ExtentRange¥StartÍ{¦Length=¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Exists¯UnqualifiedName¦Exists¬CommentRange¥StartÌá¦LengthÌ©NameRange¥StartÍz¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍu¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ.WIDESEAWCS_Core.Caches.ICacheService.AddObject¯UnqualifiedName©AddObject¬CommentRange¥StartͦLengthÍQ©NameRange¥StartÍù¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthY¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Add¯UnqualifiedName£Add¬CommentRange¥Start ¦Length ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍY¦LengthS¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartͦLengthÌ
©NameRange¥Startͳ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ®¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartÍÒ¦LengthÌ©NameRange¥StartÍj¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍe¦Length&¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartͦLengthÌ
©NameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦Length%¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartÍW¦LengthÌ
©NameRange¥StartÍí¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦Length¤Kind ¨FileNameÙvD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoRepository\IDt_StationManagerRepository.cs²FullyQualifiedNameÙ;WIDESEAWCS_BasicInfoRepository.IDt_StationManagerRepository¯UnqualifiedName¼IDt_StationManagerRepository¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍâ¦Length
|
«ExtentRange¥StartͦLength^¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙ5WIDESEAWCS_BasicInfoService.IDt_StationManagerService¯UnqualifiedName¹IDt_StationManagerService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ!¦Length©BodyRange¥StartÍ^¦LengthÍ«ExtentRange¥StartͦLengthÍh¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetAllStationByDeviceCode¯UnqualifiedName¹GetAllStationByDeviceCode¬CommentRange¥StartÍi¦LengthÌ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthE¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetStationInfoByChildCode¯UnqualifiedName¹GetStationInfoByChildCode¬CommentRange¥StartÍ_¦Length̽©NameRange¥StartÍ8¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ.WIDESEAWCS_SignalR.INoticeService.UserLoginOut¯UnqualifiedName¬UserLoginOut¬CommentRange¥StarțLengthÌÙ©NameRange¥StartÍg¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦LengthI¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ0WIDESEAWCS_SignalR.INoticeService.UpdatePassWord¯UnqualifiedName®UpdatePassWord¬CommentRange¥Startͳ¦LengthÌÛ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ+WIDESEAWCS_SignalR.INoticeService.NewMesage¯UnqualifiedName©NewMesage¬CommentRange¥StartÍç¦LengthÌØ©NameRange¥StartÍʦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍŦLengthM¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ-WIDESEAWCS_SignalR.INoticeService.StackerData¯UnqualifiedName«StackerData¬CommentRange¥StartͦLengthÌØ©NameRange¥StartÍý¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍø¦LengthF¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ProcessParameters\IPlatFormRepository.cs²FullyQualifiedNameÙ1WIDESEAWCS_IProcessRepository.IPlatFormRepository¯UnqualifiedName³IPlatFormRepository¬CommentRange¥Start ¦Length ©NameRange¥Start=¦Length©BodyRange¥Startj¦Length«ExtentRange¥Start,¦LengthB¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.Service.IRouterService.QueryNextRoutes¯UnqualifiedName¯QueryNextRoutes¬CommentRange¥StartÍr¦LengthÌשNameRange¥StartÍc¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍS¦LengthB¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ>WIDESEAWCS_QuartzJob.Service.IRouterService.GetAllWholeRouters¯UnqualifiedName²GetAllWholeRouters¬CommentRange¥StartͦLengtho©NameRange¥StartÍ%¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength"¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.Service.IRouterService.AddRouters¯UnqualifiedNameªAddRouters¬CommentRange¥Start ¦Length ©NameRange¥StartÍY¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartÍF¦LengthR¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ-WIDESEAWCS_ISystemServices.ISys_ConfigService¯UnqualifiedName²ISys_ConfigService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¦Length©BodyRange¥StartÍc¦LengthÍ«ExtentRange¥StartÍ#¦LengthÍäKind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ISystemServices.ISys_ConfigService.GetAll¯UnqualifiedName¦GetAll¬CommentRange¥StartÍn¦Length\©NameRange¥StartÍå¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÔ¦Length¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙBWIDESEAWCS_ISystemServices.ISys_ConfigService.GetConfigsByCategory¯UnqualifiedName´GetConfigsByCategory¬CommentRange¥StartÍú¦LengthÌ©NameRange¥StartÍ¢¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength7¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ISystemServices.ISys_ConfigService.GetByConfigKey¯UnqualifiedName®GetByConfigKey¬CommentRange¥StartÍÔ¦LengthÌÄ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¢¦Length=¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoRepository\ITaskRepository.cs²FullyQualifiedNameÙ.WIDESEAWCS_ITaskInfoRepository.ITaskRepository¯UnqualifiedName¯ITaskRepository¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ˦Length
|
«ExtentRange¥StartͦLengthG¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.TaskOrderBy¯UnqualifiedName«TaskOrderBy¬CommentRange¥StartÍ}¦Length7©NameRange¥StartÍå¦Length©BodyRange¥StartÍñ¦Length «ExtentRange¥Start;¦Length@¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.TaskInboundTypes¯UnqualifiedName°TaskInboundTypes¬CommentRange¥StartÍ
|
¦Length;©NameRange¥StartÍ`¦Length©BodyRange¥StartÍq¦Length«ExtentRange¥StartÍO¦Length*¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ:WIDESEAWCS_ITaskInfoService.ITaskService.TaskOutboundTypes¯UnqualifiedName±TaskOutboundTypes¬CommentRange¥StartÍ
¦Length;©NameRange¥StartÍÛ¦Length©BodyRange¥StartÍí¦Length«ExtentRange¥StartÍʦLength+¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.RequestOutTaskToBZAsync¯UnqualifiedName·RequestOutTaskToBZAsync¬CommentRange¥StartÍ ¦LengthÌ©NameRange¥StartÍ Â¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ©¦LengthS¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍ
|
¦LengthÌΩNameRange¥StartÍ
|
ù¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
à¦Length̤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍo¦LengthÌÌ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦LengthZ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTasks¯UnqualifiedName¹QueryStackerCraneOutTasks¬CommentRange¥StartÍô¦LengthÌö©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthW¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.PlatCode¯UnqualifiedName¨PlatCode¬CommentRange¥StartÍu¦LengthC©NameRange¥StartÍ¡¦Length©BodyRange¥Startͪ¦Length «ExtentRange¥StartͦLengthÌõ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformName¯UnqualifiedName¬PlatformName¬CommentRange¥StartÍæLength@©NameRange¥StartÍȦLength©BodyRange¥StartÍÕ¦Length «ExtentRange¥StartÍ ¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.Stacker¯UnqualifiedName§Stacker¬CommentRange¥StartÍî¦Length8©NameRange¥StartÍî¦Length©BodyRange¥StartÍö¦Length «ExtentRange¥StartÍ0¦LengthÌÓ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ0WIDESEAWCS_Model.Models.Platform.ExecutionMethod¯UnqualifiedName¯ExecutionMethod¬CommentRange¥StartͦLength7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍP¦LengthÌØ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformType¯UnqualifiedName¬PlatformType¬CommentRange¥StartÍ4¦Length=©NameRange¥StartÍ6¦Length©BodyRange¥StartÍC¦Length «ExtentRange¥StartÍ{¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.PLCCode¯UnqualifiedName§PLCCode¬CommentRange¥StartÍ\¦LengthG©NameRange¥StartÍ q¦Length©BodyRange¥StartÍ y¦Length «ExtentRange¥StartͦLengthÌÙ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Location¯UnqualifiedName¨Location¬CommentRange¥StartÍ ¦Length7©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ
|
¦Length «ExtentRange¥StartÍ Ó¦LengthÌФKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Capacity¯UnqualifiedName¨Capacity¬CommentRange¥StartÍ
|
¯¦Length7©NameRange¥StartͦLength©BodyRange¥StartÍ£¦Length «ExtentRange¥StartÍ
|
ð¦LengthÌÀ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ'WIDESEAWCS_Model.Models.Platform.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍʦLength «ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ.WIDESEAWCS_Model.Models.Platform.Status.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍÚ¦Length«ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ/WIDESEAWCS_Model.Models.Platform.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥StartÍñ¦Length7©NameRange¥StartÍ ì¦Length©BodyRange¥StartÍ û¦Length «ExtentRange¥StartÍ 2¦LengthÌÖ¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ/WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum¯UnqualifiedName´TaskOutboundTypeEnum¬CommentRange¥Start ¦Length ©NameRange¥StartÍà¦Length©BodyRange¥StartÍú¦LengthÍa«ExtentRange¥StartÍÔ¦LengthͤKind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ8WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.Outbound¯UnqualifiedName¨Outbound¬CommentRange¥StartͦLength5©NameRange¥StartÍa¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍD¦Length+¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ<WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutInventory¯UnqualifiedName¬OutInventory¬CommentRange¥StartÍ|¦Length7©NameRange¥StartÍܦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͽ¦Length1¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutPick¯UnqualifiedName§OutPick¬CommentRange¥StartÍû¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ<¦Length,¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ:WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutQuality¯UnqualifiedNameªOutQuality¬CommentRange¥StartÍu¦Length7©NameRange¥StartÍÕ¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartͶ¦Length/¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutTray¯UnqualifiedName§OutTray¬CommentRange¥StartÍò¦Length8©NameRange¥StartÍT¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ4¦Length-¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ5WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutNG¯UnqualifiedName¥OutNG¬CommentRange¥StartÍn¦Length7©NameRange¥StartÍΦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͯ¦Length*¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.InToOut¯UnqualifiedName§InToOut¬CommentRange¥StartÍæ¦Length7©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'¦Length,¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ"WIDESEAWCS_Core.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥Start̪¦Length©BodyRange¥StarțLengthÍ«ExtentRange¥StarțLengthÍ)¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ5WIDESEAWCS_Core.WebResponseContent.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥StartÌÔ¦Length©BodyRange¥StartÌò¦Length«ExtentRange¥StartÌͦLength1¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ5WIDESEAWCS_Core.WebResponseContent.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ8¦Length*«ExtentRange¥StartͦLengthZ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ)WIDESEAWCS_Core.WebResponseContent.Status¯UnqualifiedName¦Status¬CommentRange¥Start ¦Length ©NameRange¥StartÍx¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍl¦Length ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ'WIDESEAWCS_Core.WebResponseContent.Code¯UnqualifiedName¤Code¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥Startͨ¦Length «ExtentRange¥StartͦLength¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ*WIDESEAWCS_Core.WebResponseContent.Message¯UnqualifiedName§Message¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength©BodyRange¥StartÍצLength «ExtentRange¥StartÍÁ¦Length#¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ'WIDESEAWCS_Core.WebResponseContent.Data¯UnqualifiedName¤Data¬CommentRange¥Start ¦Length ©NameRange¥StartÍþ¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍð¦Length ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ-WIDESEAWCS_Core.WebResponseContent.DevMessage¯UnqualifiedNameªDevMessage¬CommentRange¥Start ¦Length ©NameRange¥StartÍ*¦Length
|
©BodyRange¥StartÍ5¦Length «ExtentRange¥StartͦLength&¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍh¦Length©BodyRange¥StartÍv¦LengthB«ExtentRange¥StartÍN¦Lengthj¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.WebResponseContent.Instance¯UnqualifiedName¨Instance¬CommentRange¥Start ¦Length ©NameRange¥StartÍå¦Length©BodyRange¥StartÍ÷¦LengthB«ExtentRange¥StartÍĦLengthu¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍ]¦Length©BodyRange¥StartͦLength|«ExtentRange¥StartÍC¦LengthÌͤKind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.WebResponseContent.Error¯UnqualifiedName¥Error¬CommentRange¥Start ¦Length ©NameRange¥StartÍ6¦Length©BodyRange¥StartÍ\¦Lengthc«ExtentRange¥StartͦLengthÌ£¤Kind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ"WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO¯UnqualifiedNameªWMSTaskDTO¬CommentRange¥Start ¦Length ©NameRange¥Start̲¦Length
|
©BodyRange¥StarțLengthÍô«ExtentRange¥StartÌ¥¦LengthͤKind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ%WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.Id¯UnqualifiedName¢Id¬CommentRange¥StartÌͦLength:©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartͦLength¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥StartÍ9¦Length6©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartÍy¦Length!¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ-WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.PalletCode¯UnqualifiedNameªPalletCode¬CommentRange¥Startͦ¦Length6©NameRange¥StartÍô¦Length
|
©BodyRange¥StartÍÿ¦Length«ExtentRange¥StartÍæ¦Length'¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.RoadWay¯UnqualifiedName§RoadWay¬CommentRange¥StartͦLength6©NameRange¥StartÍg¦Length©BodyRange¥StartÍo¦Length «ExtentRange¥StartÍY¦Length#¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ+WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskType¯UnqualifiedName¨TaskType¬CommentRange¥StartͦLength7©NameRange¥StartÍÔ¦Length©BodyRange¥StartÍݦLength«ExtentRange¥StartÍɦLength"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ,WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskState¯UnqualifiedName©TaskState¬CommentRange¥StartÍ÷¦Length7©NameRange¥StartÍC¦Length ©BodyRange¥StartÍM¦Length «ExtentRange¥StartÍ8¦Length"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.SourceAddress¯UnqualifiedNameSourceAddress¬CommentRange¥StartÍf¦Length5©NameRange¥Startͳ¦Length ©BodyRange¥StartÍÁ¦Length«ExtentRange¥StartÍ¥¦Length*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥StartÍÛ¦Length5©NameRange¥StartÍ(¦Length ©BodyRange¥StartÍ6¦Length«ExtentRange¥StartͦLength*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ(WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.Grade¯UnqualifiedName¥Grade¬CommentRange¥StartÍP¦Length6©NameRange¥StartͦLength©BodyRange¥StartÍ¡¦Length«ExtentRange¥StartͦLength¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$8b4d4323-cf5f-4199-8f23-68d0b9e81563¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$f209b2f8-ea52-4407-9abf-87f925e964f3©ReferenceÀ¦Traits«IsEphemeral§Content
¢IdÄÍ;>íÔõº@£&ØÄN¨ªVisibility«Annotations§Content¤/fix¨Mentions
¢IdÄø{ SôÚJ¬÷pPñºªVisibility«Annotations§Content²ä¿®å¤æéä»£ç ¨Mentions¨Metadata¦Intent£Fix¨GuidanceÀ¥Model«modelFamily¦gpt-4o²DirectedResponders©FunctionsCorrelationIdÙ$f209b2f8-ea52-4407-9abf-87f925e964f3©MessageIdÙ$d6ca635e-6cff-4977-b83c-6442376856ac§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ 9
§ContentÚqusing AutoMapper;
|
using HslCommunication;
|
using Newtonsoft.Json;
|
using Quartz;
|
using SqlSugar;
|
using System.Reflection;
|
using WIDESEAWCS_BasicInfoRepository;
|
using WIDESEAWCS_BasicInfoService;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_Common.TaskEnum;
|
using WIDESEAWCS_Core;
|
using WIDESEAWCS_Core.Helper;
|
using WIDESEAWCS_Core.HttpContextUser;
|
using WIDESEAWCS_DTO.MOM;
|
using WIDESEAWCS_DTO.TaskInfo;
|
using WIDESEAWCS_IProcessRepository;
|
using WIDESEAWCS_ISystemServices;
|
using WIDESEAWCS_ITaskInfoRepository;
|
using WIDESEAWCS_ITaskInfoService;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEAWCS_QuartzJob.DeviceBase;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob.Service;
|
using WIDESEAWCS_SignalR;
|
using WIDESEAWCS_Tasks.ConveyorLineJob;
|
using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
[DisallowConcurrentExecution]
|
public partial class CommonConveyorLineJob : JobBase, IJob
|
{
|
public readonly ITaskService _taskService;
|
private readonly ITaskRepository _taskRepository;
|
private readonly ITaskExecuteDetailService _taskExecuteDetailService;
|
private readonly IRouterService _routerService;
|
private readonly IPlatFormRepository _platFormRepository;
|
private readonly ISys_ConfigService _sys_ConfigService;
|
private readonly IMapper _mapper;
|
private readonly IDt_StationManagerService _stationManagerService;
|
private readonly IDt_StationManagerRepository _stationManagerRepository;
|
private readonly ICacheService _cacheService;
|
private readonly INoticeService _noticeService;
|
|
public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository, IPlatFormRepository platFormRepository, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, ICacheService cacheService, INoticeService noticeService)
|
{
|
_taskService = taskService;
|
_taskExecuteDetailService = taskExecuteDetailService;
|
_routerService = routerService;
|
_mapper = mapper;
|
_taskRepository = taskRepository;
|
_platFormRepository = platFormRepository;
|
_sys_ConfigService = sys_ConfigService;
|
_stationManagerService = stationManagerService;
|
_stationManagerRepository = stationManagerRepository;
|
_cacheService = cacheService;
|
_noticeService = noticeService;
|
}
|
|
public async Task Execute(IJobExecutionContext context)
|
{
|
string jobName = context.JobDetail.Key.Name;
|
//if (MemoryLockManager.TryAcquireLock(jobName))
|
//{
|
try
|
{
|
// ä»JobDataMapä¸è·åä¼ éçåæ°
|
CommonConveyorLine conveyorLine = (CommonConveyorLine)context.JobDetail.JobDataMap.Get("JobParams");
|
if (conveyorLine != null)
|
{
|
// æ¥è¯¢ææå设å¤çä½ç½®
|
List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
|
// å¹¶è¡å¤çæ¯ä¸ªå设å¤
|
var tasks = childDeviceCodes.Select(childDeviceCode => ProcessDeviceAsync(conveyorLine, childDeviceCode)).ToList();
|
await Task.WhenAll(tasks);
|
|
// è·åææç«ç¹ç®¡çå¨
|
List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
|
foreach (var station in stationManagers)
|
{
|
if (station.stationType == 11)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ã空æçè¯·æ±æ«ç å
¥åº");
|
// å¤çå
¥åºè¯·æ±
|
NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
else if (station.stationType == 5)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
if (structs[0] == true)
|
{
|
// æ£æ¥æ¯å¦åå¨ä»»å¡
|
if (_taskRepository.QueryData(x => x.SourceAddress == station.stationChildCode).Count() > 0)
|
{
|
return;
|
}
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{station.stationChildCode}ãå¼å¸¸å£è¯·æ±æ«ç å
¥åº");
|
// å¤çæ°ä»»å¡
|
await HandleNewTaskAsync(conveyorLine, command, station.stationChildCode, 0);
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
|
}
|
}
|
}
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
// è¾åºå¼å¸¸ä¿¡æ¯
|
Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
|
}
|
// finally
|
// {
|
// MemoryLockManager.ReleaseLock(jobName);
|
// }
|
// }
|
// else
|
// {
|
// ConsoleHelper.WriteErrorLine($"[CommonConveyorLineJob]ã{jobName}ãä»»å¡å·²è¢«éå®ï¼æ æ³å¤ç");
|
// }
|
return;
|
}
|
|
private Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
|
{
|
// 读åä»»å¡å½ä»¤å设å¤å½ä»¤
|
ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
|
ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
|
if (command != null && commandWrite != null)
|
{
|
#region è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// è·åç¼åä¸çç¨æ·ä¿¡æ¯
|
var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
|
if (tokenInfos != null && tokenInfos.Any())
|
{
|
var userTokenIds = tokenInfos.Select(x => x.Token_ID).ToList();
|
var userIds = tokenInfos.Select(x => x.UserId).ToList();
|
|
// æé éç¥æ°æ®
|
object obj = new
|
{
|
command,
|
commandWrite
|
};
|
// åééç¥
|
_noticeService.LineData(userIds.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
|
}
|
|
#endregion è°ç¨äºä»¶æ»çº¿éç¥å端
|
|
// å°äº¤äºä¿¡å·è½¬æ¢ä¸ºå¸å°æ°ç»
|
var writeInteractiveSignal = commandWrite.WriteInteractiveSignal;
|
var structs = BitConverter.GetBytes(writeInteractiveSignal).Reverse().ToArray().ToBoolArray();
|
// è·å设å¤å议详æ
|
List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
|
|
if (deviceProtocolDetails != null)
|
{
|
foreach (var item in deviceProtocolDetails)
|
{
|
int itemValue = item.ProtocalDetailValue.ObjToInt();
|
if (structs[itemValue] == true)
|
{
|
var numRead = itemValue;
|
var numWrite = itemValue + 1;
|
// è¾åºè¦åä¿¡æ¯
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãã{childDeviceCode}ãã{numRead.ToString()}ãä½è¾é线读åä¿¡å·ï¼ã{structs[itemValue]}ã ã{numWrite}ãä½WCSåå
¥ä¿¡å·ï¼ã{structs[itemValue + 1]}ã");
|
if (structs[itemValue + 1] != structs[itemValue])
|
{
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
|
if (method != null)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, itemValue });
|
}
|
}
|
}
|
else
|
{
|
// åéå®æä¿¡å·
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, itemValue, false);
|
}
|
}
|
}
|
|
// æ¥è¯¢å¹³å°ä¿¡æ¯
|
Platform platform = _platFormRepository.QueryFirst(x => x.PLCCode == conveyorLine.DeviceCode && x.PlatCode == childDeviceCode && x.Status == "Active");
|
if (platform != null && !string.IsNullOrEmpty(platform.Location))
|
{
|
var strings = platform.Location.Split(',').ToList();
|
foreach (var ite in strings)
|
{
|
// 读åä»»å¡å½ä»¤
|
ConveyorLineTaskCommand command1 = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(ite);
|
if (command1.InteractiveSignal != 2)
|
{
|
command.InteractiveSignal = writeInteractiveSignal;
|
int count = strings.Count;
|
// è·åå¤çæ¹æ³
|
MethodInfo? method = GetType().GetMethod(platform.ExecutionMethod);
|
if (method != null)
|
{
|
command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
|
// è°ç¨å¤çæ¹æ³
|
method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, count, platform });
|
};
|
}
|
}
|
}
|
}
|
return Task.CompletedTask;
|
}
|
|
#region å
¥åº
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public async Task RequestInboundAsync(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
try
|
{
|
// è¾åºè¦åä¿¡æ¯ï¼è¡¨ç¤ºä»»å¡å·²å°è¾¾å设å¤å¹¶è¯·æ±æ«ç å
¥åº
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
// æ¥è¯¢æ¡ç 对åºçä»»å¡
|
var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
// 妿任å¡ç±»åæ¯åºåºæåºæçï¼åå¤çåºåºä»»å¡
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
// è·åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
// å°ä»»å¡æ å°ä¸ºå½ä»¤
|
var taskCommand = MapTaskCommand(task, command);
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
// åéå½ä»¤å°å设å¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// è¾åºè¦åä¿¡æ¯ï¼è¡¨ç¤ºä»»å¡å·²å°è¾¾å设å¤å¹¶è¯·æ±æ«ç å
¥åºï¼ä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åéä»»å¡å®æéç¥
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æä¸ºä¸ä¸ç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
else
|
{
|
// 妿任å¡ä¸ºç©ºä¸æ¡ç ä¸ä¸º"NoRead"䏿¡ç ä¸ä¸ºç©ºï¼åå¤çæ°ä»»å¡
|
if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
// æ¥è¯¢æ¡ç 对åºçä»»å¡
|
task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
|
if (task == null)
|
// 弿¥å¤çæ°ä»»å¡
|
await HandleNewTaskAsync(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
// æè·å¹¶è¾åºå¼å¸¸ä¿¡æ¯
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线请æ±å
¥åºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestInNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å");
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null)
|
{
|
if (command.Barcode == task.PalletCode)
|
{
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
if (newTask != null)
|
{
|
//ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
|
//taskCommand.InteractiveSignal = command.InteractiveSignal;
|
var next = newTask.NextAddress;
|
var taskCommand = MapTaskCommand(newTask, command);
|
newTask.NextAddress = next;
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ã请æ±å
¥åºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
}
|
}
|
}
|
}
|
|
#endregion è¾é线请æ±å
¥åºä¸ä¸å°å
|
|
/// <summary>
|
/// è¾é线å
¥åºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ");
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
|
{
|
if (command.Barcode == task.PalletCode && childDeviceCode == task.NextAddress)
|
{
|
//conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, "1000", childDeviceCode);
|
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线å
¥åºå®æ,ä¸ä¸ç®æ å°åãçå¾
åé
è´§ä½,å¹¶åå
¥1000ã");
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
|
{
|
int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
|
|
var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
|
task.CurrentAddress = station.stationLocation;
|
task.NextAddress = station.stationNGLocation;
|
task.TargetAddress = task.NextAddress;
|
task.TaskState = nextStatus;
|
task.ModifyDate = DateTime.Now;
|
task.Modifier = "System";
|
_taskRepository.UpdateData(task);
|
}
|
else
|
{
|
WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
|
Console.Out.WriteLine(content.ToJsonString());
|
}
|
}
|
}
|
}
|
|
#endregion å
¥åº
|
|
#region åºåº
|
|
/// <summary>
|
/// è¾é线请æ±åºä¿¡æ¯
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æ¥è¯¢è¾é线任å¡ï¼æ ¹æ®è¾é线设å¤åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç åå设å¤ä»£ç ï¼ä»¥åä»»å¡ä¿¡æ¯
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,task{task.ToJsonString()}");
|
|
// 妿任å¡ä¸ä¸ºç©ºï¼åæ§è¡ä»¥ä¸æä½
|
if (task != null)
|
{
|
// è·åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
|
// å°ä»»å¡å½ä»¤æ å°å°å½åä»»å¡
|
var taskCommand = MapTaskCommand(task, command);
|
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// è¾åºæåä¿¡æ¯ï¼å
æ¬è¾é线åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åè¾é线åéå½ä»¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// 宿è¾é线åéä»»å¡ï¼å¹¶æ´æ°ä»»å¡ç¶æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
|
// 妿任å¡çç®æ å°åæ¯"1020-1"ï¼å忬¡æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
if (task.TargetAddress == "1020-1")
|
{
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线请æ±åºåºä¸ä¸å°å
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void RequestOutNextAddress(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç 以å请æ±åºåºä¸ä¸å°åçå设å¤ä»£ç
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡ï¼æ ¹æ®ä»»å¡å·åå设å¤ä»£ç è·åä»»å¡ä¿¡æ¯
|
Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// æ£æ¥ä»»å¡ä¸çæçæ¡ç æ¯å¦ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// æ´æ°ä»»å¡çä½ç½®ä¿¡æ¯ï¼å¹¶è·åæ´æ°åçä»»å¡å¯¹è±¡
|
Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
|
|
// å¦ææ´æ°åçä»»å¡å¯¹è±¡ä¸ä¸ºç©º
|
if (newTask != null)
|
{
|
// è·åä¸ä¸ç®æ å°å
|
var next = newTask.NextAddress;
|
|
// å°æ°ä»»å¡å¯¹è±¡æ å°ä¸ºä»»å¡å½ä»¤å¯¹è±¡
|
var taskCommand = MapTaskCommand(newTask, command);
|
|
// æ¢å¤æ°ä»»å¡å¯¹è±¡çä¸ä¸ç®æ å°å
|
newTask.NextAddress = next;
|
|
// æå°æåæ¥å¿ï¼æ¾ç¤ºå½å设å¤åç§°ãä»»å¡å·ãæçæ¡ç ãå设å¤ä»£ç 以åä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine._deviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线请æ±åºåºä¸ä¸å°å,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åéä»»å¡å½ä»¤å°å设å¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// æ è®°è¾é线åéä»»å¡å®æ
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
}
|
}
|
|
/// <summary>
|
/// è¾é线åºåºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
public void ConveyorLineOutFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
|
{
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåº
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ");
|
|
// æ¥è¯¢æ£å¨æ§è¡çè¾é线任å¡
|
var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
|
|
// 妿任å¡åå¨
|
if (task != null)
|
{
|
// 妿任å¡ä¸çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸è´
|
if (command.Barcode == task.PalletCode)
|
{
|
// å建ä¸ä¸ªç©ºçWebResponseContent对象
|
WebResponseContent content = new WebResponseContent();
|
|
// ä¿åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
// å°ä»»å¡æ å°ä¸ºå½ä»¤
|
var taskCommand = MapTaskCommand(task, command);
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
|
// 妿任å¡çæçæ¡ç ä¸å½ä»¤ä¸çæçæ¡ç ä¸ä¸è´æè
ä»»å¡å¤æ³¨ä¸º"NG"
|
if (task.PalletCode != command.Barcode || task.Remark == "NG")
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// 设置å½ä»¤çç®æ å°å为NGå°å
|
taskCommand.TargetAddress = NGAddress;
|
}
|
else
|
{
|
// 设置å½ä»¤çç®æ å°å为1000
|
taskCommand.TargetAddress = 1000;
|
}
|
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
// åéå½ä»¤å°è¾é线
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
content = _taskService.UpdateTaskStatusToNext(task);
|
}
|
else
|
{
|
// æ¥è¯¢ç®æ å°åç容é
|
var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
|
// æå°æåä¿¡æ¯ï¼è¡¨ç¤ºæçå·²å°è¾¾æå®è¾éçº¿å¹¶å®æåºåºï¼ä¸ä¸ç®æ å°å已确å®
|
ConsoleHelper.WriteSuccessLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¾é线åºåºå®æ,ä¸ä¸ç®æ å°åã{NGAddress}ã");
|
// 设置è¾é线çç®æ å°å为NGå°å
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, NGAddress, childDeviceCode);
|
// 宿è¾é线åé
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æå°ä¸ä¸ä¸ªç¶æ
|
_taskService.UpdateTaskStatusToNext(task);
|
}
|
}
|
}
|
|
#endregion åºåº
|
|
/// <summary>
|
/// è¾é线交äºå®æ
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="ProtocalDetailValue">线ä½å½åbool读ååç§»å°å</param>
|
/// <param name="value">å¼</param>
|
public void ConveyorLineSendFinish(CommonConveyorLine conveyorLine, string childDeviceCode, int ProtocalDetailValue, bool value)
|
{
|
// ä»conveyorLineä¸çDeviceProDTOsåè¡¨ä¸æ¥æ¾ç¬¬ä¸ä¸ªç¬¦åæ¡ä»¶çDeviceProDTO对象
|
// æ¡ä»¶æ¯DeviceProParamTypeçäºDeviceCommandï¼ä¸DeviceChildCodeçäºchildDeviceCode
|
// æ¥æ¾ç»ææDeviceProOffsetååºæå
|
DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
|
|
// å°deviceProçDeviceProAddressæ'.'å岿å符串æ°ç»x
|
string[] x = devicePro.DeviceProAddress.Split('.');
|
|
// å°æ°ç»xçæåä¸ä¸ªå
ç´ æ¿æ¢ä¸ºProtocalDetailValueå 1åçå符串形å¼
|
x[x.Length - 1] = (ProtocalDetailValue + 1).ToString();
|
|
// å°ä¿®æ¹åçæ°ç»xéæ°æ¼æ¥æå符串ï¼ä½ä¸ºæ°çDeviceProAddress
|
string DeviceProAddress = string.Join(".", x);
|
|
// 使ç¨conveyorLineçCommunicator对象çWriteæ¹æ³ï¼å°valueåå
¥æ°çDeviceProAddresså°å
|
conveyorLine.Communicator.Write(DeviceProAddress, value);
|
}
|
|
#region æ£æµç©ºçå®çä»»å¡
|
|
/// <summary>
|
/// çæµç©ºæçå®çåºåº
|
/// </summary>
|
/// <param name="conveyorLine">è¾é线å®ä¾å¯¹è±¡</param>
|
/// <param name="command">读åç请æ±ä¿¡æ¯</param>
|
/// <param name="childDeviceCode">å设å¤ç¼å·</param>
|
/// <param name="index">线ä½å½åbool读ååç§»å°å</param>
|
// å®ä¹ä¸ä¸ªå¼æ¥æ¹æ³ï¼ç¨äºå¤ç空æçè¿åä»»å¡
|
public async void EmptyTrayReturn(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int index, Platform platform)
|
{
|
try
|
{
|
// å®ä¹ä»»å¡ç±»åæä¸¾åé
|
TaskOutboundTypeEnum taskOutboundTypeEnum;
|
// æ ¹æ®å¹³å°ç±»å设置任å¡ç±»åæä¸¾
|
if (platform.PlatformType.Contains("OutTray"))
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray;
|
else
|
taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound;
|
// è°ç¨æ£æ¥å¹¶å建任å¡çæ¹æ³
|
await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform);
|
}
|
catch (Exception)
|
{
|
// æè·å¹¶å¿½ç¥å¼å¸¸
|
}
|
}
|
|
/// <summary>
|
/// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡
|
/// </summary>
|
private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, Platform platform)
|
{
|
// æ¥è¯¢æ°æ®åºä¸å·²æçä»»å¡
|
var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
|
// 妿已æä»»å¡æ°éå°äºæå®ç´¢å¼
|
if (tasks.Count < index)
|
{
|
// è°ç¨WMSè·ååºåºä»»å¡
|
|
#region è°ç¨WMSè·ååºåºä»»å¡
|
|
// å®ä¹WMS任塿°æ®ä¼ è¾å¯¹è±¡
|
WMSTaskDTO taskDTO = new WMSTaskDTO();
|
|
// è·åWMS IPå°åé
ç½®
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue;
|
var requestTrayOutTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTrayOutTask)?.ConfigValue;
|
// 妿WMS IPå°åæªé
ç½®ï¼æåºå¼å¸¸
|
if (wmsBase == null || requestTrayOutTask == null)
|
{
|
throw new InvalidOperationException("WMS IP æªé
ç½®");
|
}
|
var wmsIpAddress = wmsBase + requestTrayOutTask;
|
|
// åéHTTP POST请æ±è·å任塿°æ®
|
var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
|
// è§£æè¿åçJSONæ°æ®
|
WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
|
|
// æ£æ¥è¿åç¶æï¼å¦æå¤±è´¥åè¿å
|
if (!content.Status)
|
return;
|
|
// è§£æä»»å¡æ°æ®
|
taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
|
|
#endregion è°ç¨WMSè·ååºåºä»»å¡
|
|
// å建并åéä»»å¡
|
CreateAndSendTask(taskDTO);
|
}
|
}
|
|
/// <summary>
|
/// å建任å¡
|
/// </summary>
|
public WebResponseContent CreateAndSendTask(WMSTaskDTO taskDTO)
|
{
|
var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
|
if (content.Status)
|
{
|
Console.WriteLine($"{taskDTO.TaskType}å¼å«æå");
|
}
|
return content;
|
}
|
|
#endregion æ£æµç©ºçå®çä»»å¡
|
|
#region åæNGå£å
¥åº
|
|
public void NGRequestTaskInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue, string TargetAddress)
|
{
|
var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
|
var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.MOMIP_BASE)?.ConfigValue;
|
var ipAddress = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.TrayCellsStatus)?.ConfigValue;
|
if (wmsBase == null || ipAddress == null)
|
{
|
throw new InvalidOperationException("MOM IP æªé
ç½®");
|
}
|
Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode);
|
TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
|
{
|
Software = "WMS",
|
TrayBarcode = command.Barcode,
|
EquipmentCode = stationManager.stationEquipMOM,
|
SessionId = Guid.NewGuid().ToString(),
|
EmployeeNo = "MITest",
|
SceneType = "1",
|
RequestTime = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now).ToString("yyyy-MM-ddTHH:mm:ss.fffZ")
|
};
|
|
var MOMIpAddress = wmsBase + ipAddress;
|
|
var result = HttpHelper.PostAsync(MOMIpAddress, trayCells.ToJsonString()).Result;
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¯·æ±åæ°ã{trayCells.ToJsonString()}ã");
|
WriteInfo("å
¥ç«æ ¡éª", "");
|
WriteInfo("å
¥ç«æ ¡éª", $"ã{childDeviceCode}ãå
¥ç«æ ¡éªè¿ååæ°ã{result}ã");
|
ResultTrayCellsStatus result1 = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(result);
|
|
var serialNosError = result1.SerialNos.Where(x => x.SerialNoStatus != 1).ToList();
|
if (serialNosError.Count > 0)
|
{
|
return;
|
}
|
|
if (result1.SerialNos.Count <= 0)
|
{
|
// 空æçå
¥åºé»è¾
|
Dt_Task dt_Task = new Dt_Task()
|
{
|
TargetAddress = TargetAddress,
|
PalletCode = command.Barcode,
|
NextAddress = TargetAddress,
|
TaskNum = 0
|
};
|
|
var next = dt_Task.NextAddress;
|
var taskCommand = MapTaskCommand(dt_Task, command);
|
dt_Task.NextAddress = next;
|
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
else
|
{
|
conveyorLine.SetValue(ConveyorLineDBName.ConveyorLineTargetAddress, 1000, childDeviceCode);
|
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
}
|
}
|
|
#endregion åæNGå£å
¥åº
|
}
|
}¯OriginalContentÀªSelections¥CaretÀ¥StartÍ3é£EndÍ=ö¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$23c84de9-76a7-4a60-94a8-3c6de1584061¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$f209b2f8-ea52-4407-9abf-87f925e964f3©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ ¨Language¢C#§Version¤10.0¯CopilotTypeName¯LanguageVersion¨TypeName¤Name¯LanguageVersion§IsArray¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¶CSharpTargetFrameworks¥Value®ValueContainerÙ£Microsoft.VisualStudio.Copilot.CSharpTargetFrameworkTrait, Microsoft.VisualStudio.Copilot.Core, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ (°TargetFrameworks¨'.NET 6'ªIsDocumentïCopilotTypeName¶CSharpTargetFrameworks¨TypeName¤Name¶CSharpTargetFrameworks§IsArray«IsEphemeral®ValueContainerÙ«Microsoft.VisualStudio.Copilot.UnstableInternalApi.RichDocumentContext, Microsoft.VisualStudio.Copilot, Version=17.12.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ É]§Content ¯OriginalContentÀªSelections¨FilePathÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\CommonConveyorLineJob.cs¨LanguageÀªReferencesÜ ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍc¦Length©BodyRange¥StartͦLengthÍ(«ExtentRange¥StartÍ<¦LengthÍ(î¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine._communicator¯UnqualifiedName_communicator¬CommentRange¥Start͸¦Length:©NameRange¥StartͦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍü¦Length0¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProDTOs¯UnqualifiedName®_deviceProDTOs¬CommentRange¥StartÍ8¦Length:©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ|¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙAWIDESEAWCS_QuartzJob.CommonConveyorLine._deviceProtocolDetailDTOs¯UnqualifiedName¹_deviceProtocolDetailDTOs¬CommentRange¥StartÍ»¦Length<©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthI¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceCode¯UnqualifiedName«_deviceCode¬CommentRange¥StartÍV¦Length7©NameRange¥StartÍ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._deviceName¯UnqualifiedName«_deviceName¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength#¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine._heartStatr¯UnqualifiedName«_heartStatr¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ6¦Length ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine._isConnected¯UnqualifiedName¬_isConnected¬CommentRange¥Start ¦Length ©NameRange¥StartÍo¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦Length!¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.Communicator¯UnqualifiedName¬Communicator¬CommentRange¥StartÍÆ¦Length:©NameRange¥StartÍ"¦Length©BodyRange¥StartÍ/¦Length«ExtentRange¥StartÍ
|
¦Length6¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ5WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProDTOs¯UnqualifiedNameDeviceProDTOs¬CommentRange¥StartÍL¦Length:©NameRange¥Startͪ¦Length ©BodyRange¥Start͸¦Length«ExtentRange¥StartͦLength:¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ@WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceProtocolDetailDTOs¯UnqualifiedName¸DeviceProtocolDetailDTOs¬CommentRange¥StartÍÖ¦Length<©NameRange¥StartÍA¦Length©BodyRange¥StartÍZ¦Length«ExtentRange¥StartͦLength[¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceCode¯UnqualifiedNameªDeviceCode¬CommentRange¥StartͦLength7©NameRange¥StartÍÒ¦Length
|
©BodyRange¥StartÍݦLength«ExtentRange¥StartÍĦLength(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.DeviceName¯UnqualifiedNameªDeviceName¬CommentRange¥StartÍø¦Length7©NameRange¥StartÍ G¦Length
|
©BodyRange¥StartÍ R¦Length«ExtentRange¥StartÍ 9¦Length(¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.IsFault¯UnqualifiedName§IsFault¬CommentRange¥StartÍ m¦Length8©NameRange¥StartÍ »¦Length©BodyRange¥StartÍ Ã¦Length«ExtentRange¥StartÍ ¯¦Length¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.IsConnected¯UnqualifiedName«IsConnected¬CommentRange¥StartÍ Ø¦Length:©NameRange¥StartÍ
|
(¦Length©BodyRange¥StartÍ
|
4¦Length+«ExtentRange¥StartÍ
|
¦LengthD¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ.WIDESEAWCS_QuartzJob.CommonConveyorLine.Status¯UnqualifiedName¦Status¬CommentRange¥StartÍ
|
l¦Length7©NameRange¥StartÍ
|
Á¦Length©BodyRange¥StartÍ
|
ȦLength«ExtentRange¥StartÍ
|
¦Length3¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ:WIDESEAWCS_QuartzJob.CommonConveyorLine.CommonConveyorLine¯UnqualifiedName²CommonConveyorLine¬CommentRange¥StartÍ*¦LengthÍT©NameRange¥StartͦLength©BodyRange¥StartÍ J¦LengthÍ«ExtentRange¥StartͦLengthÍÔ¤Kind¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.CheckConnect¯UnqualifiedName¬CheckConnect¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍŦLengthÍ÷«ExtentRange¥StartÍ ¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.GetValue¯UnqualifiedName¨GetValue¬CommentRange¥StartÍÿ¦LengthÍI©NameRange¥StartÍ`¦Length©BodyRange¥Start͹¦LengthÍ«ExtentRange¥StartÍR¦LengthÍû¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ1WIDESEAWCS_QuartzJob.CommonConveyorLine.Heartbeat¯UnqualifiedName©Heartbeat¬CommentRange¥StartÍY¦Length9©NameRange¥Startͨ¦Length ©BodyRange¥Startͽ¦Length>«ExtentRange¥StartͦLength_¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ3WIDESEAWCS_QuartzJob.CommonConveyorLine.SendCommand¯UnqualifiedName«SendCommand¬CommentRange¥StartͦLengthÍ©NameRange¥StartÍ4¦Length©BodyRange¥StartͦLengthÍ3«ExtentRange¥StartÍ(¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍͦLengthÍ©NameRange¥StartÍî¦Length©BodyRange¥StartÍ>¦LengthÍ1«ExtentRange¥StartÍå¦LengthͤKind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ4WIDESEAWCS_QuartzJob.CommonConveyorLine.ReadCustomer¯UnqualifiedName¬ReadCustomer¬CommentRange¥StartÍ{¦LengthÍI©NameRange¥StartÍצLength©BodyRange¥StartÍB¦LengthÍ0«ExtentRange¥StartÍΦLengthͤ¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ0WIDESEAWCS_QuartzJob.CommonConveyorLine.SetValue¯UnqualifiedName¨SetValue¬CommentRange¥StartÍ!~¦LengthÍ©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ#¦LengthÍ«ExtentRange¥StartÍ# ¦LengthÍ6¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ2WIDESEAWCS_QuartzJob.CommonConveyorLine.IsOccupied¯UnqualifiedNameªIsOccupied¬CommentRange¥StartÍ%K¦Length̽©NameRange¥StartÍ&¦Length
|
©BodyRange¥StartÍ&J¦LengthÍ«ExtentRange¥StartÍ&¦LengthÍT¤Kind ¨FileNameÙnD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\ConveyorLine\CommonConveyorLine.cs²FullyQualifiedNameÙ/WIDESEAWCS_QuartzJob.CommonConveyorLine.Dispose¯UnqualifiedName§Dispose¬CommentRange¥Start ¦Length ©NameRange¥StartÍ+~¦Length©BodyRange¥StartÍ+¦Length|«ExtentRange¥StartÍ+r¦Length̤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ8WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand¯UnqualifiedName·ConveyorLineTaskCommand¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ7¦LengthÌæ«ExtentRange¥StartÍý¦LengthÍ ¤Kind ¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙJWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.InteractiveSignal¯UnqualifiedName±InteractiveSignal¬CommentRange¥Start ¦Length ©NameRange¥StartÍP¦Length©BodyRange¥StartÍb¦Length «ExtentRange¥StartÍB¦Length-¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.Barcode¯UnqualifiedName§Barcode¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥StartÍ«¦Length «ExtentRange¥StartÍ{¦Length=¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙFWIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength ©BodyRange¥StartÍݦLength «ExtentRange¥StartÍĦLength&¤Kind¨FileNameÙrD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Tasks\ConveyorLineJob\ConveyorLineTaskCommand.cs²FullyQualifiedNameÙ@WIDESEAWCS_Tasks.ConveyorLineJob.ConveyorLineTaskCommand.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍö¦Length ¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ$WIDESEAWCS_Core.Caches.ICacheService¯UnqualifiedNameICacheService¬CommentRange¥Start ¦Length ©NameRange¥Start̵¦Length ©BodyRange¥StartÌÖ¦LengthÍ.«ExtentRange¥Start̤¦LengthÍ`¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Exists¯UnqualifiedName¦Exists¬CommentRange¥StartÌá¦LengthÌ©NameRange¥StartÍz¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍu¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ.WIDESEAWCS_Core.Caches.ICacheService.AddObject¯UnqualifiedName©AddObject¬CommentRange¥StartͦLengthÍQ©NameRange¥StartÍù¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthY¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Add¯UnqualifiedName£Add¬CommentRange¥Start ¦Length ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍY¦LengthS¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ0WIDESEAWCS_Core.Caches.ICacheService.AddOrUpdate¯UnqualifiedName«AddOrUpdate¬CommentRange¥Start ¦Length ©NameRange¥Startͽ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͸¦Length[¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartͦLengthÌ
©NameRange¥Startͳ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ®¦Length¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.Caches.ICacheService.Remove¯UnqualifiedName¦Remove¬CommentRange¥StartÍÒ¦LengthÌ©NameRange¥StartÍj¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍe¦Length&¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartͦLengthÌ
©NameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦Length%¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\Caches\ICacheService.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.Caches.ICacheService.Get¯UnqualifiedName£Get¬CommentRange¥StartÍW¦LengthÌ
©NameRange¥StartÍí¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦Length¤Kind ¨FileNameÙvD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoRepository\IDt_StationManagerRepository.cs²FullyQualifiedNameÙ;WIDESEAWCS_BasicInfoRepository.IDt_StationManagerRepository¯UnqualifiedName¼IDt_StationManagerRepository¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍâ¦Length
|
«ExtentRange¥StartͦLength^¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙ5WIDESEAWCS_BasicInfoService.IDt_StationManagerService¯UnqualifiedName¹IDt_StationManagerService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ!¦Length©BodyRange¥StartÍ^¦LengthÍ«ExtentRange¥StartͦLengthÍh¤Kind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetAllStationByDeviceCode¯UnqualifiedName¹GetAllStationByDeviceCode¬CommentRange¥StartÍi¦LengthÌ©NameRange¥StartÍ$¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthE¤Kind ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_IBasicInfoService\IDt_StationManagerService.cs²FullyQualifiedNameÙOWIDESEAWCS_BasicInfoService.IDt_StationManagerService.GetStationInfoByChildCode¯UnqualifiedName¹GetStationInfoByChildCode¬CommentRange¥StartÍ_¦Length̽©NameRange¥StartÍ8¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ!WIDESEAWCS_SignalR.INoticeService¯UnqualifiedName®INoticeService¬CommentRange¥Start%¦Length'©NameRange¥Start_¦Length©BodyRange¥Start|¦LengthÍí«ExtentRange¥StartN¦LengthͤKind¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ.WIDESEAWCS_SignalR.INoticeService.UserLoginOut¯UnqualifiedName¬UserLoginOut¬CommentRange¥StarțLengthÌÙ©NameRange¥StartÍg¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍb¦LengthI¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ0WIDESEAWCS_SignalR.INoticeService.UpdatePassWord¯UnqualifiedName®UpdatePassWord¬CommentRange¥Startͳ¦LengthÌÛ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthK¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ+WIDESEAWCS_SignalR.INoticeService.NewMesage¯UnqualifiedName©NewMesage¬CommentRange¥StartÍç¦LengthÌØ©NameRange¥StartÍʦLength ©BodyRange¥Start ¦Length «ExtentRange¥StartÍŦLengthM¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ-WIDESEAWCS_SignalR.INoticeService.StackerData¯UnqualifiedName«StackerData¬CommentRange¥StartͦLengthÌØ©NameRange¥StartÍý¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍø¦LengthF¤Kind ¨FileNameÙcD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_SignalR\Service\INoticeService.cs²FullyQualifiedNameÙ*WIDESEAWCS_SignalR.INoticeService.LineData¯UnqualifiedName¨LineData¬CommentRange¥StartÍF¦LengthÌשNameRange¥StartÍ(¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦LengthC¤Kind ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ProcessParameters\IPlatFormRepository.cs²FullyQualifiedNameÙ1WIDESEAWCS_IProcessRepository.IPlatFormRepository¯UnqualifiedName³IPlatFormRepository¬CommentRange¥Start ¦Length ©NameRange¥Start=¦Length©BodyRange¥Startj¦Length«ExtentRange¥Start,¦LengthB¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ+WIDESEAWCS_QuartzJob.Service.IRouterService¯UnqualifiedName®IRouterService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ=¦Length©BodyRange¥StartÍg¦LengthÍ:«ExtentRange¥StartÍ,¦LengthÍu¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ;WIDESEAWCS_QuartzJob.Service.IRouterService.QueryNextRoutes¯UnqualifiedName¯QueryNextRoutes¬CommentRange¥StartÍr¦LengthÌשNameRange¥StartÍc¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍS¦LengthB¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ=WIDESEAWCS_QuartzJob.Service.IRouterService.QueryAllPositions¯UnqualifiedName±QueryAllPositions¬CommentRange¥StartÍ¡¦Length̶©NameRange¥StartÍn¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍa¦Length2¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ>WIDESEAWCS_QuartzJob.Service.IRouterService.GetAllWholeRouters¯UnqualifiedName²GetAllWholeRouters¬CommentRange¥StartͦLengtho©NameRange¥StartÍ%¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength"¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ6WIDESEAWCS_QuartzJob.Service.IRouterService.AddRouters¯UnqualifiedNameªAddRouters¬CommentRange¥Start ¦Length ©NameRange¥StartÍY¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartÍF¦LengthR¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\Service\IRouterService.cs²FullyQualifiedNameÙ?WIDESEAWCS_QuartzJob.Service.IRouterService.QueryOutDeviceCodes¯UnqualifiedName³QueryOutDeviceCodes¬CommentRange¥Startͤ¦Length̸©NameRange¥StartÍs¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍf¦Length4¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ-WIDESEAWCS_ISystemServices.ISys_ConfigService¯UnqualifiedName²ISys_ConfigService¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¦Length©BodyRange¥StartÍc¦LengthÍ«ExtentRange¥StartÍ#¦LengthÍäKind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ISystemServices.ISys_ConfigService.GetAll¯UnqualifiedName¦GetAll¬CommentRange¥StartÍn¦Length\©NameRange¥StartÍå¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÔ¦Length¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙBWIDESEAWCS_ISystemServices.ISys_ConfigService.GetConfigsByCategory¯UnqualifiedName´GetConfigsByCategory¬CommentRange¥StartÍú¦LengthÌ©NameRange¥StartÍ¢¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength7¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ISystemServices\ISys_ConfigService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ISystemServices.ISys_ConfigService.GetByConfigKey¯UnqualifiedName®GetByConfigKey¬CommentRange¥StartÍÔ¦LengthÌÄ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¢¦Length=¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙ5WIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService¯UnqualifiedName¹ITaskExecuteDetailService¬CommentRange¥Start ¦Length ©NameRange¥Startͯ¦Length©BodyRange¥StartÍï¦LengthÍ«ExtentRange¥StartͦLengthÍj¤Kind¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍÿ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length?¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailInfo¯UnqualifiedNameGetDetailInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍX¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦Length.¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.GetDetailDatas¯UnqualifiedName®GetDetailDatas¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength/¤Kind ¨FileNameÙoD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskExecuteDetailService.cs²FullyQualifiedNameÙJWIDESEAWCS_ITaskInfoService.ITaskExecuteDetailService.AddTaskExecuteDetail¯UnqualifiedName´AddTaskExecuteDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͺ¦LengthG¤Kind ¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoRepository\ITaskRepository.cs²FullyQualifiedNameÙ.WIDESEAWCS_ITaskInfoRepository.ITaskRepository¯UnqualifiedName¯ITaskRepository¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ˦Length
|
«ExtentRange¥StartͦLengthG¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ(WIDESEAWCS_ITaskInfoService.ITaskService¯UnqualifiedName¬ITaskService¬CommentRange¥Start ¦Length ©NameRange¥StartÍL¦Length©BodyRange¥StartÍr¦LengthÍ$;«ExtentRange¥StartÍ;¦LengthÍ$r¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.TaskOrderBy¯UnqualifiedName«TaskOrderBy¬CommentRange¥StartÍ}¦Length7©NameRange¥StartÍå¦Length©BodyRange¥StartÍñ¦Length «ExtentRange¥Start;¦Length@¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.TaskInboundTypes¯UnqualifiedName°TaskInboundTypes¬CommentRange¥StartÍ
|
¦Length;©NameRange¥StartÍ`¦Length©BodyRange¥StartÍq¦Length«ExtentRange¥StartÍO¦Length*¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ:WIDESEAWCS_ITaskInfoService.ITaskService.TaskOutboundTypes¯UnqualifiedName±TaskOutboundTypes¬CommentRange¥StartÍ
¦Length;©NameRange¥StartÍÛ¦Length©BodyRange¥StartÍí¦Length«ExtentRange¥StartÍʦLength+¤Kind¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveWMSTask¯UnqualifiedName®ReceiveWMSTask¬CommentRange¥StartͦLengthÌ©NameRange¥StartÍ·¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͤ¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSTask¯UnqualifiedName°ReceiveByWMSTask¬CommentRange¥StartÍ÷¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthC¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.ReceiveByWMSGWTask¯UnqualifiedName²ReceiveByWMSGWTask¬CommentRange¥StartÍé¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthD¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.RequestWMSTask¯UnqualifiedName®RequestWMSTask¬CommentRange¥StartÍܦLengthÌΩNameRange¥StartÍͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ´¦LengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.RequestOutTaskToBZAsync¯UnqualifiedName·RequestOutTaskToBZAsync¬CommentRange¥StartÍ ¦LengthÌ©NameRange¥StartÍ Â¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ©¦LengthS¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍ
|
¦LengthÌΩNameRange¥StartÍ
|
ù¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ
|
à¦Length̤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ4WIDESEAWCS_ITaskInfoService.ITaskService.RequestTask¯UnqualifiedName«RequestTask¬CommentRange¥StartÍo¦LengthÌÌ©NameRange¥StartÍ^¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍE¦LengthZ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryConveyorLineTask¯UnqualifiedNameµQueryConveyorLineTask¬CommentRange¥StartÍ«¦LengthÌÒ©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ¦LengthF¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryNextConveyorLineTask¯UnqualifiedName¹QueryNextConveyorLineTask¬CommentRange¥StartÍ Û¦LengthÌÒ©NameRange¥StartÍ¿¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ·¦LengthJ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙEWIDESEAWCS_ITaskInfoService.ITaskService.QueryBarCodeConveyorLineTask¯UnqualifiedName¼QueryBarCodeConveyorLineTask¬CommentRange¥StartÍ ¦LengthÌÏ©NameRange¥StartÍî¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍæ¦LengthL¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingConveyorLineTask¯UnqualifiedName¾QueryExecutingConveyorLineTask¬CommentRange¥StartÍ>¦LengthÌÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙDWIDESEAWCS_ITaskInfoService.ITaskService.QueryExecutingTaskByBarcode¯UnqualifiedName»QueryExecutingTaskByBarcode¬CommentRange¥StartÍh¦LengthÌÌ©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ>¦LengthH¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙGWIDESEAWCS_ITaskInfoService.ITaskService.QueryCompletedConveyorLineTask¯UnqualifiedName¾QueryCompletedConveyorLineTask¬CommentRange¥StartͦLengthÌΩNameRange¥StartÍr¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍj¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.QueryBarcodeTask¯UnqualifiedName°QueryBarcodeTask¬CommentRange¥StartÍæLengthÌÈ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartͦLength@¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.QueryCraneConveyorLineTask¯UnqualifiedNameºQueryCraneConveyorLineTask¬CommentRange¥StartÍá¦LengthÌΩNameRange¥StartÍÁ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start͹¦LengthG¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QuertStackerCraneTask¯UnqualifiedNameµQuertStackerCraneTask¬CommentRange¥StartͦLengthÌé©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦LengthU¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneTask¯UnqualifiedNameµQueryStackerCraneTask¬CommentRange¥StartÍ`¦LengthÌî©NameRange¥StartÍ`¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍX¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneInTask¯UnqualifiedName·QueryStackerCraneInTask¬CommentRange¥Startͯ¦LengthÌó©NameRange¥StartÍ´¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startͬ¦LengthM¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTask¯UnqualifiedName¸QueryStackerCraneOutTask¬CommentRange¥StartͦLengthÌó©NameRange¥StartÍ
|
¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthN¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryAllOutboundTasks¯UnqualifiedNameµQueryAllOutboundTasks¬CommentRange¥StartÍ\¦LengthÍ1©NameRange¥StartÍ¥¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthQ¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙBWIDESEAWCS_ITaskInfoService.ITaskService.QueryStackerCraneOutTasks¯UnqualifiedName¹QueryStackerCraneOutTasks¬CommentRange¥StartÍô¦LengthÌö©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍô¦LengthW¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙCWIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskExceptionMessage¯UnqualifiedNameºUpdateTaskExceptionMessage¬CommentRange¥StartÍW¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍý¦LengthK¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ9WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍT¦LengthÌ¡©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÿ¦Length/¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ :¦Lengtho©NameRange¥StartÍ Æ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ ³¦Length7¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ?WIDESEAWCS_ITaskInfoService.ITaskService.UpdateTaskStatusToNext¯UnqualifiedName¶UpdateTaskStatusToNext¬CommentRange¥StartÍ ö¦LengthÌ©NameRange¥StartÍ!£¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ!¦LengthB¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ7WIDESEAWCS_ITaskInfoService.ITaskService.UpdatePosition¯UnqualifiedName®UpdatePosition¬CommentRange¥StartÍ!Þ¦LengthÌÌ©NameRange¥StartÍ"½¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"´¦Length<¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ@WIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompleted¯UnqualifiedName·StackCraneTaskCompleted¬CommentRange¥StartÍ"ü¦LengthÌ©NameRange¥StartÍ#§¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#¦Length8¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙIWIDESEAWCS_ITaskInfoService.ITaskService.StackCraneTaskCompletedByStation¯UnqualifiedNameÙ StackCraneTaskCompletedByStation¬CommentRange¥Start ¦Length ©NameRange¥StartÍ#ë¦Length ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ#ئLengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ;WIDESEAWCS_ITaskInfoService.ITaskService.TaskStatusRecovery¯UnqualifiedName²TaskStatusRecovery¬CommentRange¥StartÍ$%¦LengthÌ©NameRange¥StartÍ$ѦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍ$¾¦Length3¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙAWIDESEAWCS_ITaskInfoService.ITaskService.RollbackTaskStatusToLast¯UnqualifiedName¸RollbackTaskStatusToLast¬CommentRange¥StartÍ$ý¦LengthÌ©NameRange¥StartÍ%©¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ%¦Length9¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ>WIDESEAWCS_ITaskInfoService.ITaskService.QueryTaskByPalletCode¯UnqualifiedNameµQueryTaskByPalletCode¬CommentRange¥StartÍ%Û¦Length̯©NameRange¥StartÍ&¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ&¦LengthA¤Kind ¨FileNameÙbD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_ITaskInfoService\ITaskService.cs²FullyQualifiedNameÙ<WIDESEAWCS_ITaskInfoService.ITaskService.QueryRelocationTask¯UnqualifiedName³QueryRelocationTask¬CommentRange¥StartÍ&á¦LengthÌ©NameRange¥StartÍ'¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'y¦Length-¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedName¼WIDESEAWCS_QuartzJob.JobBase¯UnqualifiedName§JobBase¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ%¦LengthÍ «ExtentRange¥StartͦLengthÍ °¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.ExecuteJob¯UnqualifiedNameªExecuteJob¬CommentRange¥StartÍ0¦LengthÌ©NameRange¥StartÍܦLength
|
©BodyRange¥StartͦLengthÍà«ExtentRange¥StartÍʦLengthÍ5¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteDebug¯UnqualifiedNameªWriteDebug¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength
|
©BodyRange¥StartÍH¦LengthÍ«ExtentRange¥StartͦLengthͼ¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ&WIDESEAWCS_QuartzJob.JobBase.WriteInfo¯UnqualifiedName©WriteInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍߦLength ©BodyRange¥StartÍ ¦LengthÌÿ«ExtentRange¥StartÍÓ¦LengthÍ;¤Kind ¨FileNameÙVD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_QuartzJob\JobBase.cs²FullyQualifiedNameÙ'WIDESEAWCS_QuartzJob.JobBase.WriteError¯UnqualifiedNameªWriteError¬CommentRange¥Start ¦Length ©NameRange¥StartÍ
|
&¦Length
|
©BodyRange¥StartÍ
|
e¦LengthÍO«ExtentRange¥StartÍ
|
¦LengthͤKind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ WIDESEAWCS_Model.Models.Platform¯UnqualifiedName¨Platform¬CommentRange¥Start ¦Length ©NameRange¥StartÍ;¦Length©BodyRange¥StartÍV¦LengthÍëExtentRange¥StartͦLengthÍ ¤Kind ¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ#WIDESEAWCS_Model.Models.Platform.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍa¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥StartÍ^¦Length «ExtentRange¥StartÍ¢¦LengthÌɤKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.PlatCode¯UnqualifiedName¨PlatCode¬CommentRange¥StartÍu¦LengthC©NameRange¥StartÍ¡¦Length©BodyRange¥Startͪ¦Length «ExtentRange¥StartͦLengthÌõ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformName¯UnqualifiedName¬PlatformName¬CommentRange¥StartÍæLength@©NameRange¥StartÍȦLength©BodyRange¥StartÍÕ¦Length «ExtentRange¥StartÍ ¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.Stacker¯UnqualifiedName§Stacker¬CommentRange¥StartÍî¦Length8©NameRange¥StartÍî¦Length©BodyRange¥StartÍö¦Length «ExtentRange¥StartÍ0¦LengthÌÓ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ0WIDESEAWCS_Model.Models.Platform.ExecutionMethod¯UnqualifiedName¯ExecutionMethod¬CommentRange¥StartͦLength7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍP¦LengthÌØ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ-WIDESEAWCS_Model.Models.Platform.PlatformType¯UnqualifiedName¬PlatformType¬CommentRange¥StartÍ4¦Length=©NameRange¥StartÍ6¦Length©BodyRange¥StartÍC¦Length «ExtentRange¥StartÍ{¦LengthÌÕ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ(WIDESEAWCS_Model.Models.Platform.PLCCode¯UnqualifiedName§PLCCode¬CommentRange¥StartÍ\¦LengthG©NameRange¥StartÍ q¦Length©BodyRange¥StartÍ y¦Length «ExtentRange¥StartͦLengthÌÙ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Location¯UnqualifiedName¨Location¬CommentRange¥StartÍ ¦Length7©NameRange¥StartÍ
|
¦Length©BodyRange¥StartÍ
|
¦Length «ExtentRange¥StartÍ Ó¦LengthÌФKind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Platform.Capacity¯UnqualifiedName¨Capacity¬CommentRange¥StartÍ
|
¯¦Length7©NameRange¥StartͦLength©BodyRange¥StartÍ£¦Length «ExtentRange¥StartÍ
|
ð¦LengthÌÀ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ'WIDESEAWCS_Model.Models.Platform.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍʦLength «ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ.WIDESEAWCS_Model.Models.Platform.Status.Status¯UnqualifiedName¦Status¬CommentRange¥Startͼ¦LengthC©NameRange¥StartÍæLength©BodyRange¥StartÍÚ¦Length«ExtentRange¥StartÍ ¦LengthÌÚ¤Kind¨FileNameÙlD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Model\Models\ProcessParameters\Platform.cs²FullyQualifiedNameÙ/WIDESEAWCS_Model.Models.Platform.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥StartÍñ¦Length7©NameRange¥StartÍ ì¦Length©BodyRange¥StartÍ û¦Length «ExtentRange¥StartÍ 2¦LengthÌÖ¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ/WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum¯UnqualifiedName´TaskOutboundTypeEnum¬CommentRange¥Start ¦Length ©NameRange¥StartÍà¦Length©BodyRange¥StartÍú¦LengthÍa«ExtentRange¥StartÍÔ¦LengthͤKind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ8WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.Outbound¯UnqualifiedName¨Outbound¬CommentRange¥StartͦLength5©NameRange¥StartÍa¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍD¦Length+¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ<WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutInventory¯UnqualifiedName¬OutInventory¬CommentRange¥StartÍ|¦Length7©NameRange¥StartÍܦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͽ¦Length1¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutPick¯UnqualifiedName§OutPick¬CommentRange¥StartÍû¦Length7©NameRange¥StartÍ[¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ<¦Length,¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ:WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutQuality¯UnqualifiedNameªOutQuality¬CommentRange¥StartÍu¦Length7©NameRange¥StartÍÕ¦Length
|
©BodyRange¥Start ¦Length «ExtentRange¥StartͶ¦Length/¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutTray¯UnqualifiedName§OutTray¬CommentRange¥StartÍò¦Length8©NameRange¥StartÍT¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ4¦Length-¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ5WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.OutNG¯UnqualifiedName¥OutNG¬CommentRange¥StartÍn¦Length7©NameRange¥StartÍΦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͯ¦Length*¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Common\TaskEnum\TaskTypeEnum.cs²FullyQualifiedNameÙ7WIDESEAWCS_Common.TaskEnum.TaskOutboundTypeEnum.InToOut¯UnqualifiedName§InToOut¬CommentRange¥StartÍæ¦Length7©NameRange¥StartÍF¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ'¦Length,¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ"WIDESEAWCS_Core.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥Start̪¦Length©BodyRange¥StarțLengthÍ«ExtentRange¥StarțLengthÍ)¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ5WIDESEAWCS_Core.WebResponseContent.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥StartÌÔ¦Length©BodyRange¥StartÌò¦Length«ExtentRange¥StartÌͦLength1¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ5WIDESEAWCS_Core.WebResponseContent.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ8¦Length*«ExtentRange¥StartͦLengthZ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ)WIDESEAWCS_Core.WebResponseContent.Status¯UnqualifiedName¦Status¬CommentRange¥Start ¦Length ©NameRange¥StartÍx¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍl¦Length ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ'WIDESEAWCS_Core.WebResponseContent.Code¯UnqualifiedName¤Code¬CommentRange¥Start ¦Length ©NameRange¥StartÍ£¦Length©BodyRange¥Startͨ¦Length «ExtentRange¥StartͦLength¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ*WIDESEAWCS_Core.WebResponseContent.Message¯UnqualifiedName§Message¬CommentRange¥Start ¦Length ©NameRange¥StartÍϦLength©BodyRange¥StartÍצLength «ExtentRange¥StartÍÁ¦Length#¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ'WIDESEAWCS_Core.WebResponseContent.Data¯UnqualifiedName¤Data¬CommentRange¥Start ¦Length ©NameRange¥StartÍþ¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍð¦Length ¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ-WIDESEAWCS_Core.WebResponseContent.DevMessage¯UnqualifiedNameªDevMessage¬CommentRange¥Start ¦Length ©NameRange¥StartÍ*¦Length
|
©BodyRange¥StartÍ5¦Length «ExtentRange¥StartͦLength&¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍh¦Length©BodyRange¥StartÍv¦LengthB«ExtentRange¥StartÍN¦Lengthj¤Kind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ+WIDESEAWCS_Core.WebResponseContent.Instance¯UnqualifiedName¨Instance¬CommentRange¥Start ¦Length ©NameRange¥StartÍå¦Length©BodyRange¥StartÍ÷¦LengthB«ExtentRange¥StartÍĦLengthu¤Kind¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEAWCS_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍ]¦Length©BodyRange¥StartͦLength|«ExtentRange¥StartÍC¦LengthÌͤKind ¨FileNameÙgD:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ(WIDESEAWCS_Core.WebResponseContent.Error¯UnqualifiedName¥Error¬CommentRange¥Start ¦Length ©NameRange¥StartÍ6¦Length©BodyRange¥StartÍ\¦Lengthc«ExtentRange¥StartͦLengthÌ£¤Kind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ"WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO¯UnqualifiedNameªWMSTaskDTO¬CommentRange¥Start ¦Length ©NameRange¥Start̲¦Length
|
©BodyRange¥StarțLengthÍô«ExtentRange¥StartÌ¥¦LengthͤKind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ%WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.Id¯UnqualifiedName¢Id¬CommentRange¥StartÌͦLength:©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartͦLength¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskNum¯UnqualifiedName§TaskNum¬CommentRange¥StartÍ9¦Length6©NameRange¥StartͦLength©BodyRange¥StartͦLength«ExtentRange¥StartÍy¦Length!¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ-WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.PalletCode¯UnqualifiedNameªPalletCode¬CommentRange¥Startͦ¦Length6©NameRange¥StartÍô¦Length
|
©BodyRange¥StartÍÿ¦Length«ExtentRange¥StartÍæ¦Length'¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ*WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.RoadWay¯UnqualifiedName§RoadWay¬CommentRange¥StartͦLength6©NameRange¥StartÍg¦Length©BodyRange¥StartÍo¦Length «ExtentRange¥StartÍY¦Length#¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ+WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskType¯UnqualifiedName¨TaskType¬CommentRange¥StartͦLength7©NameRange¥StartÍÔ¦Length©BodyRange¥StartÍݦLength«ExtentRange¥StartÍɦLength"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ,WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TaskState¯UnqualifiedName©TaskState¬CommentRange¥StartÍ÷¦Length7©NameRange¥StartÍC¦Length ©BodyRange¥StartÍM¦Length «ExtentRange¥StartÍ8¦Length"¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.SourceAddress¯UnqualifiedNameSourceAddress¬CommentRange¥StartÍf¦Length5©NameRange¥Startͳ¦Length ©BodyRange¥StartÍÁ¦Length«ExtentRange¥StartÍ¥¦Length*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ0WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.TargetAddress¯UnqualifiedNameTargetAddress¬CommentRange¥StartÍÛ¦Length5©NameRange¥StartÍ(¦Length ©BodyRange¥StartÍ6¦Length«ExtentRange¥StartͦLength*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WCS\WIDESEAWCS_Server\WIDESEAWCS_DTO\TaskInfo\WMSTaskDTO.cs²FullyQualifiedNameÙ(WIDESEAWCS_DTO.TaskInfo.WMSTaskDTO.Grade¯UnqualifiedName¥Grade¬CommentRange¥StartÍP¦Length6©NameRange¥StartͦLength©BodyRange¥StartÍ¡¦Length«ExtentRange¥StartͦLength¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$8b4d4323-cf5f-4199-8f23-68d0b9e81563¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$f209b2f8-ea52-4407-9abf-87f925e964f3©ReferenceÀ¦Traits«IsEphemeral§Content¢IdÄ7cYÄîíO«.¡b·¢ªVisibility«Annotations§ContentÚ² try
|
{
|
// è¾åºè¦åä¿¡æ¯ï¼è¡¨ç¤ºä»»å¡å·²å°è¾¾å设å¤å¹¶è¯·æ±æ«ç å
¥åº
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº");
|
|
// æ¥è¯¢æ¡ç 对åºçä»»å¡
|
var task = await _taskService.QueryBarCodeConveyorLineTaskAsync(command.Barcode, childDeviceCode);
|
if (task != null)
|
{
|
// 妿任å¡ç±»åæ¯åºåºæåºæçï¼åå¤çåºåºä»»å¡
|
if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
|
{
|
await HandleTaskOutAsync(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
|
}
|
else
|
{
|
// è·åä»»å¡çä¸ä¸ç®æ å°å
|
var next = task.NextAddress;
|
// å°ä»»å¡æ å°ä¸ºå½ä»¤
|
var taskCommand = MapTaskCommand(task, command);
|
// æ¢å¤ä»»å¡çä¸ä¸ç®æ å°å
|
task.NextAddress = next;
|
// åéå½ä»¤å°å设å¤
|
conveyorLine.SendCommand(taskCommand, childDeviceCode);
|
|
// è¾åºè¦åä¿¡æ¯ï¼è¡¨ç¤ºä»»å¡å·²å°è¾¾å设å¤å¹¶è¯·æ±æ«ç å
¥åºï¼ä¸ä¸ç®æ å°å
|
ConsoleHelper.WriteWarningLine($"ã{conveyorLine.DeviceName}ãä»»å¡å·ï¼ã{command.TaskNum}ã,æçæ¡ç ï¼ã{command.Barcode}ãå·²å°è¾¾ã{childDeviceCode}ãè¯·æ±æ«ç å
¥åº,ä¸ä¸ç®æ å°åã{taskCommand.TargetAddress}ã");
|
|
// åéä»»å¡å®æéç¥
|
ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
|
// æ´æ°ä»»å¡ç¶æä¸ºä¸ä¸ç¶æ
|
await _taskService.UpdateTaskStatusToNextAsync(task);
|
}
|
}
|
else if (command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
|
{
|
// 妿任å¡ä¸ºç©ºä¸æ¡ç ä¸ä¸º"NoRead"䏿¡ç ä¸ä¸ºç©ºï¼åå¤çæ°ä»»å¡
|
task = await _taskService.QueryBarcodeTaskAsync(command.Barcode, childDeviceCode);
|
if (task == null)
|
{
|
// 弿¥å¤çæ°ä»»å¡
|
await HandleNewTaskAsync(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
// æè·å¹¶è¾åºå¼å¸¸ä¿¡æ¯
|
Console.Out.WriteLine(ex.ToString());
|
}
|
}
|
|
#region è¾é线请æ±å
¥åºä¸ä¸å°å
|
¨Language¢C#¬IsRefinement¤FileÀ§OptionsÀ¨Commands
¢IdÄ*ß4Æ3ôÀC±RÚW×EOªVisibility«Annotations§ContentÚx
|
### ä¿®å¤è¯´æï¼
|
1. **弿¥æ¹æ³**ï¼å° `QueryBarCodeConveyorLineTask` å `UpdateTaskStatusToNext` æ¹æ³è°ç¨æ´æ¹ä¸ºå¼æ¥çæ¬ï¼å设å®ä»¬å·²ç»è¢«å®ä¹ä¸ºå¼æ¥æ¹æ³ï¼ä¾å¦ï¼`QueryBarCodeConveyorLineTaskAsync` å `UpdateTaskStatusToNextAsync`ï¼ï¼ä»¥é¿å
é»å¡è°ç¨çº¿ç¨ã
|
2. **代ç é»è¾ä¼å**ï¼æ£æ¥æ¡ç æ¯å¦ä¸ºç©ºçæ¡ä»¶é»è¾ç®åï¼é¿å
ä¸å¿
è¦çåé夿ã
|
3. **ä»£ç æ³¨éä¿æ**ï¼ä¿æåæç注éï¼ç¡®ä¿é»è¾æ¸
æ°çåæ¶ï¼ä¹æå©äºåç»ç»´æ¤ã
|
|
请确ä¿ä¿®æ¹åçæ¹æ³ç¡®å®åå¨å¼æ¥å®ç°ï¼å¹¶ä¿®æ¹ç¸åºçæå¡æ¥å£ä»¥æ¯æå¼æ¥æä½ã¨Mentions¨Metadata©SessionIdÙ$0fd52b0d-b36f-4668-871f-5e1c1d23e2e3¢IdÙ4Microsoft.VisualStudio.Conversations.Chat.HelpWindow¦Author¤Name®GitHub Copilot¤Icon¤GuidÙ$4515b9bd-70a1-45fa-9545-d4536417c596¢Id§Service¤NameÙ7Microsoft.VisualStudio.Copilot.CopilotChatAgentProvider§Version£0.3¦Status©FollowUps
|