¤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å¦ä½å¨æ¥è¯¢ä¸å¤çå¯è½ç空å¼ä»¥é¿å
空æéå¼å¸¸ï¼
|