From ec78ebdad429c6438f8965941aa912865c71a949 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期三, 15 一月 2025 17:34:16 +0800 Subject: [PATCH] 修改板材退库交互 --- 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9a9ae583-4231-47b4-b5bf-94e21e462e94.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ec7cf4a8-d49d-49ce-bf3c-1956e1538ec8.vsidx | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs | 6 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs | 30 +++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs | 6 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs | 43 ++++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs | 39 +++ 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs | 88 ++++++++ /dev/null | 0 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs | 4 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs | 27 ++ 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 82 ++++++++ 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/板材仓/RGVJob_BC.cs | 108 ++-------- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs | 121 +++++++++++ 14 files changed, 448 insertions(+), 106 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/18a53365-4699-4a05-a22d-52202ffc28c5.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/18a53365-4699-4a05-a22d-52202ffc28c5.vsidx" deleted file mode 100644 index 3810953..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/18a53365-4699-4a05-a22d-52202ffc28c5.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/76b34398-56f7-412e-a330-a8b8def683e9.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/76b34398-56f7-412e-a330-a8b8def683e9.vsidx" deleted file mode 100644 index fd9af63..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/76b34398-56f7-412e-a330-a8b8def683e9.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9a9ae583-4231-47b4-b5bf-94e21e462e94.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9a9ae583-4231-47b4-b5bf-94e21e462e94.vsidx" new file mode 100644 index 0000000..407f834 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/9a9ae583-4231-47b4-b5bf-94e21e462e94.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c470cd75-662b-44ab-b67b-80ff3d784fdc.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c470cd75-662b-44ab-b67b-80ff3d784fdc.vsidx" deleted file mode 100644 index 0505f0c..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/c470cd75-662b-44ab-b67b-80ff3d784fdc.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock" deleted file mode 100644 index e69de29..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/read.lock" +++ /dev/null diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" index 08daff0..b501222 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs" @@ -84,6 +84,16 @@ WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, string roadway); /// <summary> + /// + /// </summary> + /// <param name="sourceAddress"></param> + /// <param name="palletCode"></param> + /// <param name="heightType"></param> + /// <param name="roadways"></param> + /// <returns></returns> + WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, int heightType, List<string> roadways); + + /// <summary> /// 鍚慦MS鐢宠鍒嗛厤璐т綅 /// </summary> /// <param name="taskNum">浠诲姟鍙�</param> @@ -191,6 +201,11 @@ /// <returns></returns> AgvResponseContent AgvUpdateTask(AgvUpdateDTO agvUpdateModel); + /// <summary> + /// + /// </summary> + /// <param name="taskNum"></param> + /// <returns></returns> WebResponseContent SendSecureReplyToAgv(int taskNum); /// <summary> @@ -217,6 +232,15 @@ /// /// </summary> /// <param name="roadwayNos"></param> + /// <param name="palletCode"></param> + /// <param name="heightType"></param> + /// <returns></returns> + WebResponseContent RequestWMSAssignRoadway(List<string> roadwayNos, string palletCode, int heightType); + + /// <summary> + /// + /// </summary> + /// <param name="roadwayNos"></param> /// <param name="taskNum"></param> /// <param name="heightType"></param> /// <returns></returns> @@ -229,6 +253,12 @@ /// <returns></returns> WebResponseContent RequestWMSAssignRoadway(List<string> roadwayNos); + /// <summary> + /// + /// </summary> + /// <param name="agvPodModel"></param> + /// <param name="PodBerthAndMat"></param> + /// <returns></returns> WebResponseContent AgvPodBerthAndMat(AgvPodBerthAndMatDTO agvPodModel, APIEnum PodBerthAndMat = APIEnum.Agv_CSJPodBerthAndMat); } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" index fe70f82..ebdb88a 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" @@ -326,6 +326,12 @@ return content; } + /// <summary> + /// + /// </summary> + /// <param name="palletCode"></param> + /// <param name="sourceAddress"></param> + /// <returns></returns> public WebResponseContent RequestWMSTaskSimple(string palletCode, string sourceAddress) { WebResponseContent content = new WebResponseContent(); @@ -355,6 +361,13 @@ return content; } + /// <summary> + /// + /// </summary> + /// <param name="palletCode"></param> + /// <param name="sourceAddress"></param> + /// <param name="roadway"></param> + /// <returns></returns> public WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, string roadway) { WebResponseContent content = new WebResponseContent(); @@ -366,6 +379,43 @@ return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃"); } string responseStr = HttpHelper.Get($"{address}/api/Task/DeviceRequestInboundTask?stationCode={sourceAddress}&roadwayNo={roadway}&palletCode={palletCode}"); + WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr); + if (responseContent != null && responseContent.Status && responseContent.Data != null) + { + WMSTaskDTO? taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(responseContent.Data.ToString()); + if (taskDTO != null) + { + content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO }); + } + } + + } + catch (Exception ex) + { + content = WebResponseContent.Instance.Error(ex.Message); + } + return content; + } + + /// <summary> + /// + /// </summary> + /// <param name="sourceAddress"></param> + /// <param name="palletCode"></param> + /// <param name="heightType"></param> + /// <param name="roadways"></param> + /// <returns></returns> + public WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, int heightType, List<string> roadways) + { + WebResponseContent content = new WebResponseContent(); + try + { + string address = AppSettings.Get("WMSApiAddress"); + if (string.IsNullOrEmpty(address)) + { + return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃"); + } + string responseStr = HttpHelper.Post($"{address}/api/Task/DeviceRequestInboundTaskByRoadways?stationCode={sourceAddress}&palletCode={palletCode}&heightType={heightType}", roadways.Serialize()); WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr); if (responseContent != null && responseContent.Status && responseContent.Data != null) { @@ -416,6 +466,38 @@ } /// <summary> + /// + /// </summary> + /// <param name="roadwayNos"></param> + /// <param name="palletCode"></param> + /// <param name="heightType"></param> + /// <returns></returns> + public WebResponseContent RequestWMSAssignRoadway(List<string> roadwayNos, string palletCode, int heightType) + { + WebResponseContent content = new WebResponseContent(); + try + { + string address = AppSettings.Get("WMSApiAddress"); + if (string.IsNullOrEmpty(address)) + { + return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃"); + } + string responseStr = HttpHelper.Post($"{address}/api/Task/AssignRoadwayByHeightAndCode?palletCode={palletCode}&heightType={heightType}", roadwayNos.Serialize()); + WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr); + if (responseContent != null && responseContent.Status && responseContent.Data != null) + { + return responseContent; + } + + } + catch (Exception ex) + { + content = WebResponseContent.Instance.Error(ex.Message); + } + return content; + } + + /// <summary> /// 鍒嗛厤宸烽亾 /// </summary> /// <param name="roadwayNos"></param> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/RGVJob_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/RGVJob_BC.cs" index 33ebd26..d314d45 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/RGVJob_BC.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/\346\235\277\346\235\220\344\273\223/RGVJob_BC.cs" @@ -36,9 +36,10 @@ private readonly IStationMangerRepository _stationMangerRepository; private readonly IRouterRepository _routerRepository; private readonly IRouterService _routerService; + private readonly IRouterExtension _routerExtension; private readonly List<Dt_WarehouseDevice> warehouseDevices; - public RGVJob_BC(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService) + public RGVJob_BC(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension) { _cacheService = cacheService; _taskService = taskService; @@ -47,6 +48,7 @@ _stationMangerRepository = stationMangerRepository; _routerRepository = routerRepository; _routerService = routerService; + _routerExtension = routerExtension; string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice)); if (!string.IsNullOrEmpty(warehouseDevicesStr)) @@ -99,7 +101,26 @@ if (item.StationType == StationTypeEnum.StationType_InStartAndOutEnd.ObjToInt()) { - if (conveyorLineSignalRead.STB && /*conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm && */!conveyorLineSignalWrite.ACK && !string.IsNullOrEmpty(conveyorLineInfoRead.Barcode) && conveyorLineInfoRead.TaskNum == 0)//鍏ュ簱 + //if (conveyorLineSignalRead.STB && !conveyorLineSignalWrite.ACK && !string.IsNullOrEmpty(conveyorLineInfoRead.Barcode) && conveyorLineInfoRead.TaskNum == 0)//鍏ュ簱 + //{ + // List<string> stations = _routerExtension.GetEndPoint(item.StationCode, TaskTypeEnum.Inbound.ObjToInt()).Select(x => x.NextPosi).ToList(); + // WebResponseContent responseContent = _taskService.RequestWMSTask(conveyorLineInfoRead.Barcode, item.StationCode, conveyorLineInfoRead.Spare2, stations); + // if (responseContent.Status) + // { + // Dt_Task task = _taskRepository.QueryFirst(x => x.PalletCode == conveyorLineInfoRead.Barcode && x.CurrentAddress == item.StationCode && x.DeviceCode == device.DeviceCode && x.TaskState == TaskStatusEnum.New.ObjToInt()); + // if (task != null) + // { + // device.SetValue(W_ConveyorLineDB.TaskNum, task.TaskNum, item.StationCode); + // device.SetValue(W_ConveyorLineDB.StartPos, task.CurrentAddress, item.StationCode); + // device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Inbound.ObjToInt(), item.StationCode); + // device.SetValue(W_ConveyorLineDB.EndPos, task.NextAddress, item.StationCode); + // device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode); + // _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing); + // } + // } + //} + + if (conveyorLineSignalRead.STB && !conveyorLineSignalWrite.ACK && !string.IsNullOrEmpty(conveyorLineInfoRead.Barcode) && conveyorLineInfoRead.TaskNum == 0)//鍏ュ簱 { WebResponseContent content = _taskService.RequestWMSTaskSimple(conveyorLineInfoRead.Barcode, item.StationCode); if (content.Status) @@ -115,89 +136,6 @@ _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing); } } - - #region - //Dt_Task task = _taskRepository.QueryFirst(x => x.SourceAddress == item.StationDeviceCode && x.TaskState == TaskStatusEnum.New.ObjToInt() && _taskService.TaskInboundTypes.Contains(x.TaskType) && x.PalletCode == conveyorLineInfoRead.Barcode && string.IsNullOrEmpty(x.DeviceCode) && string.IsNullOrEmpty(x.NextAddress) && string.IsNullOrEmpty(x.TargetAddress)); - //if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) - //{ - // Dt_StationManger? stationManger = stationMangers.FirstOrDefault(x => x.StationCode == item.StationCode); - // if (stationManger == null) - // { - // WriteError(item.StationName, $"鏈壘鍒板搴旂珯鍙颁俊鎭�,璁惧缂栧彿:{item.StationCode},浠诲姟鍙�:{task.TaskNum}"); - // continue; - // } - // List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && (task.Roadway == x.ChildPosiDeviceCode || task.Roadway == x.ChildPosi)); - // Dt_Router? router = routers.FirstOrDefault(); - // if (router == null) - // { - // WriteError(device.DeviceName, $"鏈壘鍒颁换鍔$被鍨媨task.TaskType}瀵瑰簲鐨勮矾鐢变俊鎭�"); - // } - // else - // { - // if (routers.Count == 1) - // { - // task.Dispatchertime = DateTime.Now; - // _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing, deviceCode: router.ChildPosi, targetAddress: router.NextPosi, nextAddress: router.StartPosi, currentAddress: item.StationCode); - - // device.SetValue(W_ConveyorLineDB.StartPos, item.StationCode, item.StationCode); - // device.SetValue(W_ConveyorLineDB.EndPos, router.StartPosi, item.StationCode); - // device.SetValue(W_ConveyorLineDB.TaskNum, task.TaskNum, item.StationCode); - // device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Inbound.ObjToInt(), item.StationCode); - // device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode); - // } - // else - // { - // List<string> canInboundStations = new List<string>(); - // List<string> stations = routers.Select(x => x.NextPosi).ToList(); - // foreach (string station in stations) - // { - // Dt_StationManger stationManger1 = _stationMangerRepository.QueryFirst(x => x.StationCode == station); - // if (stationManger1 != null) - // { - // IDevice? device1 = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationManger1.StationDeviceCode); - // if (device1 != null) - // { - // OtherDevice otherDevice = (OtherDevice)device1; - // //short workType = otherDevice.GetValue<R_ConveyorLineWorkType, short>(R_ConveyorLineWorkType.ConveyorLineWorkType, item.StationCode); - // //if (workType == ConveyorWorkTypeEnum.Undefined.ObjToInt() || workType == ConveyorWorkTypeEnum.Inbound.ObjToInt()) - // { - // canInboundStations.Add(stationManger1.Remark); - // } - // } - // } - // } - - // WebResponseContent responseContent = _taskService.RequestWMSAssignRoadway(task.TaskNum, canInboundStations); - // if (responseContent.Status) - // { - // List<Dt_Router> dt_Routers = _routerService.QueryNextRoutes(item.StationCode, responseContent.Data.ToString() ?? "", task.TaskType); - - // Dt_Router? routerTemp = _routerService.QueryNextRoutes(item.StationCode, responseContent.Data.ToString() ?? "", task.TaskType).FirstOrDefault(); - // if (routerTemp != null) - // { - // task.Dispatchertime = DateTime.Now; - // task.Roadway = responseContent.Data.ToString() ?? task.Roadway; - // _taskService.UpdateTask(task, TaskStatusEnum.Line_Executing, deviceCode: routerTemp.ChildPosiDeviceCode, targetAddress: routerTemp.NextPosi, nextAddress: routerTemp.NextPosi, currentAddress: item.StationCode); - - // device.SetValue(W_ConveyorLineDB.StartPos, item.StationCode, item.StationCode); - // device.SetValue(W_ConveyorLineDB.EndPos, routerTemp.NextPosi, item.StationCode); - // device.SetValue(W_ConveyorLineDB.TaskNum, task.TaskNum, item.StationCode); - // device.SetValue(W_ConveyorLineDB.Spare1, ConveyorWorkTypeEnum.Inbound.ObjToInt(), item.StationCode); - // device.SetValue(W_ConveyorLineDB.ACK, true, item.StationCode); - // } - // else - // { - // WriteError(device.DeviceName, $"鏈壘鍒颁换鍔$被鍨媨task.TaskType},璧风偣{item.StationCode},缁堢偣{responseContent.Data.ToString()}鐨勮矾鐢变俊鎭�"); - // } - // } - // else - // { - // WriteError(device.DeviceName, responseContent.Message); - // } - // } - // } - //} - #endregion } else if (conveyorLineSignalRead.STB /*&& conveyorLineStatus.Online && conveyorLineStatus.Goods && !conveyorLineStatus.Alarm*/ && !conveyorLineSignalWrite.ACK && conveyorLineInfoRead.TaskNum > 0)//鍑哄簱 { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a03bb6c9-6a9c-4e1f-9c40-304cdb5e9f4d.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a03bb6c9-6a9c-4e1f-9c40-304cdb5e9f4d.vsidx" deleted file mode 100644 index 904814a..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a03bb6c9-6a9c-4e1f-9c40-304cdb5e9f4d.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e3866d26-515d-474f-abfb-51e4ed23e1b5.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e3866d26-515d-474f-abfb-51e4ed23e1b5.vsidx" deleted file mode 100644 index 2314a3d..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/e3866d26-515d-474f-abfb-51e4ed23e1b5.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ec7cf4a8-d49d-49ce-bf3c-1956e1538ec8.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ec7cf4a8-d49d-49ce-bf3c-1956e1538ec8.vsidx" new file mode 100644 index 0000000..b2a496b --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/ec7cf4a8-d49d-49ce-bf3c-1956e1538ec8.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/fda87ddb-3aec-4e38-98c3-9b80d5e108a6.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/fda87ddb-3aec-4e38-98c3-9b80d5e108a6.vsidx" deleted file mode 100644 index 85a4f21..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/fda87ddb-3aec-4e38-98c3-9b80d5e108a6.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" deleted file mode 100644 index e69de29..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/read.lock" +++ /dev/null diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs" index edec038..9c00a39 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IInboundService/IInboundOrderService.cs" @@ -17,19 +17,62 @@ { IInboundOrderRepository Repository { get; } + /// <summary> + /// + /// </summary> + /// <param name="saveModel"></param> + /// <returns></returns> WebResponseContent GetInboundOrders(SaveModel saveModel); + + /// <summary> + /// + /// </summary> + /// <param name="inboundOrderId"></param> + /// <param name="palletCode"></param> + /// <param name="serNum"></param> + /// <returns></returns> WebResponseContent MaterielGroup(int inboundOrderId, string palletCode, string serNum); + /// <summary> + /// + /// </summary> + /// <param name="inboundOrderId"></param> + /// <param name="warehouseId"></param> + /// <param name="serNums"></param> + /// <returns></returns> WebResponseContent InPinKu(string inboundOrderId,int warehouseId, List<string> serNums); + + /// <summary> + /// + /// </summary> + /// <param name="palletCode"></param> + /// <param name="Initiallife"></param> + /// <param name="warehouseId"></param> + /// <param name="serNums"></param> + /// <returns></returns> WebResponseContent MaterielGroup(string palletCode, int Initiallife, int warehouseId, List<string> serNums); //WebResponseContent FeedbackInboundOrder(int id); + /// <summary> + /// + /// </summary> + /// <param name="saveModel"></param> + /// <returns></returns> WebResponseContent MaterielGroup(SaveModel saveModel); /// <summary> /// 鍏ュ簱瀹屾垚涓婃姤 /// </summary> /// <returns></returns> WebResponseContent FeedbackInboundOrder(Dt_StockInfo stockInfo,Dt_InboundOrder inboundOrder, List<ERPInboundDetailModel> detailModels); + + /// <summary> + /// + /// </summary> + /// <param name="warehouse"></param> + /// <param name="palletCode"></param> + /// <param name="materielInfo"></param> + /// <returns></returns> + int GetPalletType(Dt_Warehouse warehouse, string palletCode); } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" index a1aab3b..67606c7 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" @@ -94,7 +94,17 @@ /// <param name="stationCode"></param> /// <param name="palletCode"></param> /// <returns></returns> - WebResponseContent DeviceRequestInboundTask(string stationCode, string palletCode); + WebResponseContent DeviceRequestInboundTaskSimple(string stationCode, string palletCode); + + /// <summary> + /// + /// </summary> + /// <param name="stationCode"></param> + /// <param name="palletCode"></param> + /// <param name="roadwayNos"></param> + /// <param name="heightType"></param> + /// <returns></returns> + WebResponseContent DeviceRequestInboundTaskByRoadways(string stationCode, string palletCode, List<string> roadwayNos, int heightType); /// <summary> /// 鍏ュ簱浠诲姟鐢宠鍒嗛厤璐т綅 @@ -147,7 +157,7 @@ /// </summary> /// <param name="keys"></param> /// <returns></returns> - WebResponseContent GenerateOutboundTask(int[] keys); + WebResponseContent GenerateOutboundTasks(int[] keys); /// <summary> /// 鍑哄簱浠诲姟瀹屾垚 @@ -221,7 +231,16 @@ /// <param name="taskNum"></param> /// <param name="heightType"></param> /// <returns></returns> - WebResponseContent AssignRoadway(List<string> roadwayNos, int taskNum, int heightType = 0); + WebResponseContent AssignRoadwayByHeight(List<string> roadwayNos, int taskNum, int heightType = 0); + + /// <summary> + /// + /// </summary> + /// <param name="roadwayNos"></param> + /// <param name="palletCode"></param> + /// <param name="heightType"></param> + /// <returns></returns> + WebResponseContent AssignRoadwayByHeightAndCode(List<string> roadwayNos, string palletCode, int heightType = 0); /// <summary> /// 鍒嗛厤宸烽亾 @@ -236,7 +255,7 @@ /// </summary> /// <param name="roadwayNos"></param> /// <returns></returns> - WebResponseContent AssignRoadway(List<string> roadwayNos); + WebResponseContent SingleAssignRoadway(List<string> roadwayNos); /// <summary> /// diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" index 8a57f20..3a03b44 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/InboundOrderService.cs" @@ -530,7 +530,7 @@ PalletCode = palletCode, StockStatus = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(), WarehouseId = inboundOrder.WarehouseId, - PalletType = GetPalletType(warehouse, palletCode, materielInfo), + PalletType = GetPalletType(warehouse, palletCode), Details = new List<Dt_StockInfoDetail>() }; } @@ -674,7 +674,7 @@ PalletCode = palletCode, StockStatus = StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt(), WarehouseId = warehouse.WarehouseId, - PalletType = GetPalletType(warehouse, palletCode, materielInfo), + PalletType = GetPalletType(warehouse, palletCode), Details = new List<Dt_StockInfoDetail>() }; } @@ -892,7 +892,7 @@ // } //} - public int GetPalletType(Dt_Warehouse warehouse, string palletCode, Dt_MaterielInfo materielInfo) + public int GetPalletType(Dt_Warehouse warehouse, string palletCode) { if (warehouse.WarehouseCode == WarehouseEnum.HA64.ToString()) { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs" index 34f74bb..aca5552 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/AssignInboundTaskLocation_BC.cs" @@ -24,7 +24,7 @@ /// <param name="taskNum">浠诲姟鍙�</param> /// <param name="roadwayNos">宸烽亾鍙�</param> /// <returns></returns> - public WebResponseContent AssignRoadway(List<string> roadwayNos, int taskNum, int heightType = 0) + public WebResponseContent AssignRoadwayByHeight(List<string> roadwayNos, int taskNum, int heightType = 0) { try { @@ -70,6 +70,123 @@ } /// <summary> + /// + /// </summary> + /// <param name="roadwayNos"></param> + /// <param name="palletCode"></param> + /// <param name="heightType"></param> + /// <returns></returns> + public WebResponseContent AssignRoadwayByHeightAndCode(List<string> roadwayNos, string palletCode, int heightType = 0) + { + try + { + if (heightType == 0 || heightType > 3) + { + return WebResponseContent.Instance.Error($"楂樺害閿欒"); + } + if (roadwayNos == null || roadwayNos.Count == 0) + { + return WebResponseContent.Instance.Error($"宸烽亾涓嶈兘涓虹┖"); + } + Dt_LocationInfo locationInfo = _basicRepository.LocationInfoRepository.QueryFirst(x => x.RoadwayNo == roadwayNos[0]); + if (locationInfo == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒板贩閬撳搴旇揣浣�"); + } + Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == locationInfo.WarehouseId); + if (warehouse == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒板贩閬撳搴斾粨搴撲俊鎭�"); + } + + int palletType = _inboundOrderService.GetPalletType(warehouse, palletCode); + if (palletType == -1) + { + return WebResponseContent.Instance.Error($"鎵樼洏鍙疯В鏋愭墭鐩樼被鍨嬮敊璇�"); + } + + string roadwayNo = ""; + if (heightType == 1) + { + List<LocationCount> locationCounts = Db.Queryable<Dt_LocationInfo>().Where(x => (x.LocationType == palletType || x.LocationType == LocationTypeEnum.Undefined.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && roadwayNos.Contains(x.RoadwayNo) && x.Layer <= 3).GroupBy(x => x.RoadwayNo).Select(x => new LocationCount { RoadwayNo = x.RoadwayNo, Count = SqlFunc.AggregateCount(x) }).ToList(); + roadwayNo = locationCounts.OrderBy(x => x.Count).FirstOrDefault()?.RoadwayNo ?? ""; + } + else if (heightType == 2) + { + List<LocationCount> locationCounts = Db.Queryable<Dt_LocationInfo>().Where(x => (x.LocationType == palletType || x.LocationType == LocationTypeEnum.Undefined.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && roadwayNos.Contains(x.RoadwayNo) && x.Layer == 4).GroupBy(x => x.RoadwayNo).Select(x => new LocationCount { RoadwayNo = x.RoadwayNo, Count = SqlFunc.AggregateCount(x) }).ToList(); + roadwayNo = locationCounts.OrderBy(x => x.Count).FirstOrDefault()?.RoadwayNo ?? ""; + } + else if (heightType == 3) + { + List<LocationCount> locationCounts = Db.Queryable<Dt_LocationInfo>().Where(x => (x.LocationType == palletType || x.LocationType == LocationTypeEnum.Undefined.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && roadwayNos.Contains(x.RoadwayNo) && x.Layer == 5).GroupBy(x => x.RoadwayNo).Select(x => new LocationCount { RoadwayNo = x.RoadwayNo, Count = SqlFunc.AggregateCount(x) }).ToList(); + roadwayNo = locationCounts.OrderBy(x => x.Count).FirstOrDefault()?.RoadwayNo ?? ""; + } + + return !string.IsNullOrEmpty(roadwayNo) ? WebResponseContent.Instance.OK(data: roadwayNo) : WebResponseContent.Instance.Error("鏈壘鍒板彲鍒嗛厤宸烽亾"); + } + catch (Exception ex) + { + _unitOfWorkManage.RollbackTran(); + return WebResponseContent.Instance.Error(ex.Message); + } + } + + public string AssignRoadwayNo(List<string> roadwayNos, string palletCode, int heightType = 0) + { + try + { + if (heightType == 0 || heightType > 3) + { + throw new Exception($"楂樺害閿欒"); + } + if (roadwayNos == null || roadwayNos.Count == 0) + { + throw new Exception($"宸烽亾涓嶈兘涓虹┖"); + } + Dt_LocationInfo locationInfo = _basicRepository.LocationInfoRepository.QueryFirst(x => x.RoadwayNo == roadwayNos[0]); + if (locationInfo == null) + { + throw new Exception($"鏈壘鍒板贩閬撳搴旇揣浣�"); + } + Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == locationInfo.WarehouseId); + if (warehouse == null) + { + throw new Exception($"鏈壘鍒板贩閬撳搴斾粨搴撲俊鎭�"); + } + + int palletType = _inboundOrderService.GetPalletType(warehouse, palletCode); + if (palletType == -1) + { + throw new Exception($"鎵樼洏鍙疯В鏋愭墭鐩樼被鍨嬮敊璇�"); + } + + string roadwayNo = ""; + if (heightType == 1) + { + List<LocationCount> locationCounts = Db.Queryable<Dt_LocationInfo>().Where(x => (x.LocationType == palletType || x.LocationType == LocationTypeEnum.Undefined.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && roadwayNos.Contains(x.RoadwayNo) && x.Layer <= 3).GroupBy(x => x.RoadwayNo).Select(x => new LocationCount { RoadwayNo = x.RoadwayNo, Count = SqlFunc.AggregateCount(x) }).ToList(); + roadwayNo = locationCounts.OrderBy(x => x.Count).FirstOrDefault()?.RoadwayNo ?? ""; + } + else if (heightType == 2) + { + List<LocationCount> locationCounts = Db.Queryable<Dt_LocationInfo>().Where(x => (x.LocationType == palletType || x.LocationType == LocationTypeEnum.Undefined.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && roadwayNos.Contains(x.RoadwayNo) && x.Layer == 4).GroupBy(x => x.RoadwayNo).Select(x => new LocationCount { RoadwayNo = x.RoadwayNo, Count = SqlFunc.AggregateCount(x) }).ToList(); + roadwayNo = locationCounts.OrderBy(x => x.Count).FirstOrDefault()?.RoadwayNo ?? ""; + } + else if (heightType == 3) + { + List<LocationCount> locationCounts = Db.Queryable<Dt_LocationInfo>().Where(x => (x.LocationType == palletType || x.LocationType == LocationTypeEnum.Undefined.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && roadwayNos.Contains(x.RoadwayNo) && x.Layer == 5).GroupBy(x => x.RoadwayNo).Select(x => new LocationCount { RoadwayNo = x.RoadwayNo, Count = SqlFunc.AggregateCount(x) }).ToList(); + roadwayNo = locationCounts.OrderBy(x => x.Count).FirstOrDefault()?.RoadwayNo ?? ""; + } + + return !string.IsNullOrEmpty(roadwayNo) ? ( roadwayNo) : throw new Exception("鏈壘鍒板彲鍒嗛厤宸烽亾"); + } + catch (Exception ex) + { + _unitOfWorkManage.RollbackTran(); + throw new Exception(ex.Message); + } + } + + /// <summary> /// 鍏ュ簱浠诲姟鐢宠鍒嗛厤璐т綅 /// </summary> /// <param name="taskNum">浠诲姟鍙�</param> @@ -108,7 +225,7 @@ /// </summary> /// <param name="roadwayNos">宸烽亾鍙�</param> /// <returns></returns> - public WebResponseContent AssignRoadway(List<string> roadwayNos) + public WebResponseContent SingleAssignRoadway(List<string> roadwayNos) { try { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" index 3dfe8a2..cd411f7 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Inbound.cs" @@ -334,7 +334,7 @@ /// <param name="stationCode"></param> /// <param name="palletCode"></param> /// <returns></returns> - public WebResponseContent DeviceRequestInboundTask(string stationCode, string palletCode) + public WebResponseContent DeviceRequestInboundTaskSimple(string stationCode, string palletCode) { try { @@ -412,6 +412,92 @@ } /// <summary> + /// + /// </summary> + /// <param name="stationCode"></param> + /// <param name="palletCode"></param> + /// <param name="staions"></param> + /// <param name="heightType"></param> + /// <returns></returns> + public WebResponseContent DeviceRequestInboundTaskByRoadways(string stationCode, string palletCode, List<string> staions, int heightType) + { + try + { + Dt_Task task = Repository.QueryFirst(x => x.PalletCode == palletCode); + if (task != null) + { + PushTasksToWCS(new List<Dt_Task> { task }); + return WebResponseContent.Instance.OK($"璇ユ墭鐩樺凡鐢熸垚浠诲姟", _mapper.Map<WMSTaskDTO>(task)); + } + + if (Repository.QueryFirst(x => x.SourceAddress == stationCode && x.TaskStatus == TaskStatusEnum.New.ObjToInt()) != null) + { + return WebResponseContent.Instance.Error($"璇ョ珯鐐瑰凡鏈夋湭鎵ц鐨勪换鍔�"); + } + + string roadwayNo = AssignRoadwayNo(staions, palletCode, heightType); + + Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.QueryFirst(x => x.PalletCode == palletCode); + if (stockInfo == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�"); + } + if (stockInfo.StockStatus != StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.鎷i�夊畬鎴�.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.閫�搴�.ObjToInt() && stockInfo.StockStatus != StockStatusEmun.MES閫�搴�.ObjToInt()) + { + return WebResponseContent.Instance.Error($"璇ユ墭鐩樼姸鎬佷笉姝g‘,涓嶅彲鐢宠鍏ュ簱"); + } + if (!string.IsNullOrEmpty(stockInfo.LocationCode)) + { + return WebResponseContent.Instance.Error($"璇ユ墭鐩樺凡缁戝畾璐т綅"); + } + + Dt_Task newTask = new Dt_Task() + { + CurrentAddress = stationCode, + Grade = 0, + NextAddress = "", + PalletCode = palletCode, + Roadway = roadwayNo, + SourceAddress = stationCode, + TargetAddress = roadwayNo, + TaskType = TaskTypeEnum.Inbound.ObjToInt(), + TaskStatus = TaskStatusEnum.New.ObjToInt(), + WarehouseId = stockInfo.WarehouseId, + PalletType = stockInfo.PalletType + }; + + if (stockInfo.StockStatus == StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt()) + { + stockInfo.StockStatus = StockStatusEmun.鎵嬪姩缁勭洏鍏ュ簱纭.ObjToInt(); + } + else if (stockInfo.StockStatus == StockStatusEmun.MES閫�搴�.ObjToInt()) + { + newTask.TaskType = TaskTypeEnum.MesMatReturn.ObjToInt(); + } + else + { + stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt(); + } + + _unitOfWorkManage.BeginTran(); + int taskId = BaseDal.AddData(newTask); + newTask.TaskId = taskId; + _stockRepository.StockInfoRepository.UpdateData(stockInfo); + _unitOfWorkManage.CommitTran(); + WMSTaskDTO wMSTaskDTO = _mapper.Map<WMSTaskDTO>(newTask); + + PushTasksToWCS(new List<Dt_Task> { newTask }); + //if (newTask.WarehouseId == 5) PutFinish(stationCode); + return WebResponseContent.Instance.OK(data: wMSTaskDTO); + } + catch (Exception ex) + { + _unitOfWorkManage.RollbackTran(); + return WebResponseContent.Instance.Error(ex.Message); + } + } + + /// <summary> /// 鍏ュ簱浠诲姟鐢宠鍒嗛厤璐т綅 /// </summary> /// <param name="taskNum">浠诲姟鍙�</param> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" index 47f3fd2..6ec106d 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" @@ -461,7 +461,7 @@ /// </summary> /// <param name="keys">鍑哄簱鍗曟槑缁嗕富閿�</param> /// <returns></returns> - public WebResponseContent GenerateOutboundTask(int[] keys) + public WebResponseContent GenerateOutboundTasks(int[] keys) { try { @@ -515,7 +515,7 @@ { List<int> keys = _outboundService.OutboundOrderDetailService.Repository.QueryData(x => x.Id, x => x.OrderId == outboundId); - return GenerateOutboundTask(keys.ToArray()); + return GenerateOutboundTasks(keys.ToArray()); } catch (Exception ex) { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" index 12659d5..ed76f00 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" @@ -89,7 +89,21 @@ [HttpPost, HttpGet, Route("DeviceRequestInboundTaskSimple"), AllowAnonymous] public WebResponseContent DeviceRequestInboundTaskSimple(string stationCode, string palletCode) { - return Service.DeviceRequestInboundTask(stationCode, palletCode); + return Service.DeviceRequestInboundTaskSimple(stationCode, palletCode); + } + + /// <summary> + /// + /// </summary> + /// <param name="stationCode"></param> + /// <param name="palletCode"></param> + /// <param name="roadwayNos"></param> + /// <param name="heightType"></param> + /// <returns></returns> + [HttpPost, HttpGet, Route("DeviceRequestInboundTaskByRoadways"), AllowAnonymous] + public WebResponseContent DeviceRequestInboundTaskByRoadways(string stationCode, string palletCode, int heightType, [FromBody] List<string> roadwayNos) + { + return Service.DeviceRequestInboundTaskByRoadways(stationCode, palletCode, roadwayNos, heightType); } /// <summary> @@ -158,9 +172,9 @@ /// <param name="keys"></param> /// <returns></returns> [HttpPost, HttpGet, Route("GenerateOutboundTasks"), AllowAnonymous] - public WebResponseContent GenerateOutboundTask([FromBody] int[] keys) + public WebResponseContent GenerateOutboundTasks([FromBody] int[] keys) { - return Service.GenerateOutboundTask(keys); + return Service.GenerateOutboundTasks(keys); } /// <summary> @@ -229,7 +243,20 @@ [HttpPost, Route("AssignRoadwayByHeight"), AllowAnonymous] public WebResponseContent AssignRoadwayByHeight([FromBody] List<string> roadwayNos, int taskNum, int heightType = 0) { - return Service.AssignRoadway(roadwayNos, taskNum, heightType); + return Service.AssignRoadwayByHeight(roadwayNos, taskNum, heightType); + } + + /// <summary> + /// + /// </summary> + /// <param name="roadwayNos"></param> + /// <param name="palletCode"></param> + /// <param name="heightType"></param> + /// <returns></returns> + [HttpPost, Route("AssignRoadwayByHeightAndCode"), AllowAnonymous] + public WebResponseContent AssignRoadwayByHeightAndCode([FromBody] List<string> roadwayNos, string palletCode, int heightType = 0) + { + return Service.AssignRoadwayByHeightAndCode(roadwayNos, palletCode, heightType); } /// <summary> @@ -250,9 +277,9 @@ /// <param name="roadwayNos"></param> /// <returns></returns> [HttpPost, Route("SingleAssignRoadway"), AllowAnonymous] - public WebResponseContent AssignRoadway([FromBody] List<string> roadwayNos) + public WebResponseContent SingleAssignRoadway([FromBody] List<string> roadwayNos) { - return Service.AssignRoadway(roadwayNos); + return Service.SingleAssignRoadway(roadwayNos); } /// <summary> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" index c8b83e9..87d1375 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" @@ -103,13 +103,13 @@ app.UseAllServicesMiddle(builder.Services); app.UseSession(); -//if (app.Environment.IsDevelopment()) +if (app.Environment.IsProduction()) { //todo app.UseSwaggerAuthorized(); - app.UseSwaggerMiddle(() => Assembly.GetExecutingAssembly().GetManifestResourceStream("WIDESEA_WMSServer.index.html") ?? throw new Exception("WIDESEA_WMSServer.index.html文件")); + }//判断是否需要打开swagger - +app.UseSwaggerMiddle(() => Assembly.GetExecutingAssembly().GetManifestResourceStream("WIDESEA_WMSServer.index.html") ?? throw new Exception("WIDESEA_WMSServer.index.html文件")); app.UseIpLimitMiddle(); app.UseApiLogMiddleware(); //todo -- Gitblit v1.9.3