Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/ProcessParameters/Platform.cs
@@ -90,5 +90,15 @@ [ExporterHeader(DisplayName = "ç«å°ç¶æ")] [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "ç«å°ç¶æ")] public string Status { get; set; } = "Active"; /// <summary> /// ç产产线 /// </summary> [ImporterHeader(Name = "ç产产线")] [ExporterHeader(DisplayName = "ç产产线")] [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "ç产产线")] public string ProductionLine { get; set; } } } Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task_Hty.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,152 @@ #region << ç æ¬ 注 é >> /*---------------------------------------------------------------- * å½å空é´ï¼WIDESEAWCS_Model.Models.TaskInfo * å建è ï¼è¡ç«¥åº * å建æ¶é´ï¼2024/8/2 16:13:36 * çæ¬ï¼V1.0.0 * æè¿°ï¼ * * ---------------------------------------------------------------- * ä¿®æ¹äººï¼ * ä¿®æ¹æ¶é´ï¼ * çæ¬ï¼V1.0.1 * ä¿®æ¹è¯´æï¼ * *----------------------------------------------------------------*/ #endregion << ç æ¬ 注 é >> using Magicodes.ExporterAndImporter.Core; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Core.DB.Models; namespace WIDESEAWCS_Model.Models { [SugarTable(nameof(Dt_Task_Hty), "ä»»å¡åå²ä¿¡æ¯")] public class Dt_Task_Hty : BaseEntity { /// <summary> /// ä¸»é® /// </summary> [ImporterHeader(Name = "主é®")] [ExporterHeader(DisplayName = "主é®")] [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主é®")] public int TaskId { get; set; } /// <summary> /// ä»»å¡å· /// </summary> [ImporterHeader(Name = "ä»»å¡å·")] [ExporterHeader(DisplayName = "ä»»å¡å·")] [SugarColumn(IsNullable = false, ColumnDescription = "ä»»å¡å·")] public int TaskNum { get; set; } /// <summary> /// æçç¼å· /// </summary> [ImporterHeader(Name = "æçç¼å·")] [ExporterHeader(DisplayName = "æçç¼å·")] [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "æçç¼å·")] public string PalletCode { get; set; } /// <summary> /// å··éå· /// </summary> [ImporterHeader(Name = "å··éå·")] [ExporterHeader(DisplayName = "å··éå·")] [SugarColumn(IsNullable = false, Length = 10, ColumnDescription = "å··éå·")] public string Roadway { get; set; } /// <summary> /// ä»»å¡ç±»å /// </summary> [ImporterHeader(Name = "ä»»å¡ç±»å")] [ExporterHeader(DisplayName = "ä»»å¡ç±»å")] [SugarColumn(IsNullable = false, ColumnDescription = "ä»»å¡ç±»å")] public int TaskType { get; set; } /// <summary> /// ä»»å¡ç¶æ /// </summary> [ImporterHeader(Name = "ä»»å¡ç¶æ")] [ExporterHeader(DisplayName = "ä»»å¡ç¶æ")] [SugarColumn(IsNullable = false, ColumnDescription = "ä»»å¡ç¶æ")] public int TaskState { get; set; } /// <summary> /// èµ·å§å°å /// </summary> [ImporterHeader(Name = "èµ·å§å°å")] [ExporterHeader(DisplayName = "èµ·å§å°å")] [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "èµ·å§å°å")] public string SourceAddress { get; set; } /// <summary> /// ç®æ å°å /// </summary> [ImporterHeader(Name = "ç®æ å°å")] [ExporterHeader(DisplayName = "ç®æ å°å")] [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "ç®æ å°å")] public string TargetAddress { get; set; } /// <summary> /// å½åä½ç½® /// </summary> [ImporterHeader(Name = "å½åä½ç½®")] [ExporterHeader(DisplayName = "å½åä½ç½®")] [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "å½åä½ç½®")] public string CurrentAddress { get; set; } /// <summary> /// ä¸ä¸å°å /// </summary> [ImporterHeader(Name = "ä¸ä¸å°å")] [ExporterHeader(DisplayName = "ä¸ä¸å°å")] [SugarColumn(IsNullable = false, Length = 20, ColumnDescription = "ä¸ä¸å°å")] public string NextAddress { get; set; } /// <summary> /// å¼å¸¸ä¿¡æ¯ /// </summary> [ImporterHeader(Name = "å¼å¸¸ä¿¡æ¯")] [ExporterHeader(DisplayName = "å¼å¸¸ä¿¡æ¯")] [SugarColumn(IsNullable = true, Length = 500, ColumnDescription = "å¼å¸¸ä¿¡æ¯")] public string? ExceptionMessage { get; set; } /// <summary> /// ä¼å 级 /// </summary> [ImporterHeader(Name = "ä¼å 级")] [ExporterHeader(DisplayName = "ä¼å 级")] [SugarColumn(IsNullable = false, ColumnDescription = "ä¼å 级")] public int Grade { get; set; } /// <summary> /// WMSä»»å¡ä¸»é® /// </summary> [ImporterHeader(Name = "WMSä»»å¡ä¸»é®")] [ExporterHeader(DisplayName = "WMSä»»å¡ä¸»é®")] [SugarColumn(IsNullable = false, ColumnDescription = "WMSä»»å¡ä¸»é®")] public int WMSId { get; set; } /// <summary> /// ä»»å¡ä¸åæ¶é´ /// </summary> [ImporterHeader(Name = "ä»»å¡ä¸åæ¶é´")] [ExporterHeader(DisplayName = "ä»»å¡ä¸åæ¶é´")] [SugarColumn(IsNullable = true, ColumnDescription = "ä»»å¡ä¸åæ¶é´")] public DateTime? Dispatchertime { get; set; } /// <summary> /// 夿³¨ /// </summary> [ImporterHeader(Name = "夿³¨")] [ExporterHeader(DisplayName = "夿³¨")] [SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "夿³¨")] public string Remark { get; set; } } } Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -417,7 +417,7 @@ taskOutboundTypeEnum = TaskOutboundTypeEnum.OutTray; else taskOutboundTypeEnum = TaskOutboundTypeEnum.Outbound; await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker); await CheckAndCreateTask(taskOutboundTypeEnum, childDeviceCode, index, platform.Stacker, platform); } catch (Exception) { @@ -427,7 +427,7 @@ /// <summary> /// æ£æ¥ä»»å¡å¹¶å建æ°ä»»å¡ /// </summary> private async Task CheckAndCreateTask(TaskOutboundTypeEnum taskType, string childDeviceCode, int index, string roadWay, List<string> roadways = null) 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) @@ -448,7 +448,7 @@ var wmsIpAddress = wmsBase + requestTrayOutTask; var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, roadways = roadways }.ToJsonString()); 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); Code Management/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Basic/RequestTaskDto.cs
@@ -34,5 +34,5 @@ public string Position { get; set; } public int Tag { get; set; } public string AreaCdoe { get; set; } public List<string> Roadways { get; set; } public string ProductionLine { get; set; } } Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs
@@ -165,7 +165,7 @@ /// <param name="areaCode">åºåç¼ç </param> /// <param name="roadways">å··éå表</param> /// <returns>è¿åç»æé</returns> Task<WebResponseContent> RequestTrayOutTaskAsync(string position, int tag, string areaCode, List<string> roadways); Task<WebResponseContent> RequestTrayOutTaskAsync(string position, int tag, string areaCode, string productionLine); /// <summary> Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -980,15 +980,15 @@ /// <param name="areaCode">åºåç¼ç </param> /// <param name="roadways">å··éç¼ç éå</param> /// <returns>è¿åç»æé</returns> public async Task<WebResponseContent> RequestTrayOutTaskAsync(string position, int tag, string areaCode, List<string> roadways) public async Task<WebResponseContent> RequestTrayOutTaskAsync(string position, int tag, string areaCode, string productionLine) { WebResponseContent content = new WebResponseContent(); try { // æ ¹æ®æçç±»åæ¥è¯¢åºåä¿¡æ¯ DtStockInfo stockInfo = tag == (int)TaskOutboundTypeEnum.Outbound ? QueryStockInfoForRealTrayAsync(areaCode, roadways).Result : QueryStockInfoForEmptyTrayAsync(areaCode, roadways).Result; ? QueryStockInfoForRealTrayAsync(areaCode, productionLine).Result : QueryStockInfoForEmptyTrayAsync(areaCode).Result; if (stockInfo == null) { @@ -1035,7 +1035,7 @@ /// <summary> /// æ¥è¯¢å®çåºåä¿¡æ¯ /// </summary> private async Task<DtStockInfo> QueryStockInfoForRealTrayAsync(string areaCode, List<string> roadways) private async Task<DtStockInfo> QueryStockInfoForRealTrayAsync(string areaCode, string productionLine) { var area = await _areaInfoRepository.QueryFirstAsync(x => x.AreaCode == areaCode); @@ -1043,6 +1043,7 @@ .Includes(x => x.LocationInfo) // é¢å è½½LocationInfo .Includes(x => x.StockInfoDetails) // é¢å è½½StockInfoDetails .Where(x => x.AreaCode == areaCode && x.OutboundTime < DateTime.Now && x.IsFull == true) // è¿æ»¤æ¡ä»¶ .WhereIF(!productionLine.IsNullOrEmpty(), x => x.ProductionLine == productionLine) .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID) // è¿æ»¤æ¡ä»¶ .OrderBy(x => x.OutboundTime) // æåº .FirstAsync(); // è·å第ä¸ä¸ªå ç´ @@ -1056,7 +1057,7 @@ /// <summary> /// æ¥è¯¢ç©ºçåºåä¿¡æ¯ /// </summary> private async Task<DtStockInfo> QueryStockInfoForEmptyTrayAsync(string areaCode, List<string> roadways) private async Task<DtStockInfo> QueryStockInfoForEmptyTrayAsync(string areaCode) { var area = await _areaInfoRepository.QueryFirstAsync(x => x.AreaCode == areaCode); Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -1033,7 +1033,7 @@ var location = locations.OrderBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).FirstOrDefault(); var stockInfo = await QueryStockInfoForEmptyTrayAsync("CWSC1", new List<string>()); var stockInfo = await QueryStockInfoForEmptyTrayAsync("CWSC1"); if (stockInfo != null) { Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
@@ -108,7 +108,7 @@ [HttpPost, AllowAnonymous, Route("RequestTrayOutTaskAsync")] public async Task<WebResponseContent> RequestTrayOutTaskAsync([FromBody] RequestOutTaskDto request) { return await Service.RequestTrayOutTaskAsync(request.Position, request.Tag, request.AreaCdoe, request.Roadways); return await Service.RequestTrayOutTaskAsync(request.Position, request.Tag, request.AreaCdoe, request.ProductionLine); } /// <summary>