diff --git a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs index 1759a6a5d..27a2dffb8 100644 --- a/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs +++ b/be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Linq.Expressions; using System.Threading; using System.Threading.Tasks; +using DocumentFormat.OpenXml.Office2016.Drawing.ChartDrawing; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; @@ -478,6 +479,15 @@ public class BalanceAppService var qty = input.Qty; var locations = input.Locations; var statuses = input.Statuses; + foreach (var location in locations) + { + var locationDto = await _locationAclService.GetByCodeAsync(location).ConfigureAwait(false); + if (locationDto != null) + { + input.LocationAreas.Add(locationDto.AreaCode); + input.LocationTypes.Add(locationDto.Type); + } + } Logger.LogDebug(traceId + "|Input:" + input); var balances = await _balanceManager.GetRecommendBalancesByLocationAsync(traceId, itemCode, qty, locations, statuses).ConfigureAwait(false); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestAppService.cs index b05e81e0e..563028731 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestAppService.cs @@ -50,22 +50,10 @@ public abstract class UnplannedIssueRequestAppService : /// [HttpPost("create-by-oa")] //[Authorize(UnplannedIssueRequestPermissions.Create)] - public async Task CreateByOAAsync(UnplannedIssueRequestEditInput input) + public virtual async Task CreateByOAAsync(UnplannedIssueRequestEditInput input) { var entity = ObjectMapper.Map(input); - entity.AutoCompleteJob = true; - entity.AutoSubmit = true; - entity.AutoAgree = true; - entity.AutoHandle = true; - if (entity.UnplannedIssueType == EnumUnplannedIssueType.Wip) - { - entity.DirectCreateNote = false; - } - else - { - entity.DirectCreateNote = true; - } - entity.DirectCreateNote = true; + await _unplannedIssueRequestManager.CreateAsync(entity).ConfigureAwait(false); var dto = ObjectMapper.Map(entity); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs index da71a45ca..5a269608f 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Volo.Abp; using Volo.Abp.Data; @@ -41,7 +42,38 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA _locationAppService = locationAppService; _transactionTypeAclService = transactionTypeAclService; } + /// + /// OA创建计划外出库申请 + /// + /// + /// + [HttpPost("create-by-oa")] + //[Authorize(UnplannedIssueRequestPermissions.Create)] + public override async Task CreateByOAAsync(UnplannedIssueRequestEditInput input) + { + var entity = ObjectMapper.Map(input); + foreach (var item in entity.Details) + { + await SetDetailPropertiesAsync(item).ConfigureAwait(false); + } + entity.AutoCompleteJob = true; + entity.AutoSubmit = true; + entity.AutoAgree = true; + entity.AutoHandle = true; + if (entity.UnplannedIssueType == EnumUnplannedIssueType.Wip) + { + entity.DirectCreateNote = false; + } + else + { + entity.DirectCreateNote = true; + } + entity.DirectCreateNote = true; + await _unplannedIssueRequestManager.CreateAsync(entity).ConfigureAwait(false); + var dto = ObjectMapper.Map(entity); + return dto; + } /// /// 用来重写 导入数据时可以加工数据 /// @@ -75,6 +107,10 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA RecommendBalanceRequestInput input = new RecommendBalanceRequestInput(); input.ItemCode = detail.ItemCode; input.Locations = new List() { detail.LocationCode }; + input.LocationAreas = new List() { locationDto.AreaCode }; + input.LocationTypes = new List { locationDto.Type }; + input.Qty = detail.Qty; + input.Statuses = new List { EnumInventoryStatus.OK }; var balanceLst = await _balanceAppService.GetRecommendBalancesByLocationsAsync(input).ConfigureAwait(false); if (balanceLst.Count == 0) { @@ -92,13 +128,17 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA if (locationDto.Type != EnumLocationType.WIP) { throw new UserFriendlyException($"【{detail.LocationCode}】库位类型错误," + - $"不是{EnumLocationType.WIP.GetDisplayName()}"); + $"不是{EnumLocationType.WIP.GetDisplayName()}】"); } //需要复制一个这个方法 去掉区域参数 换成库位参数 RecommendBalanceRequestInput input = new RecommendBalanceRequestInput(); input.ItemCode = detail.ItemCode; input.Locations = new List() { detail.LocationCode }; + input.LocationAreas=new List() { locationDto.AreaCode }; + input.LocationTypes= new List { locationDto.Type}; + input.Qty = detail.Qty; + input.Statuses=new List { EnumInventoryStatus.OK }; var balanceLst = await _balanceAppService.GetRecommendBalancesByLocationsAsync(input).ConfigureAwait(false); if (balanceLst.Count == 0) { diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestAppService.cs index 98b6712aa..43e8003e4 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestAppService.cs @@ -48,21 +48,10 @@ public abstract class UnplannedReceiptRequestAppService : /// [HttpPost("create-by-oa")] //[Authorize(UnplannedReceiptRequestPermissions.Create)] - public async Task CreateByOAAsync(UnplannedReceiptRequestEditInput input) + public virtual async Task CreateByOAAsync(UnplannedReceiptRequestEditInput input) { var entity = ObjectMapper.Map(input); - entity.AutoCompleteJob = true; - entity.AutoSubmit = true; - entity.AutoAgree = true; - entity.AutoHandle = true; - if (entity.UnplannedReceiptType == EnumUnplannedReceiptType.Wip) - { - entity.DirectCreateNote = false; - } - else - { - entity.DirectCreateNote = true; - } + await _unplannedReceiptRequestManager.CreateAsync(entity).ConfigureAwait(false); var dto = ObjectMapper.Map(entity); diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs index bdc3d2203..f4436577b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Volo.Abp; using Volo.Abp.Data; @@ -42,7 +43,38 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ _locationAppService = locationAppService; _balanceAppService = balanceAppService; } + /// + /// OA创建计划外入库申请 + /// + /// + /// + [HttpPost("create-by-oa")] + //[Authorize(UnplannedReceiptRequestPermissions.Create)] + public override async Task CreateByOAAsync(UnplannedReceiptRequestEditInput input) + { + var entity = ObjectMapper.Map(input); + foreach (var item in entity.Details) + { + await SetDetailPropertiesAsync(item).ConfigureAwait(false); + } + + entity.AutoCompleteJob = true; + entity.AutoSubmit = true; + entity.AutoAgree = true; + entity.AutoHandle = true; + if (entity.UnplannedReceiptType == EnumUnplannedReceiptType.Wip) + { + entity.DirectCreateNote = false; + } + else + { + entity.DirectCreateNote = true; + } + await _unplannedReceiptRequestManager.CreateAsync(entity).ConfigureAwait(false); + var dto = ObjectMapper.Map(entity); + return dto; + } /// /// 用来重写 导入数据时可以加工数据 ///