Code Management/WCS/WIDESEAWCS_Client/src/api/http.js
@@ -12,8 +12,8 @@ let loadingInstance; let loadingStatus = false; if (process.env.NODE_ENV == 'development') { axios.defaults.baseURL = 'http://127.0.0.1:9291/'; // axios.defaults.baseURL = 'http://192.168.5.251:9291/'; axios.defaults.baseURL = 'http://127.0.0.1:9291/'; //axios.defaults.baseURL = 'http://192.168.5.251:9291/'; } else if (process.env.NODE_ENV == 'debug') { axios.defaults.baseURL = 'http://127.0.0.1:8098/'; Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/Models/BasicInfo/dt_needBarcode.cs
@@ -56,7 +56,7 @@ /// <summary> /// 已创建出库任务数量 /// </summary> [NotMapped] public int haveOutNum { get; set; } = 0; //[NotMapped] //public int haveOutNum { get; set; } = 0; } } Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
@@ -14,6 +14,9 @@ //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=", //"ConnectionString": "Data Source=127.0.0.1;Initial Catalog=WIDESEA_WCS2F08;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=True", //"ConnectionString": "Data Source=192.168.20.251;Initial Catalog=WIDESEA_WCSDB;User ID=sa;Password=123456@gy;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "ConnectionString": "Data Source=.\\LIULEI;Initial Catalog=WIDESEAWCS_TEST;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "ConnectionString": "Data Source=127.0.0.1;Initial Catalog=WIDESEA_WCS2F08;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=True", //"ConnectionString": "Data Source=192.168.20.251;Initial Catalog=WIDESEA_WCSDB;User ID=sa;Password=123456@gy;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", "ConnectionString": "Data Source=192.168.5.251;Initial Catalog=WIDESEAWCS_TEST;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", //跨域 "Cors": { Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/Partial/TaskService.cs
@@ -13,6 +13,7 @@ using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob.Models; using System.Drawing; namespace WIDESEAWCS_TaskInfoService { @@ -93,6 +94,7 @@ var result = await HttpHelper.PostAsync(wmsIpAddrss, new { palletCode = palletCode, EquiCodeMOM = stationManager.stationEquipMOM, Roadways = stationManager.Roadway, area = stationManager.stationArea, Position = stationManager.stationChildCode }.ToJsonString()); content = JsonConvert.DeserializeObject<WebResponseContent>(result); ConsoleHelper.WriteErrorLine($"{stationManager.stationChildCode}站台请求响应信息:{content.ToJsonString()}"); if (!content.Status) { // wms失败返回去NG口任务 @@ -137,7 +139,7 @@ } var wmsIpAddrss = wmsBase + requestTask; var result = await HttpHelper.PostAsync(wmsIpAddrss, new { }.ToJsonString()); var result = await HttpHelper.PostAsync(wmsIpAddrss, new { Position = stationManager.stationChildCode }.ToJsonString()); content = JsonConvert.DeserializeObject<WebResponseContent>(result); if (!content.Status) { @@ -147,7 +149,7 @@ var task = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString()); ConsoleHelper.WriteSuccessLine(content.Data.ToString()); content = ReceiveByWMSTask(task); content = ReceiveByBZOtuTask(task); //if (content.Status) //{ // //相应的在途数据+1 @@ -218,6 +220,46 @@ } return content; } /// <summary> /// 接收WMS任务信息 /// </summary> /// <param name="taskDTOs">WMS任务对象集合</param> /// <returns>返回处理结果</returns> public WebResponseContent ReceiveByBZOtuTask([NotNull] WMSTaskDTO taskDTO) { WebResponseContent content = new WebResponseContent(); try { if (BaseDal.QueryFirst(x => x.TaskNum == taskDTO.TaskNum || x.PalletCode == taskDTO.PalletCode) != null) { return content.OK(); } Dt_Task task = _mapper.Map<Dt_Task>(taskDTO); task.Creater = "WMS"; if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) { var stationinfo = _stationManagerRepository.QueryFirst(x => x.stationLocation == taskDTO.TargetAddress && x.Roadway == taskDTO.RoadWay); task.TaskState = (int)TaskOutStatusEnum.OutNew; task.CurrentAddress = stationinfo.stationChildCode; task.NextAddress = stationinfo.stationChildCode; task.SourceAddress = taskDTO.SourceAddress; task.TargetAddress = taskDTO.TargetAddress; } BaseDal.AddData(task); _taskExecuteDetailService.AddTaskExecuteDetail(task.WMSId, "接收WMS任务"); content = WebResponseContent.Instance.OK("成功"); } catch (Exception ex) { content = WebResponseContent.Instance.Error($"任务接收错误,错误信息:{ex.Message}"); } return content; } /// <summary> /// 高温出库 @@ -296,7 +338,7 @@ } /// <summary> /// 根据托盘号和设备号查询入库任务 /// 根据托盘号和设备号查询任务 /// </summary> /// <param name="taskNum">任务号</param> /// <param name="currentAddress">当前地址</param> Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -503,6 +503,15 @@ BaseDal.DeleteData(task); _taskHtyRepository.AddData(task_Hty); } if (task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish) { Dt_Task? tasks = UpdatePosition(task.TaskNum, task.CurrentAddress); if (tasks != null) { task.CurrentAddress = tasks.CurrentAddress; task.NextAddress = tasks.NextAddress; } } } else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) { Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_After/CommonConveyorLine_AfterJob.cs
@@ -188,11 +188,11 @@ } else //如果任务请求失败 { //如果请求位置与NG位置一直 则写当前位置让线体退回 //如果请求位置与NG位置一致 则写当前位置让线体退回 if (stationInfo.stationChildCode == stationInfo.stationNGChildCode) { conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, 1, stationInfo.stationChildCode); conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, stationInfo.stationChildCode, stationInfo.stationChildCode); conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, 2, stationInfo.stationChildCode); //conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, stationInfo.stationChildCode, stationInfo.stationChildCode); } } } Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_BZ/CommonConveyorLine_BZJob.cs
@@ -193,7 +193,7 @@ public void RequestOutbound(CommonConveyorLine_BZ conveyorLine, ConveyorLineTaskCommand_After command, Dt_StationManager station) { //查询对应产线的在途数据 dt_needBarcode needBarcode = _needBarcodeRepository.QueryFirst(x => x.productLine == station.productLine); dt_needBarcode needBarcode = _needBarcodeRepository.QueryFirst(x => x.productLine == station.productLine && x.toArea == station.stationChildCode); needBarcode.inLineNum = _taskRepository.QueryData(x => x.TargetAddress == station.stationChildCode).Count(); @@ -260,7 +260,7 @@ } else { //写入对应产线目标地址 //写入对应产线的目标地址 if (station.productLine == "ZJ-7") { conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, "", station.stationChildCode); Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
@@ -382,6 +382,24 @@ //ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true); content = _taskService.UpdateTaskStatusToNext(task); } //else //{ // Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationPLC == conveyorLine.DeviceCode && x.stationChildCode == childDeviceCode && x.stationArea == "Cache"); // ////查询对应产线的在途数据 // //dt_needBarcode needBarcode = _needBarcodeRepository.QueryFirst(x => x.productLine == station.productLine); // //needBarcode.inLineNum = _taskRepository.QueryData(x => x.TargetAddress == station.stationChildCode).Count(); // //若在途数量小于目标位置的缓存数量 则寻找对应常温库存中常温3工序的可出库数据 并建立出库任务 // //if (needBarcode.inLineNum <= needBarcode.cacheNum) // //{ // //} // //如果包装缓存站台存在 且有请求 则 // if (stationManager != null) // { // _taskService.RequestOutTaskToBZAsync(stationManager); // } //} } /// <summary> Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -338,7 +338,7 @@ { return candidateTask; } ConsoleHelper.WriteErrorLine($"任务号:【{occupiedStation.TaskNum}】出库地址:【{occupiedStation.NextAddress}】不允许放货"); ConsoleHelper.WriteErrorLine($"任务号:【{candidateTask.TaskNum}】出库地址:【{candidateTask.NextAddress}】不允许放货"); } return null; Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs
@@ -183,7 +183,7 @@ { // 如果当前出库任务站台不允许放货,排除当前任务,查找其他出库任务 ConsoleHelper.WriteErrorLine($"任务号:【{task.TaskNum}】出库地址:【{task.NextAddress}】不允许放货"); task = FindAnotherOutboundTask(commonStackerCrane.DeviceCode, task.TaskId); task = FindAnotherOutboundTask(commonStackerCrane.DeviceCode, task); } else { @@ -223,16 +223,19 @@ } /// <summary> /// 查找其他出库任务的辅助方法(排除指定任务ID的任务) /// 查找其他出库任务的辅助方法(排除不可出的出库口任务) /// </summary> /// <param name="deviceCode">设备代码</param> /// <param name="excludedTaskId">要排除的任务ID</param> /// <returns></returns> private Dt_Task? FindAnotherOutboundTask(string deviceCode, int excludedTaskId) private Dt_Task? FindAnotherOutboundTask(string deviceCode, Dt_Task task) { // 先获取所有符合条件(排除指定任务ID)的出库任务列表 // 先获取所有符合条件(排除不可出的)的出库任务列表 var allOutboundTasks = _taskService.QueryAllOutboundTasks(deviceCode); var availableTasks = allOutboundTasks?.Where(t => excludedTaskId != t.TaskId && t.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup).ToList(); Console.WriteLine(allOutboundTasks.Count); var availableTasks = allOutboundTasks?.Where(t => t.TargetAddress != task.TargetAddress && t.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup).ToList(); Console.WriteLine("其他出库口任务:" + availableTasks?.Count); if (availableTasks == null || availableTasks.Count == 0) { @@ -247,7 +250,7 @@ { return candidateTask; } ConsoleHelper.WriteErrorLine($"任务号:【{occupiedStation.TaskNum}】出库地址:【{occupiedStation.NextAddress}】不允许放货"); ConsoleHelper.WriteErrorLine($"任务号:【{candidateTask.TaskNum}】出库地址:【{candidateTask.NextAddress}】不允许放货"); } return null; Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageTaskService/Task/IDt_TaskService.cs
@@ -212,4 +212,6 @@ /// <returns></returns> WebResponseContent EmergencyTask(object obj); Task<WebResponseContent> RequestOutTaskToBZAsync(RequestTaskDto json); } Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicInfo/Dt_StationManager.cs
@@ -109,6 +109,7 @@ public string stationNGLocation { get; set; } public string remark { get; set; } public string stationStatus { get; set; } /// <summary> /// 产线 /// </summary> Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -455,7 +455,7 @@ Remark = boxing.BoxingInfoDetails.Count().ToString(), }; if (boxing.ProcessCode != "OCVB") if (boxing.ProcessCode != "OCVB" && !task.Roadway.Contains("FR")) { // 处理请求参数 AgingInputDto agingInputDto = new AgingInputDto() @@ -1471,7 +1471,35 @@ { return await BaseDal.Delete(ids); } public override WebResponseContent DeleteData(object[] key) { WebResponseContent content = new WebResponseContent(); // 创建历史任务实例模型 try { Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == Convert.ToInt32(key[0])); if (task == null) { return content.Error("未找到任务信息!"); } var taskHtyNG = CreateHistoricalTask(task, true); // 执行数据库事务 // 添加历史任务 var isTaskHtyAdd = _task_HtyRepository.AddData(taskHtyNG) > 0; // 删除任务数据 var isTaskDelete = BaseDal.Delete(task.TaskId); return content.OK("删除成功!"); } catch (Exception ex) { return content.Error("删除任务异常:" + ex.Message); } } /// <summary> /// 通过ID获取任务 /// </summary> @@ -1581,7 +1609,7 @@ /// </summary> /// <param name="task"></param> /// <returns></returns> private Dt_Task_Hty CreateHistoricalTask(Dt_Task task) private Dt_Task_Hty CreateHistoricalTask(Dt_Task task, bool isHand = false) { // 更新任务状态 task.TaskState = TaskOutStatusEnum.OutFinish.ObjToInt(); @@ -1591,7 +1619,7 @@ var taskHty = _mapper.Map<Dt_Task_Hty>(task); taskHty.FinishTime = DateTime.Now; taskHty.TaskId = 0; taskHty.OperateType = (int)OperateTypeEnum.自动完成; taskHty.OperateType = isHand ? (int)OperateTypeEnum.人工删除 : (int)OperateTypeEnum.自动完成; taskHty.SourceId = task.TaskId; taskHty.TaskState = TaskOutStatusEnum.OutFinish.ObjToInt(); return taskHty; Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -163,105 +163,121 @@ private async Task<Dt_Task> CreateInToOutTaskAsync(RequestTaskDto input, Dt_StationManager stationManager) { //if (stationManager.stationType != 5) throw new Exception("错误的调取"); input.EquiCodeMOM = "24MEJQ11-1006-1"; // 创建一个TrayCellsStatusDto对象,并赋值 TrayCellsStatusDto trayCells = new TrayCellsStatusDto() try { Software = "WMS", TrayBarcode = input.PalletCode, //EquipmentCode = "EQ_CWJZ01" EquipmentCode = input.EquiCodeMOM }; //if (stationManager.stationType != 5) throw new Exception("错误的调取"); // 调用GetTrayCellStatusAsync方法,获取整盘电芯 WebResponseContent content = await GetTrayCellStatusAsync(trayCells); // 如果状态为false,则返回content if (!content.Status) throw new Exception(content.Message); input.EquiCodeMOM = "24MEJQ11-1006-1"; // 添加组盘信息 // 将content.Data转换为ResultTrayCellsStatus对象 var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString()); if (result.SerialNos.Count <= 0) { ConsoleHelper.WriteErrorLine(result.MOMMessage); if (stationManager.stationType != 3) // 创建一个TrayCellsStatusDto对象,并赋值 TrayCellsStatusDto trayCells = new TrayCellsStatusDto() { var taskNG = new Dt_Task 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.SerialNos.Count <= 0) { ConsoleHelper.WriteErrorLine(result.MOMMessage); if (stationManager.stationType != 3) { 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).ToList(); if (serialNosError.Count > 0) { if (stationManager.stationType != 3) { var taskNG = new Dt_Task 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 { 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.OutNG, TaskNum = await BaseDal.GetTaskNo(), Creater = "Systeam" }; return taskNG; //无电芯 → 当空框? 还是返回异常? return null; } } // 处理异常电芯情况 var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1).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" }; 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" }; return task; } var targetStation = _stationManagerRepository.QueryFirst(x => x.stationPLC == stationManager.stationPLC && x.Roadway == stationManager.Roadway && x.stationType == 2); var task = new Dt_Task catch (Exception ex) { CurrentAddress = input.Position, Grade = 1, 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" }; return task; throw new Exception(ex.Message); } } #endregion 直接出库任务 @@ -521,7 +537,8 @@ { //添加历史 var taskHty = CreateHistoricalTask(task); // 添加历史任务 var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0; //删除任务 BaseDal.DeleteData(task); @@ -578,7 +595,7 @@ var Epmtytask = new Dt_Task { CurrentAddress = input.Position, Grade = 3, //优先处理异常排出口的任务 防止正常需排出异常口的任务堵线 Grade = 4, //优先处理异常排出口的任务 防止正常需排出异常口的任务堵线 Roadway = input.Roadways, TargetAddress = EmptylocationInfo.LocationCode, Dispatchertime = DateTime.Now, @@ -846,20 +863,21 @@ WebResponseContent content = new WebResponseContent(); try { Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == json.Position); Dt_StationManager station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == json.Position && x.stationType == 12 && x.stationArea == "Call"); DtStockInfo stockInfo = _stockInfoRepository.QueryFirst(X => X.IsFull && X.AreaCode == "CWSC3" && X.ProductionLine == station.productLine); if (stockInfo == null) throw new Exception("库内无满足条件的库存可出库"); Dt_StationManager OutStation = _stationManagerRepository.QueryFirst(x => x.stationPLC == "1016" && x.stationType == 10); 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.LocationInfo.RoadwayNo, CurrentAddress = locationInfo.RoadwayNo, Grade = 1, Roadway = stockInfo.LocationInfo.RoadwayNo, Roadway = locationInfo.RoadwayNo, TargetAddress = json.Position, Dispatchertime = DateTime.Now, MaterialNo = "", @@ -880,6 +898,7 @@ } catch (Exception ex) { Console.WriteLine($"CW3至包装出库异常:{ex.ToString()}"); return content.Error($"失败:{ex.Message}"); } } Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
@@ -178,4 +178,16 @@ //{ // //return Service.EmergencyTask(input); //} /// <summary> /// CW3 出库至包装 /// </summary> /// <param name="input">请求数据</param> /// <returns></returns> [HttpPost, AllowAnonymous, Route("RequestOutTaskToBZAsync")] public async Task<WebResponseContent> RequestOutTaskToBZAsync([FromBody] RequestTaskDto input) { return await Service.RequestOutTaskToBZAsync(input); } }