| ¤NameÀ¤User¤Name«wanshenmean¤Icon¤GuidÙ$763298e7-f80a-4362-9080-580a49d10a84¢IḑServiceÀ«TimeCreated×ÿÉ×zpgÉR°¢IdÙ$4a99214b-9f9f-4ab7-8ce9-83d07cd22a77¢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Ù$0f947838-2888-4d6a-8f4d-80068640b593©MessageIdÙ$7dd861ea-d90a-4a45-854f-aac95028d05e§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.13.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ      ãÒ    
§ContentÚâµusing Masuit.Tools;  | 
| using SqlSugar;  | 
| using WIDESEA_Common.CustomModels;  | 
|   | 
| //using WIDESEA_Common.CustomModels;  | 
| using WIDESEA_Core.Const;  | 
| using WIDESEA_DTO.MOM;  | 
| using WIDESEA_DTO.WMS;  | 
| using WIDESEAWCS_Model.Models;  | 
| using WIDESEAWCS_QuartzJob.Models;  | 
|   | 
| namespace WIDESEA_StorageTaskServices;  | 
|   | 
| public partial class Dt_TaskService : ServiceBase<Dt_Task, IDt_TaskRepository>, IDt_TaskService  | 
| {  | 
|     #region è¯·æ±ä»»å¡å
¥åº  | 
|   | 
|     /// <summary>  | 
|     /// è¯·æ±å
¥åº  | 
|     /// </summary>  | 
|     /// <param name="input">è¯·æ±æ¨¡å</param>  | 
|     /// <returns>å
å«ä»»å¡ä¿¡æ¯çååºå
容</returns>  | 
|     public async Task<WebResponseContent> RequestInTask(RequestTaskDto input)  | 
|     {  | 
|         // å建ä¸ä¸ªWebResponseContent对象  | 
|         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.TargetAddress,  | 
|                     //    TaskState = task.TaskState.Value,  | 
|                     //    Id = 0,  | 
|                     //    TaskType = task.TaskType,  | 
|                     //    ProductionLine = task.ProductionLine,  | 
|                     //};  | 
|                     WMSTaskDTO taskDTO = CreateTaskDTO(task);  | 
|                     return content.OK(data: taskDTO);  | 
|                 }  | 
|             }  | 
|             // è°ç¨CreateNewTaskæ¹æ³ï¼å建æ°ä»»å¡  | 
|             content = await CreateNewTask(input);  | 
|         }  | 
|         catch (Exception err)  | 
|         {  | 
|             // å¦æåçå¼å¸¸ï¼åè°ç¨content.Erroræ¹æ³ï¼è®°å½é误信æ¯ï¼å¹¶è¾åºéè¯¯ä¿¡æ¯  | 
|             content.Error(err.Message);  | 
|             Console.WriteLine(err.Message);  | 
|         }  | 
|         // è¿åcontent  | 
|         return content;  | 
|     }  | 
|   | 
|     /// <summary>  | 
|     ///  | 
|     /// </summary>  | 
|     /// <param name="input">请æ±åæ°</param>  | 
|     /// <param name="flag">宿¡ç©ºæ¡æ è¯</param>  | 
|     /// <returns></returns>  | 
|     private async Task<WebResponseContent> CreateNewTask(RequestTaskDto input)  | 
|     {  | 
|         try  | 
|         {  | 
|             WebResponseContent content = new WebResponseContent();  | 
|   | 
|             var stationinfo = _stationManagerRepository.QueryFirst(x => x.stationChildCode == input.Position);  | 
|   | 
|             if (stationinfo == null) throw new Exception("æªç¥ç«å°");  | 
|   | 
|             if (stationinfo.stationType != 7)  | 
|             {  | 
|                 if (input.PalletCode == null || input.PalletCode.Trim() == "")  | 
|                     return content.Error($"ã{stationinfo.remark}ãæçæ¡ç ä¸ºç©º");  | 
|             }  | 
|             var task = await CreateNewTaskByStation(input, stationinfo);  | 
|   | 
|             // å°è¯æ·»å æ°ä»»å¡  | 
|             if (task == null) return content.Error();  | 
|             var taskId = await BaseDal.AddDataAsync(task);  | 
|             bool isResult = taskId > 0;  | 
|             if (isResult)  | 
|             {  | 
|                 // å建WMSä»»å¡  | 
|                 WMSTaskDTO taskDTO = new WMSTaskDTO()  | 
|                 {  | 
|                     TaskNum = task.TaskNum.Value,  | 
|                     Grade = task.Grade.Value,  | 
|                     PalletCode = task.PalletCode,  | 
|                     RoadWay = task.Roadway,  | 
|                     SourceAddress = task.SourceAddress,  | 
|                     TargetAddress = task.TargetAddress,  | 
|                     TaskState = task.TaskState.Value,  | 
|                     Id = 0,  | 
|                     TaskType = task.TaskType,  | 
|                     ProductionLine = task.ProductionLine  | 
|                 };  | 
|                 content.OK(data: taskDTO);  | 
|             }  | 
|             else  | 
|                 content.Error("æ·»å ä»»å¡å¤±è´¥");  | 
|             return content;  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             throw new Exception(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     /// <summary>  | 
|     /// æ ¹æ®è¯·æ±åæ°åç«å° åä¸åä»»å¡å¤ç  | 
|     /// </summary>  | 
|     /// <param name="input"></param>  | 
|     /// <param name="stationManager"></param>  | 
|     /// <returns></returns>  | 
|     /// <exception cref="Exception"></exception>  | 
|     private async Task<Dt_Task> CreateNewTaskByStation(RequestTaskDto input, Dt_StationManager stationManager)  | 
|     {  | 
|         try  | 
|         {  | 
|             Dt_Task task = null;  | 
|             switch (stationManager.stationType)  | 
|             {  | 
|                 case 6:  | 
|                 case 1:  | 
|                     task = await CreateInTaskAsync(input, stationManager); break;  | 
|                 //case 2:  | 
|                 case 3:  //å¼å¸¸æåºç»WCSå¤ç  | 
|                          //case 4:  | 
|                 case 5:  | 
|                     task = await CreateInToOutTaskAsync(input, stationManager); break;  | 
|                 case 7:  | 
|                     task = await CreateEmptyOutTaskAsync(input, stationManager); break;  | 
|                 case 15:  | 
|                     task = await CheckAbnormalTaskAsync(input, stationManager); break;  | 
|                 default:  | 
|                     throw new Exception("æªç¥ç«å°ç±»å");  | 
|             }  | 
|             return task;  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             throw new Exception(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #region ç´æ¥åºåºä»»å¡  | 
|   | 
|     private async Task<Dt_Task> CreateInToOutTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)  | 
|     {  | 
|         try  | 
|         {  | 
|             //if (stationManager.stationType != 5) throw new Exception("é误çè°å");  | 
|   | 
|             input.EquiCodeMOM = "24MEJQ11-1006-1";  | 
|   | 
|             // å建ä¸ä¸ªTrayCellsStatusDto对象ï¼å¹¶èµå¼  | 
|             TrayCellsStatusDto trayCells = new TrayCellsStatusDto()  | 
|             {  | 
|                 Software = "WMS",  | 
|                 TrayBarcode = input.PalletCode,  | 
|                 //EquipmentCode = "EQ_CWJZ01"  | 
|                 EquipmentCode = input.EquiCodeMOM  | 
|             };  | 
|   | 
|             // è°ç¨GetTrayCellStatusAsyncæ¹æ³ï¼è·åæ´ççµè¯  | 
|             WebResponseContent content = await GetTrayCellStatusAsync(trayCells);  | 
|             // å¦æç¶æä¸ºfalseï¼åè¿åcontent  | 
|             if (!content.Status) throw new Exception(content.Message);  | 
|   | 
|             // ç»çä¿¡æ¯  | 
|             // å°content.Data转æ¢ä¸ºResultTrayCellsStatus对象  | 
|             var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());  | 
|   | 
|             if (!result.Success)  | 
|             {  | 
|                 var taskNG = new Dt_Task  | 
|                 {  | 
|                     CurrentAddress = input.Position,  | 
|                     Grade = 1,  | 
|                     Roadway = input.Roadways,  | 
|                     TargetAddress = stationManager.stationNGLocation,  | 
|                     Dispatchertime = DateTime.Now,  | 
|                     MaterialNo = "",  | 
|                     NextAddress = stationManager.stationNGChildCode,  | 
|                     OrderNo = null,  | 
|                     PalletCode = input.PalletCode,  | 
|                     SourceAddress = stationManager.stationLocation,  | 
|                     TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                     TaskType = (int)TaskOutboundTypeEnum.InToOut,  | 
|                     TaskNum = await BaseDal.GetTaskNo(),  | 
|                     Creater = "Systeam",  | 
|                     ProductionLine = result.ProductionLine,  | 
|                     ProcessCode = result.ProcessCode,  | 
|                 };  | 
|                 return taskNG;  | 
|             }  | 
|   | 
|             if (result.SerialNos.Count <= 0)  | 
|             {  | 
|                 ConsoleHelper.WriteErrorLine(result.MOMMessage);  | 
|                 if (stationManager.stationType != 3)  | 
|                 {  | 
|                     var taskNG = new Dt_Task  | 
|                     {  | 
|                         CurrentAddress = input.Position,  | 
|                         Grade = 3,  | 
|                         Roadway = input.Roadways,  | 
|                         TargetAddress = stationManager.stationNGLocation,  | 
|                         Dispatchertime = DateTime.Now,  | 
|                         MaterialNo = "",  | 
|                         NextAddress = stationManager.stationNGChildCode,  | 
|                         OrderNo = null,  | 
|                         PalletCode = input.PalletCode,  | 
|                         SourceAddress = stationManager.stationLocation,  | 
|                         TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                         TaskType = (int)TaskOutboundTypeEnum.InToOut,  | 
|                         TaskNum = await BaseDal.GetTaskNo(),  | 
|                         Creater = "Systeam"  | 
|                     };  | 
|                     return taskNG;  | 
|                 }  | 
|                 else  | 
|                 {  | 
|                     //æ çµè¯ â å½ç©ºæ¡ï¼ è¿æ¯è¿åå¼å¸¸ï¼  | 
|                     return null;  | 
|                 }  | 
|             }  | 
|   | 
|             // å¤çå¼å¸¸çµè¯æ
åµ  | 
|             var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList();  | 
|             if (serialNosError.Count > 0)  | 
|             {  | 
|                 if (stationManager.stationType != 3)  | 
|                 {  | 
|                     var taskNG = new Dt_Task  | 
|                     {  | 
|                         CurrentAddress = input.Position,  | 
|                         Grade = 1,  | 
|                         Roadway = input.Roadways,  | 
|                         TargetAddress = stationManager.stationNGLocation,  | 
|                         Dispatchertime = DateTime.Now,  | 
|                         MaterialNo = "",  | 
|                         NextAddress = stationManager.stationNGChildCode,  | 
|                         OrderNo = null,  | 
|                         PalletCode = input.PalletCode,  | 
|                         SourceAddress = stationManager.stationLocation,  | 
|                         TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                         TaskType = (int)TaskOutboundTypeEnum.InToOut,  | 
|                         TaskNum = await BaseDal.GetTaskNo(),  | 
|                         Creater = "Systeam",  | 
|                         ProductionLine = result.ProductionLine,  | 
|                         ProcessCode = result.ProcessCode,  | 
|                     };  | 
|                     return taskNG;  | 
|                 }  | 
|                 else  | 
|                 {  | 
|                     Console.WriteLine($"ç«å°{stationManager.stationChildCode}MOMè¿åçµè¯å¼å¸¸:{result.MOMMessage}");  | 
|                     return null;  | 
|                 }  | 
|             }  | 
|             //else  | 
|             //{  | 
|             //    throw new Exception($"ç«å°{stationManager.stationChildCode}MOMè¿åçµè¯å¼å¸¸:{result.MOMMessage}");  | 
|             //}  | 
|   | 
|             var targetStation = _stationManagerRepository.QueryFirst(x => x.stationPLC == stationManager.stationPLC && x.Roadway == stationManager.Roadway && x.stationType == 2);  | 
|   | 
|             var task = new Dt_Task  | 
|             {  | 
|                 CurrentAddress = input.Position,  | 
|                 Grade = 3,  | 
|                 Roadway = input.Roadways,  | 
|                 TargetAddress = targetStation.stationLocation,  | 
|                 Dispatchertime = DateTime.Now,  | 
|                 MaterialNo = "",  | 
|                 NextAddress = input.Roadways,  | 
|                 OrderNo = null,  | 
|                 PalletCode = input.PalletCode,  | 
|                 SourceAddress = stationManager.stationLocation,  | 
|                 TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                 TaskType = (int)TaskOutboundTypeEnum.InToOut,  | 
|                 TaskNum = await BaseDal.GetTaskNo(),  | 
|                 Creater = "Systeam",  | 
|                 ProductionLine = result.ProductionLine,  | 
|                 ProcessCode = result.ProcessCode,  | 
|             };  | 
|             return task;  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             throw new Exception(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #endregion ç´æ¥åºåºä»»å¡  | 
|   | 
|     #region å
¥åºä»»å¡  | 
|   | 
|     private async Task<Dt_Task> CreateInTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)  | 
|     {  | 
|         if (stationManager.stationType != 1 && stationManager.stationType != 6) throw new Exception("é误çè°å");  | 
|   | 
|         DtLocationInfo locationInfo = null;  | 
|         if (stationManager.stationType == 1 && stationManager.Roadway.Contains("FR"))  | 
|         {  | 
|             locationInfo = await RequestLocation(input, true);  | 
|         }  | 
|         else  | 
|         {  | 
|             locationInfo = await RequestLocation(input);  | 
|         }  | 
|         //DtLocationInfo locationInfo = await RequestLocation(input);  | 
|   | 
|         if (locationInfo == null) throw new Exception("åºä½å·²æ»¡");  | 
|   | 
|         // å建ä¸ä¸ªTrayCellsStatusDto对象ï¼å¹¶èµå¼  | 
|         TrayCellsStatusDto trayCells = new TrayCellsStatusDto()  | 
|         {  | 
|             Software = "WMS",  | 
|             TrayBarcode = input.PalletCode,  | 
|             //EquipmentCode = "EQ_CWJZ01"  | 
|             EquipmentCode = input.EquiCodeMOM  | 
|         };  | 
|   | 
|         // è°ç¨GetTrayCellStatusAsyncæ¹æ³ï¼è·åæ´ççµè¯  | 
|         WebResponseContent content = await GetTrayCellStatusAsync(trayCells);  | 
|         // å¦æç¶æä¸ºfalseï¼åè¿åcontent  | 
|         if (!content.Status) throw new Exception(content.Message);  | 
|   | 
|         // å°content.Data转æ¢ä¸ºResultTrayCellsStatus对象  | 
|         var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());  | 
|   | 
|         if (stationManager.stationType == 6 && result.ProductionLine.IsNullOrEmpty())  | 
|         {  | 
|             ConsoleHelper.WriteErrorLine($"å½åæçæ äº§çº¿,èç³»MOMæ·»å äº§çº¿");  | 
|             throw new Exception("å½åæçæ äº§çº¿,èç³»MOMæ·»å äº§çº¿");  | 
|         }  | 
|   | 
|         if (stationManager.stationType == 1)  | 
|         {  | 
|             #region  | 
|   | 
|             if (result.SerialNos.Count <= 0)  | 
|             {  | 
|                 ConsoleHelper.WriteErrorLine(result.MOMMessage);  | 
|                 var taskNG = new Dt_Task  | 
|                 {  | 
|                     CurrentAddress = input.Position,  | 
|                     Grade = 1,  | 
|                     Roadway = input.Roadways,  | 
|                     TargetAddress = stationManager.stationNGLocation,  | 
|                     Dispatchertime = DateTime.Now,  | 
|                     MaterialNo = "",  | 
|                     NextAddress = stationManager.stationNGChildCode,  | 
|                     OrderNo = null,  | 
|                     PalletCode = input.PalletCode,  | 
|                     SourceAddress = stationManager.stationLocation,  | 
|                     TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                     TaskType = (int)TaskOutboundTypeEnum.InToOut,  | 
|                     TaskNum = await BaseDal.GetTaskNo(),  | 
|                     Creater = "Systeam",  | 
|                     ProductionLine = result.ProductionLine,  | 
|                     ProcessCode = result.ProcessCode,  | 
|                 };  | 
|                 return taskNG;  | 
|             }  | 
|   | 
|             //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 = CreateBoxingInfo(result, input.PalletCode);  | 
|             if (boxing == null) throw new Exception("ç»ç失败");  | 
|   | 
|             //// è°ç¨GetProcessApplyAsyncæ¹æ³ï¼è·åå·¥èºè·¯çº¿  | 
|             //ProcessApplyDto process = await GetProcessApplyAsync(input, result);  | 
|   | 
|             //// å¦æprocess为nullï¼åè¿å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);  | 
|             var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);  | 
|             #endregion å
¥åºä»»å¡  | 
|         }  | 
|   | 
|         var task = new Dt_Task  | 
|         {  | 
|             CurrentAddress = input.Position,  | 
|             Grade = 1,  | 
|             Roadway = input.Roadways,  | 
|             TargetAddress = locationInfo.LocationCode,  | 
|             Dispatchertime = DateTime.Now,  | 
|             MaterialNo = "",  | 
|             NextAddress = input.Roadways,  | 
|             OrderNo = null,  | 
|             PalletCode = input.PalletCode,  | 
|             SourceAddress = stationManager.stationLocation,  | 
|             TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|             TaskType = stationManager.stationType == 1 ? (int)TaskInboundTypeEnum.Inbound : (int)TaskInboundTypeEnum.InTray,  | 
|             TaskNum = await BaseDal.GetTaskNo(),  | 
|             Creater = "Systeam",  | 
|             ProductionLine = result.ProductionLine,  | 
|             ProcessCode = result.ProcessCode,  | 
|         };  | 
|         int lastStatus = locationInfo.LocationStatus;  | 
|         ConsoleHelper.WriteSuccessLine($"ä¿®æ¹åï¼" + lastStatus.ToString());  | 
|         locationInfo.LocationStatus = (int)LocationEnum.FreeDisable;  | 
|         ConsoleHelper.WriteSuccessLine($"ä¿®æ¹åï¼" + locationInfo.LocationStatus.ToString());  | 
|         await UpdateLocationAsync(locationInfo);  | 
|   | 
|         _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum);  | 
|   | 
|         return task;  | 
|     }  | 
|   | 
|     #endregion è¯·æ±ä»»å¡å
¥åº  | 
|   | 
|     #region åºä½åé
  | 
|   | 
|     #region è·åè´§ä½  | 
|   | 
|     /// <summary>  | 
|     ///  | 
|     /// </summary>  | 
|     /// <param name="requestTask">请æ±åæ°</param>  | 
|     /// <param name="isCheckRequest">æ¯å¦æªæ£æµåºä½ç±»å</param>  | 
|     /// <returns></returns>  | 
|     private async Task<DtLocationInfo> RequestLocation(RequestTaskDto requestTask, bool isCheckRequest = false)  | 
|     {  | 
|         try  | 
|         {  | 
|             List<DtLocationInfo> locations;  | 
|             if (isCheckRequest)  | 
|             {  | 
|                 locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 2 && x.Remark == "1");  | 
|             }  | 
|             else  | 
|             {  | 
|                 locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Distribute && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 1);  | 
|                 if (locations == null)  | 
|                 {  | 
|                     locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 1);  | 
|                 }  | 
|             }  | 
|   | 
|             if (locations == null)  | 
|             {  | 
|                 return null;  | 
|             }  | 
|   | 
|             return locations.OrderBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).FirstOrDefault();  | 
|         }  | 
|         catch (Exception err)  | 
|         {  | 
|             Console.WriteLine(err.Message.ToString());  | 
|             return null;  | 
|         }  | 
|     }  | 
|   | 
|     #endregion è·åè´§ä½  | 
|   | 
|     #region å¼å¸¸å£å
¥åºè·ååºä½  | 
|   | 
|     private async Task<DtLocationInfo> RequestLocationByAbnormal(RequestTaskDto requestTask, bool isCheckRequest = false)  | 
|     {  | 
|         try  | 
|         {  | 
|             List<DtLocationInfo> locations;  | 
|             if (isCheckRequest)  | 
|             {  | 
|                 locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 2 && x.Remark == "1");  | 
|             }  | 
|             else  | 
|             {  | 
|                 locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 1);  | 
|             }  | 
|   | 
|             if (locations == null)  | 
|             {  | 
|                 return null;  | 
|             }  | 
|   | 
|             return locations.OrderBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).FirstOrDefault();  | 
|         }  | 
|         catch (Exception err)  | 
|         {  | 
|             Console.WriteLine(err.Message.ToString());  | 
|             return null;  | 
|         }  | 
|     }  | 
|   | 
|     #endregion å¼å¸¸å£å
¥åºè·ååºä½  | 
|   | 
|     #endregion åºä½åé
  | 
