|
|
@ -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; |
|
|
|
} |
|
|
|
/// <summary>
|
|
|
|
/// OA创建计划外出库申请
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="input"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpPost("create-by-oa")] |
|
|
|
//[Authorize(UnplannedIssueRequestPermissions.Create)]
|
|
|
|
public override async Task<UnplannedIssueRequestDTO> CreateByOAAsync(UnplannedIssueRequestEditInput input) |
|
|
|
{ |
|
|
|
var entity = ObjectMapper.Map<UnplannedIssueRequestEditInput, UnplannedIssueRequest>(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<UnplannedIssueRequest, UnplannedIssueRequestDTO>(entity); |
|
|
|
return dto; |
|
|
|
} |
|
|
|
/// <summary>
|
|
|
|
/// 用来重写 导入数据时可以加工数据
|
|
|
|
/// </summary>
|
|
|
@ -75,6 +107,10 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA |
|
|
|
RecommendBalanceRequestInput input = new RecommendBalanceRequestInput(); |
|
|
|
input.ItemCode = detail.ItemCode; |
|
|
|
input.Locations = new List<string>() { detail.LocationCode }; |
|
|
|
input.LocationAreas = new List<string>() { locationDto.AreaCode }; |
|
|
|
input.LocationTypes = new List<EnumLocationType> { locationDto.Type }; |
|
|
|
input.Qty = detail.Qty; |
|
|
|
input.Statuses = new List<EnumInventoryStatus> { 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<string>() { detail.LocationCode }; |
|
|
|
input.LocationAreas=new List<string>() { locationDto.AreaCode }; |
|
|
|
input.LocationTypes= new List<EnumLocationType> { locationDto.Type}; |
|
|
|
input.Qty = detail.Qty; |
|
|
|
input.Statuses=new List<EnumInventoryStatus> { EnumInventoryStatus.OK }; |
|
|
|
var balanceLst = await _balanceAppService.GetRecommendBalancesByLocationsAsync(input).ConfigureAwait(false); |
|
|
|
if (balanceLst.Count == 0) |
|
|
|
{ |
|
|
|