Browse Source

非生产领退料服务修改

master
lvzb 1 year ago
parent
commit
6ada763434
  1. 10
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs
  2. 16
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestAppService.cs
  3. 42
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestForDongyangAppService.cs
  4. 15
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestAppService.cs
  5. 32
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestForDongyangAppService.cs

10
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);

16
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestAppService.cs

@ -50,22 +50,10 @@ public abstract class UnplannedIssueRequestAppService :
/// <returns></returns>
[HttpPost("create-by-oa")]
//[Authorize(UnplannedIssueRequestPermissions.Create)]
public async Task<UnplannedIssueRequestDTO> CreateByOAAsync(UnplannedIssueRequestEditInput input)
public virtual async Task<UnplannedIssueRequestDTO> CreateByOAAsync(UnplannedIssueRequestEditInput input)
{
var entity = ObjectMapper.Map<UnplannedIssueRequestEditInput, UnplannedIssueRequest>(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<UnplannedIssueRequest, UnplannedIssueRequestDTO>(entity);

42
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;
}
/// <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)
{

15
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestAppService.cs

@ -48,21 +48,10 @@ public abstract class UnplannedReceiptRequestAppService :
/// <returns></returns>
[HttpPost("create-by-oa")]
//[Authorize(UnplannedReceiptRequestPermissions.Create)]
public async Task<UnplannedReceiptRequestDTO> CreateByOAAsync(UnplannedReceiptRequestEditInput input)
public virtual async Task<UnplannedReceiptRequestDTO> CreateByOAAsync(UnplannedReceiptRequestEditInput input)
{
var entity = ObjectMapper.Map<UnplannedReceiptRequestEditInput, UnplannedReceiptRequest>(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<UnplannedReceiptRequest, UnplannedReceiptRequestDTO>(entity);

32
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;
}
/// <summary>
/// OA创建计划外入库申请
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("create-by-oa")]
//[Authorize(UnplannedReceiptRequestPermissions.Create)]
public override async Task<UnplannedReceiptRequestDTO> CreateByOAAsync(UnplannedReceiptRequestEditInput input)
{
var entity = ObjectMapper.Map<UnplannedReceiptRequestEditInput, UnplannedReceiptRequest>(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<UnplannedReceiptRequest, UnplannedReceiptRequestDTO>(entity);
return dto;
}
/// <summary>
/// 用来重写 导入数据时可以加工数据
/// </summary>

Loading…
Cancel
Save