|   | 
|     // è·åå·¥èºç³è¯·  | 
|     private Task<ProcessApplyDto> GetProcessApplyAsync(RequestTaskDto input, ResultTrayCellsStatus content)  | 
|     {  | 
|         // å建ä¸ä¸ªProcessApplyDto对象ï¼å¹¶èµå¼  | 
|         return Task.FromResult(new ProcessApplyDto()  | 
|         {  | 
|             EquipmentCode = input.EquiCodeMOM,  | 
|             Software = "WMS",  | 
|             //WipOrderNo = result.BindCode,"  | 
|             SerialNos = content.SerialNos.Select(item => new SerialNos  | 
|             {  | 
|                 SerialNo = item.SerialNo  | 
|             }).ToList()  | 
|         });  | 
|     }  | 
|   | 
|     #endregion è¯·æ±ä»»å¡å
¥åº  | 
|   | 
|     #region å建空æ¡åºåºä»»å¡  | 
|   | 
|     public async Task<Dt_Task> CreateEmptyOutTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)  | 
|     {  | 
|         try  | 
|         {  | 
|             if (stationManager.stationType != 7) throw new Exception("é误çè°å");  | 
|   | 
|             var stockinfo = await _stockInfoRepository.Db.Queryable<DtStockInfo>()  | 
|                 .Includes(x => x.LocationInfo)  | 
|                 //.Includes(x=>x.StockInfoDetails)  | 
|                 .Where(x => !x.IsFull && x.LocationInfo.RoadwayNo == stationManager.Roadway)  | 
|                 .OrderBy(x => x.CreateDate)  | 
|                 .FirstAsync();  | 
|   | 
|             if (stockinfo == null) return null;  | 
|   | 
|             var task = new Dt_Task  | 
|             {  | 
|                 CurrentAddress = input.Position,  | 
|                 Grade = 2,  | 
|                 Roadway = input.Roadways,  | 
|                 TargetAddress = stationManager.stationLocation,  | 
|                 Dispatchertime = DateTime.Now,  | 
|                 MaterialNo = "",  | 
|                 NextAddress = input.Roadways,  | 
|                 OrderNo = null,  | 
|                 PalletCode = stockinfo.PalletCode,  | 
|                 SourceAddress = stockinfo.LocationCode,  | 
|                 TaskState = (int)TaskOutStatusEnum.OutNew,  | 
|                 TaskType = (int)TaskOutboundTypeEnum.OutTray,  | 
|                 TaskNum = await BaseDal.GetTaskNo(),  | 
|                 Creater = "Systeam",  | 
|                 ProductionLine = stockinfo.ProductionLine,  | 
|             };  | 
|   | 
|             return task;  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             throw new Exception(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region ç´æ¥åºåºä»»å¡å®æ  | 
|   | 
|     public async Task<WebResponseContent> CompleteInToOutTaskAsync(Dt_Task task)  | 
|     {  | 
|         WebResponseContent content = new WebResponseContent();  | 
|         try  | 
|         {  | 
|             //æ·»å åå²  | 
|             var taskHty = CreateHistoricalTask(task);  | 
|             // æ·»å åå²ä»»å¡  | 
|             var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0;  | 
|             //å é¤ä»»å¡  | 
|             BaseDal.DeleteData(task);  | 
|   | 
|             return content.OK();  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             return content.Error(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region å¼å¸¸å£ä»»å¡æ£æµ  | 
|   | 
|     /// <summary>  | 
|     /// å¼å¸¸æåºå£å
¥åºæ ¡éª  ææå¼å¸¸äº¤ç»WCSååå°åNGå¤ç  | 
|     /// </summary>  | 
|     /// <param name="input"></param>  | 
|     /// <param name="stationManager"></param>  | 
|     /// <returns></returns>  | 
|     /// <exception cref="Exception"></exception>  | 
|     public async Task<Dt_Task> CheckAbnormalTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)  | 
|     {  | 
|         try  | 
|         {  | 
|             if (stationManager.stationType == 15) throw new Exception("");  | 
|   | 
|             // å建ä¸ä¸ªTrayCellsStatusDto对象ï¼å¹¶èµå¼  | 
|             TrayCellsStatusDto trayCells = new TrayCellsStatusDto()  | 
|             {  | 
|                 Software = "WMS",  | 
|                 TrayBarcode = input.PalletCode,  | 
|                 //EquipmentCode = "EQ_CWJZ01"  | 
|                 EquipmentCode = input.EquiCodeMOM  | 
|             };  | 
|   | 
|             // è°ç¨GetTrayCellStatusAsyncæ¹æ³ï¼è·åæ´ççµè¯  | 
|             WebResponseContent content = await GetTrayCellStatusAsync(trayCells);  | 
|             // å¦æç¶æä¸ºfalseï¼åè¿åcontent  | 
|             if (!content.Status)  //è·åæ´ççµè¯æ°æ®ï¼ å¦å¼å¸¸ ä½¿ç¨ç©ºæ¡ç±»åå
¥åº  | 
|             {  | 
|                 ConsoleHelper.WriteErrorLine(content.Message);  | 
|                 throw new Exception("MOMæ´ççµè¯å±æ§è·åå¼å¸¸");  | 
|             }  | 
|   | 
|             // æ·»å ç»çä¿¡æ¯  | 
|             // å°content.Data转æ¢ä¸ºResultTrayCellsStatus对象  | 
|             var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());  | 
|             if (result.SerialNos.Count <= 0)  //å¦è°ç¨æå ä½çµè¯ä¸º0åå®ä¸ºç©ºç  | 
|             {  | 
|                 DtLocationInfo EmptylocationInfo = await RequestLocationByAbnormal(input);  | 
|   | 
|                 if (EmptylocationInfo == null) throw new Exception("åºä½å·²æ»¡");  | 
|   | 
|                 var Epmtytask = new Dt_Task  | 
|                 {  | 
|                     CurrentAddress = input.Position,  | 
|                     Grade = 4,  //ä¼å
å¤çå¼å¸¸æåºå£ç任塠鲿¢æ£å¸¸éæåºå¼å¸¸å£çä»»å¡å µçº¿  | 
|                     Roadway = input.Roadways,  | 
|                     TargetAddress = EmptylocationInfo.LocationCode,  | 
|                     Dispatchertime = DateTime.Now,  | 
|                     MaterialNo = "",  | 
|                     NextAddress = input.Roadways,  | 
|                     OrderNo = null,  | 
|                     PalletCode = input.PalletCode,  | 
|                     SourceAddress = stationManager.stationLocation,  | 
|                     TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                     TaskType = (int)TaskInboundTypeEnum.InTray,  | 
|                     TaskNum = await BaseDal.GetTaskNo(),  | 
|                     Creater = "Systeam",  | 
|                     ProductionLine = result.ProductionLine,  | 
|                     ProcessCode = result.ProcessCode,  | 
|                 };  | 
|                 return Epmtytask;  | 
|             }  | 
|   | 
|             //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 = CreateBoxingInfo(result, input.PalletCode);  | 
|             if (boxing == null) throw new Exception("ç»ç失败");  | 
|   | 
|             if (!stationManager.Roadway.Contains("FR"))  //éå容åºåº å
¥åºéªè¯å·¥èºè·¯çº¿  | 
|             {  | 
|                 // è°ç¨GetProcessApplyAsyncæ¹æ³ï¼è·åå·¥èºè·¯çº¿  | 
|                 ProcessApplyDto process = await GetProcessApplyAsync(input, result);  | 
|   | 
|                 // å¦æprocess为nullï¼åè¿åcontent  | 
|                 if (process == null) throw new Exception("å·¥èºè¯·æ±åæ°å¼å¸¸");  | 
|   | 
|                 // è°ç¨_processApplyService.GetProcessApplyAsyncæ¹æ³ï¼è·åå·¥èºç³è¯·  | 
|                 content = await _processApplyService.GetProcessApplyAsync(process);  | 
|   | 
|                 // å¦æç¶æä¸ºfalseï¼åè¿ånull  | 
|                 if (!content.Status) throw new Exception("å·¥èºç³è¯·å¤±è´¥");  | 
|             }  | 
|             ////// è°ç¨GetProcessResponseAsyncæ¹æ³ï¼è·åå·¥èºååº  | 
|             ////var processResponse = await GetProcessResponseAsync(process, input.Position);  | 
|   | 
|             DtLocationInfo locationInfo = null;  | 
|             if (stationManager.Roadway.Contains("FR"))  | 
|             {  | 
|                 locationInfo = await RequestLocation(input, true);  | 
|             }  | 
|             else  | 
|             {  | 
|                 locationInfo = await RequestLocationByAbnormal(input);  | 
|             }  | 
|             //DtLocationInfo locationInfo = await RequestLocation(input);  | 
|   | 
|             if (locationInfo == null) throw new Exception("åºä½å·²æ»¡");  | 
|   | 
|             var task = new Dt_Task  | 
|             {  | 
|                 CurrentAddress = input.Position,  | 
|                 Grade = 3,  //ä¼å
å¤çå¼å¸¸æåºå£ç任塠鲿¢æ£å¸¸éæåºå¼å¸¸å£çä»»å¡å µçº¿  | 
|                 Roadway = input.Roadways,  | 
|                 TargetAddress = locationInfo.LocationCode,  | 
|                 Dispatchertime = DateTime.Now,  | 
|                 MaterialNo = "",  | 
|                 NextAddress = input.Roadways,  | 
|                 OrderNo = null,  | 
|                 PalletCode = input.PalletCode,  | 
|                 SourceAddress = stationManager.stationLocation,  | 
|                 TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                 TaskType = (int)TaskInboundTypeEnum.Inbound,  | 
|                 TaskNum = await BaseDal.GetTaskNo(),  | 
|                 Creater = "Systeam",  | 
|                 ProductionLine = result.ProductionLine,  | 
|                 ProcessCode = result.ProcessCode,  | 
|             };  | 
|   | 
|             var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);  | 
|   | 
|             int lastStatus = locationInfo.LocationStatus;  | 
|   | 
|             ConsoleHelper.WriteSuccessLine($"ä¿®æ¹åï¼" + lastStatus.ToString());  | 
|             locationInfo.LocationStatus = (int)LocationEnum.FreeDisable;  | 
|             ConsoleHelper.WriteSuccessLine($"ä¿®æ¹åï¼" + locationInfo.LocationStatus.ToString());  | 
|             await UpdateLocationAsync(locationInfo);  | 
|   | 
|             _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum);  | 
|   | 
|             return task;  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             throw new Exception(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region ç§»åºä»»å¡äºå¡  | 
|   | 
|     private async Task<bool> ExecuteTransaction(DtStockInfo stock, Dt_Task_Hty taskHty, DtLocationInfo fromLocation, DtLocationInfo toLocation, int taskId)  | 
|     {  | 
|         _unitOfWorkManage.BeginTran();  | 
|         try  | 
|         {  | 
|             var isUpdateStock = _stockInfoRepository.UpdateData(stock);  | 
|   | 
|             // æ·»å åå²ä»»å¡  | 
|             var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0;  | 
|   | 
|             // ä¿®æ¹ç§»åºåè´§ä½ç¶æ  | 
|             var isUpdateLocF = _locationRepository.UpdateData(fromLocation);  | 
|             var isUpdateLocT = _locationRepository.UpdateData(toLocation);  | 
|   | 
|             // å é¤ä»»å¡æ°æ®  | 
|             var isTaskDelete = await Delete(taskId);  | 
|   | 
|             // æäº¤æåæ»äºå¡  | 
|             if (isUpdateStock && isTaskHtyAdd && isTaskDelete && isUpdateLocF && isUpdateLocT)  | 
|             {  | 
|                 LogFactory.GetLog("ä»»å¡å®æ").InfoFormat(true, "ä»»å¡å®æ", $"äºå¡å¤ç宿,æäº¤äºå¡ãæ·»å åå²ä»»å¡ï¼{isTaskHtyAdd},å é¤ä»»å¡æ°æ®ï¼{isTaskDelete},æ´æ°ææ·»å åºåï¼{isUpdateStock},ä¿®æ¹ç§»åºåè´§ä½ç¶æï¼{isUpdateLocF}");  | 
|                 _unitOfWorkManage.CommitTran();  | 
|                 return true;  | 
|             }  | 
|             else  | 
|             {  | 
|                 LogFactory.GetLog("ä»»å¡å®æ").InfoFormat(true, "ä»»å¡å®æ", $"æ°æ®å¤ç失败,è¯·æ£æ¥æ°æ®æ¯å¦æ£ç¡®,æ°æ®åæ»ãæ·»å åå²ä»»å¡ï¼{isTaskHtyAdd},å é¤ä»»å¡æ°æ®ï¼{isTaskDelete},æ´æ°åºåï¼{isUpdateStock},ä¿®æ¹ç§»åºåè´§ä½ç¶æï¼{isUpdateLocF}");  | 
|                 _unitOfWorkManage.RollbackTran();  | 
|                 return false;  | 
|             }  | 
|         }  | 
|         catch (Exception err)  | 
|         {  | 
|             LogFactory.GetLog("ä»»å¡å®æ").InfoFormat(true, $"ä»»å¡å®æ,ç³»ç»å¼å¸¸ï¼å¼å¸¸ä¿¡æ¯ï¼{err.Message}", "æ åæ°");  | 
|             _unitOfWorkManage.RollbackTran();  | 
|             throw new Exception(err.Message); // æåºå¼å¸¸ä»¥ä¾¿å¤é¨æè·  | 
|         }  | 
|     }  | 
|   | 
|     #endregion MyRegion  | 
|   | 
|     #region æ£æµé«æ¸©åºæ¯å¦æå¯åºåºåºå  | 
|   | 
|     public WebResponseContent StockCheckingAsync()  | 
|     {  | 
|         WebResponseContent webResponseContent = new WebResponseContent();  | 
|         try  | 
|         {  | 
|             Task.Run(async () =>  | 
|             {  | 
|                 while (true)  | 
|                 {  | 
|                     try  | 
|                     {  | 
|                         Thread.Sleep(TimeSpan.FromMinutes(10));  | 
|   | 
|                         var area = await _areaInfoRepository.QueryFirstAsync(x => x.AreaCode == "GWSC1");  | 
|                         var devices = SqlSugarHelper.DbWCS.Queryable<Dt_DeviceInfo>()  | 
|                             .Where(x => x.DeviceStatus == "1")  | 
|                             .Where(x => x.DeviceCode.Contains("GWSC"))  | 
|                             .ToList();  | 
|                         var deviceCode = devices.Select(x => x.DeviceCode).ToList();  | 
|   | 
|                         var stockInfo = await _stockInfoRepository.Db.Queryable<DtStockInfo>()  | 
|                              .Includes(x => x.LocationInfo) // é¢å è½½LocationInfo  | 
|                              .Includes(x => x.StockInfoDetails) // é¢å è½½StockInfoDetails  | 
|                              .Where(x => x.AreaCode == area.AreaCode && x.OutboundTime < DateTime.Now && x.IsFull == true) // è¿æ»¤æ¡ä»¶  | 
|                              .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID) // è¿æ»¤æ¡ä»¶  | 
|                              .WhereIF(!deviceCode.IsNullOrEmpty(), x => deviceCode.Contains(x.LocationInfo.RoadwayNo))  | 
|                              .OrderBy(x => x.OutboundTime) // æåº  | 
|                              .ToListAsync(); // è·å第ä¸ä¸ªå
ç´   | 
|   | 
|                         if (stockInfo.Count <= 0) continue;  | 
|                         foreach (var item in stockInfo)  | 
|                         {  | 
|                             var hasTask = BaseDal.QueryFirst(x => x.PalletCode == item.PalletCode);  | 
|                             if (hasTask != null)  | 
|                             {  | 
|                                 Console.WriteLine("å·²åå¨åºåºä»»å¡");  | 
|                                 continue;  | 
|                             }  | 
|   | 
|                             string position = string.Empty;  | 
|                             if (item.LocationInfo.RoadwayNo == "GWSC1")  | 
|                                 position = "1059";  | 
|                             else  | 
|                                 position = "1065";  | 
|   | 
|                             var task = CreateTask(item, position, (int)TaskOutboundTypeEnum.Outbound);  | 
|                             task.NextAddress = "002-000-002";  | 
|                             // å建任å¡DTO  | 
|                             WMSTaskDTO taskDTO = CreateTaskDTO(task);  | 
|   | 
|                             var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);  | 
|                             var wmsBase = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.WCSIPAddress)?.ConfigValue;  | 
|                             var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.ReceiveTask)?.ConfigValue;  | 
|                             if (wmsBase == null || ipAddress == null)  | 
|                             {  | 
|                                 throw new InvalidOperationException("WMS IP æªé
ç½®");  | 
|                             }  | 
|                             var wmsIpAddress = wmsBase + ipAddress;  | 
|   | 
|                             var result = HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;  | 
|                             var content = JsonConvert.DeserializeObject<WebResponseContent>(result);  | 
|                             if (content.Status)  | 
|                             {  | 
|                                 int lastStatus = item.LocationInfo.LocationStatus;  | 
|                                 await BaseDal.AddDataAsync(task);  | 
|                                 // æ´æ°åºåä½ç½®ç¶æä¸ºä¸å¯ç¨  | 
|                                 item.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable;  | 
|                                 await _locationRepository.UpdateDataAsync(item.LocationInfo);  | 
|   | 
|                                 _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(item.LocationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);  | 
|                             }  | 
|                         }  | 
|                     }  | 
|                     catch (Exception ex)  | 
|                     {  | 
|                         Console.WriteLine(ex.Message);  | 
|                     }  | 
|                 }  | 
|             });  | 
|             return webResponseContent.OK();  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             Console.WriteLine(ex.Message.ToString());  | 
|             return webResponseContent.Error(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #endregion æ£æµé«æ¸©åºæ¯å¦æå¯åºåºåºå  | 
|   | 
|     #region å¸¸æ¸©è¡¥ç©ºæçè³å容  | 
|   | 
|     private static readonly Dictionary<string, (int Count, DateTime LastRequestTime)> requestTrackerToCW = new();  | 
|     public async Task<WebResponseContent> GetFROutTrayToCW(RequestTaskDto taskDTO)  | 
|     {  | 
|         WebResponseContent content = new WebResponseContent();  | 
|         try  | 
|         {  | 
|             string requestKey = JsonConvert.SerializeObject(taskDTO);  | 
|             // æ£æ¥è¯·æ±æ¬¡æ°åæ¶é´éå¶  | 
|             if (requestTrackerToCW.TryGetValue(requestKey, out var requestInfo))  | 
|             {  | 
|                 if (requestInfo.Count > 5 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(2))  | 
|                 {  | 
|                     // å¦æè¯·æ±æ¬¡æ°è¶
è¿éå¶ä¸æªè¶
è¿10åéï¼æåºå¼å¸¸  | 
|                     throw new InvalidOperationException("è¯·æ±æ¬¡æ°å·²è¾¾å°éå¶ï¼è¯·ç¨ååè¯ã");  | 
|                 }  | 
|             }  | 
|   | 
|             // æ´æ°è¯·æ±è·è¸ªä¿¡æ¯  | 
|             if (requestTrackerToCW.ContainsKey(requestKey))  | 
|             {  | 
|                 requestTrackerToCW[requestKey] = (requestInfo.Count + 1, DateTime.Now);  | 
|             }  | 
|             else  | 
|             {  | 
|                 requestTrackerToCW[requestKey] = (1, DateTime.Now);  | 
|             }  | 
|   | 
|   | 
|             var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTO.Position && x.stationStatus == "1");  | 
|             var locations = _locationRepository.QueryData(x => x.RoadwayNo == station.Roadway && x.LocationStatus == (int)LocationEnum.Free && x.LocationType == 1);  | 
|   | 
|             if (locations.Count > 10)  | 
|             {  | 
|                 ConsoleHelper.WriteColorLine(locations.Count.ToString(), ConsoleColor.Blue);  | 
|   | 
|                 var location = locations.OrderBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).FirstOrDefault();  | 
|   | 
|                 var stockInfo = await QueryStockInfoForEmptyTrayFRAsync("CWSC1", "10086", taskDTO.ProductionLine);  | 
|   | 
|                 if (stockInfo != null)  | 
|                 {  | 
|                     var task = CreateTask(stockInfo, taskDTO.Position, (int)TaskOutboundTypeEnum.OutTray);  | 
|   | 
|                     // å建任å¡DTO  | 
|                     WMSTaskDTO wmsTask = CreateTaskDTO(task);  | 
|   | 
|                     // æ´æ°åºåä½ç½®ç¶æä¸ºä¸å¯ç¨  | 
|                     int lastStatus = location.LocationStatus;  | 
|                     stockInfo.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable;  | 
|                     location.LocationStatus = (int)LocationEnum.Distribute;  | 
|                     await _unitOfWorkManage.UseTranAsync(async () =>  | 
|                     {  | 
|                         await BaseDal.AddDataAsync(task);  | 
|                         await _locationRepository.UpdateDataAsync(stockInfo.LocationInfo);  | 
|                         await _locationRepository.UpdateDataAsync(location);  | 
|                     });  | 
|   | 
|                     _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(location, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);  | 
|   | 
|                     // è¿åæåååº  | 
|                     requestTrackerToCW.Remove(requestKey);  | 
|   | 
|                     return content.OK(data: wmsTask);  | 
|                 }  | 
|                 else  | 
|                     content.Error("常温空æçæ°éä¸è¶³");  | 
|             }  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             content.Error(ex.Message);  | 
|         }  | 
|         return content;  | 
|     }  | 
|   | 
|     /// <summary>  | 
|     /// æ¥è¯¢ç©ºçåºåä¿¡æ¯  | 
|     /// </summary>  | 
|     private async Task<DtStockInfo> QueryStockInfoForEmptyTrayFRAsync(string areaCode, string position, string productLine)  | 
|     {  | 
|         var area = await _areaInfoRepository.QueryFirstAsync(x => x.AreaCode == areaCode);  | 
|   | 
|         ConsoleHelper.WriteColorLine(position + "..." + areaCode, ConsoleColor.Magenta);  | 
|         var station = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == position && x.stationType == 17);  | 
|   | 
|         ConsoleHelper.WriteColorLine(station.Roadway, ConsoleColor.Magenta);  | 
|         var stackers = station.Roadway.Split(',').ToList();  | 
|   | 
|         var deviceCode = SqlSugarHelper.DbWCS.Queryable<Dt_DeviceInfo>()  | 
|             .Where(x => x.DeviceStatus == "1")  | 
|             .Where(x => stackers.Contains(x.DeviceCode))  | 
|             .ToList().Select(x => x.DeviceCode).ToList();  | 
|   | 
|         // ä»ç¼åä¸è·ååºåä¿¡æ¯  | 
|         IDictionary<string, DtStockInfo>? stockInfos = _simpleCacheService.HashGetAll<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo);  | 
|         List<DtStockInfo> stockInfoList = stockInfos.Values.ToList();  | 
|   | 
|         var result = stockInfoList.Where(x => x.ProductionLine == productLine)  | 
|             .Where(x => x.AreaCode == areaCode && x.IsFull == false)  | 
|             .Where(x => x.StockInfoDetails.Any(y => y.MaterielCode == "空æç"))  | 
|             .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable) // è¿æ»¤æ¡ä»¶  | 
|             .WhereIF(!deviceCode.IsNullOrEmpty(), x => deviceCode.Contains(x.LocationInfo.RoadwayNo))  | 
|             .OrderBy(x => x.CreateDate) // æåº  | 
|             .FirstOrDefault(); // è½¬æ¢ä¸ºå表  | 
|   | 
|         if (result != null)  | 
|         {  | 
|             stockInfoList = stockInfoList.Where(x => x != result).ToList();  | 
|             _simpleCacheService.HashDel<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo, new string[] { result.PalletCode });  | 
|         }  | 
|         return result;  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region  å¸¸æ¸©3åºåºè³å
è£
  | 
|   | 
|     // ç¨äºè¿½è¸ªæ¯ä¸ªè¯·æ±çè°ç¨æ¬¡æ°åæåè¯·æ±æ¶é´ã  | 
|     private static readonly Dictionary<string, (int Count, DateTime LastRequestTime)> requestTracker = new();  | 
|   | 
|     /// <summary>  | 
|     /// å¸¸æ¸©3åºåºè³å
è£
  | 
