From 7e83137988915123fcfc5294ff0980a46f9f8e17 Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期三, 20 十一月 2024 15:39:33 +0800
Subject: [PATCH] 合并
---
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 2
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/CommonConveyorLine_AfterJob.cs | 514 ----------------------------
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs | 2
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/RequestTaskDto.cs | 2
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs | 525 +++++++++++++++++++++++++++++
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/Partial/Method.cs | 1
6 files changed, 531 insertions(+), 515 deletions(-)
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/Partial/Method.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/Partial/Method.cs
index a7eb02b..c80e720 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/Partial/Method.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/Partial/Method.cs
@@ -11,6 +11,7 @@
{
public List<Dt_StationManager> GetAllStationByDeviceCode(string DeviceCode)
{
+ //todo锛� 浣跨敤缂撳瓨鍌ㄥ瓨
return BaseDal.QueryData(x => x.stationPLC == DeviceCode).ToList();
}
}
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/CommonConveyorLine_AfterJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/CommonConveyorLine_AfterJob.cs
index 08a7d4b..e5ded63 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/CommonConveyorLine_AfterJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/CommonConveyorLine_AfterJob.cs
@@ -113,6 +113,7 @@
/// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
public void RequestInbound(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
{
+
var taskNew = _taskService.QueryCraneConveyorLineTask(command.ConveyorLineTaskNum.ObjToInt(), childDeviceCode);
if (taskNew == null)
{
@@ -145,28 +146,6 @@
conveyorLine.SendCommand(taskCommand, childDeviceCode);
_taskService.UpdateTaskStatusToNext(inTask);
- }
- }
-
- /// <summary>
- /// 杈撻�佺嚎璇锋眰鍏ュ簱涓嬩竴鍦板潃
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- public void RequestInNextAddress(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
- {
- //if(command)
- Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode);
- if (task != null)
- {
- Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
- if (newTask != null)
- {
- ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(newTask);
- //taskCommand.InteractiveSignal = command.InteractiveSignal;
- conveyorLine.SendCommand(taskCommand, childDeviceCode);
- }
}
}
@@ -208,497 +187,6 @@
_taskService.UpdateTaskStatusToNext(task);
}
}
-
- /// <summary>
- /// 杈撻�佺嚎璇锋眰鍑哄簱涓嬩竴鍦板潃
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- public void RequestOutNextAddress(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
- {
- Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode);
- if (task != null)
- {
- Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
- if (newTask != null)
- {
- ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(newTask);
- //taskCommand.InteractiveSignal = command.InteractiveSignal;
- conveyorLine.SendCommand(taskCommand, childDeviceCode);
- }
- }
- }
-
- /// <summary>
- /// 杈撻�佺嚎鍑哄簱瀹屾垚
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- public void ConveyorLineOutFinish(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
- {
- Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode);
- if (task != null)
- {
- conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode);
- WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
- Console.Out.WriteLine(content.Serialize());
- }
- }
-
- /// <summary>
- /// 杈撻�佺嚎浜や簰瀹屾垚
- /// </summary>
- /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
- /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
- /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
- /// <param name="value">鍊�</param>
- public void ConveyorLineSendFinish(CommonConveyorLine_After 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);
- }
}
}
-#endregion
-
-
-
-#region MyRegion
-//using AutoMapper;
-//using HslCommunication;
-//using Newtonsoft.Json;
-//using Quartz;
-//using SqlSugar;
-//using System.Reflection;
-//using WIDESEAWCS_Common.TaskEnum;
-//using WIDESEAWCS_Core;
-//using WIDESEAWCS_Core.Helper;
-//using WIDESEAWCS_DTO.TaskInfo;
-//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_Tasks.ConveyorLineJob;
-
-//namespace WIDESEAWCS_Tasks
-//{
-// [DisallowConcurrentExecution]
-// public class CommonConveyorLine_AfterJob : JobBase, IJob
-// {
-// private readonly List<string> _deviceCodes1 = new List<string>() { "1063", "1061", "1060" };
-// private readonly List<string> _deviceCodes2 = new List<string>() { "1067", "1069", "1068" };
-// private readonly string[] HCTrayCode = { "1012", "1013" };
-// private readonly ITaskService _taskService;
-// private readonly ITaskRepository _taskRepository;
-// private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-// private readonly IRouterService _routerService;
-// private readonly IMapper _mapper;
-
-// public CommonConveyorLine_AfterJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper, ITaskRepository taskRepository)
-// {
-// _taskService = taskService;
-// _taskExecuteDetailService = taskExecuteDetailService;
-// _routerService = routerService;
-// _mapper = mapper;
-// _taskRepository = taskRepository;
-// }
-
-// public Task Execute(IJobExecutionContext context)
-// {
-// try
-// {
-// CommonConveyorLine_After conveyorLine = (CommonConveyorLine_After)context.JobDetail.JobDataMap.Get("JobParams");
-// if (conveyorLine != null)
-// {
-// List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
-// List<Task> tasks = new List<Task>();
-// foreach (string childDeviceCode in childDeviceCodes)
-// {
-// //Task task = Task.Run(() =>
-// //{
-// ConveyorLineTaskCommand_After command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand_After>(childDeviceCode);
-// if (command != null)
-// {
-// var structs = BitConverter.GetBytes(command.InteractiveSignal).Reverse().ToArray().ToBoolArray();
-
-// List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand_After.InteractiveSignal)).ToList();
-
-// if (deviceProtocolDetails != null)
-// {
-// foreach (var item in deviceProtocolDetails)
-// {
-// var outDeviceCodes = _routerService.QueryOutDeviceCodes(conveyorLine.DeviceCode);
-// if (structs[item.ProtocalDetailValue.ObjToInt()] == true)
-// {
-// MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
-// if (method != null)
-// {
-// method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue.ObjToInt() });
-// }
-// }
-// else
-// {
-// //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] = (item.ProtocalDetailValue.ObjToInt() + 1).ToString();
-// //string DeviceProAddress = string.Join(".", x);
-// //var writeRead = conveyorLine.Communicator.Read<bool>(DeviceProAddress);
-// //if (writeRead)
-// //{
-// // ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
-// //}
-// }
-// }
-// }
-// }
-// //});
-// //tasks.Add(task);
-// }
-// Task.WaitAll(tasks.ToArray());
-// }
-// }
-// catch (Exception ex)
-// {
-// Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
-// }
-// finally
-// {
-// //WriteDebug("CommonConveyorLineJob", "test");
-// //Console.Out.WriteLine(DateTime.Now);
-// }
-// return Task.CompletedTask;
-// }
-
-// /// <summary>
-// /// 杈撻�佺嚎璇锋眰鍏ュ簱
-// /// </summary>
-// /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-// /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
-// /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-// /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
-// public void RequestInbound(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode, int ProtocalDetailValue)
-// {
-// var taskNew = _taskService.QueryCraneConveyorLineTask(command.Barcode.ObjToInt(), childDeviceCode);
-// var Taskout = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
-// if (Taskout != null)
-// {
-// // 绌烘墭鐩樹换鍔�
-// if (Taskout.TaskType == (int)TaskOutboundTypeEnum.OutTray)
-// {
-// if (Taskout.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)
-// {
-// ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(Taskout);
-// taskCommand.InteractiveSignal = command.InteractiveSignal;
-// if (command.Barcode == "")
-// {
-// taskCommand.TargetAddress = 1092;
-// }
-// conveyorLine.SendCommand(taskCommand, childDeviceCode);
-
-// ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-
-// _taskService.UpdateTaskStatusToNext(Taskout);
-// }
-// else if (Taskout.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting)
-// {
-// if (command.Barcode == "")
-// {
-// ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(Taskout);
-// taskCommand.InteractiveSignal = command.InteractiveSignal;
-// taskCommand.TargetAddress = 1092;
-// conveyorLine.SendCommand(taskCommand, childDeviceCode);
-
-// ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-// _taskService.UpdateTaskStatusToNext(Taskout);
-// }
-// }
-// }
-// else if (Taskout.TaskType == (int)TaskOutboundTypeEnum.Outbound)
-// {
-// if (Taskout.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting)
-// {
-// ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(Taskout);
-// taskCommand.InteractiveSignal = command.InteractiveSignal;
-// if (command.Barcode == "")
-// {
-// //todo 娌℃湁鏄庣‘寮傚父鍙o紝閫佸埌鐩爣宸烽亾鐨凬G鍙�
-// //taskCommand.TargetAddress = 1092;
-// }
-// conveyorLine.SendCommand(taskCommand, childDeviceCode);
-
-// ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-
-// _taskService.UpdateTaskStatusToNext(Taskout);
-// }
-// else if (Taskout.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting)
-// {
-// if (command.Barcode == "")
-// {
-// ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(Taskout);
-// taskCommand.InteractiveSignal = command.InteractiveSignal;
-// // todo 閫佸埌鐩爣宸烽亾鐨凬G鍙�
-// taskCommand.TargetAddress = 1092;
-// conveyorLine.SendCommand(taskCommand, childDeviceCode);
-
-// ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-// _taskService.UpdateTaskStatusToNext(Taskout);
-// }
-// else
-// {
-// // todo 璋冪敤WMS浠诲姟瀹屾垚鎺ュ彛
-// var x = new { taskNum = Taskout.TaskNum };
-// var result = HttpHelper.GetAsync("http:127.0.0.1:8098/api/Task/CompleteTaskAsync", x.ToJsonString()).Result;
-// WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
-// if (content.Status)
-// {
-// ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-// _taskService.UpdateTaskStatusToNext(Taskout);
-// }
-// }
-// }
-// }
-// }
-// if (taskNew == null)
-// {
-// if (_taskService.RequestWMSTask(command.Barcode, childDeviceCode).Status)
-// {
-// Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
-// if (task != null)
-// {
-// ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(task);
-// taskCommand.InteractiveSignal = command.InteractiveSignal;
-// conveyorLine.SendCommand(taskCommand, childDeviceCode);
-
-// ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-
-// _taskService.UpdateTaskStatusToNext(task);
-// }
-// }
-// }
-// }
-
-// //
-// /// <summary>
-// /// 绌烘墭鐩樺洖娴�
-// /// </summary>
-// /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-// /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
-// /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-// /// <param name="index">璇诲彇鐨勭涓�涓綅缃�</param>
-// public void EmptyTrayReturn(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode, int index)
-// {
-// var tasks = _taskRepository.QueryData(x => (x.TaskState == (int)TaskOutStatusEnum.OutNew || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting) && x.TaskType == (int)TaskOutboundTypeEnum.OutTray);
-// if (tasks.Count <= index)
-// {
-// WMSTaskDTO taskDTO = new WMSTaskDTO()
-// {
-// TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")),
-// Grade = 1,
-// PalletCode = DateTime.Now.ToString("yyyyMMddHHmmss"),
-// RoadWay = "CHSC01",
-// SourceAddress = "001-001-001",
-// TargetAddress = childDeviceCode,
-// TaskState = (int)TaskOutStatusEnum.OutNew,
-// Id = 0,
-// TaskType = (int)TaskOutboundTypeEnum.OutTray
-// };
-
-// #region 鐪熷疄鏁版嵁
-
-// // TODO: 璋冪敤鎺ュ彛鑾峰彇涓嬩竴涓湴鍧�
-// //RequestTaskDto request = new RequestTaskDto()
-// //{
-// // Position = sourceAddress,
-// // PalletCode = palletCode,
-// //};
-
-// //// 鍙戦�佽姹傚苟绛夊緟鍝嶅簲
-// //var result = HttpHelper.PostAsync("http:127.0.0.1:8098/api/Task/RequestTaskAsync", request.ToJsonString()).Result;
-
-// //// 鍙嶅簭鍒楀寲鍝嶅簲鍐呭
-// //WebResponseContent content = JsonConvert.DeserializeObject<WebResponseContent>(result);
-
-// //// 妫�鏌ョ姸鎬佸苟杩斿洖
-// ////if (!content.Status)
-// //// return content;
-
-// //// 鍙嶅簭鍒楀寲浠诲姟鏁版嵁
-// //WMSTaskDTO task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
-
-// #endregion
-
-// var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
-// if (content.Status)
-// {
-// Console.WriteLine("绌烘墭鐩樺懠鍙垚鍔�");
-// }
-// }
-// }
-
-// ///// <summary>
-// ///// 闄堝寲鍑哄簱
-// ///// </summary>
-// ///// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-// ///// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
-// ///// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-// ///// <param name="index">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
-// //public void ChuanhuaOutbound(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode, int index)
-// //{
-// // var tasks = _taskRepository.QueryData(x => (x.TaskState == (int)TaskOutStatusEnum.OutNew || x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting) && x.TaskType == (int)TaskOutboundTypeEnum.Outbound);
-// // if (tasks.Count <= index)
-// // {
-// // WMSTaskDTO taskDTO = new WMSTaskDTO()
-// // {
-// // TaskNum = Convert.ToInt32(DateTime.Now.ToString("HHmmss")),
-// // Grade = 1,
-// // PalletCode = DateTime.Now.ToString("MMddHHmmss"),
-// // RoadWay = "CHSC01",
-// // SourceAddress = "001-001-001",
-// // TargetAddress = childDeviceCode,
-// // TaskState = (int)TaskOutStatusEnum.OutNew,
-// // Id = 0,
-// // TaskType = (int)TaskOutboundTypeEnum.Outbound,
-// // };
-
-// // var content = _taskService.ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO });
-// // if (content.Status)
-// // {
-// // Console.WriteLine("鍑哄簱鍛煎彨鎴愬姛");
-// // }
-// // }
-// // else
-// // {
-// // Dt_Task task = tasks[index];
-// // if (task != null)
-// // {
-// // ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(task);
-// // taskCommand.InteractiveSignal = command.InteractiveSignal;
-// // conveyorLine.SendCommand(taskCommand, childDeviceCode);
-// // }
-// // }
-// //}
-
-// /// <summary>
-// /// 杈撻�佺嚎璇锋眰鍏ュ簱涓嬩竴鍦板潃
-// /// </summary>
-// /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-// /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
-// /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-// public void RequestInNextAddress(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
-// {
-// Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
-// if (task != null)
-// {
-// Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
-// if (newTask != null)
-// {
-// ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(newTask);
-// taskCommand.InteractiveSignal = command.InteractiveSignal;
-// conveyorLine.SendCommand(taskCommand, childDeviceCode);
-// }
-// }
-// }
-
-// /// <summary>
-// /// 杈撻�佺嚎鍏ュ簱瀹屾垚
-// /// </summary>
-// /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-// /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
-// /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-// /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
-// public void ConveyorLineInFinish(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode, int ProtocalDetailValue)
-// {
-// Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
-// if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
-// {
-// ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-
-// //conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode);
-// WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
-// Console.Out.WriteLine(content.Serialize());
-// }
-// }
-
-// /// <summary>
-// /// 杈撻�佺嚎璇锋眰鍑轰俊鎭�
-// /// </summary>
-// /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-// /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
-// /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-// public void RequestOutbound(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
-// {
-// Dt_Task task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
-// if (task != null)
-// {
-// ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(task);
-// taskCommand.InteractiveSignal = command.InteractiveSignal;
-// conveyorLine.SendCommand(taskCommand, childDeviceCode);
-
-// _taskService.UpdateTaskStatusToNext(task);
-// }
-// }
-
-// /// <summary>
-// /// 杈撻�佺嚎璇锋眰鍑哄簱涓嬩竴鍦板潃
-// /// </summary>
-// /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-// /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
-// /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-// public void RequestOutNextAddress(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
-// {
-// Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
-// if (task != null)
-// {
-// Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
-// if (newTask != null)
-// {
-// ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(newTask);
-// taskCommand.InteractiveSignal = command.InteractiveSignal;
-// conveyorLine.SendCommand(taskCommand, childDeviceCode);
-// }
-// }
-// }
-
-// /// <summary>
-// /// 杈撻�佺嚎鍑哄簱瀹屾垚
-// /// </summary>
-// /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-// /// <param name="command">璇诲彇鐨勮姹備俊鎭�</param>
-// /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-// public void ConveyorLineOutFinish(CommonConveyorLine_After conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
-// {
-// Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
-// if (task != null)
-// {
-// conveyorLine.SetValue(ConveyorLineDBName.WriteInteractiveSignal, 0, childDeviceCode);
-// WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
-// Console.Out.WriteLine(content.Serialize());
-// }
-// }
-
-// /// <summary>
-// /// 杈撻�佺嚎浜や簰瀹屾垚
-// /// </summary>
-// /// <param name="conveyorLine">杈撻�佺嚎瀹炰緥瀵硅薄</param>
-// /// <param name="childDeviceCode">瀛愯澶囩紪鍙�</param>
-// /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
-// /// <param name="value">鍊�</param>
-// public void ConveyorLineSendFinish(CommonConveyorLine_After 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);
-// }
-// }
-//}
#endregion
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/RequestTaskDto.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/RequestTaskDto.cs
index 63a5ce1..2e45146 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/RequestTaskDto.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/RequestTaskDto.cs
@@ -21,6 +21,8 @@
/// 浠诲姟绫诲瀷
/// </summary>
public string RequestType { get; set; } = string.Empty;
+
+ public string EquiCodeMOM { get; set; }
}
public class RequestOutTaskDto
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
index ed4d3ef..6be5fce 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -13,7 +13,7 @@
namespace WIDESEA_StorageOutTaskServices;
-public class Dt_TaskService : ServiceBase<Dt_Task, IDt_TaskRepository>, IDt_TaskService
+public partial class Dt_TaskService : ServiceBase<Dt_Task, IDt_TaskRepository>, IDt_TaskService
{
private readonly LogFactory LogFactory = new LogFactory();
private readonly IUnitOfWorkManage _unitOfWorkManage;
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
new file mode 100644
index 0000000..58269a9
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -0,0 +1,525 @@
+锘縰sing log4net.Core;
+using Mapster;
+using Masuit.Tools;
+using Masuit.Tools.Models;
+using WIDESEA_DTO.MOM;
+using WIDESEA_DTO.WMS;
+using WIDESEA_IStorageBasicRepository;
+using WIDESEA_IStoragIntegrationServices;
+using WIDESEA_Model.Models;
+using WIDESEA_StorageBasicRepository;
+using WIDESEA_StorageTaskRepository;
+using WIDESEA_StoragIntegrationServices;
+
+namespace WIDESEA_StorageOutTaskServices;
+
+public partial class Dt_TaskService : ServiceBase<Dt_Task, IDt_TaskRepository>, IDt_TaskService
+{
+
+ //#region 鍑哄簱浠诲姟瀹屾垚
+
+
+ //public async Task<WebResponseContent> CompleteStackTaskAsync(Dt_Task task, DtStockInfo stock)
+ //{
+ // WebResponseContent content = new WebResponseContent();
+ // try
+ // {
+ // if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
+ // {
+ // var process = await SqlSugarHelper.Db.Queryable<Dt_EquipmentProcess>()
+ // .FirstAsync(x => x.EquipmentName == task.Roadway);
+ // var info = JsonConvert.DeserializeObject<ResponseEqptRunDto>(process.ProcessValue);
+
+ // var agingOutputDto = MapToAgingOutputDto(stock, info);
+ // content = await _agingInOrOutInputService.GetOCVOutputAsync(agingOutputDto);
+ // ValidateResponse(content);
+ // }
+
+ // // 鏇存柊搴撳瓨鐘舵�佸拰浠诲姟鐘舵��
+ // (var loc, var tas) = UpdateStockAndTaskStatus(stock, task);
+
+ // // 浜嬪姟澶勭悊
+ // await _unitOfWorkManage.UseTranAsync(async () =>
+ // {
+ // await UpdateLocationAsync(loc);
+ // await DeleteStockInfoAsync(stock.Id);
+ // await DeleteStockInfoDetailsAsync(stock.StockInfoDetails);
+ // //await DeleteTaskAsync(task.TaskId);
+ // });
+
+ // return content.OK("浠诲姟瀹屾垚鎴愬姛");
+ // }
+ // catch (Exception err)
+ // {
+ // LogFactory.GetLog("浠诲姟瀹屾垚").Error(true, $"绯荤粺寮傚父锛屽紓甯镐俊鎭細{err.Message}");
+ // return content.Error(err.Message);
+ // }
+ //}
+
+ //private AgingOutputDto MapToAgingOutputDto(DtStockInfo stock, ResponseEqptRunDto info)
+ //{
+ // // TODO Value鍊兼牴鎹甅OM涓嬪彂鐨勯潤缃椂闂村埌褰撳墠鏃堕棿鐨勫垎閽熸暟
+ // return new AgingOutputDto
+ // {
+ // OpFlag = 1,
+ // Software = "WMS",
+ // EquipmentCode = "24MEJQ08-1091",
+ // TrayBarcode = stock.PalletCode,
+ // SerialNos = stock.StockInfoDetails.Select(x => new SerialNoOutDto
+ // {
+ // SlotNo = x.OrderNo.ToInt32(),
+ // SerialNo = x.SerialNumber,
+ // SerialNoResult = true,
+ // ParameterInfo = info.ParameterInfo.Select(y => new ParameterInfo()
+ // {
+ // LowerLomit = y.LowerControlLimit,
+ // UpperLimit = y.UpperControlLimit,
+ // ParameterResult = y.EquipmentAvailabilityFlag,
+ // ParameterCode = y.ParameterCode,
+ // ParameterDesc = y.Description,
+ // TargetValue = y.TargetValue,
+ // Value = (DateTime.Parse(stock.LinedProcessFeedbackTime, null, System.Globalization.DateTimeStyles.RoundtripKind).ToLocalTime() - stock.CreateDate).TotalMinutes.ToString(),
+ // DefectCode = y.UOMCode
+ // }).ToList()
+ // }).ToList()
+ // };
+ //}
+
+ //private void ValidateResponse(WebResponseContent content)
+ //{
+ // var result = JsonConvert.DeserializeObject<BasicResult>(content.Data.ToString());
+ // if (!result.Success)
+ // {
+ // throw new Exception(result.MOMMessage);
+ // }
+ //}
+
+ //private (DtLocationInfo, Dt_Task) UpdateStockAndTaskStatus(DtStockInfo stock, Dt_Task task)
+ //{
+ // var location = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress);
+ // var details = _stockInfoDetailRepository.QueryData(x => x.StockId == stock.Id);
+
+ // location.LocationStatus = (int)LocationEnum.Free;
+ // task.TaskState = (int)TaskOutStatusEnum.OutFinish;
+ // //task.CurrentAddress = task.NextAddress;
+ // //task.NextAddress = task.TargetAddress;
+
+ // LogFactory.GetLog("浠诲姟瀹屾垚").Info(true, "鏇存柊搴撳瓨鐘舵�佷笌浠诲姟鐘舵��");
+ // return (location, task);
+ //}
+
+ //private async Task DeleteStockInfoAsync(int stockId)
+ //{
+ // var isStockUpdated = await _stockInfoRepository.DeleteDataByIdAsync(stockId);
+ // if (!isStockUpdated)
+ // {
+ // throw new Exception("搴撳瓨淇℃伅鏇存柊澶辫触");
+ // }
+ //}
+
+ //private async Task UpdateLocationAsync(DtLocationInfo info)
+ //{
+ // var isStockUpdated = await _locationRepository.UpdateDataAsync(info);
+ // if (!isStockUpdated)
+ // {
+ // throw new Exception("搴撳瓨淇℃伅鏇存柊澶辫触");
+ // }
+ //}
+
+ //private async Task DeleteStockInfoDetailsAsync(IEnumerable<DtStockInfoDetail> details)
+ //{
+ // var ids = details.Select(x => (object)x.Id).ToArray();
+ // var isStockDetailUpdated = await _stockInfoDetailRepository.DeleteDataByIdsAsync(ids);
+ // if (!isStockDetailUpdated)
+ // {
+ // throw new Exception("搴撳瓨璇︽儏淇℃伅鏇存柊澶辫触");
+ // }
+ //}
+
+ //private async Task DeleteTaskAsync(int taskId)
+ //{
+ // var isTaskUpdated = await BaseDal.DeleteDataByIdAsync(taskId);
+ // if (!isTaskUpdated)
+ // {
+ // throw new Exception("浠诲姟淇℃伅鏇存柊澶辫触");
+ // }
+ //}
+
+ //#endregion 鍑哄簱浠诲姟瀹屾垚
+
+ #region 绉诲簱浠诲姟瀹屾垚
+
+ /// <summary>
+ /// 绉诲簱浠诲姟瀹屾垚
+ /// </summary>
+ /// <param name="saveModel">浠诲姟鏁版嵁鍚堥泦</param>
+ /// <returns>杩斿洖缁撴灉闆�</returns>
+ //public async Task<WebResponseContent> CompleteTransferTaskAsync(Dt_Task task, DtStockInfo stock)
+ //{
+ // WebResponseContent content = new WebResponseContent();
+ // try
+ // {
+ // // 鏇存柊璐т綅鍜屽簱瀛樹俊鎭�
+ // (DtStockInfo updateStock, DtLocationInfo locationInf) = UpdateStockLocation(stock, task.NextAddress);
+ // var taskHty = CreateHistoricalTask(task);
+ // LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "绉诲簱浠诲姟瀹屾垚", $"璐т綅鍦板潃锛歿task.TargetAddress},淇敼鍚庡簱瀛樻暟鎹細{JsonConvert.SerializeObject(updateStock)}锛屽師鍏堣揣浣嶆暟鎹細{locationInf}");
+
+ // // 鎵ц鏁版嵁搴撲簨鍔�
+ // bool isResult = await ExecuteTransaction(updateStock, taskHty, locationInf, task.TaskId);
+ // if (isResult)
+ // content.OK("绉诲簱浠诲姟瀹屾垚鎴愬姛");
+ // else
+ // content.Error("绉诲簱浠诲姟瀹屾垚澶辫触");
+ // }
+ // catch (Exception err)
+ // {
+ // Console.WriteLine(err.Message.ToString());
+ // }
+ // return content;
+ //}
+
+ #endregion 绉诲簱浠诲姟瀹屾垚
+
+ #region 鍏ュ簱浠诲姟瀹屾垚
+
+ /// <summary>
+ /// 瀹屾垚鍏ュ簱浠诲姟
+ /// </summary>
+ /// <param name="task">浠诲姟鏁版嵁鍚堥泦</param>
+ /// <returns>杩斿洖缁撴灉闆�</returns>
+ //public async Task<WebResponseContent> CompleteInboundTaskAsync(Dt_Task task)
+ //{
+ // // 鍒濆鍖栧搷搴斿唴瀹�
+ // WebResponseContent content = new WebResponseContent();
+ // try
+ // {
+ // // 鑾峰彇瑁呯淇℃伅鍜岀洰鏍囦綅缃俊鎭�
+ // var boxing = await _boxingInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode);
+ // var locationInf = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress);
+
+ // // 鏇存柊鐩爣浣嶇疆鐘舵�佷负搴撳瓨涓�
+ // locationInf.LocationStatus = (int)LocationEnum.InStock;
+
+ // // 鍒涘缓鍘嗗彶浠诲姟瀹炰緥妯″瀷
+ // var taskHty = CreateHistoricalTask(task);
+
+ // // 鏍规嵁鏄惁鏈夌粍鐩樹俊鎭垱寤哄簱瀛樺疄渚嬫ā鍨�
+ // DtStockInfo stock = boxing == null ? CreateEmptyPalletStock(task, locationInf) : CreateFullPalletStock(task, locationInf, boxing);
+
+ // // 鎵ц鏁版嵁搴撲簨鍔�
+ // bool isResult = await ExecuteTransaction(stock, taskHty, locationInf, task.TaskId);
+ // if (isResult)
+ // {
+ // content.OK("鍏ュ簱浠诲姟瀹屾垚鎴愬姛");
+ // }
+ // else
+ // {
+ // content.Error("鍏ュ簱浠诲姟瀹屾垚澶辫触");
+ // }
+ // }
+ // catch (Exception err)
+ // {
+ // // 璁板綍寮傚父淇℃伅鍒版帶鍒跺彴鍜屾棩蹇�
+ // Console.WriteLine(err.Message.ToString());
+ // LogFactory.GetLog("浠诲姟瀹屾垚").Error(true, err);
+ // }
+ // return content;
+ //}
+
+ /// <summary>
+ /// 鍒涘缓绌烘墭鐩樼殑搴撳瓨瀹炰緥妯″瀷
+ /// </summary>
+ //private DtStockInfo CreateEmptyPalletStock(Dt_Task task, DtLocationInfo locationInf)
+ //{
+ // var loation = _locationRepository.QueryFirst(x => x.RoadwayNo == task.Roadway && x.LocationCode == task.TargetAddress);
+ // var area = _areaInfoRepository.QueryFirst(x => x.AreaID == loation.AreaId);
+ // return new DtStockInfo()
+ // {
+ // PalletCode = task.PalletCode,
+ // LocationCode = task.TargetAddress,
+ // CreateDate = DateTime.Now,
+ // Creater = "system",
+ // IsFull = false,
+ // AreaCode = area.AreaCode,
+ // LocationId = loation.Id,
+ // StockInfoDetails = new List<DtStockInfoDetail>()
+ // {
+ // new DtStockInfoDetail()
+ // {
+ // MaterielCode = "绌烘墭鐩�",
+ // Id = 0,
+ // Status = (int)StockStateEmun.宸插叆搴�
+ // }
+ // }
+ // };
+ //}
+
+ /// <summary>
+ /// 鍒涘缓瀹炵洏鐨勫簱瀛樺疄渚嬫ā鍨嬪苟璋冪敤MOM鍏ュ簱
+ /// </summary>
+ //private DtStockInfo CreateFullPalletStock(Dt_Task task, DtLocationInfo locationInf, DtBoxingInfo boxing)
+ //{
+ // var loation = _locationRepository.QueryFirst(x => x.RoadwayNo == task.Roadway && x.LocationCode == task.TargetAddress);
+ // var area = _areaInfoRepository.QueryFirst(x => x.AreaID == loation.AreaId);
+ // var boxDetail = boxing.BoxingInfoDetails.Adapt<List<DtStockInfoDetail>>();
+ // boxDetail.ForEach(x => { x.Status = (int)StockStateEmun.宸插叆搴�; });
+ // var stock = new DtStockInfo()
+ // {
+ // PalletCode = task.PalletCode,
+ // LocationCode = task.TargetAddress,
+ // CreateDate = DateTime.Now,
+ // Creater = "system",
+ // IsFull = boxing.IsFull,
+ // AreaCode = area.AreaCode,
+ // LocationId = loation.Id,
+ // StockInfoDetails = boxDetail,
+ // };
+
+ // // 澶勭悊璇锋眰鍙傛暟
+ // AgingInputDto agingInputDto = new AgingInputDto()
+ // {
+ // SerialNos = boxing.BoxingInfoDetails
+ // .Select(item => new SerialNoInDto { SerialNo = item.SerialNumber, PositionNo = item.OrderNo })
+ // .ToList(),
+ // TrayBarcode = task.PalletCode,
+ // OpFlag = 1,
+ // EquipmentCode = "24MEJQ08-1091",
+ // Software = "WMS"
+ // };
+ // var result = _agingInOrOutInputService.GetOCVInputAsync(agingInputDto).Result;
+ // var respone = JsonConvert.DeserializeObject<ResponeAgingInputDto>(result.Data.ToString());
+ // stock.LinedProcessFeedbackTime = respone.LinedProcessFeedbackTime;
+ // stock.SpecialParameterDuration = respone.SpecialParameterDuration;
+ // //2024骞�11鏈�16鏃ワ細鏂板瀛楁璁$畻搴斿嚭搴撴椂闂�
+ // stock.OutboundTime = Convert.ToDateTime(respone.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(respone.SpecialParameterDuration));
+ // stock.ProductionLine = respone.ProductionLine;
+
+ // // 璁板綍鏃ュ織
+ // LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍏ュ簱浠诲姟瀹屾垚", $"璐т綅鍦板潃锛歿task.TargetAddress},淇敼鍚庤揣浣嶆暟鎹細{locationInf}");
+
+ // return stock;
+ //}
+
+ #endregion 鍏ュ簱浠诲姟瀹屾垚
+
+ #region 浠诲姟瀹屾垚
+
+ /// <summary>
+ /// 瀹屾垚浠诲姟
+ /// </summary>
+ /// <param name="taskNum">浠诲姟缂栧彿</param>
+ /// <returns>杩斿洖缁撴灉闆�</returns>
+ //public async Task<WebResponseContent> CompleteAsync(int taskNum)
+ //{
+ // // 鍒濆鍖栧搷搴斿唴瀹�
+ // WebResponseContent content = new WebResponseContent();
+
+ // // 鎻愬彇浠诲姟鏁版嵁
+ // LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鎻愬彇浠诲姟鏁版嵁", $"浠诲姟鍙凤細{taskNum}");
+
+ // // 楠岃瘉浠诲姟鏄惁瀛樺湪
+ // var task = await GetByTaskNum(taskNum);
+ // if (task == null)
+ // {
+ // return content.Error("浠诲姟涓嶅瓨鍦�");
+ // }
+ // LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "楠岃瘉浠诲姟鏄惁瀛樺湪", JsonConvert.SerializeObject(task));
+
+ // // 楠岃瘉搴撳瓨鏄惁瀛樺湪
+ // var stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode);
+
+ // // 鏍规嵁浠诲姟绫诲瀷璋冪敤鐩稿簲鐨勫畬鎴愪换鍔℃柟娉�
+ // switch (task.TaskType)
+ // {
+ // case (int)TaskInboundTypeEnum.Inbound:
+ // case (int)TaskInboundTypeEnum.InTray:
+ // LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍏ュ簱浠诲姟", "");
+ // return await CompleteInboundTaskAsync(task);
+
+ // case (int)TaskOutboundTypeEnum.OutTray:
+ // case (int)TaskOutboundTypeEnum.Outbound:
+ // LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "鍑哄簱浠诲姟", "");
+ // return await CompleteStackTaskAsync(task, stock);
+
+ // default:
+ // return content.Error("浠诲姟绫诲瀷涓嶅瓨鍦�");
+ // }
+ //}
+
+ #endregion 浠诲姟瀹屾垚
+
+ #region 璇锋眰浠诲姟鍏ュ簱
+ /// <summary>
+ /// 璇锋眰鍏ュ簱
+ /// </summary>
+ /// <param name="input">璇锋眰妯″瀷</param>
+ /// <returns>鍖呭惈浠诲姟淇℃伅鐨勫搷搴斿唴瀹�</returns>
+ public async Task<WebResponseContent> RequestInTask(RequestTaskDto input)
+ {
+ // 鍒涘缓涓�涓猈ebResponseContent瀵硅薄
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ // 璋冪敤BaseDal.QueryFirstAsync鏂规硶锛屾煡璇换鍔�
+ var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == input.PalletCode);
+ if (task != null)
+ {
+ //if (task.TaskState == (int)TaskInStatusEnum.InNew)
+ {
+ // 鍒涘缓WMS浠诲姟
+ WMSTaskDTO taskDTO = new WMSTaskDTO()
+ {
+ TaskNum = task.TaskNum.Value,
+ Grade = 1,
+ PalletCode = task.PalletCode,
+ RoadWay = task.Roadway,
+ SourceAddress = task.SourceAddress,
+ TargetAddress = task.Roadway,
+ TaskState = task.TaskState.Value,
+ Id = 0,
+ TaskType = task.TaskType,
+ };
+ return content.OK(data: taskDTO);
+ }
+ }
+
+ // 鍒涘缓涓�涓猅rayCellsStatusDto瀵硅薄锛屽苟璧嬪��
+ TrayCellsStatusDto trayCells = new TrayCellsStatusDto()
+ {
+ Software = "WMS",
+ TrayBarcode = input.PalletCode,
+ //EquipmentCode = "EQ_CWJZ01"
+ EquipmentCode = input.EquiCodeMOM
+ };
+
+ // 璋冪敤GetTrayCellStatusAsync鏂规硶锛岃幏鍙栨暣鐩樼數鑺�
+ content = await GetTrayCellStatusAsync(trayCells);
+ // 濡傛灉鐘舵�佷负false锛屽垯杩斿洖content
+ if (!content.Status) return content;
+
+ // 娣诲姞缁勭洏淇℃伅
+ // 灏哻ontent.Data杞崲涓篟esultTrayCellsStatus瀵硅薄
+ var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());
+ if (result.SerialNos.Count <= 0)
+ return content.Error(result.MOMMessage);
+
+ Console.WriteLine(result);
+ // TODO 鑾峰彇鏈湴鏂欐灞炴�т笌鏁寸洏鐢佃姱灞炴�ц幏鍙栫殑鍊艰繘琛屽姣旓紝濡傛灉涓�鑷村垯缁х画锛屽惁鍒欒繑鍥為敊璇俊鎭�
+ //var productions = await _productionRepository.QueryDataAsync(x => result.TrayBarcodePropertys.Select(x => x.TrayBarcodeProperty).ToList().Contains(x.TrayBarcodeProperty));
+ //if (productions.Count <= 0)
+ // return content.Error("鏂欐灞炴�т笉瀛樺湪");
+
+ // 璋冪敤CreateBoxingInfo鏂规硶锛屽垱寤虹粍鐩樹俊鎭�
+
+ var boxing = await CreateBoxingInfo(result, input.PalletCode);
+ if (boxing == null) return content.Error("缁勭洏澶辫触");
+
+ // 璋冪敤GetProcessApplyAsync鏂规硶锛岃幏鍙栧伐鑹鸿矾绾�
+ ProcessApplyDto process = await GetProcessApplyAsync(input, result);
+
+ // 濡傛灉process涓簄ull锛屽垯杩斿洖content
+ if (process == null) return content;
+
+ // 璋冪敤_processApplyService.GetProcessApplyAsync鏂规硶锛岃幏鍙栧伐鑹虹敵璇�
+ content = await _processApplyService.GetProcessApplyAsync(process);
+
+ // 濡傛灉鐘舵�佷负false锛屽垯杩斿洖null
+ if (!content.Status) return content.Error("宸ヨ壓鐢宠澶辫触");
+
+ //// 璋冪敤GetProcessResponseAsync鏂规硶锛岃幏鍙栧伐鑹哄搷搴�
+ //var processResponse = await GetProcessResponseAsync(process, input.Position);
+
+ List<string> strings = input.Position == "1088" ? new List<string>() { "CHSC01" } : new List<string>() { "JZSC01" };
+ // 璋冪敤CreateNewTask鏂规硶锛屽垱寤烘柊浠诲姟
+ content = await CreateNewTask(input, strings);
+ if (content.Status)
+ {
+ var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);
+ }
+ }
+ catch (Exception err)
+ {
+ // 濡傛灉鍙戠敓寮傚父锛屽垯璋冪敤content.Error鏂规硶锛岃褰曢敊璇俊鎭紝骞惰緭鍑洪敊璇俊鎭�
+ content.Error(err.Message);
+ Console.WriteLine(err.Message);
+ }
+
+ // 杩斿洖content
+ return content;
+ }
+
+
+ // 鑾峰彇宸ヨ壓鐢宠
+ private async Task<ProcessApplyDto> GetProcessApplyAsync(RequestTaskDto input, ResultTrayCellsStatus content)
+ {
+ // 鍒涘缓涓�涓狿rocessApplyDto瀵硅薄锛屽苟璧嬪��
+ return new ProcessApplyDto()
+ {
+ EquipmentCode = input.EquiCodeMOM,
+ Software = "WMS",
+ //WipOrderNo = result.BindCode,
+ SerialNos = content.SerialNos.Select(item => new SerialNos
+ {
+ SerialNo = item.SerialNo
+ }).ToList()
+ };
+ }
+
+ #endregion 璇锋眰浠诲姟鍏ュ簱
+
+
+
+
+ #region 浠诲姟鐘舵�佹洿鏀�
+
+ /// <summary>
+ /// 鏇存柊浠诲姟鐘舵��&鍑哄簱瑙g洏
+ /// </summary>
+ /// <param name="taskNum"></param>
+ /// <param name="taskState"></param>
+ /// <returns></returns>
+ //public async Task<WebResponseContent> UpdateTaskStatus(int taskNum, int taskState)
+ //{
+ // WebResponseContent content = new WebResponseContent();
+ // try
+ // {
+ // var task = await BaseDal.QueryFirstAsync(x => x.TaskNum == taskNum);
+ // if (task == null)
+ // return content.Error("鏈壘鍒颁换鍔�");
+
+ // if (taskState == (int)TaskOutStatusEnum.Line_OutFinish || taskState == (int)TaskOutStatusEnum.SC_OutFinish)
+ // {
+ // var taskHty = CreateHistoricalTask(task);
+ // await _unitOfWorkManage.UseTranAsync(async () =>
+ // {
+ // var asb = await BaseDal.DeleteDataByIdAsync(task.TaskId);
+ // var asbHty = await _task_HtyRepository.AddDataAsync(taskHty) > 0;
+ // if (asb && asbHty)
+ // content.OK();
+ // else
+ // throw new Exception();
+ // });
+ // content.OK();
+ // }
+ // else
+ // {
+ // task.TaskState = taskState;
+ // var asb = await BaseDal.UpdateDataAsync(task);
+ // if (asb)
+ // content.OK();
+ // else
+ // content.Error();
+ // }
+ // }
+ // catch (Exception ex)
+ // {
+ // content.Error(ex.Message);
+ // }
+ // return content;
+ //}
+
+ #endregion
+
+ //private WebResponseContent CheckInTask()
+
+}
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
index c804cb4..5fff145 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
@@ -50,7 +50,7 @@
/// </summary>
/// <param name="input">璇锋眰鏁版嵁</param>
/// <returns></returns>
- [HttpPost, AllowAnonymous, Route("RequestTaskAsync")]
+ [HttpPost, AllowAnonymous, Route("RequestTask")]
public async Task<WebResponseContent> RequestTaskAsync([FromBody] RequestTaskDto input)
{
return await Service.RequestTaskAsync(input);
--
Gitblit v1.9.3