From 6ada763434ef2763d65f8604bae0bf9cc8cab52d Mon Sep 17 00:00:00 2001
From: lvzb <35200379@qq.com>
Date: Thu, 21 Dec 2023 16:26:50 +0800
Subject: [PATCH] =?UTF-8?q?=E9=9D=9E=E7=94=9F=E4=BA=A7=E9=A2=86=E9=80=80?=
=?UTF-8?q?=E6=96=99=E6=9C=8D=E5=8A=A1=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Balances/BalanceAppService.cs | 10 +++++
.../UnplannedIssueRequestAppService.cs | 16 +------
...lannedIssueRequestForDongyangAppService.cs | 42 ++++++++++++++++++-
.../UnplannedReceiptRequestAppService.cs | 15 +------
...nnedReceiptRequestForDongyangAppService.cs | 32 ++++++++++++++
5 files changed, 87 insertions(+), 28 deletions(-)
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;
+ }
///
/// 用来重写 导入数据时可以加工数据
///