|     /// </summary>  | 
|     /// <param name="json"></param>  | 
|     /// <returns></returns>  | 
|     public async Task<WebResponseContent> RequestOutTaskToBZAsync(RequestTaskDto json)  | 
|     {  | 
|         WebResponseContent content = new WebResponseContent();  | 
|         try  | 
|         {  | 
|             //string requestKey = JsonConvert.SerializeObject(json);  | 
|             //// æ£æ¥è¯·æ±æ¬¡æ°åæ¶é´éå¶  | 
|             //if (requestTracker.TryGetValue(requestKey, out var requestInfo))  | 
|             //{  | 
|             //    if (requestInfo.Count >= 9 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(5))  | 
|             //    {  | 
|             //        // å¦æè¯·æ±æ¬¡æ°è¶
è¿éå¶ä¸æªè¶
è¿10åéï¼æåºå¼å¸¸  | 
|             //        throw new InvalidOperationException("è¯·æ±æ¬¡æ°å·²è¾¾å°éå¶ï¼è¯·ç¨ååè¯ã");  | 
|             //    }  | 
|             //}  | 
|   | 
|             //// æ´æ°è¯·æ±è·è¸ªä¿¡æ¯  | 
|             //if (requestTracker.ContainsKey(requestKey))  | 
|             //{  | 
|             //    requestTracker[requestKey] = (requestInfo.Count + 1, DateTime.Now);  | 
|             //}  | 
|             //else  | 
|             //{  | 
|             //    requestTracker[requestKey] = (1, DateTime.Now);  | 
|             //}  | 
|             //LogFactory.GetLog("常温3åºåºè³å
è£
").Info(true, $"常温3åºåºè³å
è£
ä¼ å
¥åæ°ï¼" + JsonConvert.SerializeObject(json, Formatting.Indented));  | 
|   | 
|             Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == json.Position && x.stationType == 12 && x.stationArea == "Call");  | 
|             if (station == null) { throw new Exception($"æªæ¾å°å
è£
ç«å°ä¿¡æ¯ï¼è¯·æ£æ¥ä¼ å
¥åæ°{json.Position}"); }  | 
|   | 
|             var deviceCode = SqlSugarHelper.DbWCS.Queryable<Dt_DeviceInfo>()  | 
|                 .Where(x => x.DeviceStatus == "1")  | 
|                 .Where(x => x.DeviceCode.Contains("CWSC")) // è¿æ»¤æ¡ä»¶  | 
|                 .ToList().Select(x => x.DeviceCode).ToList();  | 
|   | 
|   | 
|             // ä»ç¼åä¸è·ååºåä¿¡æ¯  | 
|             IDictionary<string, DtStockInfo>? stockInfos = _simpleCacheService.HashGetAll<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo);  | 
|             List<DtStockInfo> stockInfoList = stockInfos.Values.ToList();  | 
|   | 
|             var stockInfo123 = stockInfoList.Where(x => x.ProductionLine == station.productLine)  | 
|                     .Where(x => x.AreaCode == "CWSC3" && x.IsFull == true) // è¿æ»¤æ¡ä»¶  | 
|                     .OrderBy(x => x.OutboundTime) // æåº  | 
|                     .ToList(); // è·å第ä¸ä¸ªå
ç´   | 
|   | 
|             var stockInfo = stockInfo123.Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock) // è¿æ»¤æ¡ä»¶  | 
|                     .WhereIF(!deviceCode.IsNullOrEmpty(), x => deviceCode.Contains(x.LocationInfo.RoadwayNo)).FirstOrDefault();  | 
|             if (stockInfo != null)  | 
|             {  | 
|                 stockInfoList = stockInfoList.Where(x => x != stockInfo).ToList();  | 
|                 _simpleCacheService.HashDel<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo, new string[] { stockInfo.PalletCode });  | 
|             }  | 
|   | 
|   | 
|             if (stockInfo == null) throw new Exception($"åºå
{station.productLine}æ æ»¡è¶³æ¡ä»¶çåºåå¯åºåº");  | 
|   | 
|             DtLocationInfo locationInfo = _locationRepository.QueryFirst(x => x.AreaId == 5 && x.LocationCode == stockInfo.LocationCode);  | 
|   | 
|             Dt_StationManager OutStation = _stationManagerRepository.QueryFirst(x => x.stationPLC == "1016" && x.stationType == 10 && x.Roadway == locationInfo.RoadwayNo && x.stationStatus == "1");  | 
|   | 
|             // å建æ°ä»»å¡å®ä¾  | 
|             var task = new Dt_Task  | 
|             {  | 
|                 CurrentAddress = stockInfo.LocationCode,  | 
|                 Grade = 1,  | 
|                 Roadway = locationInfo.RoadwayNo,  | 
|                 TargetAddress = json.Position,  | 
|                 Dispatchertime = DateTime.Now,  | 
|                 MaterialNo = "",  | 
|                 NextAddress = OutStation.stationChildCode,  | 
|                 OrderNo = null,  | 
|                 PalletCode = stockInfo.PalletCode,  | 
|                 SourceAddress = stockInfo.LocationCode,  | 
|                 TaskState = (int)TaskOutStatusEnum.OutNew,  | 
|                 TaskType = (int)TaskOutboundTypeEnum.Outbound,  | 
|                 TaskNum = await BaseDal.GetTaskNo(),  | 
|                 Creater = "Systeam",  | 
|                 ProductionLine = stockInfo.ProductionLine,  | 
|                 ProcessCode = stockInfo.ProcessCode,  | 
|             };  | 
|   | 
|             WMSTaskDTO taskDTO = CreateTaskDTO(task);  | 
|   | 
|             int lastStatus = locationInfo.LocationStatus;  | 
|   | 
|             BaseDal.AddData(task);  | 
|             stockInfo.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable;  | 
|             _locationRepository.UpdateData(stockInfo.LocationInfo);  | 
|   | 
|             _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(stockInfo.LocationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);  | 
|   | 
|             return content.OK(data: taskDTO);  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             Console.WriteLine($"CW3è³å
è£
åºåºå¼å¸¸:{ex.ToString()}");  | 
|             return content.Error($"失败ï¼{ex.Message}");  | 
|         }  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region ç«è¦åºåº  | 
|   | 
|     public WebResponseContent EmergencyTask(object obj)  | 
|     {  | 
|         WebResponseContent content = new WebResponseContent();  | 
|         var emergencyTask = new DTSEmergencyTask();  | 
|         try  | 
|         {  | 
|             emergencyTask = JsonConvert.DeserializeObject<DTSEmergencyTask>(obj.ToString());  | 
|   | 
|             if (emergencyTask == null) throw new Exception("ç«è¦åæ°ä¸ºç©º");  | 
|   | 
|             DtLocationInfo locationInfo = _locationRepository.QueryFirst(x => x.Row == emergencyTask.row && x.Column == emergencyTask.column && x.Layer == emergencyTask.layer && x.AreaId == emergencyTask.zone);  | 
|             if (locationInfo == null)  | 
|             {  | 
|                 throw new Exception("æªç¥åºä½");  | 
|             }  | 
|   | 
|             //æ¥æ¾æ¶é²ç«å°  | 
|             var station = _stationManagerRepository.QueryFirst(t => t.Roadway == locationInfo.RoadwayNo  | 
|                  && t.stationType == (int)StationManager.FireStation  | 
|                  /*&& t. == "Enable"*/);  | 
|             if (station == null)  | 
|             {  | 
|                 throw new Exception("æ¶é²ç«å°æªé
ç½®!");  | 
|             }  | 
|   | 
|             //æ¥æ¾åºåä¿¡æ¯  | 
|             var stockInfo = _stockInfoRepository.QueryFirst(x => x.LocationCode == locationInfo.LocationCode && x.LocationInfo.RoadwayNo == locationInfo.RoadwayNo);  | 
|             //æçç   | 
|             string barcode = string.Empty;  | 
|             if (stockInfo != null)  | 
|             {  | 
|                 barcode = stockInfo.PalletCode;  | 
|             }  | 
|             else  | 
|             {  | 
|                 //æ åºåä¿¡æ¯ï¼çæéæºæçç   | 
|                 barcode = "M" + DateTime.Now.ToString("MMddHHmmss") + "-" + new Random().Next(100, 1000);  | 
|             }  | 
|   | 
|             Dt_Task fireTask = BaseDal.QueryFirst(x => x.TaskType == 500 && x.SourceAddress == locationInfo.LocationCode && x.Roadway == station.Roadway);  | 
|   | 
|             if (fireTask != null)  | 
|             {  | 
|                 throw new Exception("已添å ç«è¦åºåºä»»å¡");  | 
|             }  | 
|   | 
|             int taskNum = BaseDal.GetTaskNo().Result;  | 
|             Dt_Task task = new Dt_Task  | 
|             {  | 
|                 CreateDate = DateTime.Now,  | 
|                 Creater = "DTS",  | 
|                 CurrentAddress = locationInfo.LocationCode,  | 
|                 Grade = 1,  | 
|                 Dispatchertime = DateTime.Now,  | 
|                 PalletCode = barcode,  | 
|                 Roadway = station.Roadway,  | 
|                 SourceAddress = locationInfo.LocationCode,  | 
|                 TaskState = (int)TaskOutStatusEnum.OutNew,  | 
|                 TaskType = 500,  | 
|                 TargetAddress = station.stationLocation,  | 
|                 NextAddress = station.stationChildCode,  | 
|                 TaskNum = taskNum, //_taskRepository.GetTaskNo().Result,  | 
|                 TaskId = 0,  | 
|             };  | 
|   | 
|             // å°è¯æ·»å æ°ä»»å¡  | 
|             WMSTaskDTO taskDTO = new WMSTaskDTO()  | 
|             {  | 
|                 TaskNum = task.TaskNum.Value,  | 
|                 Grade = 1,  | 
|                 PalletCode = task.PalletCode,  | 
|                 RoadWay = task.Roadway,  | 
|                 SourceAddress = task.SourceAddress,  | 
|                 TargetAddress = task.TargetAddress,  | 
|                 TaskState = task.TaskState.Value,  | 
|                 Id = 0,  | 
|                 TaskType = 500,  | 
|             };  | 
|   | 
|             var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);  | 
|             var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.WCSIPAddress)?.ConfigValue;  | 
|             var ReceiveByWMSTask = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.ReceiveByWMSTask)?.ConfigValue;  | 
|             if (ReceiveByWMSTask == null || ipAddress == null)  | 
|             {  | 
|                 throw new Exception("WMS IP æªé
ç½®");  | 
|             }  | 
|             var wmsIpAddrss = ipAddress + ReceiveByWMSTask;  | 
|   | 
|             var respon = HttpHelper.Post(wmsIpAddrss, JsonConvert.SerializeObject(taskDTO));  | 
|             if (respon != null)  | 
|             {  | 
|                 WebResponseContent respone = JsonConvert.DeserializeObject<WebResponseContent>(respon.ToString());  | 
|                 if (respone.Status)  | 
|                 {  | 
|                     var taskId = BaseDal.AddData(task);  | 
|                 }  | 
|                 else  | 
|                 {  | 
|                     throw new Exception("WCSå¤ç失败:" + respone.Message);  | 
|                 }  | 
|             }  | 
|             else  | 
|             {  | 
|                 throw new Exception("请æ±å¤ç失败");  | 
|             }  | 
|             LogFactory.GetLog("DTSç«è¦åºåº").Info(true, $"\r\r--------------------------------------");  | 
|             LogFactory.GetLog("DTSç«è¦åºåº").Info(true, obj.ToJsonString());  | 
|             return content.OK();  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             LogFactory.GetLog("DTSç«è¦åºåº").Info(true, $"\r\r--------------------------------------");  | 
|             LogFactory.GetLog("DTSç«è¦åºåº").Info(true, ex.Message);  | 
|             return content.Error(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region å容空æ¡å
¥åºæ¹ä¸ºç´æ¥åºåº  | 
|   | 
|     public async Task<WebResponseContent> SetEmptyOutbyInToOutAsync(RequestTaskDto request)  | 
|     {  | 
|         WebResponseContent content = new WebResponseContent();  | 
|         var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == request.PalletCode);  | 
|         if (!task.IsNullOrEmpty())  | 
|         {  | 
|             var fromStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == request.Position);  | 
|             var toStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationType == 7 && x.productLine == fromStation.productLine && x.stationArea == fromStation.stationArea);  | 
|             if (!toStation.IsNullOrEmpty())  | 
|             {  | 
|                 var location = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress && x.AreaId == int.Parse(fromStation.stationArea));  | 
|                 task.TargetAddress = toStation.stationLocation;  | 
|                 task.NextAddress = toStation.stationChildCode;  | 
|                 task.Grade = 3;  | 
|                 task.TaskType = (int)TaskOutboundTypeEnum.InToOut;  | 
|                 task.TaskState = (int)TaskOutStatusEnum.OutNew;  | 
|   | 
|                 location.LocationStatus = (int)LocationEnum.Free;  | 
|   | 
|                 await _locationRepository.UpdateDataAsync(location);  | 
|                 await BaseDal.UpdateDataAsync(task);  | 
|                 return content.OK("æå");  | 
|             }  | 
|             else  | 
|             {  | 
|                 ConsoleHelper.WriteErrorLine("å容空æ¡å
¥åºæ¹ä¸ºç´æ¥åºåº:æªæ¾å°å¯¹åºç«å°");  | 
|                 content.Error("æªæ¾å°å¯¹åºç«å°");  | 
|             }  | 
|         }  | 
|         else  | 
|         {  | 
|             ConsoleHelper.WriteErrorLine("å容空æ¡å
¥åºæ¹ä¸ºç´æ¥åºåº:æªæ¾å°ä»»å¡");  | 
|             content.Error("æªæ¾å°ä»»å¡");  | 
|         }  | 
|         return content;  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region å容空æ¡åºåºæ¹ä¸ºç´æ¥åºåº  | 
|   | 
|     /// <summary>  | 
|     /// å容空æ¡åºåºæ¹ä¸ºç´æ¥åºåº  | 
|     /// </summary>  | 
|     /// <param name="request"></param>  | 
|     /// <returns></returns>  | 
|     public async Task<WebResponseContent> SetEmptyOutbyInToOutOneAsync(RequestTaskDto request)  | 
|     {  | 
|         WebResponseContent content = new WebResponseContent();  | 
|         var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == request.PalletCode);  | 
|         if (!task.IsNullOrEmpty())  | 
|         {  | 
|             var toStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == request.Position);  | 
|             var fromStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationType == 6 && x.productLine == toStation.productLine && x.stationArea == toStation.stationArea);  | 
|             if (!fromStation.IsNullOrEmpty())  | 
|             {  | 
|                 //var location = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress && x.AreaId == int.Parse(fromStation.stationArea));  | 
|                 task.SourceAddress = toStation.stationLocation;  | 
|                 task.CurrentAddress = toStation.stationChildCode;  | 
|                 task.Grade = 3;  | 
|                 task.TaskType = (int)TaskOutboundTypeEnum.InToOut;  | 
|                 task.TaskState = (int)TaskOutStatusEnum.OutNew;  | 
|   | 
|                 //location.LocationStatus = (int)LocationEnum.Free;  | 
|   | 
|                 //await _locationRepository.UpdateDataAsync(location);  | 
|                 await BaseDal.UpdateDataAsync(task);  | 
|                 return content.OK("æå");  | 
|             }  | 
|             else  | 
|             {  | 
|                 ConsoleHelper.WriteErrorLine("å容空æ¡åºåºæ¹ä¸ºç´æ¥åºåº:æªæ¾å°å¯¹åºç«å°");  | 
|                 content.Error("æªæ¾å°å¯¹åºç«å°");  | 
|             }  | 
|         }  | 
|         else  | 
|         {  | 
|             ConsoleHelper.WriteErrorLine("å容空æ¡åºåºæ¹ä¸ºç´æ¥åºåº:æªæ¾å°ä»»å¡");  | 
|             content.Error("æªæ¾å°ä»»å¡");  | 
|         }  | 
|         return content;  | 
|     }  | 
|   | 
|     #endregion  | 
| }¯OriginalContentÀªSelections¥CaretÀ¥StartÍa£EndÍÁ¨FilePathÙqD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_StorageTaskServices\Task\Partial\Dt_TaskService.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$e31b3fc2-dedf-430f-a06f-13d6ad638a52¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$0f947838-2888-4d6a-8f4d-80068640b593©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.13.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.13.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.13.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ      §Content ¯OriginalContentÀªSelections¨FilePathÙqD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_StorageTaskServices\Task\Partial\Dt_TaskService.cs¨LanguageÀªReferencesÜ w¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ%WIDESEA_Core.BaseServices.ServiceBase¯UnqualifiedName«ServiceBase¬CommentRange¥Start ¦Length ©NameRange¥StartÍB¦Length©BodyRange¥StartÍô¦LengthÍså«ExtentRange¥StartÍ5¦LengthÍt¤¤Kind ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ5WIDESEA_Core.BaseServices.ServiceBase.GetPageDataSort¯UnqualifiedName¯GetPageDataSort¬CommentRange¥StartͦLength̸©NameRange¥StartͦLength©BodyRange¥StartÍæ¦LengthÍæ«ExtentRange¥StartÍo¦LengthÍ]¤Kind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ9WIDESEA_Core.BaseServices.ServiceBase.ValidatePageOptions¯UnqualifiedName³ValidatePageOptions¬CommentRange¥Start ¦Length ©NameRange¥StartÍã¦Length©BodyRange¥StartÍ ¦LengthÍ «ExtentRange¥StartÍÒ¦LengthÍ Ï¤Kind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ0WIDESEA_Core.BaseServices.ServiceBase.UpdateData¯UnqualifiedNameªUpdateData¬CommentRange¥StartÍ>¦LengthÌ©NameRange¥StartÍ?=¦Length | 
| ©BodyRange¥StartÍ?f¦LengthÍ5«ExtentRange¥StartÍ?¦LengthͤKind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ1WIDESEA_Core.BaseServices.ServiceBase.GetPageData¯UnqualifiedName«GetPageData¬CommentRange¥Start ¦Length ©NameRange¥Startͳ¦Length©BodyRange¥StartÍá¦LengthÍã«ExtentRange¥StartͦLengthÍ6¤Kind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ3WIDESEA_Core.BaseServices.ServiceBase.GetDetailPage¯UnqualifiedNameGetDetailPage¬CommentRange¥Start ¦Length ©NameRange¥StartÍ î¦Length ©BodyRange¥StartÍ!¦LengthÍ:«ExtentRange¥Start͠ئLengthͤKind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ-WIDESEA_Core.BaseServices.ServiceBase.AddData¯UnqualifiedName§AddData¬CommentRange¥StartÍ)±¦LengthÌ©NameRange¥StartÍ*c¦Length©BodyRange¥StartÍ*¦LengthÍ    ö«ExtentRange¥StartÍ*A¦LengthÍ | 
| >¤Kind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ,WIDESEA_Core.BaseServices.ServiceBase.Import¯UnqualifiedName¦Import¬CommentRange¥StartÍk4¦LengthÌ©NameRange¥StartÍkâ¦Length©BodyRange¥StartÍl    ¦LengthÍ«ExtentRange¥StartÍkÀ¦LengthÍѤKind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ>WIDESEA_Core.BaseServices.ServiceBase.UpdateDataInculdesDetail¯UnqualifiedName¸UpdateDataInculdesDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍJÁ¦Length©BodyRange¥StartÍKm¦Lengthͨ«ExtentRange¥StartÍJ§¦LengthÍn¤Kind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ;WIDESEA_Core.BaseServices.ServiceBase.AddDataIncludesDetail¯UnqualifiedNameµAddDataIncludesDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¥¦Length©BodyRange¥StartÍ58¦LengthÍõ«ExtentRange¥StartÍ4¦LengthÍ¢¤Kind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ0WIDESEA_Core.BaseServices.ServiceBase.DeleteData¯UnqualifiedNameªDeleteData¬CommentRange¥StartÍY=¦LengthÌ
©NameRange¥StartÍYî¦Length | 
| ©BodyRange¥StartÍZ¦LengthÍt«ExtentRange¥StartÍY̦Length͹¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙ1WIDESEA_IStorageTaskRepository.IDt_TaskRepository¯UnqualifiedName²IDt_TaskRepository¬CommentRange¥Start ¦Length ©NameRange¥Start>¦Length©BodyRange¥Starti¦LengthÍ«ExtentRange¥Start-¦LengthÍŤKind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙLWIDESEA_IStorageTaskRepository.IDt_TaskRepository.GetListByOutOrderAndStatus¯UnqualifiedNameºGetListByOutOrderAndStatus¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦LengthK¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙCWIDESEA_IStorageTaskRepository.IDt_TaskRepository.GetListByOutOrder¯UnqualifiedName±GetListByOutOrder¬CommentRange¥Start ¦Length ©NameRange¥StartÍЦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͼ¦Length6¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙAWIDESEA_IStorageTaskRepository.IDt_TaskRepository.GetListByStatus¯UnqualifiedName¯GetListByStatus¬CommentRange¥Start ¦Length ©NameRange¥StartÍa¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍM¦Length0¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙ9WIDESEA_IStorageTaskRepository.IDt_TaskRepository.GetById¯UnqualifiedName§GetById¬CommentRange¥Start ¦Length ©NameRange¥Start~¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startp¦Length¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙ8WIDESEA_IStorageTaskRepository.IDt_TaskRepository.Delete¯UnqualifiedName¦Delete¬CommentRange¥Start ¦Length ©NameRange¥StartÍ|¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍq¦Length¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙ9WIDESEA_IStorageTaskRepository.IDt_TaskRepository.GetList¯UnqualifiedName§GetList¬CommentRange¥Start ¦Length ©NameRange¥Start̪¦Length©BodyRange¥Start ¦Length «ExtentRange¥StarțLength¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙ8WIDESEA_IStorageTaskRepository.IDt_TaskRepository.Create¯UnqualifiedName¦Create¬CommentRange¥Start ¦Length ©NameRange¥StartÌó¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÌè¦Length(¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ,WIDESEA_IStorageTaskServices.IDt_TaskService¯UnqualifiedName¯IDt_TaskService¬CommentRange¥Start ¦Length ©NameRange¥StartR¦Length©BodyRange¥Startw¦LengthÍ-«ExtentRange¥StartA¦LengthÍc¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙGWIDESEA_IStorageTaskServices.IDt_TaskService.GetListByOutOrderAndStatus¯UnqualifiedNameºGetListByOutOrderAndStatus¬CommentRange¥StartÍý¦LengthÌ»©NameRange¥StartÍÒ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start;¦LengthK¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙDWIDESEA_IStorageTaskServices.IDt_TaskService.RequestTrayOutTaskAsync¯UnqualifiedName·RequestTrayOutTaskAsync¬CommentRange¥StartͦLengthÍ ©NameRange¥StartÍI¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ0¦Length̤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ>WIDESEA_IStorageTaskServices.IDt_TaskService.GetListByOutOrder¯UnqualifiedName±GetListByOutOrder¬CommentRange¥StartÍ,¦LengthÌ©NameRange¥StartÍÓ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¿¦Length6¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ<WIDESEA_IStorageTaskServices.IDt_TaskService.GetListByStatus¯UnqualifiedName¯GetListByStatus¬CommentRange¥StartÍ    ¦LengthÌ©NameRange¥StartÍ    ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ    ¦Length0¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙCWIDESEA_IStorageTaskServices.IDt_TaskService.CompleteStackTaskAsync¯UnqualifiedName¶CompleteStackTaskAsync¬CommentRange¥StartÍ | 
| 
¦LengthÌ©NameRange¥StartÍ1¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthZ¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙFWIDESEA_IStorageTaskServices.IDt_TaskService.CompleteTransferTaskAsync¯UnqualifiedName¹CompleteTransferTaskAsync¬CommentRange¥StartÍq¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length]¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ4WIDESEA_IStorageTaskServices.IDt_TaskService.GetById¯UnqualifiedName§GetById¬CommentRange¥Start~¦Length{©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÌÿ¦Length¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ:WIDESEA_IStorageTaskServices.IDt_TaskService.GetByLocation¯UnqualifiedNameGetByLocation¬CommentRange¥StartÍ%¦Length}©NameRange¥StartͶ¦Length ©BodyRange¥Start ¦Length «ExtentRange¥Startͨ¦Length/¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ=WIDESEA_IStorageTaskServices.IDt_TaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍŦLengthx©NameRange¥StartÍ\¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍC¦LengthF¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙEWIDESEA_IStorageTaskServices.IDt_TaskService.CreateAndSendInboundTask¯UnqualifiedName¸CreateAndSendInboundTask¬CommentRange¥StartÍ$¦Lengtḩ©NameRange¥StartÍê¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍѦLengthV¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙFWIDESEA_IStorageTaskServices.IDt_TaskService.CreateAndSendOutboundTask¯UnqualifiedName¹CreateAndSendOutboundTask¬CommentRange¥StartͦLength̬©NameRange¥StartÍÚ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÁ¦Length[¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ3WIDESEA_IStorageTaskServices.IDt_TaskService.Delete¯UnqualifiedName¦Delete¬CommentRange¥StartÍܦLength{©NameRange¥StartÍh¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ]¦Length¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ4WIDESEA_IStorageTaskServices.IDt_TaskService.GetList¯UnqualifiedName§GetList¬CommentRange¥StartͦLengthV©NameRange¥StartÍþ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍê¦Length¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ3WIDESEA_IStorageTaskServices.IDt_TaskService.Create¯UnqualifiedName¦Create¬CommentRange¥StartÍÁ¦LengthÌ©NameRange¥StartÍS¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍH¦Length(¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ4WIDESEA_IStorageTaskServices.IDt_TaskService.IsExist¯UnqualifiedName§IsExist¬CommentRange¥StartÍ    Ò¦LengthÌ
©NameRange¥StartÍ | 
| b¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ | 
| ]¦Length ¤Kind    ¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ#WIDESEA_Model.Models.DtLocationInfo¯UnqualifiedName®DtLocationInfo¬CommentRange¥Start ¦Length ©NameRange¥StarțLength©BodyRange¥StarțLengthÍ«ExtentRange¥StartU¦LengthÍð¤Kind ¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ*WIDESEA_Model.Models.DtLocationInfo.AreaId¯UnqualifiedName¦AreaId¬CommentRange¥StartÍ_¦Length/©NameRange¥StartÍâ¦Length©BodyRange¥StartÍé¦Length «ExtentRange¥StartͦLengthb¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ2WIDESEA_Model.Models.DtLocationInfo.LocationStatus¯UnqualifiedName®LocationStatus¬CommentRange¥StartÍE¦Length/©NameRange¥StartÍȦLength©BodyRange¥StartÍצLength «ExtentRange¥StartÍz¦Lengthj¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ0WIDESEA_Model.Models.DtLocationInfo.EnalbeStatus¯UnqualifiedName¬EnalbeStatus¬CommentRange¥StartÍì¦Length/©NameRange¥StartÍo¦Length©BodyRange¥StartÍ|¦Length «ExtentRange¥StartÍ!¦Lengthh¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ0WIDESEA_Model.Models.DtLocationInfo.LocationType¯UnqualifiedName¬LocationType¬CommentRange¥StartͦLengthD©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ0¦Length «ExtentRange¥StartÍÕ¦Lengthh¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ-WIDESEA_Model.Models.DtLocationInfo.RoadwayNo¯UnqualifiedName©RoadwayNo¬CommentRange¥StartÍh¦Length/©NameRange¥StartÍû¦Length    ©BodyRange¥StartͦLength «ExtentRange¥StartͦLengthu¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ0WIDESEA_Model.Models.DtLocationInfo.LocationCode¯UnqualifiedName¬LocationCode¬CommentRange¥StartÍþ¦Length/©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍ3¦Lengthx¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ*WIDESEA_Model.Models.DtLocationInfo.Column¯UnqualifiedName¦Column¬CommentRange¥StartÍ´¦Length.©NameRange¥StartÍ5¦Length©BodyRange¥StartÍ<¦Length «ExtentRange¥StartÍè¦Lengtha¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ'WIDESEA_Model.Models.DtLocationInfo.Row¯UnqualifiedName£Row¬CommentRange¥StartͦLength.©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍN¦Length^¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ)WIDESEA_Model.Models.DtLocationInfo.Layer¯UnqualifiedName¥Layer¬CommentRange¥StartÍQ¦Length.©NameRange¥StartÍÒ¦Length©BodyRange¥StartÍØ¦Length «ExtentRange¥StartÍ
¦Length`¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ)WIDESEA_Model.Models.DtLocationInfo.Depth¯UnqualifiedName¥Depth¬CommentRange¥StartÍí¦Length/©NameRange¥StartÍp¦Length©BodyRange¥StartÍv¦Length «ExtentRange¥StartÍ"¦Lengtha¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ&WIDESEA_Model.Models.DtLocationInfo.Id¯UnqualifiedName¢Id¬CommentRange¥StartÌ´¦Length-©NameRange¥StartÍG¦Length©BodyRange¥StartÍJ¦Length «ExtentRange¥StartÌç¦Lengthp¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ0WIDESEA_Model.Models.DtLocationInfo.LocationName¯UnqualifiedName¬LocationName¬CommentRange¥Startͳ¦Length/©NameRange¥StartÍF¦Length©BodyRange¥StartÍS¦Length «ExtentRange¥StartÍè¦Lengthx¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ WIDESEA_Model.Models.DtStockInfo¯UnqualifiedName«DtStockInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍ9¦Length©BodyRange¥StartÍW¦LengthÍ«ExtentRange¥StartÌý¦LengthÍv¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ1WIDESEA_Model.Models.DtStockInfo.StockInfoDetails¯UnqualifiedName°StockInfoDetails¬CommentRange¥StartÍZ¦Length7©NameRange¥StartÍB¦Length©BodyRange¥StartÍS¦Length «ExtentRange¥StartͦLengthÌŤKind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ-WIDESEA_Model.Models.DtStockInfo.LocationInfo¯UnqualifiedName¬LocationInfo¬CommentRange¥StartÍl¦Length7©NameRange¥StartÍR¦Length©BodyRange¥StartÍ_¦Length «ExtentRange¥StartͦLengthÌ¿¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ'WIDESEA_Model.Models.DtStockInfo.IsFull¯UnqualifiedName¦IsFull¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartÍǦLength©BodyRange¥StartÍΦLength «ExtentRange¥StartͦLengthÌÔ¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ+WIDESEA_Model.Models.DtStockInfo.LocationId¯UnqualifiedNameªLocationId¬CommentRange¥StartͦLength7©NameRange¥StartͦLength | 
| ©BodyRange¥StartͦLength «ExtentRange¥StartÍצLength̤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ/WIDESEA_Model.Models.DtStockInfo.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥StartÍ    Ê¦Length7©NameRange¥StartÍ | 
| ¸¦Length©BodyRange¥StartÍ | 
| ǦLength «ExtentRange¥StartÍ | 
| ¦LengthÌɤKind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ)WIDESEA_Model.Models.DtStockInfo.AreaCode¯UnqualifiedName¨AreaCode¬CommentRange¥StartÍ | 
| à¦Length7©NameRange¥StartÍΦLength©BodyRange¥StartÍצLength «ExtentRange¥StartÍ!¦LengthÌäKind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ,WIDESEA_Model.Models.DtStockInfo.StockStatus¯UnqualifiedName«StockStatus¬CommentRange¥StartÍ"¦Length7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍc¦LengthÌÁ¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ#WIDESEA_Model.Models.DtStockInfo.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍb¦Length5©NameRange¥StartÍZ¦Length©BodyRange¥StartÍ]¦Length «ExtentRange¥StartÍ¡¦LengthÌɤKind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ+WIDESEA_Model.Models.DtStockInfo.PalletCode¯UnqualifiedNameªPalletCode¬CommentRange¥StartÍv¦Length7©NameRange¥StartÍr¦Length | 
| ©BodyRange¥StartÍ}¦Length «ExtentRange¥StartÍ·¦LengthÌÓ¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ-WIDESEA_Model.Models.DtStockInfo.LocationCode¯UnqualifiedName¬LocationCode¬CommentRange¥StartÍ¥¦Length7©NameRange¥StartÍ ¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍæ¦LengthÌÔ¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ&WIDESEA_Model.Models.DtStockInfoDetail¯UnqualifiedName±DtStockInfoDetail¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ.¦LengthÍ«ExtentRange¥StartÌΦLengthÍÿ¤Kind ¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ.WIDESEA_Model.Models.DtStockInfoDetail.StockId¯UnqualifiedName§StockId¬CommentRange¥StartÍà¦Length1©NameRange¥StartÍg¦Length©BodyRange¥StartÍo¦Length «ExtentRange¥StartͦLengthe¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ3WIDESEA_Model.Models.DtStockInfoDetail.MaterielCode¯UnqualifiedName¬MaterielCode¬CommentRange¥StartͦLength/©NameRange¥StartͦLength©BodyRange¥StartÍ$¦Length «ExtentRange¥Start͹¦Lengthx¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ-WIDESEA_Model.Models.DtStockInfoDetail.Status¯UnqualifiedName¦Status¬CommentRange¥StartͦLength1©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍɦLengthd¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ)WIDESEA_Model.Models.DtStockInfoDetail.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍ5¦Length-©NameRange¥StartÍȦLength©BodyRange¥StartÍ˦Length «ExtentRange¥StartÍh¦Lengthp¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ.WIDESEA_Model.Models.DtStockInfoDetail.OrderNo¯UnqualifiedName§OrderNo¬CommentRange¥StartÍï¦Length/©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍ$¦Lengths¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ3WIDESEA_Model.Models.DtStockInfoDetail.MaterielName¯UnqualifiedName¬MaterielName¬CommentRange¥StartÍ9¦Length/©NameRange¥StartÍͦLength©BodyRange¥StartÍÚ¦Length «ExtentRange¥StartÍn¦Lengthy¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ4WIDESEA_Model.Models.DtStockInfoDetail.StockQuantity¯UnqualifiedNameStockQuantity¬CommentRange¥StartͦLength/©NameRange¥StartͦLength ©BodyRange¥StartÍ©¦Length «ExtentRange¥StartÍ6¦Length̤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ7WIDESEA_Model.Models.DtStockInfoDetail.OutboundQuantity¯UnqualifiedName°OutboundQuantity¬CommentRange¥Start;¦Length/©NameRange¥StartÍl¦Length©BodyRange¥StartÍ}¦Length «ExtentRange¥StartÍó¦Length̤Kind¨FileNameÙ[D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\DB\Models\BaseEntity.cs²FullyQualifiedNameÙ!WIDESEA_Core.DB.Models.BaseEntity¯UnqualifiedNameªBaseEntity¬CommentRange¥Start ¦Length ©NameRange¥StartÌí¦Length | 
| ©BodyRange¥StartÌý¦LengthÍ | 
| õ«ExtentRange¥StartÌà¦LengthͤKind ¨FileNameÙ[D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\DB\Models\BaseEntity.cs²FullyQualifiedNameÙ,WIDESEA_Core.DB.Models.BaseEntity.CreateDate¯UnqualifiedNameªCreateDate¬CommentRange¥StartÍÙ¦Length7©NameRange¥StartÍå¦Length | 
| ©BodyRange¥StartÍð¦Length «ExtentRange¥StartͦLengthÌó¤Kind¨FileNameÙ[D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\DB\Models\BaseEntity.cs²FullyQualifiedNameÙ7WIDESEA_Core.DB.Models.BaseEntity.CreateDate.CreateDate¯UnqualifiedNameªCreateDate¬CommentRange¥StartÍÙ¦Length7©NameRange¥StartÍå¦Length | 
| ©BodyRange¥StartÍ ¦Length«ExtentRange¥StartͦLengthÌó¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Dt_StationManager¯UnqualifiedName±Dt_StationManager¬CommentRange¥Start ¦Length ©NameRange¥StartÍf¦Length©BodyRange¥StartͦLengthͦ«ExtentRange¥StartÍ$¦LengthÍ ¤Kind ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ5WIDESEAWCS_Model.Models.Dt_StationManager.productLine¯UnqualifiedName«productLine¬CommentRange¥StartÍæLength5©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartͦLength'¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ;WIDESEAWCS_Model.Models.Dt_StationManager.stationNGLocation¯UnqualifiedName±stationNGLocation¬CommentRange¥StartÍ ¤¦Length3©NameRange¥StartÍ9¦Length©BodyRange¥StartÍK¦Length «ExtentRange¥StartÍ á¦Lengthw¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ<WIDESEAWCS_Model.Models.Dt_StationManager.stationNGChildCode¯UnqualifiedName²stationNGChildCode¬CommentRange¥StartÍã¦Length3©NameRange¥StartÍ x¦Length©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍ  ¦Lengthx¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ5WIDESEAWCS_Model.Models.Dt_StationManager.stationType¯UnqualifiedName«stationType¬CommentRange¥StartͰ¦Lengtho©NameRange¥StartÍÔ¦Length©BodyRange¥StartÍà¦Length «ExtentRange¥StartÍ)¦LengthÌĤKind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ1WIDESEAWCS_Model.Models.Dt_StationManager.Roadway¯UnqualifiedName§Roadway¬CommentRange¥StartͦLength6©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍ]¦LengthÌͤKind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ5WIDESEAWCS_Model.Models.Dt_StationManager.stationArea¯UnqualifiedName«stationArea¬CommentRange¥StartÍ    y¦Length7©NameRange¥StartÍ | 
| u¦Length©BodyRange¥StartÍ | 
| ¦Length «ExtentRange¥StartÍ    º¦LengthÌÔ¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ9WIDESEAWCS_Model.Models.Dt_StationManager.stationLocation¯UnqualifiedName¯stationLocation¬CommentRange¥StartÍ | 
| ¦Length7©NameRange¥StartͦLength©BodyRange¥Startͦ¦Length «ExtentRange¥StartÍ | 
| Û¦LengthÌØ¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ3WIDESEAWCS_Model.Models.Dt_StationManager.stationID¯UnqualifiedName©stationID¬CommentRange¥StartͦLength5©NameRange¥StartͦLength    ©BodyRange¥StartͦLength «ExtentRange¥StartÍÔ¦LengthÌФKind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ:WIDESEAWCS_Model.Models.Dt_StationManager.stationChildCode¯UnqualifiedName°stationChildCode¬CommentRange¥StartÍD¦Length>©NameRange¥StartÍ    O¦Length©BodyRange¥StartÍ    `¦Length «ExtentRange¥StartͦLengthÌá¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ7WIDESEAWCS_Model.Models.Dt_StationManager.stationStatus¯UnqualifiedNamestationStatus¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength ©BodyRange¥Startͬ¦Length «ExtentRange¥StartͦLength)¤Kind¨FileNameÙZD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\Basic\RequestTaskDto.cs²FullyQualifiedNameºWIDESEA_DTO.RequestTaskDto¯UnqualifiedName®RequestTaskDto¬CommentRange¥Start ¦Length ©NameRange¥Start'¦Length©BodyRange¥Start7¦LengthÍQ«ExtentRange¥Start¦LengthÍn¤Kind ¨FileNameÙZD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\Basic\RequestTaskDto.cs²FullyQualifiedNameÙ)WIDESEA_DTO.RequestTaskDto.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍi¦Length©BodyRange¥StartÍx¦Length «ExtentRange¥StartÍ[¦Length*¤Kind¨FileNameÙZD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\Basic\RequestTaskDto.cs²FullyQualifiedName¿WIDESEA_DTO.RequestTaskDto.area¯UnqualifiedName¤area¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥StartÍH¦Length «ExtentRange¥StartÍ8¦Length¤Kind¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\MOM\CellState\ResultTrayCellsStatus.cs²FullyQualifiedNameÙ%WIDESEA_DTO.MOM.ResultTrayCellsStatus¯UnqualifiedNameµResultTrayCellsStatus¬CommentRange¥Start"¦Length1©NameRange¥Startf¦Length©BodyRange¥StarțLengthÍ-«ExtentRange¥StartY¦LengthÍc¤Kind ¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\MOM\CellState\ResultTrayCellsStatus.cs²FullyQualifiedNameÙ4WIDESEA_DTO.MOM.ResultTrayCellsStatus.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥StartͦLength7©NameRange¥StartÍf¦Length©BodyRange¥StartÍu¦Length «ExtentRange¥StartÍX¦Length*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_Task.cs²FullyQualifiedName¼WIDESEA_Model.Models.Dt_Task¯UnqualifiedName§Dt_Task¬CommentRange¥StartU¦Length%©NameRange¥StartÌ©¦Length©BodyRange¥StartÌ¿¦LengthÍ«ExtentRange¥Start|¦LengthÍÒ¤Kind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_Task.cs²FullyQualifiedNameÙ+WIDESEA_Model.Models.Dt_Task.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥Startͺ¦LengthB©NameRange¥StartÍ c¦Length©BodyRange¥StartÍ r¦Length «ExtentRange¥StartÍ ¦Length}¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_Task.cs²FullyQualifiedNameÙ#WIDESEA_Model.Models.Dt_Task.TaskId¯UnqualifiedName¦TaskId¬CommentRange¥StartÌÆ¦Length?©NameRange¥StartÍh¦Length©BodyRange¥StartÍo¦Length «ExtentRange¥StartͦLengthq¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_Task.cs²FullyQualifiedNameÙ5WIDESEA_Model.Models.Dt_Task.Dt_TaskExecuteDetailList¯UnqualifiedName¸Dt_TaskExecuteDetailList¬CommentRange¥StartÍU¦Length1©NameRange¥StartÍ%¦Length©BodyRange¥StartÍ>¦Length «ExtentRange¥StartͦLengthÌ¿¤Kind¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\WebResponseContent.cs²FullyQualifiedName¿WIDESEA_Core.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥Starţ¦Length©BodyRange¥StartÌ¿¦LengthÍ«ExtentRange¥StarțLengthÍ@¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ$WIDESEA_Core.WebResponseContent.Code¯UnqualifiedName¤Code¬CommentRange¥Start ¦Length ©NameRange¥StartÍ ¦Length©BodyRange¥StartÍ¥¦Length «ExtentRange¥StartͦLength¤Kind¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ"WIDESEA_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍe¦Length©BodyRange¥StartÍs¦LengthY«ExtentRange¥StartÍK¦Length̤Kind    ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEA_Core.WebResponseContent.Error¯UnqualifiedName¥Error¬CommentRange¥Start ¦Length ©NameRange¥StartÍJ¦Length©BodyRange¥StartÍp¦Lengthc«ExtentRange¥StartÍ0¦LengthÌ£¤Kind    ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ&WIDESEA_Core.WebResponseContent.Status¯UnqualifiedName¦Status¬CommentRange¥Start ¦Length ©NameRange¥StartÍu¦Length©BodyRange¥StartÍ|¦Length «ExtentRange¥StartÍi¦Length ¤Kind¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ)WIDESEA_Model.Models.Dt_TaskExecuteDetail¯UnqualifiedName´Dt_TaskExecuteDetail¬CommentRange¥StarțLength1©NameRange¥StartͦLength©BodyRange¥StartÍ2¦LengthÍ«ExtentRange¥StartÌÔ¦LengthÍí¤Kind ¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ0WIDESEA_Model.Models.Dt_TaskExecuteDetail.TaskId¯UnqualifiedName¦TaskId¬CommentRange¥StartÍ#¦LengthI©NameRange¥StartͰ¦Length©BodyRange¥Start͸¦Length«ExtentRange¥StartÍv¦LengthP¤Kind¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ6WIDESEA_Model.Models.Dt_TaskExecuteDetail.TaskDetailId¯UnqualifiedName¬TaskDetailId¬CommentRange¥StartÍ=¦LengthI©NameRange¥StartÍõ¦Length©BodyRange¥StartͦLength«ExtentRange¥StartͦLength̤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ'WIDESEA_Core.BaseRepository.IRepository¯UnqualifiedName«IRepository¬CommentRange¥Start ¦Length ©NameRange¥StartÍ ¦Length©BodyRange¥StartÍe¦LengthÍAw«ExtentRange¥StartͦLengthÍAͤKind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ2WIDESEA_Core.BaseRepository.IRepository.QueryFirst¯UnqualifiedNameªQueryFirst¬CommentRange¥Start ¦Length ©NameRange¥StartÍæ¦Length | 
| ©BodyRange¥Start ¦Length «ExtentRange¥StartÍÞ¦Lengthm¤Kind    ¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ7WIDESEA_Core.BaseRepository.IRepository.QueryFirstAsync¯UnqualifiedName¯QueryFirstAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍe¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍW¦Lengthx¤Kind    ¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ1WIDESEA_Core.BaseRepository.IRepository.QueryPage¯UnqualifiedName©QueryPage¬CommentRange¥Start ¦Length ©NameRange¥StartÍ5̦Length    ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ5¶¦Lengtht¤Kind    ¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ7WIDESEA_Core.BaseRepository.IRepository.QueryFirstAsync¯UnqualifiedName¯QueryFirstAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"¦Length̰¤Kind    ¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ1WIDESEA_Core.BaseRepository.IRepository.QueryPage¯UnqualifiedName©QueryPage¬CommentRange¥StartÍ3ö¦LengthÍ©NameRange¥StartÍ5)¦Length    ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ5¦Length̤Kind    ¨FileNameÙ`D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_Task_Hty.cs²FullyQualifiedNameÙ WIDESEA_Model.Models.Dt_Task_Hty¯UnqualifiedName«Dt_Task_Hty¬CommentRange¥Start6¦Length%©NameRange¥StarțLength©BodyRange¥Starţ¦LengthÍ<«ExtentRange¥Start]¦LengthͤKind ¨FileNameÙ`D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_Task_Hty.cs²FullyQualifiedNameÙ)WIDESEA_Model.Models.Dt_Task_Hty.SourceId¯UnqualifiedName¨SourceId¬CommentRange¥StartÍ/¦LengthB©NameRange¥StartÍʦLength©BodyRange¥StartÍÓ¦Length «ExtentRange¥StartÍw¦Lengthi¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageDataOptions.cs²FullyQualifiedName¼WIDESEA_Core.PageDataOptions¯UnqualifiedName¯PageDataOptions¬CommentRange¥Start ¦Length ©NameRange¥Starţ¦Length©BodyRange¥Start̼¦LengthÍA«ExtentRange¥StarțLengthÍc¤Kind ¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageDataOptions.cs²FullyQualifiedNameÙ!WIDESEA_Core.PageDataOptions.Page¯UnqualifiedName¤Page¬CommentRange¥Start ¦Length ©NameRange¥StartÌÒ¦Length©BodyRange¥StartÌצLength «ExtentRange¥StartÌǦLength¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageDataOptions.cs²FullyQualifiedNameÙ!WIDESEA_Core.PageDataOptions.Rows¯UnqualifiedName¤Rows¬CommentRange¥Start ¦Length ©NameRange¥StartÌù¦Length©BodyRange¥StartÌþ¦Length «ExtentRange¥StartÌî¦Length¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageDataOptions.cs²FullyQualifiedNameÙ"WIDESEA_Core.PageDataOptions.Total¯UnqualifiedName¥Total¬CommentRange¥Start ¦Length ©NameRange¥StartÍ ¦Length©BodyRange¥StartÍ&¦Length «ExtentRange¥StartͦLength¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageDataOptions.cs²FullyQualifiedNameÙ"WIDESEA_Core.PageDataOptions.Order¯UnqualifiedName¥Order¬CommentRange¥StartͦLength7©NameRange¥StartÍå¦Length©BodyRange¥StartÍë¦Length «ExtentRange¥StartÍצLength!¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageGridData.cs²FullyQualifiedName¹WIDESEA_Core.PageGridData¯UnqualifiedName¬PageGridData¬CommentRange¥Start ¦Length ©NameRange¥Starţ¦Length©BodyRange¥Start̼¦LengthÍE«ExtentRange¥StarțLengthÍg¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageGridData.cs²FullyQualifiedName¿WIDESEA_Core.PageGridData.Total¯UnqualifiedName¥Total¬CommentRange¥Start ¦Length ©NameRange¥StartÌÒ¦Length©BodyRange¥StartÌØ¦Length «ExtentRange¥StartÌǦLength¤Kind¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceFunFilter.cs²FullyQualifiedNameÙ*WIDESEA_Core.BaseServices.ServiceFunFilter¯UnqualifiedName°ServiceFunFilter¬CommentRange¥Start ¦Length ©NameRange¥StartÌî¦Length©BodyRange¥StartͦLengthÍ /«ExtentRange¥StartÌØ¦LengthÍ n¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceFunFilter.cs²FullyQualifiedNameÙ0WIDESEA_Core.BaseServices.ServiceFunFilter.Limit¯UnqualifiedName¥Limit¬CommentRange¥StartÍw¦Length©NameRange¥StartÍ¡¦Length©BodyRange¥Startͧ¦Length «ExtentRange¥StartͦLength&¤Kind¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceFunFilter.cs²FullyQualifiedNameÙ6WIDESEA_Core.BaseServices.ServiceFunFilter.Limit.Limit¯UnqualifiedName¥Limit¬CommentRange¥StartÍw¦Length©NameRange¥StartÍ¡¦Length©BodyRange¥StartÍ·¦Length«ExtentRange¥StartͦLength&¤Kind¨FileNameÙYD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\MOM\ProcessApplyDto.cs²FullyQualifiedName»WIDESEA_DTO.ProcessApplyDto¯UnqualifiedName¯ProcessApplyDto¬CommentRange¥Start¦Length)©NameRange¥StartR¦Length©BodyRange¥Startk¦LengthÌÏ«ExtentRange¥StartE¦LengthÌõ¤Kind ¨FileNameÙYD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\MOM\ProcessApplyDto.cs²FullyQualifiedNameÙ&WIDESEA_DTO.ProcessApplyDto.WipOrderNo¯UnqualifiedNameªWipOrderNo¬CommentRange¥Startr¦Length/©NameRange¥Start̵¦Length | 
| ©BodyRange¥StartÌÀ¦Length «ExtentRange¥Starţ¦Length&¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$7938a5a4-f3d5-4cb3-99ec-86c9f3941c21¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$0f947838-2888-4d6a-8f4d-80068640b593©ReferenceÀ¦Traits«IsEphemeral§Content
¢IdÄÒEç¤×LD£Æv´nêªVisibility«Annotations§Content¸è¿ä¸ªæ¥è¯¢æ¥ç©ºæé¨Mentions¨Metadata¦IntentÀ¨GuidanceÀ¥Model¦Family¦gpt-4o¬Capabilities ²DirectedResponders©FunctionsCorrelationIdÙ$0f947838-2888-4d6a-8f4d-80068640b593©MessageIdÙ$6dfd0feb-e3ed-47a7-aa7c-b470c4f40bb7§Context®ValueContainerÙMicrosoft.VisualStudio.Copilot.DocumentContext, Microsoft.VisualStudio.Copilot, Version=17.13.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ      ãÒ    
§ContentÚâµusing Masuit.Tools;  | 
| using SqlSugar;  | 
| using WIDESEA_Common.CustomModels;  | 
|   | 
| //using WIDESEA_Common.CustomModels;  | 
| using WIDESEA_Core.Const;  | 
| using WIDESEA_DTO.MOM;  | 
| using WIDESEA_DTO.WMS;  | 
| using WIDESEAWCS_Model.Models;  | 
| using WIDESEAWCS_QuartzJob.Models;  | 
|   | 
| namespace WIDESEA_StorageTaskServices;  | 
|   | 
| public partial class Dt_TaskService : ServiceBase<Dt_Task, IDt_TaskRepository>, IDt_TaskService  | 
| {  | 
|     #region è¯·æ±ä»»å¡å
¥åº  | 
|   | 
|     /// <summary>  | 
|     /// è¯·æ±å
¥åº  | 
|     /// </summary>  | 
|     /// <param name="input">è¯·æ±æ¨¡å</param>  | 
|     /// <returns>å
å«ä»»å¡ä¿¡æ¯çååºå
容</returns>  | 
|     public async Task<WebResponseContent> RequestInTask(RequestTaskDto input)  | 
|     {  | 
|         // å建ä¸ä¸ªWebResponseContent对象  | 
|         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.TargetAddress,  | 
|                     //    TaskState = task.TaskState.Value,  | 
|                     //    Id = 0,  | 
|                     //    TaskType = task.TaskType,  | 
|                     //    ProductionLine = task.ProductionLine,  | 
|                     //};  | 
|                     WMSTaskDTO taskDTO = CreateTaskDTO(task);  | 
|                     return content.OK(data: taskDTO);  | 
|                 }  | 
|             }  | 
|             // è°ç¨CreateNewTaskæ¹æ³ï¼å建æ°ä»»å¡  | 
|             content = await CreateNewTask(input);  | 
|         }  | 
|         catch (Exception err)  | 
|         {  | 
|             // å¦æåçå¼å¸¸ï¼åè°ç¨content.Erroræ¹æ³ï¼è®°å½é误信æ¯ï¼å¹¶è¾åºéè¯¯ä¿¡æ¯  | 
|             content.Error(err.Message);  | 
|             Console.WriteLine(err.Message);  | 
|         }  | 
|         // è¿åcontent  | 
|         return content;  | 
|     }  | 
|   | 
|     /// <summary>  | 
|     ///  | 
|     /// </summary>  | 
|     /// <param name="input">请æ±åæ°</param>  | 
|     /// <param name="flag">宿¡ç©ºæ¡æ è¯</param>  | 
|     /// <returns></returns>  | 
|     private async Task<WebResponseContent> CreateNewTask(RequestTaskDto input)  | 
|     {  | 
|         try  | 
|         {  | 
|             WebResponseContent content = new WebResponseContent();  | 
|   | 
|             var stationinfo = _stationManagerRepository.QueryFirst(x => x.stationChildCode == input.Position);  | 
|   | 
|             if (stationinfo == null) throw new Exception("æªç¥ç«å°");  | 
|   | 
|             if (stationinfo.stationType != 7)  | 
|             {  | 
|                 if (input.PalletCode == null || input.PalletCode.Trim() == "")  | 
|                     return content.Error($"ã{stationinfo.remark}ãæçæ¡ç ä¸ºç©º");  | 
|             }  | 
|             var task = await CreateNewTaskByStation(input, stationinfo);  | 
|   | 
|             // å°è¯æ·»å æ°ä»»å¡  | 
|             if (task == null) return content.Error();  | 
|             var taskId = await BaseDal.AddDataAsync(task);  | 
|             bool isResult = taskId > 0;  | 
|             if (isResult)  | 
|             {  | 
|                 // å建WMSä»»å¡  | 
|                 WMSTaskDTO taskDTO = new WMSTaskDTO()  | 
|                 {  | 
|                     TaskNum = task.TaskNum.Value,  | 
|                     Grade = task.Grade.Value,  | 
|                     PalletCode = task.PalletCode,  | 
|                     RoadWay = task.Roadway,  | 
|                     SourceAddress = task.SourceAddress,  | 
|                     TargetAddress = task.TargetAddress,  | 
|                     TaskState = task.TaskState.Value,  | 
|                     Id = 0,  | 
|                     TaskType = task.TaskType,  | 
|                     ProductionLine = task.ProductionLine  | 
|                 };  | 
|                 content.OK(data: taskDTO);  | 
|             }  | 
|             else  | 
|                 content.Error("æ·»å ä»»å¡å¤±è´¥");  | 
|             return content;  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             throw new Exception(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     /// <summary>  | 
|     /// æ ¹æ®è¯·æ±åæ°åç«å° åä¸åä»»å¡å¤ç  | 
|     /// </summary>  | 
|     /// <param name="input"></param>  | 
|     /// <param name="stationManager"></param>  | 
|     /// <returns></returns>  | 
|     /// <exception cref="Exception"></exception>  | 
|     private async Task<Dt_Task> CreateNewTaskByStation(RequestTaskDto input, Dt_StationManager stationManager)  | 
|     {  | 
|         try  | 
|         {  | 
|             Dt_Task task = null;  | 
|             switch (stationManager.stationType)  | 
|             {  | 
|                 case 6:  | 
|                 case 1:  | 
|                     task = await CreateInTaskAsync(input, stationManager); break;  | 
|                 //case 2:  | 
|                 case 3:  //å¼å¸¸æåºç»WCSå¤ç  | 
|                          //case 4:  | 
|                 case 5:  | 
|                     task = await CreateInToOutTaskAsync(input, stationManager); break;  | 
|                 case 7:  | 
|                     task = await CreateEmptyOutTaskAsync(input, stationManager); break;  | 
|                 case 15:  | 
|                     task = await CheckAbnormalTaskAsync(input, stationManager); break;  | 
|                 default:  | 
|                     throw new Exception("æªç¥ç«å°ç±»å");  | 
|             }  | 
|             return task;  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             throw new Exception(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #region ç´æ¥åºåºä»»å¡  | 
|   | 
|     private async Task<Dt_Task> CreateInToOutTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)  | 
|     {  | 
|         try  | 
|         {  | 
|             //if (stationManager.stationType != 5) throw new Exception("é误çè°å");  | 
|   | 
|             input.EquiCodeMOM = "24MEJQ11-1006-1";  | 
|   | 
|             // å建ä¸ä¸ªTrayCellsStatusDto对象ï¼å¹¶èµå¼  | 
|             TrayCellsStatusDto trayCells = new TrayCellsStatusDto()  | 
|             {  | 
|                 Software = "WMS",  | 
|                 TrayBarcode = input.PalletCode,  | 
|                 //EquipmentCode = "EQ_CWJZ01"  | 
|                 EquipmentCode = input.EquiCodeMOM  | 
|             };  | 
|   | 
|             // è°ç¨GetTrayCellStatusAsyncæ¹æ³ï¼è·åæ´ççµè¯  | 
|             WebResponseContent content = await GetTrayCellStatusAsync(trayCells);  | 
|             // å¦æç¶æä¸ºfalseï¼åè¿åcontent  | 
|             if (!content.Status) throw new Exception(content.Message);  | 
|   | 
|             // ç»çä¿¡æ¯  | 
|             // å°content.Data转æ¢ä¸ºResultTrayCellsStatus对象  | 
|             var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());  | 
|   | 
|             if (!result.Success)  | 
|             {  | 
|                 var taskNG = new Dt_Task  | 
|                 {  | 
|                     CurrentAddress = input.Position,  | 
|                     Grade = 1,  | 
|                     Roadway = input.Roadways,  | 
|                     TargetAddress = stationManager.stationNGLocation,  | 
|                     Dispatchertime = DateTime.Now,  | 
|                     MaterialNo = "",  | 
|                     NextAddress = stationManager.stationNGChildCode,  | 
|                     OrderNo = null,  | 
|                     PalletCode = input.PalletCode,  | 
|                     SourceAddress = stationManager.stationLocation,  | 
|                     TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                     TaskType = (int)TaskOutboundTypeEnum.InToOut,  | 
|                     TaskNum = await BaseDal.GetTaskNo(),  | 
|                     Creater = "Systeam",  | 
|                     ProductionLine = result.ProductionLine,  | 
|                     ProcessCode = result.ProcessCode,  | 
|                 };  | 
|                 return taskNG;  | 
|             }  | 
|   | 
|             if (result.SerialNos.Count <= 0)  | 
|             {  | 
|                 ConsoleHelper.WriteErrorLine(result.MOMMessage);  | 
|                 if (stationManager.stationType != 3)  | 
|                 {  | 
|                     var taskNG = new Dt_Task  | 
|                     {  | 
|                         CurrentAddress = input.Position,  | 
|                         Grade = 3,  | 
|                         Roadway = input.Roadways,  | 
|                         TargetAddress = stationManager.stationNGLocation,  | 
|                         Dispatchertime = DateTime.Now,  | 
|                         MaterialNo = "",  | 
|                         NextAddress = stationManager.stationNGChildCode,  | 
|                         OrderNo = null,  | 
|                         PalletCode = input.PalletCode,  | 
|                         SourceAddress = stationManager.stationLocation,  | 
|                         TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                         TaskType = (int)TaskOutboundTypeEnum.InToOut,  | 
|                         TaskNum = await BaseDal.GetTaskNo(),  | 
|                         Creater = "Systeam"  | 
|                     };  | 
|                     return taskNG;  | 
|                 }  | 
|                 else  | 
|                 {  | 
|                     //æ çµè¯ â å½ç©ºæ¡ï¼ è¿æ¯è¿åå¼å¸¸ï¼  | 
|                     return null;  | 
|                 }  | 
|             }  | 
|   | 
|             // å¤çå¼å¸¸çµè¯æ
åµ  | 
|             var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList();  | 
|             if (serialNosError.Count > 0)  | 
|             {  | 
|                 if (stationManager.stationType != 3)  | 
|                 {  | 
|                     var taskNG = new Dt_Task  | 
|                     {  | 
|                         CurrentAddress = input.Position,  | 
|                         Grade = 1,  | 
|                         Roadway = input.Roadways,  | 
|                         TargetAddress = stationManager.stationNGLocation,  | 
|                         Dispatchertime = DateTime.Now,  | 
|                         MaterialNo = "",  | 
|                         NextAddress = stationManager.stationNGChildCode,  | 
|                         OrderNo = null,  | 
|                         PalletCode = input.PalletCode,  | 
|                         SourceAddress = stationManager.stationLocation,  | 
|                         TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                         TaskType = (int)TaskOutboundTypeEnum.InToOut,  | 
|                         TaskNum = await BaseDal.GetTaskNo(),  | 
|                         Creater = "Systeam",  | 
|                         ProductionLine = result.ProductionLine,  | 
|                         ProcessCode = result.ProcessCode,  | 
|                     };  | 
|                     return taskNG;  | 
|                 }  | 
|                 else  | 
|                 {  | 
|                     Console.WriteLine($"ç«å°{stationManager.stationChildCode}MOMè¿åçµè¯å¼å¸¸:{result.MOMMessage}");  | 
|                     return null;  | 
|                 }  | 
|             }  | 
|             //else  | 
|             //{  | 
|             //    throw new Exception($"ç«å°{stationManager.stationChildCode}MOMè¿åçµè¯å¼å¸¸:{result.MOMMessage}");  | 
|             //}  | 
|   | 
|             var targetStation = _stationManagerRepository.QueryFirst(x => x.stationPLC == stationManager.stationPLC && x.Roadway == stationManager.Roadway && x.stationType == 2);  | 
|   | 
|             var task = new Dt_Task  | 
|             {  | 
|                 CurrentAddress = input.Position,  | 
|                 Grade = 3,  | 
|                 Roadway = input.Roadways,  | 
|                 TargetAddress = targetStation.stationLocation,  | 
|                 Dispatchertime = DateTime.Now,  | 
|                 MaterialNo = "",  | 
|                 NextAddress = input.Roadways,  | 
|                 OrderNo = null,  | 
|                 PalletCode = input.PalletCode,  | 
|                 SourceAddress = stationManager.stationLocation,  | 
|                 TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                 TaskType = (int)TaskOutboundTypeEnum.InToOut,  | 
|                 TaskNum = await BaseDal.GetTaskNo(),  | 
|                 Creater = "Systeam",  | 
|                 ProductionLine = result.ProductionLine,  | 
|                 ProcessCode = result.ProcessCode,  | 
|             };  | 
|             return task;  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             throw new Exception(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #endregion ç´æ¥åºåºä»»å¡  | 
|   | 
|     #region å
¥åºä»»å¡  | 
|   | 
|     private async Task<Dt_Task> CreateInTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)  | 
|     {  | 
|         if (stationManager.stationType != 1 && stationManager.stationType != 6) throw new Exception("é误çè°å");  | 
|   | 
|         DtLocationInfo locationInfo = null;  | 
|         if (stationManager.stationType == 1 && stationManager.Roadway.Contains("FR"))  | 
|         {  | 
|             locationInfo = await RequestLocation(input, true);  | 
|         }  | 
|         else  | 
|         {  | 
|             locationInfo = await RequestLocation(input);  | 
|         }  | 
|         //DtLocationInfo locationInfo = await RequestLocation(input);  | 
|   | 
|         if (locationInfo == null) throw new Exception("åºä½å·²æ»¡");  | 
|   | 
|         // å建ä¸ä¸ªTrayCellsStatusDto对象ï¼å¹¶èµå¼  | 
|         TrayCellsStatusDto trayCells = new TrayCellsStatusDto()  | 
|         {  | 
|             Software = "WMS",  | 
|             TrayBarcode = input.PalletCode,  | 
|             //EquipmentCode = "EQ_CWJZ01"  | 
|             EquipmentCode = input.EquiCodeMOM  | 
|         };  | 
|   | 
|         // è°ç¨GetTrayCellStatusAsyncæ¹æ³ï¼è·åæ´ççµè¯  | 
|         WebResponseContent content = await GetTrayCellStatusAsync(trayCells);  | 
|         // å¦æç¶æä¸ºfalseï¼åè¿åcontent  | 
|         if (!content.Status) throw new Exception(content.Message);  | 
|   | 
|         // å°content.Data转æ¢ä¸ºResultTrayCellsStatus对象  | 
|         var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());  | 
|   | 
|         if (stationManager.stationType == 6 && result.ProductionLine.IsNullOrEmpty())  | 
|         {  | 
|             ConsoleHelper.WriteErrorLine($"å½åæçæ äº§çº¿,èç³»MOMæ·»å äº§çº¿");  | 
|             throw new Exception("å½åæçæ äº§çº¿,èç³»MOMæ·»å äº§çº¿");  | 
|         }  | 
|   | 
|         if (stationManager.stationType == 1)  | 
|         {  | 
|             #region  | 
|   | 
|             if (result.SerialNos.Count <= 0)  | 
|             {  | 
|                 ConsoleHelper.WriteErrorLine(result.MOMMessage);  | 
|                 var taskNG = new Dt_Task  | 
|                 {  | 
|                     CurrentAddress = input.Position,  | 
|                     Grade = 1,  | 
|                     Roadway = input.Roadways,  | 
|                     TargetAddress = stationManager.stationNGLocation,  | 
|                     Dispatchertime = DateTime.Now,  | 
|                     MaterialNo = "",  | 
|                     NextAddress = stationManager.stationNGChildCode,  | 
|                     OrderNo = null,  | 
|                     PalletCode = input.PalletCode,  | 
|                     SourceAddress = stationManager.stationLocation,  | 
|                     TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                     TaskType = (int)TaskOutboundTypeEnum.InToOut,  | 
|                     TaskNum = await BaseDal.GetTaskNo(),  | 
|                     Creater = "Systeam",  | 
|                     ProductionLine = result.ProductionLine,  | 
|                     ProcessCode = result.ProcessCode,  | 
|                 };  | 
|                 return taskNG;  | 
|             }  | 
|   | 
|             //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 = CreateBoxingInfo(result, input.PalletCode);  | 
|             if (boxing == null) throw new Exception("ç»ç失败");  | 
|   | 
|             //// è°ç¨GetProcessApplyAsyncæ¹æ³ï¼è·åå·¥èºè·¯çº¿  | 
|             //ProcessApplyDto process = await GetProcessApplyAsync(input, result);  | 
|   | 
|             //// å¦æprocess为nullï¼åè¿å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);  | 
|             var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);  | 
|             #endregion å
¥åºä»»å¡  | 
|         }  | 
|   | 
|         var task = new Dt_Task  | 
|         {  | 
|             CurrentAddress = input.Position,  | 
|             Grade = 1,  | 
|             Roadway = input.Roadways,  | 
|             TargetAddress = locationInfo.LocationCode,  | 
|             Dispatchertime = DateTime.Now,  | 
|             MaterialNo = "",  | 
|             NextAddress = input.Roadways,  | 
|             OrderNo = null,  | 
|             PalletCode = input.PalletCode,  | 
|             SourceAddress = stationManager.stationLocation,  | 
|             TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|             TaskType = stationManager.stationType == 1 ? (int)TaskInboundTypeEnum.Inbound : (int)TaskInboundTypeEnum.InTray,  | 
|             TaskNum = await BaseDal.GetTaskNo(),  | 
|             Creater = "Systeam",  | 
|             ProductionLine = result.ProductionLine,  | 
|             ProcessCode = result.ProcessCode,  | 
|         };  | 
|         int lastStatus = locationInfo.LocationStatus;  | 
|         ConsoleHelper.WriteSuccessLine($"ä¿®æ¹åï¼" + lastStatus.ToString());  | 
|         locationInfo.LocationStatus = (int)LocationEnum.FreeDisable;  | 
|         ConsoleHelper.WriteSuccessLine($"ä¿®æ¹åï¼" + locationInfo.LocationStatus.ToString());  | 
|         await UpdateLocationAsync(locationInfo);  | 
|   | 
|         _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum);  | 
|   | 
|         return task;  | 
|     }  | 
|   | 
|     #endregion è¯·æ±ä»»å¡å
¥åº  | 
|   | 
|     #region åºä½åé
  | 
|   | 
|     #region è·åè´§ä½  | 
|   | 
|     /// <summary>  | 
|     ///  | 
|     /// </summary>  | 
|     /// <param name="requestTask">请æ±åæ°</param>  | 
|     /// <param name="isCheckRequest">æ¯å¦æªæ£æµåºä½ç±»å</param>  | 
|     /// <returns></returns>  | 
|     private async Task<DtLocationInfo> RequestLocation(RequestTaskDto requestTask, bool isCheckRequest = false)  | 
|     {  | 
|         try  | 
|         {  | 
|             List<DtLocationInfo> locations;  | 
|             if (isCheckRequest)  | 
|             {  | 
|                 locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 2 && x.Remark == "1");  | 
|             }  | 
|             else  | 
|             {  | 
|                 locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Distribute && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 1);  | 
|                 if (locations == null)  | 
|                 {  | 
|                     locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 1);  | 
|                 }  | 
|             }  | 
|   | 
|             if (locations == null)  | 
|             {  | 
|                 return null;  | 
|             }  | 
|   | 
|             return locations.OrderBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).FirstOrDefault();  | 
|         }  | 
|         catch (Exception err)  | 
|         {  | 
|             Console.WriteLine(err.Message.ToString());  | 
|             return null;  | 
|         }  | 
|     }  | 
|   | 
|     #endregion è·åè´§ä½  | 
|   | 
|     #region å¼å¸¸å£å
¥åºè·ååºä½  | 
|   | 
|     private async Task<DtLocationInfo> RequestLocationByAbnormal(RequestTaskDto requestTask, bool isCheckRequest = false)  | 
|     {  | 
|         try  | 
|         {  | 
|             List<DtLocationInfo> locations;  | 
|             if (isCheckRequest)  | 
|             {  | 
|                 locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 2 && x.Remark == "1");  | 
|             }  | 
|             else  | 
|             {  | 
|                 locations = await _locationRepository.QueryDataAsync(x => x.LocationStatus == (int)LocationEnum.Free && x.RoadwayNo == requestTask.Roadways && x.EnalbeStatus == 1 && x.LocationType == 1);  | 
|             }  | 
|   | 
|             if (locations == null)  | 
|             {  | 
|                 return null;  | 
|             }  | 
|   | 
|             return locations.OrderBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).FirstOrDefault();  | 
|         }  | 
|         catch (Exception err)  | 
|         {  | 
|             Console.WriteLine(err.Message.ToString());  | 
|             return null;  | 
|         }  | 
|     }  | 
|   | 
|     #endregion å¼å¸¸å£å
¥åºè·ååºä½  | 
|   | 
|     #endregion åºä½åé
  | 
