From 9f225bb1f1e26d25c1652d3e1ec2a8f239f69615 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期二, 18 三月 2025 10:41:29 +0800 Subject: [PATCH] 1 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneExtend/SignalInteraction.cs | 3 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a22a8192-98a5-4124-b8ca-6e05c37a50e2.vsidx | 0 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs | 20 +++ 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/32416433-0368-48f5-9206-5fc4ae10425f.vsidx | 0 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs | 2 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj | 4 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs | 5 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3407b878-8807-497d-adfc-a7e1e0ff1fc6.vsidx | 0 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarJob.cs | 8 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5639c1dc-9cb0-41a1-acfd-033ef7eb5980.vsidx | 0 项目代码/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/StockSelect.vue | 85 ++++++++++---- 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2 | 0 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderDetailService.cs | 10 + 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs | 2 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs | 16 +- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs | 8 + 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs | 1 /dev/null | 0 项目代码/WMS/WIDESEA_WMSClient/src/views/Login.vue | 5 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs | 50 ++++---- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 5 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarExtend/PartialTaskService.cs | 9 + 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs | 50 ++----- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/WIDESEAWCS_BasicInfoService.csproj | 2 项目代码/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8b1a6cc9-cc09-4e07-b049-df6ae5ee00fa.vsidx | 0 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs | 10 + 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/28e76b23-b4dc-44ac-88ee-c1c603575540.vsidx | 0 项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo | 0 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs | 24 +++ 29 files changed, 209 insertions(+), 110 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/32416433-0368-48f5-9206-5fc4ae10425f.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/32416433-0368-48f5-9206-5fc4ae10425f.vsidx" new file mode 100644 index 0000000..886f640 --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/32416433-0368-48f5-9206-5fc4ae10425f.vsidx" Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2fbcc71c-e89f-4eaf-9e3e-5620623c5b7c.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3407b878-8807-497d-adfc-a7e1e0ff1fc6.vsidx" similarity index 66% rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2fbcc71c-e89f-4eaf-9e3e-5620623c5b7c.vsidx" rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3407b878-8807-497d-adfc-a7e1e0ff1fc6.vsidx" index deb3437..3141392 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2fbcc71c-e89f-4eaf-9e3e-5620623c5b7c.vsidx" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/3407b878-8807-497d-adfc-a7e1e0ff1fc6.vsidx" Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5f6bdb7f-e7cb-46ba-becd-21a08884d098.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5639c1dc-9cb0-41a1-acfd-033ef7eb5980.vsidx" similarity index 76% rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5f6bdb7f-e7cb-46ba-becd-21a08884d098.vsidx" rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5639c1dc-9cb0-41a1-acfd-033ef7eb5980.vsidx" index 10809e1..539d57d 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5f6bdb7f-e7cb-46ba-becd-21a08884d098.vsidx" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/5639c1dc-9cb0-41a1-acfd-033ef7eb5980.vsidx" Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2d174e3f-ac9e-40bd-8934-b1a7108b6f3c.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8b1a6cc9-cc09-4e07-b049-df6ae5ee00fa.vsidx" similarity index 77% rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2d174e3f-ac9e-40bd-8934-b1a7108b6f3c.vsidx" rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8b1a6cc9-cc09-4e07-b049-df6ae5ee00fa.vsidx" index 4cd9cdc..d1f4aee 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/2d174e3f-ac9e-40bd-8934-b1a7108b6f3c.vsidx" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8b1a6cc9-cc09-4e07-b049-df6ae5ee00fa.vsidx" Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f555f070-9bec-4ac8-8eba-d2791e9e4182.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a22a8192-98a5-4124-b8ca-6e05c37a50e2.vsidx" similarity index 68% rename from "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f555f070-9bec-4ac8-8eba-d2791e9e4182.vsidx" rename to "\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a22a8192-98a5-4124-b8ca-6e05c37a50e2.vsidx" index b73f059..bdaa71c 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f555f070-9bec-4ac8-8eba-d2791e9e4182.vsidx" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/a22a8192-98a5-4124-b8ca-6e05c37a50e2.vsidx" Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f2619808-2276-4f7b-b10f-25bba5f2f2a7.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f2619808-2276-4f7b-b10f-25bba5f2f2a7.vsidx" deleted file mode 100644 index 0d45523..0000000 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/f2619808-2276-4f7b-b10f-25bba5f2f2a7.vsidx" +++ /dev/null Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/WIDESEAWCS_BasicInfoService.csproj" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/WIDESEAWCS_BasicInfoService.csproj" index 132b4ea..91b43b6 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/WIDESEAWCS_BasicInfoService.csproj" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/WIDESEAWCS_BasicInfoService.csproj" @@ -7,7 +7,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="WIDESEAWCS_QuartzJob" Version="1.0.0" /> + <PackageReference Include="WIDESEAWCS_QuartzJob" Version="3.0.8" /> </ItemGroup> <ItemGroup> diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs" index 635b242..384e3c6 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskStatusEnum.cs" @@ -144,16 +144,22 @@ Line_OutFinish = 135, /// <summary> + /// 涓嬪彂AGV鍑哄簱浠诲姟 + /// </summary> + [Description("涓嬪彂AGV鍑哄簱浠诲姟")] + AGV_OutSend = 140, + + /// <summary> /// AGV鍑哄簱鎵ц涓� /// </summary> [Description("AGV鍑哄簱鎵ц涓�")] - AGV_OutExecuting = 140, + AGV_OutExecuting = 145, /// <summary> /// AGV鍑哄簱瀹屾垚 /// </summary> [Description("AGV鍑哄簱瀹屾垚")] - AGV_OutFinish = 145, + AGV_OutFinish = 150, /// <summary> /// 鍑哄簱浠诲姟瀹屾垚 diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" index 912343e..0a54cd4 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" @@ -86,7 +86,7 @@ { if (BaseDal.QueryFirst(x => x.TaskNum == item.TaskNum || x.PalletCode == item.PalletCode) != null) { - continue; + throw new Exception($"浠诲姟鍙枫�恵item.TaskNum}宸插瓨鍦ㄤ换鍔°��"); } Dt_Task task = _mapper.Map<Dt_Task>(item); task.Creater = "WMS"; @@ -96,7 +96,8 @@ //鏆備笉鑰冭檻澶氳矾寰� if (routers.Count > 0) { - task.TaskState = (int)TaskOutStatusEnum.OutNew; + + task.TaskState = item.SourceIsPickPlace ? TaskOutStatusEnum.Car_OutFinish.ObjToInt() : TaskOutStatusEnum.OutNew.ObjToInt(); task.CurrentAddress = item.SourceAddress; task.NextAddress = routers.FirstOrDefault().ChildPosi; } diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs" index 4acc714..b5295ff 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/AGV/AGVJob.cs" @@ -41,7 +41,11 @@ { #region 浠诲姟鏇存柊 - var Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState > (int)TaskInStatusEnum.InNew && x.TaskState < (int)TaskInStatusEnum.AGV_InFinish).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList(); + var Tasks = _taskService.Db.Queryable<Dt_Task>().Where(x => + x.TaskState > (int)TaskInStatusEnum.InNew && + x.TaskState < (int)TaskInStatusEnum.AGV_InFinish || + x.TaskState > (int)TaskOutStatusEnum.Line_OutFinish && + x.TaskState < (int)TaskOutStatusEnum.AGV_OutFinish).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList(); foreach (var Task in Tasks) { var ResultData = HttpHelper.PostAsync(AGVInterfaceAddress.taskResult + Task.TaskNum, null, headers: new Dictionary<string, string>()); @@ -55,16 +59,16 @@ case "01": break; case "02": - Task.TaskState = TaskInStatusEnum.AGV_InExecuting.ObjToInt(); + Task.TaskState = _taskService.TaskInboundTypes.Contains(Task.TaskType) ? TaskInStatusEnum.AGV_InExecuting.ObjToInt() : TaskOutStatusEnum.AGV_OutExecuting.ObjToInt(); break; case "08": { - Task.TaskState = (int)TaskInStatusEnum.AGV_InFinish; + Task.TaskState = _taskService.TaskInboundTypes.Contains(Task.TaskType) ? (int)TaskInStatusEnum.AGV_InFinish : TaskOutStatusEnum.AGV_OutFinish.ObjToInt(); Task.CurrentAddress = Task.NextAddress; List<Dt_Router> routers = _routerService.QueryNextRoutes(Task.CurrentAddress, Task.TargetAddress); if (routers.Count > 0) { - Task.NextAddress = routers.FirstOrDefault().ChildPosi; + Task.NextAddress = routers.FirstOrDefault()?.ChildPosi ?? ""; } } break; @@ -82,7 +86,7 @@ #region 浠诲姟涓嬪彂 List<Dt_Task> UpnewTasks = new List<Dt_Task>(); - var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == (int)TaskInStatusEnum.InNew).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList(); + var newTasks = _taskService.Db.Queryable<Dt_Task>().Where(x => x.TaskState == TaskInStatusEnum.InNew.ObjToInt() || x.TaskState == TaskOutStatusEnum.Line_OutFinish.ObjToInt()).ToList().OrderBy(x => x.Grade).ThenBy(x => x.CreateDate).ToList(); foreach (var agvTaskDTO in GetAGVTaskDTOs(newTasks)) { var ResultData = HttpHelper.PostAsync(AGVInterfaceAddress.taskSent, agvTaskDTO.ToJson(), headers: new Dictionary<string, string>()); @@ -91,7 +95,7 @@ if (content.code == "20000") { var task = newTasks.Where(x => x.TaskNum == agvTaskDTO.outID.ObjToInt()).First(); - task.TaskState = TaskInStatusEnum.AGV_InSend.ObjToInt(); + task.TaskState = _taskService.TaskInboundTypes.Contains(task.TaskType)? TaskInStatusEnum.AGV_InSend.ObjToInt(): TaskOutStatusEnum.AGV_OutSend.ObjToInt(); UpnewTasks.Add(task); } else diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" index 425eaba..0baab83 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs" @@ -35,6 +35,7 @@ using WIDESEAWCS_QuartzJob; using WIDESEAWCS_QuartzJob.ConveyorLine.Enum; using WIDESEAWCS_QuartzJob.DTO; +using WIDESEAWCS_QuartzJob.Repository; using WIDESEAWCS_QuartzJob.Service; using WIDESEAWCS_Tasks.ConveyorLineJob; @@ -46,13 +47,15 @@ private readonly ITaskService _taskService; private readonly ITaskExecuteDetailService _taskExecuteDetailService; private readonly IRouterService _routerService; + private readonly IRouterRepository _routerRepository; private readonly IMapper _mapper; - public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IMapper mapper) + public CommonConveyorLineJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, IRouterService routerService, IRouterRepository routerRepository, IMapper mapper) { _taskService = taskService; _taskExecuteDetailService = taskExecuteDetailService; _routerService = routerService; + _routerRepository = routerRepository; _mapper = mapper; } diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs" index 97611b5..4cb0717 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/AGVsignal.cs" @@ -38,14 +38,30 @@ if (content.Status) content.Status = conveyorLine.GetValue<ConveyorLine_AGV, bool>(ConveyorLine_AGV.ConveyorLinePermitPut, conveyor.Station); break; case 2: - content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVPutComplete, true, conveyor.Station); + { + content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVPutComplete, true, conveyor.Station); + if (content.Status) + { + Thread.Sleep(1000); + conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestPut, false, conveyor.Station); + conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVPutComplete, false, conveyor.Station); + } + } break; case 3: content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestTake, true, conveyor.Station); if (content.Status) content.Status = conveyorLine.GetValue<ConveyorLine_AGV, bool>(ConveyorLine_AGV.ConveyorLinePermitTake, conveyor.Station); break; case 4: - content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVTakeComplete, true, conveyor.Station); + { + content.Status = conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVTakeComplete, true, conveyor.Station); + if (content.Status) + { + Thread.Sleep(1000); + conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVRequestTake, false, conveyor.Station); + conveyorLine.SetValue(ConveyorLine_AGV.WriteAGVTakeComplete, false, conveyor.Station); + } + } break; default: throw new Exception($"绫诲瀷鏈夎[Type锛歿conveyor.Type}]"); } diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs" index c1d4169..34261ee 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/ConveyorLineExtend/ConveyorLineExtend.cs" @@ -42,9 +42,31 @@ { ConveyorLineInFinish(conveyorLine, command, childDeviceCode); } + //else if (childDeviceCode == "1005" && command.Status == (ushort)ConveyorStatus.Stored) + //{ + // Dt_Task task = _taskService.QueryConveyorLineTaskNum(conveyorLine.DeviceCode, childDeviceCode, command.TaskNum); + // if (task != null) + // { + // task.TaskState = TaskOutStatusEnum.Line_OutExecuting.ObjToInt(); + // _taskService.UpdateData(task); + // ConveyorLineTaskCommandW taskCommand = _mapper.Map<ConveyorLineTaskCommandW>(task); + // taskCommand.WriterTrue = (short)command.inRead; + // conveyorLine.SendCommand(taskCommand, childDeviceCode); + // } + //} else if (childDeviceCode == "1008" && command.Status == (ushort)ConveyorStatus.Stored) { - ConveyorLineOutFinish(conveyorLine, command, childDeviceCode); + Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode); + if (task != null) + { + List<Dt_Router> routers = _routerRepository.QueryData(x => x.StartPosi == task.NextAddress && x.ChildPosiDeviceCode == "AGV" && x.Remark == "鏈崰鐢�"); + if (routers.Count > 0) + { + + } + task.TaskState = TaskOutStatusEnum.Line_OutFinish.ObjToInt(); + _taskService.UpdateData(task); + } } } #region MyRegion diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs" index 10ec77a..ae23e5f 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ProductionLineJob/CommonProductionLineJob.cs" @@ -45,30 +45,30 @@ //var content = ProductionLineToWMSRequest(MaterielGroupDTO); //i++; #region MyRegion - //OtherDevice ProductionLine = (OtherDevice)context.JobDetail.JobDataMap.Get("JobParams"); - //if (ProductionLine != null) - //{ - // var request = ProductionLine.GetValue<ProductionLineDBName, short>(ProductionLineDBName.request); - // if (request == 1) - // { - // var traytype = ProductionLine.GetValue<ProductionLineDBName, short>(ProductionLineDBName.trayType); - // //var content = Request(ProductionLine, traytype, ProductionLine.DeviceCode); - // if (traytype == 4) - // { - // var Barcode = ProductionLine.GetValue<ProductionLineDBName, string>(ProductionLineDBName.trayBarcode); - // var batchNo = ProductionLine.GetValue<ProductionLineDBName, string>(ProductionLineDBName.batchNo); - // ProductionLineDTO MaterielGroupDTO = new ProductionLineDTO() - // { - // stationCode = ProductionLine.DeviceCode, - // traytype = traytype, - // Barcode = Barcode, - // batchNo = batchNo, - // }; - // var content = ProductionLineToWMSRequest(MaterielGroupDTO); - // if (content.Status) ProductionLine.SetValue(ProductionLineDBName.Wrequest, 1); - // } - // } - //} + OtherDevice ProductionLine = (OtherDevice)context.JobDetail.JobDataMap.Get("JobParams"); + if (ProductionLine != null) + { + var request = ProductionLine.GetValue<ProductionLineDBName, short>(ProductionLineDBName.request); + if (request == 1) + { + var traytype = ProductionLine.GetValue<ProductionLineDBName, short>(ProductionLineDBName.trayType); + //var content = Request(ProductionLine, traytype, ProductionLine.DeviceCode); + if (traytype == 4) + { + var Barcode = ProductionLine.GetValue<ProductionLineDBName, string>(ProductionLineDBName.trayBarcode); + var batchNo = ProductionLine.GetValue<ProductionLineDBName, string>(ProductionLineDBName.batchNo); + ProductionLineDTO MaterielGroupDTO = new ProductionLineDTO() + { + stationCode = ProductionLine.DeviceCode, + traytype = traytype, + Barcode = Barcode, + batchNo = batchNo, + }; + var content = ProductionLineToWMSRequest(MaterielGroupDTO); + if (content.Status) ProductionLine.SetValue(ProductionLineDBName.Wrequest, 1); + } + } + } #endregion #region MyRegion //short[] shorts = { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }; @@ -99,7 +99,7 @@ } catch (Exception ex) { - //Console.Out.WriteLine(nameof(CommonProductionLineJob) + ":" + ex.ToString()); + Console.Out.WriteLine(nameof(CommonProductionLineJob) + ":" + ex.ToString()); } return Task.CompletedTask; } diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarExtend/PartialTaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarExtend/PartialTaskService.cs" index 6f4ef1c..6d553fa 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarExtend/PartialTaskService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarExtend/PartialTaskService.cs" @@ -246,6 +246,10 @@ // shuttleCarTaskCommand.TaskType = (short)GetCarTaskType(task.TaskType, shuttleCarTaskCommand.Direction); } } + else if (task.TaskType == (int)TaskOtherTypeEnum.RelocationCarCharging) + { + shuttleCarTaskCommand.TaskType = (short)GetCarTaskType(ShuttleCarTaskType.Charging.ToString()); + } else shuttleCarTaskCommand.TaskType = (short)GetCarTaskType(task.TaskType, shuttleCarTaskCommand.Direction); //shuttleCarTaskCommand.TaskType = string.IsNullOrEmpty(task.Remark) ? (short)GetCarTaskType(task.TaskType, shuttleCarTaskCommand.Direction) : (short)GetCarTaskType(task.Remark); @@ -322,14 +326,19 @@ switch (TaskType) { case (int)TaskInboundTypeEnum.Inbound: + case (int)TaskInboundTypeEnum.PalletInbound: state = (int)TaskInStatusEnum.Car_InExecuting; break; case (int)TaskOutboundTypeEnum.Outbound: + case (int)TaskOutboundTypeEnum.PalletOutbound: state = (int)TaskOutStatusEnum.Car_OutExecuting; break; case (int)TaskOtherTypeEnum.RelocationCar: state = (int)TaskCarStatusEnum.ShuttleCar_Executing; break; + case (int)TaskOtherTypeEnum.RelocationCarCharging: + state = (int)CarChargingTaskEnum.ShuttleCar_Charging; + break; default: break; } diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarJob.cs" index 282d2bb..4d04f61 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ShuttleCarJob/ShuttleCarJob.cs" @@ -70,6 +70,10 @@ } #endregion + #region 鑾峰彇鍫嗗灈鏈虹Щ杞�/绉诲簱瀹屾垚浠诲姟 + GetSC_CarFinish(); + #endregion + #region 鍒涘缓绉昏溅鍏呯數浠诲姟 if (command.Err_Status == (short)ShuttleCarErr.LowBattery || command.ElectricQuantity <= (short)ShuttleCarErr.LowBattery) { @@ -98,10 +102,6 @@ _taskService.AddRelocationCarTask(ShuttleCar.ShuttleCarPosition, "003-002-001", ShuttleCar.ShuttleCarCode, ShuttleCarTaskType.Charging.ToString()); } } - #endregion - - #region 鑾峰彇鍫嗗灈鏈虹Щ杞�/绉诲簱瀹屾垚浠诲姟 - GetSC_CarFinish(); #endregion #region 鑾峰彇绉昏溅/鍑哄叆搴撲换鍔� diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" index 529e954..59d28fb 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs" @@ -75,7 +75,7 @@ #region 浠诲姟閫昏緫澶勭悊 var onlinestate = commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.Onlinestate); var writeStatus = commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WriteStatus); - if (onlinestate == (short)Onlinestate.online && writeStatus == (short)WriteStatus.Permit) + if (onlinestate == (short)Onlinestate.online /*&& writeStatus == (short)WriteStatus.Permit*/) { #region 鏌ヨ浠诲姟,閫昏緫澶勭悊 if (Enum.Parse<RunStatus>(commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.RunStatus).ToString()) == RunStatus.Standby) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneExtend/SignalInteraction.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneExtend/SignalInteraction.cs" index 185f40b..f9da1b2 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneExtend/SignalInteraction.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneExtend/SignalInteraction.cs" @@ -59,6 +59,9 @@ && ASRSRqtGetGoods && task.SourceIsPickPlace)//璇锋眰鍙栬揣 { commonStackerCrane.SetValue(StackerCraneDBName.AGVAlwASRSGetGoods, ASRSRqtGetGoods); + }else if (_taskService.TaskOutboundTypes.Contains(task.TaskType)&& ASRSPutAGoodsDone) + { + } else { diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj" index c541402..fb87b73 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj" @@ -7,8 +7,8 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="WIDESEAWCS_Communicator" Version="2.2.4" /> - <PackageReference Include="WIDESEAWCS_QuartzJob" Version="2.1.2" /> + <PackageReference Include="WIDESEAWCS_Communicator" Version="2.2.7" /> + <PackageReference Include="WIDESEAWCS_QuartzJob" Version="3.0.8" /> </ItemGroup> <ItemGroup> diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/StockSelect.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/StockSelect.vue" index 14cafdc..f903fc0 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/StockSelect.vue" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/StockSelect.vue" @@ -23,7 +23,7 @@ >宸查�夋暟閲忥細 {{ selectionSum }} </span> </el-col> - <el-col :span="4"> + <!-- <el-col :span="4"> <el-link type="primary" size="small" @@ -31,7 +31,7 @@ @click="revokeAssign" >鎾ら攢鍒嗛厤</el-link ></el-col - > + > --> </el-row> </el-alert> </div> @@ -62,17 +62,35 @@ :width="item.width" align="center" > - <template #default="scoped" v-if="item.type == 'icon'"> - <el-tooltip - class="item" - effect="dark" - :content="item.title" - placement="bottom" - ><el-button - type="text" - @click="tableButtonClick(scoped.row, item)" - ><i :class="item.icon" style="font-size: 22px"></i></el-button - ></el-tooltip> + <template #default="scoped"> + <template v-if="item.type == 'icon'"> + <el-tooltip + class="item" + effect="dark" + :content="item.title" + placement="bottom" + ><el-button + type="text" + @click="tableButtonClick(scoped.row, item)" + ><i + :class="item.icon" + :style="{ fontSize: item.iconSize || '22px' }" + ></i></el-button + ></el-tooltip> + </template> + <template v-else> + <el-tooltip + :content="scoped.row[item.prop]" + placement="top" + :disabled=" + !isContentOverflow(scoped.row[item.prop], item.width) + " + > + <div class="cell-content"> + {{ scoped.row[item.prop] }} + </div> + </el-tooltip> + </template> </template> </el-table-column> </el-table> @@ -113,24 +131,25 @@ type: "string", width: 150, }, - // { - // prop: "palletCode", - // title: "鎵樼洏缂栧彿", - // type: "string", - // width: 150, - // }, + { + prop: "palletCode", + title: "鎵樼洏缂栧彿", + type: "string", + width: 150, + }, { prop: "batchNo", title: "鎵规鍙�", type: "string", width: 150, }, - // { - // prop: "locationCode", - // title: "璐т綅缂栧彿", - // type: "string", - // width: 180, - // }, + { + prop: "locationCode", + title: "璐т綅缂栧彿", + type: "string", + + width: 180, + }, { prop: "useableQuantity", title: "鍙敤鏁伴噺", @@ -144,6 +163,13 @@ }; }, methods: { + isContentOverflow(content, width) { + if (!content || !width) return false; + // 浼扮畻姣忎釜瀛楃鐨勫搴︼紙鏍规嵁瀛椾綋澶у皬璋冩暣锛� + const charWidth = 8; // 鍋囪姣忎釜瀛楃瀹藉害涓� 8px + const maxChars = Math.floor(width / charWidth); + return content.length > maxChars; + }, open(row) { this.row = row; this.showDetialBox = true; @@ -175,6 +201,9 @@ }); }, outbound() { + if (this.selection.length <= 0) { + return this.$message.error("璇烽�夋嫨鎸囧畾搴撳瓨"); + } this.http .post( "api/Task/GenerateOutboundTask?id=" + this.row.id, @@ -263,6 +292,12 @@ .more-style { color: red; } +.cell-content { + white-space: nowrap; /* 闃叉鎹㈣ */ + overflow: hidden; /* 闅愯棌瓒呭嚭閮ㄥ垎 */ + text-overflow: ellipsis; /* 鏄剧ず鐪佺暐鍙� */ + width: 100%; /* 瀹藉害鍗犳弧鍗曞厓鏍� */ +} </style> <style> diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Login.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Login.vue" index c61c0e8..500b81e 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Login.vue" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/Login.vue" @@ -116,9 +116,8 @@ const login = () => { if (!userInfo.userName) return $message.error('璇疯緭鍏ョ敤鎴峰悕'); if (!userInfo.password) return $message.error('璇疯緭鍏ュ瘑鐮�'); - if (!userInfo.verificationCode) { - return $message.error('璇疯緭鍏ラ獙璇佺爜'); - } + if (!userInfo.verificationCode) return $message.error('璇疯緭鍏ラ獙璇佺爜'); + if (userInfo.verificationCode!="1234") return $message.error('楠岃瘉鐮佹湁璇�'); loading.value = true; http.post('/api/User/login', userInfo, '姝e湪鐧诲綍....').then((result) => { if (!result.status) { diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/28e76b23-b4dc-44ac-88ee-c1c603575540.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/28e76b23-b4dc-44ac-88ee-c1c603575540.vsidx" new file mode 100644 index 0000000..517eed8 --- /dev/null +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/28e76b23-b4dc-44ac-88ee-c1c603575540.vsidx" Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3d7373a2-c833-48a2-84db-b4f90a14151a.vsidx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3d7373a2-c833-48a2-84db-b4f90a14151a.vsidx" deleted file mode 100644 index f92dbee..0000000 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/3d7373a2-c833-48a2-84db-b4f90a14151a.vsidx" +++ /dev/null Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2" index 3909c5a..b400c57 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2" Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo" index 3ef43b0..132a907 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo" Binary files differ diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs" index 0454379..43cc656 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutboundOrderDetailService.cs" @@ -19,6 +19,7 @@ WebResponseContent LockOutboundStock(int orderDetailId); + (List<Dt_StockInfo>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) AssignStockOutbound(Dt_OutboundOrder outboundOrder, List<StockSelectViewDTO> stockSelectViews); (List<Dt_StockInfo>, Dt_OutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) AssignStockOutbound(Dt_OutboundOrderDetail outboundOrderDetail, List<StockSelectViewDTO> stockSelectViews); WebResponseContent LockOutboundStock(int orderDetailId, List<StockSelectViewDTO> stockSelectViews); diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderDetailService.cs" index a952f2f..3d6867a 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderDetailService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutboundOrderDetailService.cs" @@ -45,6 +45,16 @@ _outStockLockInfoService = outStockLockInfoService; } + public (List<Dt_StockInfo>, Dt_OutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>, Dt_OutboundOrder) AssignStockOutbound(Dt_OutboundOrderDetail outboundOrderDetail) + { + Dt_OutboundOrder outboundOrder = _outboundRepository.OutboundOrderRepository.QueryFirst(x => x.Id == outboundOrderDetail.OrderId); + List<Dt_StockInfo> outStocks = new List<Dt_StockInfo>(); + List<string> LocationCodes = new List<string>(); + List<Dt_OutStockLockInfo> outStockLockInfos = new List<Dt_OutStockLockInfo>(); + List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>(); + return (outStocks, outboundOrderDetail, outStockLockInfos, locationInfos, outboundOrder); + } + public (List<Dt_StockInfo>, List<Dt_OutboundOrderDetail>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>, Dt_OutboundOrder) AssignStockOutbound(List<Dt_OutboundOrderDetail> outboundOrderDetails) { if (outboundOrderDetails.GroupBy(x => x.OrderId).Count() > 1) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs" index d124e6a..09bda15 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutboundOrderDetailService.cs" @@ -130,7 +130,15 @@ } return (true, "鎴愬姛"); } + public (List<Dt_StockInfo>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) AssignStockOutbound(Dt_OutboundOrder outboundOrder, List<StockSelectViewDTO> stockSelectViews) + { + List<Dt_StockInfo> outStocks = null; + List<Dt_OutStockLockInfo> outStockLockInfos = _outStockLockInfoService.GetOutStockLockInfos(outboundOrder, outboundOrder.Details.First(), outStocks); + List<Dt_LocationInfo> locationInfos = _basicService.LocationInfoService.Repository.GetLocationInfos(outStocks.Select(x => x.LocationCode).ToList()); + + return (outStocks, outStockLockInfos, locationInfos); + } /// <summary> /// 鍒嗛厤鍑哄簱搴撳瓨 /// </summary> diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs" index 0a2d4fa..c01c72a 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs" @@ -83,7 +83,7 @@ List<Dt_OutStockLockInfo>? outStockLockInfos = null; List<Dt_LocationInfo>? locationInfos = null; List<Dt_LocationInfo>? locationInfos1 = null; - Dt_OutboundOrder outboundOrder = null; + Dt_OutboundOrder? outboundOrder = null; (List<Dt_StockInfo>?, List<Dt_OutboundOrderDetail>?, List<Dt_OutStockLockInfo>?, List<Dt_LocationInfo>?, Dt_OutboundOrder?) result = _outboundService.OutboundOrderDetailService.AssignStockOutbound(outboundOrderDetails); if (result.Item1 != null && result.Item1.Count > 0) @@ -111,7 +111,7 @@ /// </summary> /// <param name="stockInfos"></param> /// <returns></returns> - public (List<Dt_Task>, List<Dt_LocationInfo>, List<Dt_StockInfo>) GetTasks(List<Dt_StockInfo> stockInfos, TaskTypeEnum taskType, List<Dt_LocationInfo> locationInfos) + public (List<Dt_Task>?, List<Dt_LocationInfo>?, List<Dt_StockInfo>?) GetTasks(List<Dt_StockInfo> stockInfos, TaskTypeEnum taskType, List<Dt_LocationInfo>? locationInfos) { List<Dt_Task> tasks = new List<Dt_Task>(); List<Dt_LocationInfo> locations = new List<Dt_LocationInfo>(); @@ -211,45 +211,27 @@ List<Dt_Task> tasks = new List<Dt_Task>(); Dt_OutboundOrderDetail outboundOrderDetail = _outboundService.OutboundOrderDetailService.Repository.QueryFirst(x => x.Id == orderDetailId); - if (outboundOrderDetail == null) - { - throw new Exception("鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅"); - } + if (outboundOrderDetail == null) throw new Exception("鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅"); + if (outboundOrderDetail.OrderDetailStatus != OrderDetailStatusEnum.New.ObjToInt()) + throw new Exception("鎵�閫夊嚭搴撳崟鏄庣粏瀛樺湪鍑哄簱涓垨宸插畬鎴�"); + + Dt_OutboundOrder outboundOrder = _outboundService.OutboundOrderService.Repository.QueryFirst(x => x.Id == outboundOrderDetail.OrderId); + outboundOrder.Details = new List<Dt_OutboundOrderDetail> { outboundOrderDetail }; List<Dt_StockInfo>? stockInfos = null; Dt_OutboundOrderDetail? orderDetail = null; List<Dt_OutStockLockInfo>? outStockLockInfos = null; List<Dt_LocationInfo>? locationInfos = null; - if (outboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.New.ObjToInt()) - { - (List<Dt_StockInfo>, Dt_OutboundOrderDetail, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.OutboundOrderDetailService.AssignStockOutbound(outboundOrderDetail, stockSelectViews); - if (result.Item1 != null && result.Item1.Count > 0) - { - tasks = GetTasks(result.Item1); - result.Item2.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt(); - result.Item3.ForEach(x => - { - x.Status = OutStockStatus.鍑哄簱涓�.ObjToInt(); - }); + List<Dt_LocationInfo>? locationInfos1 = null; - stockInfos = result.Item1; - orderDetail = result.Item2; - outStockLockInfos = result.Item3; - locationInfos = result.Item4; - } - else - { - throw new Exception("鏃犲簱瀛�"); - } - } - else if (outboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.AssignOverPartial.ObjToInt() || outboundOrderDetail.OrderDetailStatus == OrderDetailStatusEnum.AssignOver.ObjToInt()) + (List<Dt_StockInfo>, List<Dt_OutStockLockInfo>, List<Dt_LocationInfo>) result = _outboundService.OutboundOrderDetailService.AssignStockOutbound(outboundOrder, stockSelectViews); + if (result.Item1 != null && result.Item1.Count > 0) { - List<Dt_OutStockLockInfo> stockLockInfos = _outboundService.OutboundStockLockInfoService.GetByOrderDetailId(outboundOrderDetail.Id); - if (stockLockInfos != null && stockLockInfos.Count > 0) - { - List<Dt_StockInfo> stocks = _stockService.StockInfoService.Repository.GetStockInfosByPalletCodes(stockLockInfos.Select(x => x.PalletCode).Distinct().ToList()); - tasks = GetTasks(stocks); - } + + } + else + { + throw new Exception("鏃犲簱瀛�"); } return (tasks, stockInfos, orderDetail == null ? null : new List<Dt_OutboundOrderDetail> { orderDetail }, outStockLockInfos, locationInfos); diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" index 404b53f..cf489f6 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" @@ -30,7 +30,7 @@ } [HttpPost, Route("GenerateOutboundTask")] - public WebResponseContent GenerateOutboundTask(int id, List<StockSelectViewDTO> stockSelectViews) + public WebResponseContent GenerateOutboundTask(int id, [FromBody] List<StockSelectViewDTO> stockSelectViews) { return Service.GenerateOutboundTask(id, stockSelectViews); } -- Gitblit v1.9.3