HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/OutStockDto/CallMaterialInput.cs
@@ -51,5 +51,15 @@ /// 原料标识 /// </summary> public string DataIdentifier { get; set; } /// <summary> /// 忽略出库单号 /// </summary> public bool IgnoreOrder { get; set; } /// <summary> /// 优先级 /// </summary> public int Priority { get; set; } } } HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/LMesOperateAppService.cs
@@ -53,9 +53,9 @@ throw new UserFriendlyException("叫料参数错误"); } //using var scope = _serviceProvider.CreateScope(); //var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>(); //using var uow = unitOfWorkManager.Begin(requiresNew: true); using var scope = _serviceProvider.CreateScope(); var unitOfWorkManager = scope.ServiceProvider.GetRequiredService<IUnitOfWorkManager>(); using var uow = unitOfWorkManager.Begin(requiresNew: true); var result = new List<CallMaterialOutput>(); foreach (var item in input) @@ -89,7 +89,6 @@ OrderStatus = Domain.Shared.Enums.OrderStatusEnum.Executing, OperateTime = DateTime.Now, DistributeNumber = 1, }; var createResult = await _wmsInOutStockOrderAppService.CreateAsync(createOrderInput); @@ -104,13 +103,16 @@ MaterialNo = materiaL.MaterialNo, MaterialName = materiaL.MaterialName, DataIdentifier = item.DataIdentifier, IgnoreOrder = true, OrderType = createResult.OrderType, Priority = createResult.Priority }, }; var callresult = await _wmsOutStockOrderAppService.CallMaterialAsync(callInput); result.AddRange(callresult); } //await uow.SaveChangesAsync(); await uow.SaveChangesAsync(); return result; } HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsOutStockAppService.cs
@@ -53,6 +53,12 @@ var callOutput = new List<CallMaterialOutput>(); foreach (var inputItem in input) { if (inputItem.MaterialNumber <= 0) { throw new UserFriendlyException("叫料数量必须大于0"); } if (!inputItem.IgnoreOrder) { var order = await _wmsInOutStockOrderRepository.FindByNameAsync(inputItem.OrderNo); if (order == null) { @@ -61,10 +67,6 @@ if(order.OrderType == OrderTypeEnum.SelfMadeParts || order.OrderType == OrderTypeEnum.PERSONIN) { throw new UserFriendlyException("入库单不允许叫料"); } if (inputItem.MaterialNumber <= 0) { throw new UserFriendlyException("叫料数量必须大于0"); } if(order.OrderStatus == OrderStatusEnum.Finish) { @@ -79,6 +81,7 @@ order.OperateTime = DateTime.Now; await _wmsInOutStockOrderRepository.UpdateAsync(order); } var stockresult = await _wmsCommonAppService.FindStockAsync(inputItem.MaterialModel, inputItem.MaterialNumber); if (stockresult == null) @@ -102,7 +105,7 @@ TaskType = TaskTypeEnum.CHUKU, SonTaskType = inputItem.OrderType == OrderTypeEnum.PRODUCTCALL ? SonTaskTypeEnum.ZDCHUKU : SonTaskTypeEnum.RGRUKU, TaskStatus = WmsTaskStatus.WEIZHIXING, TaskLevel = order.Priority, TaskLevel = inputItem.Priority, Aisle = 1, DodeviceId = 0, Dodevicetype = DodevicetypeEnum.Srm,