|   | 
|     // è·åå·¥èºç³è¯·  | 
|     private Task<ProcessApplyDto> GetProcessApplyAsync(RequestTaskDto input, ResultTrayCellsStatus content)  | 
|     {  | 
|         // å建ä¸ä¸ªProcessApplyDto对象ï¼å¹¶èµå¼  | 
|         return Task.FromResult(new ProcessApplyDto()  | 
|         {  | 
|             EquipmentCode = input.EquiCodeMOM,  | 
|             Software = "WMS",  | 
|             //WipOrderNo = result.BindCode,"  | 
|             SerialNos = content.SerialNos.Select(item => new SerialNos  | 
|             {  | 
|                 SerialNo = item.SerialNo  | 
|             }).ToList()  | 
|         });  | 
|     }  | 
|   | 
|     #endregion è¯·æ±ä»»å¡å
¥åº  | 
|   | 
|     #region å建空æ¡åºåºä»»å¡  | 
|   | 
|     public async Task<Dt_Task> CreateEmptyOutTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)  | 
|     {  | 
|         try  | 
|         {  | 
|             if (stationManager.stationType != 7) throw new Exception("é误çè°å");  | 
|   | 
|             var stockinfo = await _stockInfoRepository.Db.Queryable<DtStockInfo>()  | 
|                 .Includes(x => x.LocationInfo)  | 
|                 //.Includes(x=>x.StockInfoDetails)  | 
|                 .Where(x => !x.IsFull && x.LocationInfo.RoadwayNo == stationManager.Roadway)  | 
|                 .OrderBy(x => x.CreateDate)  | 
|                 .FirstAsync();  | 
|   | 
|             if (stockinfo == null) return null;  | 
|   | 
|             var task = new Dt_Task  | 
|             {  | 
|                 CurrentAddress = input.Position,  | 
|                 Grade = 2,  | 
|                 Roadway = input.Roadways,  | 
|                 TargetAddress = stationManager.stationLocation,  | 
|                 Dispatchertime = DateTime.Now,  | 
|                 MaterialNo = "",  | 
|                 NextAddress = input.Roadways,  | 
|                 OrderNo = null,  | 
|                 PalletCode = stockinfo.PalletCode,  | 
|                 SourceAddress = stockinfo.LocationCode,  | 
|                 TaskState = (int)TaskOutStatusEnum.OutNew,  | 
|                 TaskType = (int)TaskOutboundTypeEnum.OutTray,  | 
|                 TaskNum = await BaseDal.GetTaskNo(),  | 
|                 Creater = "Systeam",  | 
|                 ProductionLine = stockinfo.ProductionLine,  | 
|             };  | 
|   | 
|             return task;  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             throw new Exception(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region ç´æ¥åºåºä»»å¡å®æ  | 
|   | 
|     public async Task<WebResponseContent> CompleteInToOutTaskAsync(Dt_Task task)  | 
|     {  | 
|         WebResponseContent content = new WebResponseContent();  | 
|         try  | 
|         {  | 
|             //æ·»å åå²  | 
|             var taskHty = CreateHistoricalTask(task);  | 
|             // æ·»å åå²ä»»å¡  | 
|             var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0;  | 
|             //å é¤ä»»å¡  | 
|             BaseDal.DeleteData(task);  | 
|   | 
|             return content.OK();  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             return content.Error(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region å¼å¸¸å£ä»»å¡æ£æµ  | 
|   | 
|     /// <summary>  | 
|     /// å¼å¸¸æåºå£å
¥åºæ ¡éª  ææå¼å¸¸äº¤ç»WCSååå°åNGå¤ç  | 
|     /// </summary>  | 
|     /// <param name="input"></param>  | 
|     /// <param name="stationManager"></param>  | 
|     /// <returns></returns>  | 
|     /// <exception cref="Exception"></exception>  | 
|     public async Task<Dt_Task> CheckAbnormalTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)  | 
|     {  | 
|         try  | 
|         {  | 
|             if (stationManager.stationType == 15) throw new Exception("");  | 
|   | 
|             // å建ä¸ä¸ªTrayCellsStatusDto对象ï¼å¹¶èµå¼  | 
|             TrayCellsStatusDto trayCells = new TrayCellsStatusDto()  | 
|             {  | 
|                 Software = "WMS",  | 
|                 TrayBarcode = input.PalletCode,  | 
|                 //EquipmentCode = "EQ_CWJZ01"  | 
|                 EquipmentCode = input.EquiCodeMOM  | 
|             };  | 
|   | 
|             // è°ç¨GetTrayCellStatusAsyncæ¹æ³ï¼è·åæ´ççµè¯  | 
|             WebResponseContent content = await GetTrayCellStatusAsync(trayCells);  | 
|             // å¦æç¶æä¸ºfalseï¼åè¿åcontent  | 
|             if (!content.Status)  //è·åæ´ççµè¯æ°æ®ï¼ å¦å¼å¸¸ ä½¿ç¨ç©ºæ¡ç±»åå
¥åº  | 
|             {  | 
|                 ConsoleHelper.WriteErrorLine(content.Message);  | 
|                 throw new Exception("MOMæ´ççµè¯å±æ§è·åå¼å¸¸");  | 
|             }  | 
|   | 
|             // æ·»å ç»çä¿¡æ¯  | 
|             // å°content.Data转æ¢ä¸ºResultTrayCellsStatus对象  | 
|             var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString());  | 
|             if (result.SerialNos.Count <= 0)  //å¦è°ç¨æå ä½çµè¯ä¸º0åå®ä¸ºç©ºç  | 
|             {  | 
|                 DtLocationInfo EmptylocationInfo = await RequestLocationByAbnormal(input);  | 
|   | 
|                 if (EmptylocationInfo == null) throw new Exception("åºä½å·²æ»¡");  | 
|   | 
|                 var Epmtytask = new Dt_Task  | 
|                 {  | 
|                     CurrentAddress = input.Position,  | 
|                     Grade = 4,  //ä¼å
å¤çå¼å¸¸æåºå£ç任塠鲿¢æ£å¸¸éæåºå¼å¸¸å£çä»»å¡å µçº¿  | 
|                     Roadway = input.Roadways,  | 
|                     TargetAddress = EmptylocationInfo.LocationCode,  | 
|                     Dispatchertime = DateTime.Now,  | 
|                     MaterialNo = "",  | 
|                     NextAddress = input.Roadways,  | 
|                     OrderNo = null,  | 
|                     PalletCode = input.PalletCode,  | 
|                     SourceAddress = stationManager.stationLocation,  | 
|                     TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                     TaskType = (int)TaskInboundTypeEnum.InTray,  | 
|                     TaskNum = await BaseDal.GetTaskNo(),  | 
|                     Creater = "Systeam",  | 
|                     ProductionLine = result.ProductionLine,  | 
|                     ProcessCode = result.ProcessCode,  | 
|                 };  | 
|                 return Epmtytask;  | 
|             }  | 
|   | 
|             //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 = CreateBoxingInfo(result, input.PalletCode);  | 
|             if (boxing == null) throw new Exception("ç»ç失败");  | 
|   | 
|             if (!stationManager.Roadway.Contains("FR"))  //éå容åºåº å
¥åºéªè¯å·¥èºè·¯çº¿  | 
|             {  | 
|                 // è°ç¨GetProcessApplyAsyncæ¹æ³ï¼è·åå·¥èºè·¯çº¿  | 
|                 ProcessApplyDto process = await GetProcessApplyAsync(input, result);  | 
|   | 
|                 // å¦æprocess为nullï¼åè¿åcontent  | 
|                 if (process == null) throw new Exception("å·¥èºè¯·æ±åæ°å¼å¸¸");  | 
|   | 
|                 // è°ç¨_processApplyService.GetProcessApplyAsyncæ¹æ³ï¼è·åå·¥èºç³è¯·  | 
|                 content = await _processApplyService.GetProcessApplyAsync(process);  | 
|   | 
|                 // å¦æç¶æä¸ºfalseï¼åè¿ånull  | 
|                 if (!content.Status) throw new Exception("å·¥èºç³è¯·å¤±è´¥");  | 
|             }  | 
|             ////// è°ç¨GetProcessResponseAsyncæ¹æ³ï¼è·åå·¥èºååº  | 
|             ////var processResponse = await GetProcessResponseAsync(process, input.Position);  | 
|   | 
|             DtLocationInfo locationInfo = null;  | 
|             if (stationManager.Roadway.Contains("FR"))  | 
|             {  | 
|                 locationInfo = await RequestLocation(input, true);  | 
|             }  | 
|             else  | 
|             {  | 
|                 locationInfo = await RequestLocationByAbnormal(input);  | 
|             }  | 
|             //DtLocationInfo locationInfo = await RequestLocation(input);  | 
|   | 
|             if (locationInfo == null) throw new Exception("åºä½å·²æ»¡");  | 
|   | 
|             var task = new Dt_Task  | 
|             {  | 
|                 CurrentAddress = input.Position,  | 
|                 Grade = 3,  //ä¼å
å¤çå¼å¸¸æåºå£ç任塠鲿¢æ£å¸¸éæåºå¼å¸¸å£çä»»å¡å µçº¿  | 
|                 Roadway = input.Roadways,  | 
|                 TargetAddress = locationInfo.LocationCode,  | 
|                 Dispatchertime = DateTime.Now,  | 
|                 MaterialNo = "",  | 
|                 NextAddress = input.Roadways,  | 
|                 OrderNo = null,  | 
|                 PalletCode = input.PalletCode,  | 
|                 SourceAddress = stationManager.stationLocation,  | 
|                 TaskState = (int)TaskInStatusEnum.Line_InFinish,  | 
|                 TaskType = (int)TaskInboundTypeEnum.Inbound,  | 
|                 TaskNum = await BaseDal.GetTaskNo(),  | 
|                 Creater = "Systeam",  | 
|                 ProductionLine = result.ProductionLine,  | 
|                 ProcessCode = result.ProcessCode,  | 
|             };  | 
|   | 
|             var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);  | 
|   | 
|             int lastStatus = locationInfo.LocationStatus;  | 
|   | 
|             ConsoleHelper.WriteSuccessLine($"ä¿®æ¹åï¼" + lastStatus.ToString());  | 
|             locationInfo.LocationStatus = (int)LocationEnum.FreeDisable;  | 
|             ConsoleHelper.WriteSuccessLine($"ä¿®æ¹åï¼" + locationInfo.LocationStatus.ToString());  | 
|             await UpdateLocationAsync(locationInfo);  | 
|   | 
|             _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum);  | 
|   | 
|             return task;  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             throw new Exception(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region ç§»åºä»»å¡äºå¡  | 
|   | 
|     private async Task<bool> ExecuteTransaction(DtStockInfo stock, Dt_Task_Hty taskHty, DtLocationInfo fromLocation, DtLocationInfo toLocation, int taskId)  | 
|     {  | 
|         _unitOfWorkManage.BeginTran();  | 
|         try  | 
|         {  | 
|             var isUpdateStock = _stockInfoRepository.UpdateData(stock);  | 
|   | 
|             // æ·»å åå²ä»»å¡  | 
|             var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0;  | 
|   | 
|             // ä¿®æ¹ç§»åºåè´§ä½ç¶æ  | 
|             var isUpdateLocF = _locationRepository.UpdateData(fromLocation);  | 
|             var isUpdateLocT = _locationRepository.UpdateData(toLocation);  | 
|   | 
|             // å é¤ä»»å¡æ°æ®  | 
|             var isTaskDelete = await Delete(taskId);  | 
|   | 
|             // æäº¤æåæ»äºå¡  | 
|             if (isUpdateStock && isTaskHtyAdd && isTaskDelete && isUpdateLocF && isUpdateLocT)  | 
|             {  | 
|                 LogFactory.GetLog("ä»»å¡å®æ").InfoFormat(true, "ä»»å¡å®æ", $"äºå¡å¤ç宿,æäº¤äºå¡ãæ·»å åå²ä»»å¡ï¼{isTaskHtyAdd},å é¤ä»»å¡æ°æ®ï¼{isTaskDelete},æ´æ°ææ·»å åºåï¼{isUpdateStock},ä¿®æ¹ç§»åºåè´§ä½ç¶æï¼{isUpdateLocF}");  | 
|                 _unitOfWorkManage.CommitTran();  | 
|                 return true;  | 
|             }  | 
|             else  | 
|             {  | 
|                 LogFactory.GetLog("ä»»å¡å®æ").InfoFormat(true, "ä»»å¡å®æ", $"æ°æ®å¤ç失败,è¯·æ£æ¥æ°æ®æ¯å¦æ£ç¡®,æ°æ®åæ»ãæ·»å åå²ä»»å¡ï¼{isTaskHtyAdd},å é¤ä»»å¡æ°æ®ï¼{isTaskDelete},æ´æ°åºåï¼{isUpdateStock},ä¿®æ¹ç§»åºåè´§ä½ç¶æï¼{isUpdateLocF}");  | 
|                 _unitOfWorkManage.RollbackTran();  | 
|                 return false;  | 
|             }  | 
|         }  | 
|         catch (Exception err)  | 
|         {  | 
|             LogFactory.GetLog("ä»»å¡å®æ").InfoFormat(true, $"ä»»å¡å®æ,ç³»ç»å¼å¸¸ï¼å¼å¸¸ä¿¡æ¯ï¼{err.Message}", "æ åæ°");  | 
|             _unitOfWorkManage.RollbackTran();  | 
|             throw new Exception(err.Message); // æåºå¼å¸¸ä»¥ä¾¿å¤é¨æè·  | 
|         }  | 
|     }  | 
|   | 
|     #endregion MyRegion  | 
|   | 
|     #region æ£æµé«æ¸©åºæ¯å¦æå¯åºåºåºå  | 
|   | 
|     public WebResponseContent StockCheckingAsync()  | 
|     {  | 
|         WebResponseContent webResponseContent = new WebResponseContent();  | 
|         try  | 
|         {  | 
|             Task.Run(async () =>  | 
|             {  | 
|                 while (true)  | 
|                 {  | 
|                     try  | 
|                     {  | 
|                         Thread.Sleep(TimeSpan.FromMinutes(10));  | 
|   | 
|                         var area = await _areaInfoRepository.QueryFirstAsync(x => x.AreaCode == "GWSC1");  | 
|                         var devices = SqlSugarHelper.DbWCS.Queryable<Dt_DeviceInfo>()  | 
|                             .Where(x => x.DeviceStatus == "1")  | 
|                             .Where(x => x.DeviceCode.Contains("GWSC"))  | 
|                             .ToList();  | 
|                         var deviceCode = devices.Select(x => x.DeviceCode).ToList();  | 
|   | 
|                         var stockInfo = await _stockInfoRepository.Db.Queryable<DtStockInfo>()  | 
|                              .Includes(x => x.LocationInfo) // é¢å è½½LocationInfo  | 
|                              .Includes(x => x.StockInfoDetails) // é¢å è½½StockInfoDetails  | 
|                              .Where(x => x.AreaCode == area.AreaCode && x.OutboundTime < DateTime.Now && x.IsFull == true) // è¿æ»¤æ¡ä»¶  | 
|                              .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID) // è¿æ»¤æ¡ä»¶  | 
|                              .WhereIF(!deviceCode.IsNullOrEmpty(), x => deviceCode.Contains(x.LocationInfo.RoadwayNo))  | 
|                              .OrderBy(x => x.OutboundTime) // æåº  | 
|                              .ToListAsync(); // è·å第ä¸ä¸ªå
ç´   | 
|   | 
|                         if (stockInfo.Count <= 0) continue;  | 
|                         foreach (var item in stockInfo)  | 
|                         {  | 
|                             var hasTask = BaseDal.QueryFirst(x => x.PalletCode == item.PalletCode);  | 
|                             if (hasTask != null)  | 
|                             {  | 
|                                 Console.WriteLine("å·²åå¨åºåºä»»å¡");  | 
|                                 continue;  | 
|                             }  | 
|   | 
|                             string position = string.Empty;  | 
|                             if (item.LocationInfo.RoadwayNo == "GWSC1")  | 
|                                 position = "1059";  | 
|                             else  | 
|                                 position = "1065";  | 
|   | 
|                             var task = CreateTask(item, position, (int)TaskOutboundTypeEnum.Outbound);  | 
|                             task.NextAddress = "002-000-002";  | 
|                             // å建任å¡DTO  | 
|                             WMSTaskDTO taskDTO = CreateTaskDTO(task);  | 
|   | 
|                             var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);  | 
|                             var wmsBase = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.WCSIPAddress)?.ConfigValue;  | 
|                             var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.ReceiveTask)?.ConfigValue;  | 
|                             if (wmsBase == null || ipAddress == null)  | 
|                             {  | 
|                                 throw new InvalidOperationException("WMS IP æªé
ç½®");  | 
|                             }  | 
|                             var wmsIpAddress = wmsBase + ipAddress;  | 
|   | 
|                             var result = HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result;  | 
|                             var content = JsonConvert.DeserializeObject<WebResponseContent>(result);  | 
|                             if (content.Status)  | 
|                             {  | 
|                                 int lastStatus = item.LocationInfo.LocationStatus;  | 
|                                 await BaseDal.AddDataAsync(task);  | 
|                                 // æ´æ°åºåä½ç½®ç¶æä¸ºä¸å¯ç¨  | 
|                                 item.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable;  | 
|                                 await _locationRepository.UpdateDataAsync(item.LocationInfo);  | 
|   | 
|                                 _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(item.LocationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);  | 
|                             }  | 
|                         }  | 
|                     }  | 
|                     catch (Exception ex)  | 
|                     {  | 
|                         Console.WriteLine(ex.Message);  | 
|                     }  | 
|                 }  | 
|             });  | 
|             return webResponseContent.OK();  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             Console.WriteLine(ex.Message.ToString());  | 
|             return webResponseContent.Error(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #endregion æ£æµé«æ¸©åºæ¯å¦æå¯åºåºåºå  | 
|   | 
|     #region å¸¸æ¸©è¡¥ç©ºæçè³å容  | 
|   | 
|     private static readonly Dictionary<string, (int Count, DateTime LastRequestTime)> requestTrackerToCW = new();  | 
|     public async Task<WebResponseContent> GetFROutTrayToCW(RequestTaskDto taskDTO)  | 
|     {  | 
|         WebResponseContent content = new WebResponseContent();  | 
|         try  | 
|         {  | 
|             string requestKey = JsonConvert.SerializeObject(taskDTO);  | 
|             // æ£æ¥è¯·æ±æ¬¡æ°åæ¶é´éå¶  | 
|             if (requestTrackerToCW.TryGetValue(requestKey, out var requestInfo))  | 
|             {  | 
|                 if (requestInfo.Count > 5 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(2))  | 
|                 {  | 
|                     // å¦æè¯·æ±æ¬¡æ°è¶
è¿éå¶ä¸æªè¶
è¿10åéï¼æåºå¼å¸¸  | 
|                     throw new InvalidOperationException("è¯·æ±æ¬¡æ°å·²è¾¾å°éå¶ï¼è¯·ç¨ååè¯ã");  | 
|                 }  | 
|             }  | 
|   | 
|             // æ´æ°è¯·æ±è·è¸ªä¿¡æ¯  | 
|             if (requestTrackerToCW.ContainsKey(requestKey))  | 
|             {  | 
|                 requestTrackerToCW[requestKey] = (requestInfo.Count + 1, DateTime.Now);  | 
|             }  | 
|             else  | 
|             {  | 
|                 requestTrackerToCW[requestKey] = (1, DateTime.Now);  | 
|             }  | 
|   | 
|   | 
|             var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == taskDTO.Position && x.stationStatus == "1");  | 
|             var locations = _locationRepository.QueryData(x => x.RoadwayNo == station.Roadway && x.LocationStatus == (int)LocationEnum.Free && x.LocationType == 1);  | 
|   | 
|             if (locations.Count > 10)  | 
|             {  | 
|                 ConsoleHelper.WriteColorLine(locations.Count.ToString(), ConsoleColor.Blue);  | 
|   | 
|                 var location = locations.OrderBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).FirstOrDefault();  | 
|   | 
|                 var stockInfo = await QueryStockInfoForEmptyTrayFRAsync("CWSC1", "10086", taskDTO.ProductionLine);  | 
|   | 
|                 if (stockInfo != null)  | 
|                 {  | 
|                     var task = CreateTask(stockInfo, taskDTO.Position, (int)TaskOutboundTypeEnum.OutTray);  | 
|   | 
|                     // å建任å¡DTO  | 
|                     WMSTaskDTO wmsTask = CreateTaskDTO(task);  | 
|   | 
|                     // æ´æ°åºåä½ç½®ç¶æä¸ºä¸å¯ç¨  | 
|                     int lastStatus = location.LocationStatus;  | 
|                     stockInfo.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable;  | 
|                     location.LocationStatus = (int)LocationEnum.Distribute;  | 
|                     await _unitOfWorkManage.UseTranAsync(async () =>  | 
|                     {  | 
|                         await BaseDal.AddDataAsync(task);  | 
|                         await _locationRepository.UpdateDataAsync(stockInfo.LocationInfo);  | 
|                         await _locationRepository.UpdateDataAsync(location);  | 
|                     });  | 
|   | 
|                     _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(location, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);  | 
|   | 
|                     // è¿åæåååº  | 
|                     requestTrackerToCW.Remove(requestKey);  | 
|   | 
|                     return content.OK(data: wmsTask);  | 
|                 }  | 
|                 else  | 
|                     content.Error("常温空æçæ°éä¸è¶³");  | 
|             }  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             content.Error(ex.Message);  | 
|         }  | 
|         return content;  | 
|     }  | 
|   | 
|     /// <summary>  | 
|     /// æ¥è¯¢ç©ºçåºåä¿¡æ¯  | 
|     /// </summary>  | 
|     private async Task<DtStockInfo> QueryStockInfoForEmptyTrayFRAsync(string areaCode, string position, string productLine)  | 
|     {  | 
|         var area = await _areaInfoRepository.QueryFirstAsync(x => x.AreaCode == areaCode);  | 
|   | 
|         ConsoleHelper.WriteColorLine(position + "..." + areaCode, ConsoleColor.Magenta);  | 
|         var station = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == position && x.stationType == 17);  | 
|   | 
|         ConsoleHelper.WriteColorLine(station.Roadway, ConsoleColor.Magenta);  | 
|         var stackers = station.Roadway.Split(',').ToList();  | 
|   | 
|         var deviceCode = SqlSugarHelper.DbWCS.Queryable<Dt_DeviceInfo>()  | 
|             .Where(x => x.DeviceStatus == "1")  | 
|             .Where(x => stackers.Contains(x.DeviceCode))  | 
|             .ToList().Select(x => x.DeviceCode).ToList();  | 
|   | 
|         // ä»ç¼åä¸è·ååºåä¿¡æ¯  | 
|         IDictionary<string, DtStockInfo>? stockInfos = _simpleCacheService.HashGetAll<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo);  | 
|         List<DtStockInfo> stockInfoList = stockInfos.Values.ToList();  | 
|   | 
|         var result = stockInfoList.Where(x => x.ProductionLine == productLine)  | 
|             .Where(x => x.AreaCode == areaCode && x.IsFull == false)  | 
|             .Where(x => x.StockInfoDetails.Any(y => y.MaterielCode == "空æç"))  | 
|             .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area.AreaID && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable) // è¿æ»¤æ¡ä»¶  | 
|             .WhereIF(!deviceCode.IsNullOrEmpty(), x => deviceCode.Contains(x.LocationInfo.RoadwayNo))  | 
|             .OrderBy(x => x.CreateDate) // æåº  | 
|             .FirstOrDefault(); // è½¬æ¢ä¸ºå表  | 
|   | 
|         if (result != null)  | 
|         {  | 
|             stockInfoList = stockInfoList.Where(x => x != result).ToList();  | 
|             _simpleCacheService.HashDel<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo, new string[] { result.PalletCode });  | 
|         }  | 
|         return result;  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region  å¸¸æ¸©3åºåºè³å
è£
  | 
|   | 
|     // ç¨äºè¿½è¸ªæ¯ä¸ªè¯·æ±çè°ç¨æ¬¡æ°åæåè¯·æ±æ¶é´ã  | 
|     private static readonly Dictionary<string, (int Count, DateTime LastRequestTime)> requestTracker = new();  | 
|   | 
|     /// <summary>  | 
|     /// å¸¸æ¸©3åºåºè³å
è£
  | 
|     /// </summary>  | 
|     /// <param name="json"></param>  | 
|     /// <returns></returns>  | 
|     public async Task<WebResponseContent> RequestOutTaskToBZAsync(RequestTaskDto json)  | 
|     {  | 
|         WebResponseContent content = new WebResponseContent();  | 
|         try  | 
|         {  | 
|             //string requestKey = JsonConvert.SerializeObject(json);  | 
|             //// æ£æ¥è¯·æ±æ¬¡æ°åæ¶é´éå¶  | 
|             //if (requestTracker.TryGetValue(requestKey, out var requestInfo))  | 
|             //{  | 
|             //    if (requestInfo.Count >= 9 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(5))  | 
|             //    {  | 
|             //        // å¦æè¯·æ±æ¬¡æ°è¶
è¿éå¶ä¸æªè¶
è¿10åéï¼æåºå¼å¸¸  | 
|             //        throw new InvalidOperationException("è¯·æ±æ¬¡æ°å·²è¾¾å°éå¶ï¼è¯·ç¨ååè¯ã");  | 
|             //    }  | 
|             //}  | 
|   | 
|             //// æ´æ°è¯·æ±è·è¸ªä¿¡æ¯  | 
|             //if (requestTracker.ContainsKey(requestKey))  | 
|             //{  | 
|             //    requestTracker[requestKey] = (requestInfo.Count + 1, DateTime.Now);  | 
|             //}  | 
|             //else  | 
|             //{  | 
|             //    requestTracker[requestKey] = (1, DateTime.Now);  | 
|             //}  | 
|             //LogFactory.GetLog("常温3åºåºè³å
è£
").Info(true, $"常温3åºåºè³å
è£
ä¼ å
¥åæ°ï¼" + JsonConvert.SerializeObject(json, Formatting.Indented));  | 
|   | 
|             Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == json.Position && x.stationType == 12 && x.stationArea == "Call");  | 
|             if (station == null) { throw new Exception($"æªæ¾å°å
è£
ç«å°ä¿¡æ¯ï¼è¯·æ£æ¥ä¼ å
¥åæ°{json.Position}"); }  | 
|   | 
|             var deviceCode = SqlSugarHelper.DbWCS.Queryable<Dt_DeviceInfo>()  | 
|                 .Where(x => x.DeviceStatus == "1")  | 
|                 .Where(x => x.DeviceCode.Contains("CWSC")) // è¿æ»¤æ¡ä»¶  | 
|                 .ToList().Select(x => x.DeviceCode).ToList();  | 
|   | 
|   | 
|             // ä»ç¼åä¸è·ååºåä¿¡æ¯  | 
|             IDictionary<string, DtStockInfo>? stockInfos = _simpleCacheService.HashGetAll<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo);  | 
|             List<DtStockInfo> stockInfoList = stockInfos.Values.ToList();  | 
|   | 
|             var stockInfo123 = stockInfoList.Where(x => x.ProductionLine == station.productLine)  | 
|                     .Where(x => x.AreaCode == "CWSC3" && x.IsFull == true) // è¿æ»¤æ¡ä»¶  | 
|                     .OrderBy(x => x.OutboundTime) // æåº  | 
|                     .ToList(); // è·å第ä¸ä¸ªå
ç´   | 
|   | 
|             var stockInfo = stockInfo123.Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock) // è¿æ»¤æ¡ä»¶  | 
|                     .WhereIF(!deviceCode.IsNullOrEmpty(), x => deviceCode.Contains(x.LocationInfo.RoadwayNo)).FirstOrDefault();  | 
|             if (stockInfo != null)  | 
|             {  | 
|                 stockInfoList = stockInfoList.Where(x => x != stockInfo).ToList();  | 
|                 _simpleCacheService.HashDel<DtStockInfo>(WIDESEA_Cache.CacheConst.Cache_DtStockInfo, new string[] { stockInfo.PalletCode });  | 
|             }  | 
|   | 
|   | 
|             if (stockInfo == null) throw new Exception($"åºå
{station.productLine}æ æ»¡è¶³æ¡ä»¶çåºåå¯åºåº");  | 
|   | 
|             DtLocationInfo locationInfo = _locationRepository.QueryFirst(x => x.AreaId == 5 && x.LocationCode == stockInfo.LocationCode);  | 
|   | 
|             Dt_StationManager OutStation = _stationManagerRepository.QueryFirst(x => x.stationPLC == "1016" && x.stationType == 10 && x.Roadway == locationInfo.RoadwayNo && x.stationStatus == "1");  | 
|   | 
|             // å建æ°ä»»å¡å®ä¾  | 
|             var task = new Dt_Task  | 
|             {  | 
|                 CurrentAddress = stockInfo.LocationCode,  | 
|                 Grade = 1,  | 
|                 Roadway = locationInfo.RoadwayNo,  | 
|                 TargetAddress = json.Position,  | 
|                 Dispatchertime = DateTime.Now,  | 
|                 MaterialNo = "",  | 
|                 NextAddress = OutStation.stationChildCode,  | 
|                 OrderNo = null,  | 
|                 PalletCode = stockInfo.PalletCode,  | 
|                 SourceAddress = stockInfo.LocationCode,  | 
|                 TaskState = (int)TaskOutStatusEnum.OutNew,  | 
|                 TaskType = (int)TaskOutboundTypeEnum.Outbound,  | 
|                 TaskNum = await BaseDal.GetTaskNo(),  | 
|                 Creater = "Systeam",  | 
|                 ProductionLine = stockInfo.ProductionLine,  | 
|                 ProcessCode = stockInfo.ProcessCode,  | 
|             };  | 
|   | 
|             WMSTaskDTO taskDTO = CreateTaskDTO(task);  | 
|   | 
|             int lastStatus = locationInfo.LocationStatus;  | 
|   | 
|             BaseDal.AddData(task);  | 
|             stockInfo.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable;  | 
|             _locationRepository.UpdateData(stockInfo.LocationInfo);  | 
|   | 
|             _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(stockInfo.LocationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);  | 
|   | 
|             return content.OK(data: taskDTO);  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             Console.WriteLine($"CW3è³å
è£
åºåºå¼å¸¸:{ex.ToString()}");  | 
|             return content.Error($"失败ï¼{ex.Message}");  | 
|         }  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region ç«è¦åºåº  | 
|   | 
|     public WebResponseContent EmergencyTask(object obj)  | 
|     {  | 
|         WebResponseContent content = new WebResponseContent();  | 
|         var emergencyTask = new DTSEmergencyTask();  | 
|         try  | 
|         {  | 
|             emergencyTask = JsonConvert.DeserializeObject<DTSEmergencyTask>(obj.ToString());  | 
|   | 
|             if (emergencyTask == null) throw new Exception("ç«è¦åæ°ä¸ºç©º");  | 
|   | 
|             DtLocationInfo locationInfo = _locationRepository.QueryFirst(x => x.Row == emergencyTask.row && x.Column == emergencyTask.column && x.Layer == emergencyTask.layer && x.AreaId == emergencyTask.zone);  | 
|             if (locationInfo == null)  | 
|             {  | 
|                 throw new Exception("æªç¥åºä½");  | 
|             }  | 
|   | 
|             //æ¥æ¾æ¶é²ç«å°  | 
|             var station = _stationManagerRepository.QueryFirst(t => t.Roadway == locationInfo.RoadwayNo  | 
|                  && t.stationType == (int)StationManager.FireStation  | 
|                  /*&& t. == "Enable"*/);  | 
|             if (station == null)  | 
|             {  | 
|                 throw new Exception("æ¶é²ç«å°æªé
ç½®!");  | 
|             }  | 
|   | 
|             //æ¥æ¾åºåä¿¡æ¯  | 
|             var stockInfo = _stockInfoRepository.QueryFirst(x => x.LocationCode == locationInfo.LocationCode && x.LocationInfo.RoadwayNo == locationInfo.RoadwayNo);  | 
|             //æçç   | 
|             string barcode = string.Empty;  | 
|             if (stockInfo != null)  | 
|             {  | 
|                 barcode = stockInfo.PalletCode;  | 
|             }  | 
|             else  | 
|             {  | 
|                 //æ åºåä¿¡æ¯ï¼çæéæºæçç   | 
|                 barcode = "M" + DateTime.Now.ToString("MMddHHmmss") + "-" + new Random().Next(100, 1000);  | 
|             }  | 
|   | 
|             Dt_Task fireTask = BaseDal.QueryFirst(x => x.TaskType == 500 && x.SourceAddress == locationInfo.LocationCode && x.Roadway == station.Roadway);  | 
|   | 
|             if (fireTask != null)  | 
|             {  | 
|                 throw new Exception("已添å ç«è¦åºåºä»»å¡");  | 
|             }  | 
|   | 
|             int taskNum = BaseDal.GetTaskNo().Result;  | 
|             Dt_Task task = new Dt_Task  | 
|             {  | 
|                 CreateDate = DateTime.Now,  | 
|                 Creater = "DTS",  | 
|                 CurrentAddress = locationInfo.LocationCode,  | 
|                 Grade = 1,  | 
|                 Dispatchertime = DateTime.Now,  | 
|                 PalletCode = barcode,  | 
|                 Roadway = station.Roadway,  | 
|                 SourceAddress = locationInfo.LocationCode,  | 
|                 TaskState = (int)TaskOutStatusEnum.OutNew,  | 
|                 TaskType = 500,  | 
|                 TargetAddress = station.stationLocation,  | 
|                 NextAddress = station.stationChildCode,  | 
|                 TaskNum = taskNum, //_taskRepository.GetTaskNo().Result,  | 
|                 TaskId = 0,  | 
|             };  | 
|   | 
|             // å°è¯æ·»å æ°ä»»å¡  | 
|             WMSTaskDTO taskDTO = new WMSTaskDTO()  | 
|             {  | 
|                 TaskNum = task.TaskNum.Value,  | 
|                 Grade = 1,  | 
|                 PalletCode = task.PalletCode,  | 
|                 RoadWay = task.Roadway,  | 
|                 SourceAddress = task.SourceAddress,  | 
|                 TargetAddress = task.TargetAddress,  | 
|                 TaskState = task.TaskState.Value,  | 
|                 Id = 0,  | 
|                 TaskType = 500,  | 
|             };  | 
|   | 
|             var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);  | 
|             var ipAddress = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.WCSIPAddress)?.ConfigValue;  | 
|             var ReceiveByWMSTask = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.ReceiveByWMSTask)?.ConfigValue;  | 
|             if (ReceiveByWMSTask == null || ipAddress == null)  | 
|             {  | 
|                 throw new Exception("WMS IP æªé
ç½®");  | 
|             }  | 
|             var wmsIpAddrss = ipAddress + ReceiveByWMSTask;  | 
|   | 
|             var respon = HttpHelper.Post(wmsIpAddrss, JsonConvert.SerializeObject(taskDTO));  | 
|             if (respon != null)  | 
|             {  | 
|                 WebResponseContent respone = JsonConvert.DeserializeObject<WebResponseContent>(respon.ToString());  | 
|                 if (respone.Status)  | 
|                 {  | 
|                     var taskId = BaseDal.AddData(task);  | 
|                 }  | 
|                 else  | 
|                 {  | 
|                     throw new Exception("WCSå¤ç失败:" + respone.Message);  | 
|                 }  | 
|             }  | 
|             else  | 
|             {  | 
|                 throw new Exception("请æ±å¤ç失败");  | 
|             }  | 
|             LogFactory.GetLog("DTSç«è¦åºåº").Info(true, $"\r\r--------------------------------------");  | 
|             LogFactory.GetLog("DTSç«è¦åºåº").Info(true, obj.ToJsonString());  | 
|             return content.OK();  | 
|         }  | 
|         catch (Exception ex)  | 
|         {  | 
|             LogFactory.GetLog("DTSç«è¦åºåº").Info(true, $"\r\r--------------------------------------");  | 
|             LogFactory.GetLog("DTSç«è¦åºåº").Info(true, ex.Message);  | 
|             return content.Error(ex.Message);  | 
|         }  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region å容空æ¡å
¥åºæ¹ä¸ºç´æ¥åºåº  | 
|   | 
|     public async Task<WebResponseContent> SetEmptyOutbyInToOutAsync(RequestTaskDto request)  | 
|     {  | 
|         WebResponseContent content = new WebResponseContent();  | 
|         var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == request.PalletCode);  | 
|         if (!task.IsNullOrEmpty())  | 
|         {  | 
|             var fromStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == request.Position);  | 
|             var toStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationType == 7 && x.productLine == fromStation.productLine && x.stationArea == fromStation.stationArea);  | 
|             if (!toStation.IsNullOrEmpty())  | 
|             {  | 
|                 var location = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress && x.AreaId == int.Parse(fromStation.stationArea));  | 
|                 task.TargetAddress = toStation.stationLocation;  | 
|                 task.NextAddress = toStation.stationChildCode;  | 
|                 task.Grade = 3;  | 
|                 task.TaskType = (int)TaskOutboundTypeEnum.InToOut;  | 
|                 task.TaskState = (int)TaskOutStatusEnum.OutNew;  | 
|   | 
|                 location.LocationStatus = (int)LocationEnum.Free;  | 
|   | 
|                 await _locationRepository.UpdateDataAsync(location);  | 
|                 await BaseDal.UpdateDataAsync(task);  | 
|                 return content.OK("æå");  | 
|             }  | 
|             else  | 
|             {  | 
|                 ConsoleHelper.WriteErrorLine("å容空æ¡å
¥åºæ¹ä¸ºç´æ¥åºåº:æªæ¾å°å¯¹åºç«å°");  | 
|                 content.Error("æªæ¾å°å¯¹åºç«å°");  | 
|             }  | 
|         }  | 
|         else  | 
|         {  | 
|             ConsoleHelper.WriteErrorLine("å容空æ¡å
¥åºæ¹ä¸ºç´æ¥åºåº:æªæ¾å°ä»»å¡");  | 
|             content.Error("æªæ¾å°ä»»å¡");  | 
|         }  | 
|         return content;  | 
|     }  | 
|   | 
|     #endregion  | 
|   | 
|     #region å容空æ¡åºåºæ¹ä¸ºç´æ¥åºåº  | 
|   | 
|     /// <summary>  | 
|     /// å容空æ¡åºåºæ¹ä¸ºç´æ¥åºåº  | 
|     /// </summary>  | 
|     /// <param name="request"></param>  | 
|     /// <returns></returns>  | 
|     public async Task<WebResponseContent> SetEmptyOutbyInToOutOneAsync(RequestTaskDto request)  | 
|     {  | 
|         WebResponseContent content = new WebResponseContent();  | 
|         var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == request.PalletCode);  | 
|         if (!task.IsNullOrEmpty())  | 
|         {  | 
|             var toStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationChildCode == request.Position);  | 
|             var fromStation = await _stationManagerRepository.QueryFirstAsync(x => x.stationType == 6 && x.productLine == toStation.productLine && x.stationArea == toStation.stationArea);  | 
|             if (!fromStation.IsNullOrEmpty())  | 
|             {  | 
|                 //var location = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress && x.AreaId == int.Parse(fromStation.stationArea));  | 
|                 task.SourceAddress = toStation.stationLocation;  | 
|                 task.CurrentAddress = toStation.stationChildCode;  | 
|                 task.Grade = 3;  | 
|                 task.TaskType = (int)TaskOutboundTypeEnum.InToOut;  | 
|                 task.TaskState = (int)TaskOutStatusEnum.OutNew;  | 
|   | 
|                 //location.LocationStatus = (int)LocationEnum.Free;  | 
|   | 
|                 //await _locationRepository.UpdateDataAsync(location);  | 
|                 await BaseDal.UpdateDataAsync(task);  | 
|                 return content.OK("æå");  | 
|             }  | 
|             else  | 
|             {  | 
|                 ConsoleHelper.WriteErrorLine("å容空æ¡åºåºæ¹ä¸ºç´æ¥åºåº:æªæ¾å°å¯¹åºç«å°");  | 
|                 content.Error("æªæ¾å°å¯¹åºç«å°");  | 
|             }  | 
|         }  | 
|         else  | 
|         {  | 
|             ConsoleHelper.WriteErrorLine("å容空æ¡åºåºæ¹ä¸ºç´æ¥åºåº:æªæ¾å°ä»»å¡");  | 
|             content.Error("æªæ¾å°ä»»å¡");  | 
|         }  | 
|         return content;  | 
|     }  | 
|   | 
|     #endregion  | 
| }¯OriginalContentÀªSelections¥CaretÀ¥StartÍa£EndÍÁ¨FilePathÙqD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_StorageTaskServices\Task\Partial\Dt_TaskService.cs¨Language¢C#¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$e31b3fc2-dedf-430f-a06f-13d6ad638a52¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider¦Member¤file©CanReduceéRequestIdÙ$0f947838-2888-4d6a-8f4d-80068640b593©ReferenceÀ¦Traits¯ProviderMoniker¤NameÙ9Microsoft.VisualStudio.Copilot.CSharpProjectTraitProvider§Version£0.3£Key¯LanguageVersion¥Value®ValueContainerÙMicrosoft.VisualStudio.Copilot.LanguageVersionTrait, Microsoft.VisualStudio.Copilot, Version=17.13.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.13.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.13.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ      §Content ¯OriginalContentÀªSelections¨FilePathÙqD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_StorageTaskServices\Task\Partial\Dt_TaskService.cs¨LanguageÀªReferencesÜ w¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ%WIDESEA_Core.BaseServices.ServiceBase¯UnqualifiedName«ServiceBase¬CommentRange¥Start ¦Length ©NameRange¥StartÍB¦Length©BodyRange¥StartÍô¦LengthÍså«ExtentRange¥StartÍ5¦LengthÍt¤¤Kind ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ5WIDESEA_Core.BaseServices.ServiceBase.GetPageDataSort¯UnqualifiedName¯GetPageDataSort¬CommentRange¥StartͦLength̸©NameRange¥StartͦLength©BodyRange¥StartÍæ¦LengthÍæ«ExtentRange¥StartÍo¦LengthÍ]¤Kind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ9WIDESEA_Core.BaseServices.ServiceBase.ValidatePageOptions¯UnqualifiedName³ValidatePageOptions¬CommentRange¥Start ¦Length ©NameRange¥StartÍã¦Length©BodyRange¥StartÍ ¦LengthÍ «ExtentRange¥StartÍÒ¦LengthÍ Ï¤Kind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ0WIDESEA_Core.BaseServices.ServiceBase.UpdateData¯UnqualifiedNameªUpdateData¬CommentRange¥StartÍ>¦LengthÌ©NameRange¥StartÍ?=¦Length | 
| ©BodyRange¥StartÍ?f¦LengthÍ5«ExtentRange¥StartÍ?¦LengthͤKind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ1WIDESEA_Core.BaseServices.ServiceBase.GetPageData¯UnqualifiedName«GetPageData¬CommentRange¥Start ¦Length ©NameRange¥Startͳ¦Length©BodyRange¥StartÍá¦LengthÍã«ExtentRange¥StartͦLengthÍ6¤Kind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ3WIDESEA_Core.BaseServices.ServiceBase.GetDetailPage¯UnqualifiedNameGetDetailPage¬CommentRange¥Start ¦Length ©NameRange¥StartÍ î¦Length ©BodyRange¥StartÍ!¦LengthÍ:«ExtentRange¥Start͠ئLengthͤKind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ-WIDESEA_Core.BaseServices.ServiceBase.AddData¯UnqualifiedName§AddData¬CommentRange¥StartÍ)±¦LengthÌ©NameRange¥StartÍ*c¦Length©BodyRange¥StartÍ*¦LengthÍ    ö«ExtentRange¥StartÍ*A¦LengthÍ | 
| >¤Kind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ,WIDESEA_Core.BaseServices.ServiceBase.Import¯UnqualifiedName¦Import¬CommentRange¥StartÍk4¦LengthÌ©NameRange¥StartÍkâ¦Length©BodyRange¥StartÍl    ¦LengthÍ«ExtentRange¥StartÍkÀ¦LengthÍѤKind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ>WIDESEA_Core.BaseServices.ServiceBase.UpdateDataInculdesDetail¯UnqualifiedName¸UpdateDataInculdesDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍJÁ¦Length©BodyRange¥StartÍKm¦Lengthͨ«ExtentRange¥StartÍJ§¦LengthÍn¤Kind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ;WIDESEA_Core.BaseServices.ServiceBase.AddDataIncludesDetail¯UnqualifiedNameµAddDataIncludesDetail¬CommentRange¥Start ¦Length ©NameRange¥StartÍ4¥¦Length©BodyRange¥StartÍ58¦LengthÍõ«ExtentRange¥StartÍ4¦LengthÍ¢¤Kind    ¨FileNameÙ_D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceBase.cs²FullyQualifiedNameÙ0WIDESEA_Core.BaseServices.ServiceBase.DeleteData¯UnqualifiedNameªDeleteData¬CommentRange¥StartÍY=¦LengthÌ
©NameRange¥StartÍYî¦Length | 
| ©BodyRange¥StartÍZ¦LengthÍt«ExtentRange¥StartÍY̦Length͹¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙ1WIDESEA_IStorageTaskRepository.IDt_TaskRepository¯UnqualifiedName²IDt_TaskRepository¬CommentRange¥Start ¦Length ©NameRange¥Start>¦Length©BodyRange¥Starti¦LengthÍ«ExtentRange¥Start-¦LengthÍŤKind¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙLWIDESEA_IStorageTaskRepository.IDt_TaskRepository.GetListByOutOrderAndStatus¯UnqualifiedNameºGetListByOutOrderAndStatus¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦LengthK¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙCWIDESEA_IStorageTaskRepository.IDt_TaskRepository.GetListByOutOrder¯UnqualifiedName±GetListByOutOrder¬CommentRange¥Start ¦Length ©NameRange¥StartÍЦLength©BodyRange¥Start ¦Length «ExtentRange¥Startͼ¦Length6¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙAWIDESEA_IStorageTaskRepository.IDt_TaskRepository.GetListByStatus¯UnqualifiedName¯GetListByStatus¬CommentRange¥Start ¦Length ©NameRange¥StartÍa¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍM¦Length0¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙ9WIDESEA_IStorageTaskRepository.IDt_TaskRepository.GetById¯UnqualifiedName§GetById¬CommentRange¥Start ¦Length ©NameRange¥Start~¦Length©BodyRange¥Start ¦Length «ExtentRange¥Startp¦Length¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙ8WIDESEA_IStorageTaskRepository.IDt_TaskRepository.Delete¯UnqualifiedName¦Delete¬CommentRange¥Start ¦Length ©NameRange¥StartÍ|¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍq¦Length¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙ9WIDESEA_IStorageTaskRepository.IDt_TaskRepository.GetList¯UnqualifiedName§GetList¬CommentRange¥Start ¦Length ©NameRange¥Start̪¦Length©BodyRange¥Start ¦Length «ExtentRange¥StarțLength¤Kind    ¨FileNameÙpD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskRepository\Task\IDt_TaskRepository.cs²FullyQualifiedNameÙ8WIDESEA_IStorageTaskRepository.IDt_TaskRepository.Create¯UnqualifiedName¦Create¬CommentRange¥Start ¦Length ©NameRange¥StartÌó¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÌè¦Length(¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ,WIDESEA_IStorageTaskServices.IDt_TaskService¯UnqualifiedName¯IDt_TaskService¬CommentRange¥Start ¦Length ©NameRange¥StartR¦Length©BodyRange¥Startw¦LengthÍ-«ExtentRange¥StartA¦LengthÍc¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙGWIDESEA_IStorageTaskServices.IDt_TaskService.GetListByOutOrderAndStatus¯UnqualifiedNameºGetListByOutOrderAndStatus¬CommentRange¥StartÍý¦LengthÌ»©NameRange¥StartÍÒ¦Length©BodyRange¥Start ¦Length «ExtentRange¥Start;¦LengthK¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙDWIDESEA_IStorageTaskServices.IDt_TaskService.RequestTrayOutTaskAsync¯UnqualifiedName·RequestTrayOutTaskAsync¬CommentRange¥StartͦLengthÍ ©NameRange¥StartÍI¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ0¦Length̤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ>WIDESEA_IStorageTaskServices.IDt_TaskService.GetListByOutOrder¯UnqualifiedName±GetListByOutOrder¬CommentRange¥StartÍ,¦LengthÌ©NameRange¥StartÍÓ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ¿¦Length6¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ<WIDESEA_IStorageTaskServices.IDt_TaskService.GetListByStatus¯UnqualifiedName¯GetListByStatus¬CommentRange¥StartÍ    ¦LengthÌ©NameRange¥StartÍ    ®¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ    ¦Length0¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙCWIDESEA_IStorageTaskServices.IDt_TaskService.CompleteStackTaskAsync¯UnqualifiedName¶CompleteStackTaskAsync¬CommentRange¥StartÍ | 
| 
¦LengthÌ©NameRange¥StartÍ1¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartͦLengthZ¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙFWIDESEA_IStorageTaskServices.IDt_TaskService.CompleteTransferTaskAsync¯UnqualifiedName¹CompleteTransferTaskAsync¬CommentRange¥StartÍq¦LengthÌ©NameRange¥StartͦLength©BodyRange¥Start ¦Length «ExtentRange¥StartÍú¦Length]¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ4WIDESEA_IStorageTaskServices.IDt_TaskService.GetById¯UnqualifiedName§GetById¬CommentRange¥Start~¦Length{©NameRange¥StartÍ ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÌÿ¦Length¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ:WIDESEA_IStorageTaskServices.IDt_TaskService.GetByLocation¯UnqualifiedNameGetByLocation¬CommentRange¥StartÍ%¦Length}©NameRange¥StartͶ¦Length ©BodyRange¥Start ¦Length «ExtentRange¥Startͨ¦Length/¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ=WIDESEA_IStorageTaskServices.IDt_TaskService.UpdateTaskStatus¯UnqualifiedName°UpdateTaskStatus¬CommentRange¥StartÍŦLengthx©NameRange¥StartÍ\¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍC¦LengthF¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙEWIDESEA_IStorageTaskServices.IDt_TaskService.CreateAndSendInboundTask¯UnqualifiedName¸CreateAndSendInboundTask¬CommentRange¥StartÍ$¦Lengtḩ©NameRange¥StartÍê¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍѦLengthV¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙFWIDESEA_IStorageTaskServices.IDt_TaskService.CreateAndSendOutboundTask¯UnqualifiedName¹CreateAndSendOutboundTask¬CommentRange¥StartͦLength̬©NameRange¥StartÍÚ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍÁ¦Length[¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ3WIDESEA_IStorageTaskServices.IDt_TaskService.Delete¯UnqualifiedName¦Delete¬CommentRange¥StartÍܦLength{©NameRange¥StartÍh¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ]¦Length¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ4WIDESEA_IStorageTaskServices.IDt_TaskService.GetList¯UnqualifiedName§GetList¬CommentRange¥StartͦLengthV©NameRange¥StartÍþ¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍê¦Length¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ3WIDESEA_IStorageTaskServices.IDt_TaskService.Create¯UnqualifiedName¦Create¬CommentRange¥StartÍÁ¦LengthÌ©NameRange¥StartÍS¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍH¦Length(¤Kind    ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_IStorageTaskService\Task\IDt_TaskService.cs²FullyQualifiedNameÙ4WIDESEA_IStorageTaskServices.IDt_TaskService.IsExist¯UnqualifiedName§IsExist¬CommentRange¥StartÍ    Ò¦LengthÌ
©NameRange¥StartÍ | 
| b¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ | 
| ]¦Length ¤Kind    ¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ#WIDESEA_Model.Models.DtLocationInfo¯UnqualifiedName®DtLocationInfo¬CommentRange¥Start ¦Length ©NameRange¥StarțLength©BodyRange¥StarțLengthÍ«ExtentRange¥StartU¦LengthÍð¤Kind ¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ*WIDESEA_Model.Models.DtLocationInfo.AreaId¯UnqualifiedName¦AreaId¬CommentRange¥StartÍ_¦Length/©NameRange¥StartÍâ¦Length©BodyRange¥StartÍé¦Length «ExtentRange¥StartͦLengthb¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ2WIDESEA_Model.Models.DtLocationInfo.LocationStatus¯UnqualifiedName®LocationStatus¬CommentRange¥StartÍE¦Length/©NameRange¥StartÍȦLength©BodyRange¥StartÍצLength «ExtentRange¥StartÍz¦Lengthj¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ0WIDESEA_Model.Models.DtLocationInfo.EnalbeStatus¯UnqualifiedName¬EnalbeStatus¬CommentRange¥StartÍì¦Length/©NameRange¥StartÍo¦Length©BodyRange¥StartÍ|¦Length «ExtentRange¥StartÍ!¦Lengthh¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ0WIDESEA_Model.Models.DtLocationInfo.LocationType¯UnqualifiedName¬LocationType¬CommentRange¥StartͦLengthD©NameRange¥StartÍ#¦Length©BodyRange¥StartÍ0¦Length «ExtentRange¥StartÍÕ¦Lengthh¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ-WIDESEA_Model.Models.DtLocationInfo.RoadwayNo¯UnqualifiedName©RoadwayNo¬CommentRange¥StartÍh¦Length/©NameRange¥StartÍû¦Length    ©BodyRange¥StartͦLength «ExtentRange¥StartͦLengthu¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ0WIDESEA_Model.Models.DtLocationInfo.LocationCode¯UnqualifiedName¬LocationCode¬CommentRange¥StartÍþ¦Length/©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍ3¦Lengthx¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ*WIDESEA_Model.Models.DtLocationInfo.Column¯UnqualifiedName¦Column¬CommentRange¥StartÍ´¦Length.©NameRange¥StartÍ5¦Length©BodyRange¥StartÍ<¦Length «ExtentRange¥StartÍè¦Lengtha¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ'WIDESEA_Model.Models.DtLocationInfo.Row¯UnqualifiedName£Row¬CommentRange¥StartͦLength.©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍN¦Length^¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ)WIDESEA_Model.Models.DtLocationInfo.Layer¯UnqualifiedName¥Layer¬CommentRange¥StartÍQ¦Length.©NameRange¥StartÍÒ¦Length©BodyRange¥StartÍØ¦Length «ExtentRange¥StartÍ
¦Length`¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ)WIDESEA_Model.Models.DtLocationInfo.Depth¯UnqualifiedName¥Depth¬CommentRange¥StartÍí¦Length/©NameRange¥StartÍp¦Length©BodyRange¥StartÍv¦Length «ExtentRange¥StartÍ"¦Lengtha¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ&WIDESEA_Model.Models.DtLocationInfo.Id¯UnqualifiedName¢Id¬CommentRange¥StartÌ´¦Length-©NameRange¥StartÍG¦Length©BodyRange¥StartÍJ¦Length «ExtentRange¥StartÌç¦Lengthp¤Kind¨FileNameÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtLocationInfo.cs²FullyQualifiedNameÙ0WIDESEA_Model.Models.DtLocationInfo.LocationName¯UnqualifiedName¬LocationName¬CommentRange¥Startͳ¦Length/©NameRange¥StartÍF¦Length©BodyRange¥StartÍS¦Length «ExtentRange¥StartÍè¦Lengthx¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ WIDESEA_Model.Models.DtStockInfo¯UnqualifiedName«DtStockInfo¬CommentRange¥Start ¦Length ©NameRange¥StartÍ9¦Length©BodyRange¥StartÍW¦LengthÍ«ExtentRange¥StartÌý¦LengthÍv¤Kind ¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ1WIDESEA_Model.Models.DtStockInfo.StockInfoDetails¯UnqualifiedName°StockInfoDetails¬CommentRange¥StartÍZ¦Length7©NameRange¥StartÍB¦Length©BodyRange¥StartÍS¦Length «ExtentRange¥StartͦLengthÌŤKind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ-WIDESEA_Model.Models.DtStockInfo.LocationInfo¯UnqualifiedName¬LocationInfo¬CommentRange¥StartÍl¦Length7©NameRange¥StartÍR¦Length©BodyRange¥StartÍ_¦Length «ExtentRange¥StartͦLengthÌ¿¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ'WIDESEA_Model.Models.DtStockInfo.IsFull¯UnqualifiedName¦IsFull¬CommentRange¥StartÍÆ¦Length7©NameRange¥StartÍǦLength©BodyRange¥StartÍΦLength «ExtentRange¥StartͦLengthÌÔ¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ+WIDESEA_Model.Models.DtStockInfo.LocationId¯UnqualifiedNameªLocationId¬CommentRange¥StartͦLength7©NameRange¥StartͦLength | 
| ©BodyRange¥StartͦLength «ExtentRange¥StartÍצLength̤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ/WIDESEA_Model.Models.DtStockInfo.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥StartÍ    Ê¦Length7©NameRange¥StartÍ | 
| ¸¦Length©BodyRange¥StartÍ | 
| ǦLength «ExtentRange¥StartÍ | 
| ¦LengthÌɤKind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ)WIDESEA_Model.Models.DtStockInfo.AreaCode¯UnqualifiedName¨AreaCode¬CommentRange¥StartÍ | 
| à¦Length7©NameRange¥StartÍΦLength©BodyRange¥StartÍצLength «ExtentRange¥StartÍ!¦LengthÌäKind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ,WIDESEA_Model.Models.DtStockInfo.StockStatus¯UnqualifiedName«StockStatus¬CommentRange¥StartÍ"¦Length7©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍc¦LengthÌÁ¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ#WIDESEA_Model.Models.DtStockInfo.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍb¦Length5©NameRange¥StartÍZ¦Length©BodyRange¥StartÍ]¦Length «ExtentRange¥StartÍ¡¦LengthÌɤKind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ+WIDESEA_Model.Models.DtStockInfo.PalletCode¯UnqualifiedNameªPalletCode¬CommentRange¥StartÍv¦Length7©NameRange¥StartÍr¦Length | 
| ©BodyRange¥StartÍ}¦Length «ExtentRange¥StartÍ·¦LengthÌÓ¤Kind¨FileNameÙeD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfo.cs²FullyQualifiedNameÙ-WIDESEA_Model.Models.DtStockInfo.LocationCode¯UnqualifiedName¬LocationCode¬CommentRange¥StartÍ¥¦Length7©NameRange¥StartÍ ¦Length©BodyRange¥StartͦLength «ExtentRange¥StartÍæ¦LengthÌÔ¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ&WIDESEA_Model.Models.DtStockInfoDetail¯UnqualifiedName±DtStockInfoDetail¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength©BodyRange¥StartÍ.¦LengthÍ«ExtentRange¥StartÌΦLengthÍÿ¤Kind ¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ.WIDESEA_Model.Models.DtStockInfoDetail.StockId¯UnqualifiedName§StockId¬CommentRange¥StartÍà¦Length1©NameRange¥StartÍg¦Length©BodyRange¥StartÍo¦Length «ExtentRange¥StartͦLengthe¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ3WIDESEA_Model.Models.DtStockInfoDetail.MaterielCode¯UnqualifiedName¬MaterielCode¬CommentRange¥StartͦLength/©NameRange¥StartͦLength©BodyRange¥StartÍ$¦Length «ExtentRange¥Start͹¦Lengthx¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ-WIDESEA_Model.Models.DtStockInfoDetail.Status¯UnqualifiedName¦Status¬CommentRange¥StartͦLength1©NameRange¥StartͦLength©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍɦLengthd¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ)WIDESEA_Model.Models.DtStockInfoDetail.Id¯UnqualifiedName¢Id¬CommentRange¥StartÍ5¦Length-©NameRange¥StartÍȦLength©BodyRange¥StartÍ˦Length «ExtentRange¥StartÍh¦Lengthp¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ.WIDESEA_Model.Models.DtStockInfoDetail.OrderNo¯UnqualifiedName§OrderNo¬CommentRange¥StartÍï¦Length/©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍ$¦Lengths¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ3WIDESEA_Model.Models.DtStockInfoDetail.MaterielName¯UnqualifiedName¬MaterielName¬CommentRange¥StartÍ9¦Length/©NameRange¥StartÍͦLength©BodyRange¥StartÍÚ¦Length «ExtentRange¥StartÍn¦Lengthy¤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ4WIDESEA_Model.Models.DtStockInfoDetail.StockQuantity¯UnqualifiedNameStockQuantity¬CommentRange¥StartͦLength/©NameRange¥StartͦLength ©BodyRange¥StartÍ©¦Length «ExtentRange¥StartÍ6¦Length̤Kind¨FileNameÙkD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicModel\DtStockInfoDetail.cs²FullyQualifiedNameÙ7WIDESEA_Model.Models.DtStockInfoDetail.OutboundQuantity¯UnqualifiedName°OutboundQuantity¬CommentRange¥Start;¦Length/©NameRange¥StartÍl¦Length©BodyRange¥StartÍ}¦Length «ExtentRange¥StartÍó¦Length̤Kind¨FileNameÙ[D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\DB\Models\BaseEntity.cs²FullyQualifiedNameÙ!WIDESEA_Core.DB.Models.BaseEntity¯UnqualifiedNameªBaseEntity¬CommentRange¥Start ¦Length ©NameRange¥StartÌí¦Length | 
| ©BodyRange¥StartÌý¦LengthÍ | 
| õ«ExtentRange¥StartÌà¦LengthͤKind ¨FileNameÙ[D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\DB\Models\BaseEntity.cs²FullyQualifiedNameÙ,WIDESEA_Core.DB.Models.BaseEntity.CreateDate¯UnqualifiedNameªCreateDate¬CommentRange¥StartÍÙ¦Length7©NameRange¥StartÍå¦Length | 
| ©BodyRange¥StartÍð¦Length «ExtentRange¥StartͦLengthÌó¤Kind¨FileNameÙ[D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\DB\Models\BaseEntity.cs²FullyQualifiedNameÙ7WIDESEA_Core.DB.Models.BaseEntity.CreateDate.CreateDate¯UnqualifiedNameªCreateDate¬CommentRange¥StartÍÙ¦Length7©NameRange¥StartÍå¦Length | 
| ©BodyRange¥StartÍ ¦Length«ExtentRange¥StartͦLengthÌó¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ)WIDESEAWCS_Model.Models.Dt_StationManager¯UnqualifiedName±Dt_StationManager¬CommentRange¥Start ¦Length ©NameRange¥StartÍf¦Length©BodyRange¥StartͦLengthͦ«ExtentRange¥StartÍ$¦LengthÍ ¤Kind ¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ5WIDESEAWCS_Model.Models.Dt_StationManager.productLine¯UnqualifiedName«productLine¬CommentRange¥StartÍæLength5©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartͦLength'¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ;WIDESEAWCS_Model.Models.Dt_StationManager.stationNGLocation¯UnqualifiedName±stationNGLocation¬CommentRange¥StartÍ ¤¦Length3©NameRange¥StartÍ9¦Length©BodyRange¥StartÍK¦Length «ExtentRange¥StartÍ á¦Lengthw¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ<WIDESEAWCS_Model.Models.Dt_StationManager.stationNGChildCode¯UnqualifiedName²stationNGChildCode¬CommentRange¥StartÍã¦Length3©NameRange¥StartÍ x¦Length©BodyRange¥StartÍ ¦Length «ExtentRange¥StartÍ  ¦Lengthx¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ5WIDESEAWCS_Model.Models.Dt_StationManager.stationType¯UnqualifiedName«stationType¬CommentRange¥StartͰ¦Lengtho©NameRange¥StartÍÔ¦Length©BodyRange¥StartÍà¦Length «ExtentRange¥StartÍ)¦LengthÌĤKind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ1WIDESEAWCS_Model.Models.Dt_StationManager.Roadway¯UnqualifiedName§Roadway¬CommentRange¥StartͦLength6©NameRange¥StartͦLength©BodyRange¥StartͦLength «ExtentRange¥StartÍ]¦LengthÌͤKind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ5WIDESEAWCS_Model.Models.Dt_StationManager.stationArea¯UnqualifiedName«stationArea¬CommentRange¥StartÍ    y¦Length7©NameRange¥StartÍ | 
| u¦Length©BodyRange¥StartÍ | 
| ¦Length «ExtentRange¥StartÍ    º¦LengthÌÔ¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ9WIDESEAWCS_Model.Models.Dt_StationManager.stationLocation¯UnqualifiedName¯stationLocation¬CommentRange¥StartÍ | 
| ¦Length7©NameRange¥StartͦLength©BodyRange¥Startͦ¦Length «ExtentRange¥StartÍ | 
| Û¦LengthÌØ¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ3WIDESEAWCS_Model.Models.Dt_StationManager.stationID¯UnqualifiedName©stationID¬CommentRange¥StartͦLength5©NameRange¥StartͦLength    ©BodyRange¥StartͦLength «ExtentRange¥StartÍÔ¦LengthÌФKind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ:WIDESEAWCS_Model.Models.Dt_StationManager.stationChildCode¯UnqualifiedName°stationChildCode¬CommentRange¥StartÍD¦Length>©NameRange¥StartÍ    O¦Length©BodyRange¥StartÍ    `¦Length «ExtentRange¥StartͦLengthÌá¤Kind¨FileNameÙjD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\BasicInfo\Dt_StationManager.cs²FullyQualifiedNameÙ7WIDESEAWCS_Model.Models.Dt_StationManager.stationStatus¯UnqualifiedNamestationStatus¬CommentRange¥Start ¦Length ©NameRange¥StartͦLength ©BodyRange¥Startͬ¦Length «ExtentRange¥StartͦLength)¤Kind¨FileNameÙZD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\Basic\RequestTaskDto.cs²FullyQualifiedNameºWIDESEA_DTO.RequestTaskDto¯UnqualifiedName®RequestTaskDto¬CommentRange¥Start ¦Length ©NameRange¥Start'¦Length©BodyRange¥Start7¦LengthÍQ«ExtentRange¥Start¦LengthÍn¤Kind ¨FileNameÙZD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\Basic\RequestTaskDto.cs²FullyQualifiedNameÙ)WIDESEA_DTO.RequestTaskDto.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥Start ¦Length ©NameRange¥StartÍi¦Length©BodyRange¥StartÍx¦Length «ExtentRange¥StartÍ[¦Length*¤Kind¨FileNameÙZD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\Basic\RequestTaskDto.cs²FullyQualifiedName¿WIDESEA_DTO.RequestTaskDto.area¯UnqualifiedName¤area¬CommentRange¥Start ¦Length ©NameRange¥StartÍC¦Length©BodyRange¥StartÍH¦Length «ExtentRange¥StartÍ8¦Length¤Kind¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\MOM\CellState\ResultTrayCellsStatus.cs²FullyQualifiedNameÙ%WIDESEA_DTO.MOM.ResultTrayCellsStatus¯UnqualifiedNameµResultTrayCellsStatus¬CommentRange¥Start"¦Length1©NameRange¥Startf¦Length©BodyRange¥StarțLengthÍ-«ExtentRange¥StartY¦LengthÍc¤Kind ¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\MOM\CellState\ResultTrayCellsStatus.cs²FullyQualifiedNameÙ4WIDESEA_DTO.MOM.ResultTrayCellsStatus.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥StartͦLength7©NameRange¥StartÍf¦Length©BodyRange¥StartÍu¦Length «ExtentRange¥StartÍX¦Length*¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_Task.cs²FullyQualifiedName¼WIDESEA_Model.Models.Dt_Task¯UnqualifiedName§Dt_Task¬CommentRange¥StartU¦Length%©NameRange¥StartÌ©¦Length©BodyRange¥StartÌ¿¦LengthÍ«ExtentRange¥Start|¦LengthÍÒ¤Kind ¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_Task.cs²FullyQualifiedNameÙ+WIDESEA_Model.Models.Dt_Task.ProductionLine¯UnqualifiedName®ProductionLine¬CommentRange¥Startͺ¦LengthB©NameRange¥StartÍ c¦Length©BodyRange¥StartÍ r¦Length «ExtentRange¥StartÍ ¦Length}¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_Task.cs²FullyQualifiedNameÙ#WIDESEA_Model.Models.Dt_Task.TaskId¯UnqualifiedName¦TaskId¬CommentRange¥StartÌÆ¦Length?©NameRange¥StartÍh¦Length©BodyRange¥StartÍo¦Length «ExtentRange¥StartͦLengthq¤Kind¨FileNameÙ\D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_Task.cs²FullyQualifiedNameÙ5WIDESEA_Model.Models.Dt_Task.Dt_TaskExecuteDetailList¯UnqualifiedName¸Dt_TaskExecuteDetailList¬CommentRange¥StartÍU¦Length1©NameRange¥StartÍ%¦Length©BodyRange¥StartÍ>¦Length «ExtentRange¥StartͦLengthÌ¿¤Kind¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\WebResponseContent.cs²FullyQualifiedName¿WIDESEA_Core.WebResponseContent¯UnqualifiedName²WebResponseContent¬CommentRange¥Start ¦Length ©NameRange¥Starţ¦Length©BodyRange¥StartÌ¿¦LengthÍ«ExtentRange¥StarțLengthÍ@¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ$WIDESEA_Core.WebResponseContent.Code¯UnqualifiedName¤Code¬CommentRange¥Start ¦Length ©NameRange¥StartÍ ¦Length©BodyRange¥StartÍ¥¦Length «ExtentRange¥StartͦLength¤Kind¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ"WIDESEA_Core.WebResponseContent.OK¯UnqualifiedName¢OK¬CommentRange¥Start ¦Length ©NameRange¥StartÍe¦Length©BodyRange¥StartÍs¦LengthY«ExtentRange¥StartÍK¦Length̤Kind    ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ%WIDESEA_Core.WebResponseContent.Error¯UnqualifiedName¥Error¬CommentRange¥Start ¦Length ©NameRange¥StartÍJ¦Length©BodyRange¥StartÍp¦Lengthc«ExtentRange¥StartÍ0¦LengthÌ£¤Kind    ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\WebResponseContent.cs²FullyQualifiedNameÙ&WIDESEA_Core.WebResponseContent.Status¯UnqualifiedName¦Status¬CommentRange¥Start ¦Length ©NameRange¥StartÍu¦Length©BodyRange¥StartÍ|¦Length «ExtentRange¥StartÍi¦Length ¤Kind¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ)WIDESEA_Model.Models.Dt_TaskExecuteDetail¯UnqualifiedName´Dt_TaskExecuteDetail¬CommentRange¥StarțLength1©NameRange¥StartͦLength©BodyRange¥StartÍ2¦LengthÍ«ExtentRange¥StartÌÔ¦LengthÍí¤Kind ¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ0WIDESEA_Model.Models.Dt_TaskExecuteDetail.TaskId¯UnqualifiedName¦TaskId¬CommentRange¥StartÍ#¦LengthI©NameRange¥StartͰ¦Length©BodyRange¥Start͸¦Length«ExtentRange¥StartÍv¦LengthP¤Kind¨FileNameÙiD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_TaskExecuteDetail.cs²FullyQualifiedNameÙ6WIDESEA_Model.Models.Dt_TaskExecuteDetail.TaskDetailId¯UnqualifiedName¬TaskDetailId¬CommentRange¥StartÍ=¦LengthI©NameRange¥StartÍõ¦Length©BodyRange¥StartͦLength«ExtentRange¥StartͦLength̤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ'WIDESEA_Core.BaseRepository.IRepository¯UnqualifiedName«IRepository¬CommentRange¥Start ¦Length ©NameRange¥StartÍ ¦Length©BodyRange¥StartÍe¦LengthÍAw«ExtentRange¥StartͦLengthÍAͤKind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ2WIDESEA_Core.BaseRepository.IRepository.QueryFirst¯UnqualifiedNameªQueryFirst¬CommentRange¥Start ¦Length ©NameRange¥StartÍæ¦Length | 
| ©BodyRange¥Start ¦Length «ExtentRange¥StartÍÞ¦Lengthm¤Kind    ¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ7WIDESEA_Core.BaseRepository.IRepository.QueryFirstAsync¯UnqualifiedName¯QueryFirstAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍe¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍW¦Lengthx¤Kind    ¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ1WIDESEA_Core.BaseRepository.IRepository.QueryPage¯UnqualifiedName©QueryPage¬CommentRange¥Start ¦Length ©NameRange¥StartÍ5̦Length    ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ5¶¦Lengtht¤Kind    ¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ7WIDESEA_Core.BaseRepository.IRepository.QueryFirstAsync¯UnqualifiedName¯QueryFirstAsync¬CommentRange¥Start ¦Length ©NameRange¥StartÍ0¦Length©BodyRange¥Start ¦Length «ExtentRange¥StartÍ"¦Length̰¤Kind    ¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseRepository\IRepository.cs²FullyQualifiedNameÙ1WIDESEA_Core.BaseRepository.IRepository.QueryPage¯UnqualifiedName©QueryPage¬CommentRange¥StartÍ3ö¦LengthÍ©NameRange¥StartÍ5)¦Length    ©BodyRange¥Start ¦Length «ExtentRange¥StartÍ5¦Length̤Kind    ¨FileNameÙ`D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_Task_Hty.cs²FullyQualifiedNameÙ WIDESEA_Model.Models.Dt_Task_Hty¯UnqualifiedName«Dt_Task_Hty¬CommentRange¥Start6¦Length%©NameRange¥StarțLength©BodyRange¥Starţ¦LengthÍ<«ExtentRange¥Start]¦LengthͤKind ¨FileNameÙ`D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Model\Models\Basic\Dt_Task_Hty.cs²FullyQualifiedNameÙ)WIDESEA_Model.Models.Dt_Task_Hty.SourceId¯UnqualifiedName¨SourceId¬CommentRange¥StartÍ/¦LengthB©NameRange¥StartÍʦLength©BodyRange¥StartÍÓ¦Length «ExtentRange¥StartÍw¦Lengthi¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageDataOptions.cs²FullyQualifiedName¼WIDESEA_Core.PageDataOptions¯UnqualifiedName¯PageDataOptions¬CommentRange¥Start ¦Length ©NameRange¥Starţ¦Length©BodyRange¥Start̼¦LengthÍA«ExtentRange¥StarțLengthÍc¤Kind ¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageDataOptions.cs²FullyQualifiedNameÙ!WIDESEA_Core.PageDataOptions.Page¯UnqualifiedName¤Page¬CommentRange¥Start ¦Length ©NameRange¥StartÌÒ¦Length©BodyRange¥StartÌצLength «ExtentRange¥StartÌǦLength¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageDataOptions.cs²FullyQualifiedNameÙ!WIDESEA_Core.PageDataOptions.Rows¯UnqualifiedName¤Rows¬CommentRange¥Start ¦Length ©NameRange¥StartÌù¦Length©BodyRange¥StartÌþ¦Length «ExtentRange¥StartÌî¦Length¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageDataOptions.cs²FullyQualifiedNameÙ"WIDESEA_Core.PageDataOptions.Total¯UnqualifiedName¥Total¬CommentRange¥Start ¦Length ©NameRange¥StartÍ ¦Length©BodyRange¥StartÍ&¦Length «ExtentRange¥StartͦLength¤Kind¨FileNameÙaD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageDataOptions.cs²FullyQualifiedNameÙ"WIDESEA_Core.PageDataOptions.Order¯UnqualifiedName¥Order¬CommentRange¥StartͦLength7©NameRange¥StartÍå¦Length©BodyRange¥StartÍë¦Length «ExtentRange¥StartÍצLength!¤Kind¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageGridData.cs²FullyQualifiedName¹WIDESEA_Core.PageGridData¯UnqualifiedName¬PageGridData¬CommentRange¥Start ¦Length ©NameRange¥Starţ¦Length©BodyRange¥Start̼¦LengthÍE«ExtentRange¥StarțLengthÍg¤Kind ¨FileNameÙ^D:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseModels\PageGridData.cs²FullyQualifiedName¿WIDESEA_Core.PageGridData.Total¯UnqualifiedName¥Total¬CommentRange¥Start ¦Length ©NameRange¥StartÌÒ¦Length©BodyRange¥StartÌØ¦Length «ExtentRange¥StartÌǦLength¤Kind¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceFunFilter.cs²FullyQualifiedNameÙ*WIDESEA_Core.BaseServices.ServiceFunFilter¯UnqualifiedName°ServiceFunFilter¬CommentRange¥Start ¦Length ©NameRange¥StartÌî¦Length©BodyRange¥StartͦLengthÍ /«ExtentRange¥StartÌØ¦LengthÍ n¤Kind ¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceFunFilter.cs²FullyQualifiedNameÙ0WIDESEA_Core.BaseServices.ServiceFunFilter.Limit¯UnqualifiedName¥Limit¬CommentRange¥StartÍw¦Length©NameRange¥StartÍ¡¦Length©BodyRange¥Startͧ¦Length «ExtentRange¥StartͦLength&¤Kind¨FileNameÙdD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_Core\BaseServices\ServiceFunFilter.cs²FullyQualifiedNameÙ6WIDESEA_Core.BaseServices.ServiceFunFilter.Limit.Limit¯UnqualifiedName¥Limit¬CommentRange¥StartÍw¦Length©NameRange¥StartÍ¡¦Length©BodyRange¥StartÍ·¦Length«ExtentRange¥StartͦLength&¤Kind¨FileNameÙYD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\MOM\ProcessApplyDto.cs²FullyQualifiedName»WIDESEA_DTO.ProcessApplyDto¯UnqualifiedName¯ProcessApplyDto¬CommentRange¥Start¦Length)©NameRange¥StartR¦Length©BodyRange¥Startk¦LengthÌÏ«ExtentRange¥StartE¦LengthÌõ¤Kind ¨FileNameÙYD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_DTO\MOM\ProcessApplyDto.cs²FullyQualifiedNameÙ&WIDESEA_DTO.ProcessApplyDto.WipOrderNo¯UnqualifiedNameªWipOrderNo¬CommentRange¥Startr¦Length/©NameRange¥Start̵¦Length | 
| ©BodyRange¥StartÌÀ¦Length «ExtentRange¥Starţ¦Length&¤Kind²OriginalReferences¯CopilotTypeName¯DocumentContext¨TypeName¤Name¯DocumentContext§IsArray¢IdÙ$7938a5a4-f3d5-4cb3-99ec-86c9f3941c21¯ProviderMoniker¤NameÙ6Microsoft.VisualStudio.Copilot.DocumentContextProvider§Version£0.3¦SourceÙ3Microsoft.VisualStudio.Copilot.SemanticContextScope¦Member¤file©CanReduceéRequestIdÙ$0f947838-2888-4d6a-8f4d-80068640b593©ReferenceÀ¦Traits«IsEphemeral®ValueContainerÙ£Microsoft.VisualStudio.Copilot.Core.IDEContext.IdeContext, Microsoft.VisualStudio.Copilot.Core, Version=17.13.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aÓ      ¨°IsDebuggerPaused«CurrentFileÙqD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_StorageTaskServices\Task\Partial\Dt_TaskService.cs©OpenFilesÙqD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_StorageTaskServices\Task\Partial\Dt_TaskService.csÙYD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_WMSServer\appsettings.jsonÙhD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_StorageTaskServices\AspNetCoreSchedule.csÙiD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_StorageTaskServices\Task\Dt_TaskService.csÙfD:\Git\BaiBuLiKu\Code Management\WMS\WIDESEA_WMSServer\WIDESEA_WMSServer\Controllers\TaskController.cs¯CopilotTypeNameªIdeContext¨TypeName¤NameªIdeContext§IsArray¢IdÙ$9b64494d-caab-44a4-bdc1-26ef8c77119b¯ProviderMoniker¤NameÙ)Microsoft.VisualStudio.Copilot.IdeContext§Version£0.3¦SourceÙ)Microsoft.VisualStudio.Copilot.IdeContext¦Member¨idestate©CanReduce©RequestIdÙ$0f947838-2888-4d6a-8f4d-80068640b593©ReferenceÀ¦Traits«IsEphemeralçContent
¢IdÄWÉü&QO½Ú'ÌkëªVisibility«Annotations§Contentٶ为äºé²æ¢ç©ºæéå¼å¸¸ï¼æä»¬éè¦æ£æ¥ `stockInfoList`ã`area` å `deviceCode` æ¯å¦ä¸º nullãå¯ä»¥å¨æ¥è¯¢ä¹åæ·»å è¿äºæ£æ¥ã以䏿¯ä¿®æ¹åç代ç ï¼ | 
|   | 
| ¨Mentions¢IdÄ|æzM¼é*Öû´ªVisibility«Annotations§ContentÚFvar result = stockInfoList? | 
|     .Where(x => x.ProductionLine == productLine) | 
|     .Where(x => x.AreaCode == areaCode && x.IsFull == false) | 
|     .Where(x => x.StockInfoDetails.Any(y => y.MaterielCode == "空æç")) | 
|     .Where(x => x.LocationInfo.LocationStatus == (int)LocationEnum.InStock && x.LocationInfo.AreaId == area?.AreaID && x.LocationInfo.EnalbeStatus == (int)EnableEnum.Enable) // è¿æ»¤æ¡ä»¶ | 
|     .WhereIF(!deviceCode.IsNullOrEmpty(), x => deviceCode.Contains(x.LocationInfo.RoadwayNo)) | 
|     .OrderBy(x => x.CreateDate) // æåº | 
|     .FirstOrDefault(); // è½¬æ¢ä¸ºå表 | 
| ¨Language¢C#ºLanguageMarkdownIdentifier¦csharp¬IsRefinement¤FileÀ§OptionsÀ¨Commands
¢IdÄÖNÃÆDNØõ2/7&ªVisibility«Annotations§ContentÙ | 
| å¨è¿æ®µä»£ç ä¸ï¼æä»¬ä½¿ç¨äº null æ¡ä»¶è¿ç®ç¬¦ (`?.`) æ¥ç¡®ä¿å¨ `stockInfoList` æ `area` ä¸º null æ¶ä¸ä¼å¼å空æéå¼å¸¸ã¨Mentions¨Metadata©SessionIdÙ$4a99214b-9f9f-4ab7-8ce9-83d07cd22a77¢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å¦ä½å¨æ¥è¯¢ä¸å¤çå¯è½ç空å¼ä»¥é¿å
空æéå¼å¸¸ï¼ |