From f5b0033a87d1c2e6876c07a701af8365bf978f82 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Tue, 15 Oct 2024 14:37:57 +0800
Subject: [PATCH 01/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../UnplannedIssueJobAppService.cs | 184 ++++++++++++------
.../UnplannedIssueNoteAppService.cs | 3 +-
...lannedIssueRequestForDongyangAppService.cs | 7 +-
.../UnplannedIssueJobs/UnplannedIssueJob.cs | 3 +
.../UnplannedIssueJobManager.cs | 35 ++--
.../Jobs/UnplannedIssueJobEventHandler.cs | 73 ++++++-
6 files changed, 219 insertions(+), 86 deletions(-)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
index f2d0afa9e..a91937eb5 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
+using System.Reflection;
using System.Threading.Tasks;
using Castle.Components.DictionaryAdapter;
using Irony;
@@ -84,6 +85,68 @@ public class UnplannedIssueJobAppService
+ ///
+ /// 根据储位推荐
+ ///
+ ///
+ //[HttpPost("add-detail")]
+ //public async Task AddDetailsAsync(UnplannedIssueJobDTO jobInput)
+ //{
+ // var entity=await _repository.GetAsync(p=>p.Id==jobInput.Id).ConfigureAwait(false);
+ // var details=ObjectMapper.Map, List>(jobInput.Details);
+
+ // var balances=new List();
+
+
+ // foreach (var itm in entity.Details)
+ // {
+ // entity.RemoveDetail(itm.Id);
+ // }
+ // //var strs=GetAllFields(typeof(UnplannedIssueJobDetail));
+ // foreach (var detail in details)//明细
+ // {
+ // //_locationAppService.get detail.HandledFromLocationCode
+ // var input = new RecommendBalanceRequestInput
+ // {
+ // ItemCode = detail.ItemCode,
+ // Qty = detail.HandledQty,
+ // Statuses = new EditableList { EnumInventoryStatus.OK },
+ // Locations = new List() { detail.RecommendFromLocationCode },
+ // IsPackingCode = false
+ // };
+ // var usableList = await _balanceAppService.GetUsableListAsync(input).ConfigureAwait(false);//获取推荐库存
+ // usableList = usableList
+ // .OrderBy(p => p.Lot)
+ // .ThenBy(p => p.PutInTime)
+ // .ThenBy(p => p.Qty) //2023-9-14 苑静雯 从小数开始发料
+ // .ThenBy(p => p.LocationCode)
+ // .ThenBy(p => p.PackingCode)
+ // .ToList();
+ // decimal qty = 0;
+ // //实际要用库存
+ // var returnlist = DeductInventory(usableList, detail.HandledQty);
+ // balances.AddRange(returnlist);
+ // //useBalancesOut.AddRange(returnlist);
+ // entity.AddDetail(detail);
+ // }
+ // var outEditInputs = await BuildExpectOutAsync(balances).ConfigureAwait(false);
+ // foreach (var itm in outEditInputs)
+ // {
+ // itm.JobNumber = jobInput.Number;
+ // }
+ // await _expectOutAppService.AddManyAsync(outEditInputs).ConfigureAwait(false);
+ //}
+ public static string[] GetAllFields(Type type)
+ {
+ // 获取公共实例字段
+ var fields = type.GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic);
+
+ // 返回字段名称
+ return fields.Select(f => f.Name).ToArray();
+ }
+
+
+
private List DeductInventory(List inventory, decimal quantityToDeduct)
{
List balanceDTOs = new List();
@@ -110,30 +173,6 @@ public class UnplannedIssueJobAppService
-
- //public override async Task GetAsync(Guid id)
- //{
- // var entity=await _repository.GetAsync(id).ConfigureAwait(false);
- // var entityDTO=ObjectMapper.Map(entity);
- // var details=ObjectMapper.Map, List>(entity.Details);
- // var facDetails=ObjectMapper.Map, List>(entity.FacDetails);
- // entityDTO.Details = details;
- // entityDTO.FacDetails = facDetails;
- // return entityDTO;
- // // var inspectJob = await _repository.FindAsync(id).ConfigureAwait(false);
- //}
-
-
-
-
-
-
-
-
-
-
-
-
private async Task> BuildUnplannedIssueJobAsync(UnplannedIssueRequest requestDto, List useBalancesOut)
{
List jobs = new EditableList();
@@ -165,8 +204,6 @@ public class UnplannedIssueJobAppService
useBalances.AddRange(returnlist);
useBalancesOut.AddRange(returnlist);
-
-
//foreach (var balanceDto in usableList)
//{
// decimal availableToDeduct = Math.Min(balanceDto.Qty, balanceDto.Qty - qty);
@@ -215,39 +252,48 @@ public class UnplannedIssueJobAppService
foreach (var balanceDto in balanceDtoGroup)
{
- var jobDetail = new UnplannedIssueJobDetail();
-
- jobDetail.Number = job.Number;
- jobDetail.SetIdAndNumber(GuidGenerator,job.Id,job.Number);
-
- jobDetail.CaseCode = requestDtoDetail.CaseCode;
- jobDetail.Explain = requestDtoDetail.Explain;
- jobDetail.OnceBusiCode = requestDtoDetail.OnceBusiCode;
- jobDetail.ProjCapacityCode = requestDtoDetail.ProjCapacityCode;
- //jobDetail.ReasonCode = requestDtoDetail.ReasonCode;
- jobDetail.ItemCode = requestDtoDetail.ItemCode;
- jobDetail.ItemDesc1 = requestDtoDetail.ItemDesc1;
- jobDetail.ItemDesc2 = requestDtoDetail.ItemDesc2;
- jobDetail.ItemName = requestDtoDetail.ItemName;
- jobDetail.RecommendArriveDate = balanceDto.ArriveDate;
- jobDetail.RecommendContainerCode = string.Empty;
- jobDetail.RecommendExpireDate = balanceDto.ExpireDate;
- jobDetail.RecommendLot = balanceDto.Lot;
- jobDetail.RecommendPackingCode = balanceDto.PackingCode;
- jobDetail.RecommendProduceDate = balanceDto.ProduceDate;
- jobDetail.RecommendQty = balanceDto.Qty;
- jobDetail.RecommendSupplierBatch = balanceDto.SupplierBatch;
- jobDetail.StdPackQty = requestDtoDetail.StdPackQty;
- jobDetail.RecommendPackingCode = balanceDto.PackingCode;
- jobDetail.HandledPackingCode = balanceDto.PackingCode;
- jobDetail.RecommendFromLocationArea = balanceDto.LocationArea;
- jobDetail.RecommendFromLocationCode = balanceDto.LocationCode;
- jobDetail.RecommendFromLocationErpCode = balanceDto.LocationErpCode;
- jobDetail.RecommendFromLocationGroup = balanceDto.LocationGroup;
- jobDetail.RecommendFromWarehouseCode = balanceDto.WarehouseCode;
- jobDetail.HandledQty = balanceDto.Qty;
-
-
+ //var jobDetail = new UnplannedIssueJobDetail();
+ //jobDetail.Number = job.Number;
+ //jobDetail.SetIdAndNumber(GuidGenerator,job.Id,job.Number);
+ //jobDetail.CaseCode = requestDtoDetail.CaseCode;
+ //jobDetail.Explain = requestDtoDetail.Explain;
+ //jobDetail.OnceBusiCode = requestDtoDetail.OnceBusiCode;
+ //jobDetail.ProjCapacityCode = requestDtoDetail.ProjCapacityCode;
+ ////jobDetail.ReasonCode = requestDtoDetail.ReasonCode;
+ //jobDetail.ItemCode = requestDtoDetail.ItemCode;
+ //jobDetail.ItemDesc1 = requestDtoDetail.ItemDesc1;
+ //jobDetail.ItemDesc2 = requestDtoDetail.ItemDesc2;
+ //jobDetail.ItemName = requestDtoDetail.ItemName;
+ //jobDetail.RecommendArriveDate = balanceDto.ArriveDate;
+ //jobDetail.RecommendContainerCode = string.Empty;
+ //jobDetail.RecommendExpireDate = balanceDto.ExpireDate;
+ //jobDetail.RecommendLot = balanceDto.Lot;
+ //jobDetail.RecommendPackingCode = balanceDto.PackingCode;
+ //jobDetail.RecommendProduceDate = balanceDto.ProduceDate;
+ //jobDetail.RecommendQty = balanceDto.Qty;
+ //jobDetail.RecommendSupplierBatch = balanceDto.SupplierBatch;
+ //jobDetail.StdPackQty = requestDtoDetail.StdPackQty;
+ //jobDetail.RecommendPackingCode = balanceDto.PackingCode;
+ //jobDetail.HandledPackingCode = balanceDto.PackingCode;
+ //jobDetail.RecommendFromLocationArea = balanceDto.LocationArea;
+ //jobDetail.RecommendFromLocationCode = balanceDto.LocationCode;
+ //jobDetail.RecommendFromLocationErpCode = balanceDto.LocationErpCode;
+ //jobDetail.RecommendFromLocationGroup = balanceDto.LocationGroup;
+ //jobDetail.RecommendFromWarehouseCode = balanceDto.WarehouseCode;
+ //jobDetail.HandledFromLocationGroup = balanceDto.LocationGroup;
+ //jobDetail.HandledFromLocationArea = balanceDto.LocationArea;
+ //jobDetail.HandledFromLocationCode = balanceDto.LocationCode;
+ //jobDetail.HandledFromLocationErpCode = balanceDto.LocationErpCode;
+ //jobDetail.HandledFromWarehouseCode = balanceDto.WarehouseCode;
+ //jobDetail.HandledQty = balanceDto.Qty;
+ //jobDetail.HandledSupplierBatch = balanceDto.Lot;
+ //jobDetail.HandledArriveDate = balanceDto.ArriveDate;
+ //jobDetail.HandledProduceDate = balanceDto.ProduceDate;
+ //jobDetail.HandledExpireDate = balanceDto.ExpireDate;
+ //jobDetail.HandledContainerCode = balanceDto.ContainerCode;
+ //jobDetail.HandledLot = balanceDto.Lot;
+ //jobDetail.HandledPackingCode = balanceDto.PackingCode;
+ //jobDetail.Uom = balanceDto.Uom;
var jobfacDetail = new UnplannedIssueJobFacDetail();
@@ -272,17 +318,29 @@ public class UnplannedIssueJobAppService
jobfacDetail.RecommendSupplierBatch = balanceDto.SupplierBatch;
jobfacDetail.StdPackQty = requestDtoDetail.StdPackQty;
jobfacDetail.RecommendPackingCode = balanceDto.PackingCode;
- jobfacDetail.HandledPackingCode = balanceDto.PackingCode;
-
+ jobfacDetail.HandledFromLocationGroup = balanceDto.LocationGroup;
+ jobfacDetail.HandledFromLocationArea = balanceDto.LocationArea;
+ jobfacDetail.HandledFromLocationCode = balanceDto.LocationCode;
+ jobfacDetail.HandledFromLocationErpCode = balanceDto.LocationErpCode;
+ jobfacDetail.HandledFromWarehouseCode = balanceDto.WarehouseCode;
+ jobfacDetail.HandledQty = balanceDto.Qty;
+ jobfacDetail.HandledSupplierBatch = balanceDto.Lot;
+ jobfacDetail.HandledArriveDate = balanceDto.ArriveDate;
+ jobfacDetail.HandledProduceDate = balanceDto.ProduceDate;
+ jobfacDetail.HandledExpireDate = balanceDto.ExpireDate;
+ jobfacDetail.HandledContainerCode =balanceDto.ContainerCode ;
+ jobfacDetail.HandledLot = balanceDto.Lot;
+ jobfacDetail.HandledPackingCode =balanceDto.PackingCode;
jobfacDetail.RecommendFromLocationArea = balanceDto.LocationArea;
jobfacDetail.RecommendFromLocationCode = balanceDto.LocationCode;
jobfacDetail.RecommendFromLocationErpCode = balanceDto.LocationErpCode;
jobfacDetail.RecommendFromLocationGroup = balanceDto.LocationGroup;
jobfacDetail.RecommendFromWarehouseCode = balanceDto.WarehouseCode;
+ jobfacDetail.Status = balanceDto.Status;
jobfacDetail.HandledQty = balanceDto.Qty;
-
+ jobfacDetail.Uom = balanceDto.Uom;
- job.Details.Add(jobDetail);
+ //job.Details.Add(jobDetail);
job.FacDetails.Add(jobfacDetail);
}
if (locationDto.Type == EnumLocationType.DimensionalStorehouse)//如果是立库的
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/UnplannedIssuesNotes/UnplannedIssueNoteAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/UnplannedIssuesNotes/UnplannedIssueNoteAppService.cs
index 36faf9345..864823f42 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/UnplannedIssuesNotes/UnplannedIssueNoteAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/UnplannedIssuesNotes/UnplannedIssueNoteAppService.cs
@@ -50,7 +50,8 @@ public class UnplannedIssueNoteAppService :
entity.Details.Add(detail);
//2023-10-20 袁静雯要求修改计划外出入库 Worker为userName
- var userName = await _userAppService.GetUserNameByUserAsync(input.Worker).ConfigureAwait(false);
+ var userName = input.Worker;
+ //await _userAppService.GetUserNameByUserAsync(input.Worker).ConfigureAwait(false);
entity.Worker = userName;
}
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 97585bfcc..b67c76e45 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
@@ -86,7 +86,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
///
///
[HttpPost("import-dongyang")]
- public async Task ImportDYAsync([FromForm] SfsImportRequestInput requestInput, [Required] IFormFile file)
+ public async Task ImportDYAsync([FromForm] SfsImportRequestInput requestInput, [Required] IFormFile file)
{
try
@@ -205,7 +205,10 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
packingcode =string.IsNullOrEmpty(detail.PackingCode)?"99999999":detail.PackingCode;
- detail.PackingCode = packingcode;
+ detail.PackingCode = packingcode;
+
+ detail.Status = EnumInventoryStatus.OK;
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJob.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJob.cs
index 922a5f395..010986984 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJob.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJob.cs
@@ -101,4 +101,7 @@ public class UnplannedIssueJob : SfsJobAggregateRootBase
/// 执行任务 发料任务
///
- ///
- ///
- ///
+ ///
+ ///
+ ///
///
public override async Task CompleteAsync(UnplannedIssueJob input, ICurrentUser user)
{
- UnplannedIssueJob entity = await Repository.FindAsync(input.Id).ConfigureAwait(false);
+ var entity = await Repository.GetAsync(input.Id).ConfigureAwait(false);
entity.BuildDate = input.BuildDate;
entity.DeptCode = input.DeptCode;
entity.DeptName = input.DeptName;
entity.CompleteUserName = input.CompleteUserName;
entity.CompleteUserId = input.CompleteUserId;
+
+ var first= entity.FacDetails.FirstOrDefault();
+
+
foreach (var detail in input.Details)
{
- //发料子任务 赋值实际转移
- await entity.BuildDetail(detail.Id, detail.HandledFromLocationGroup, detail.HandledFromLocationArea,detail.HandledFromLocationCode, detail.HandledFromLocationErpCode, detail.HandledFromWarehouseCode, detail.HandledQty, detail.HandledSupplierBatch, detail.HandledArriveDate, detail.HandledProduceDate, detail.HandledExpireDate,
- detail.HandledContainerCode, detail.HandledLot, detail.HandledPackingCode, detail.ExtraProperties).ConfigureAwait(false);
+ detail.SetIdAndNumber(GuidGenerator, input.Id, input.Number);
+ detail.ReasonCode = first.ReasonCode;
+ detail.CaseCode = first.CaseCode;
+ detail.ProjCapacityCode = first.ProjCapacityCode;
+ detail.OnceBusiCode = first.OnceBusiCode;
+ detail.Explain = first.Explain;
+ detail.Status = EnumInventoryStatus.OK;
+ entity.AddDetail(detail);
+ //发料子任务 赋值实际转移
}
-
return await base.CompleteAsync(entity, user).ConfigureAwait(false);
}
@@ -52,7 +65,7 @@ public class UnplannedIssueJobManager : SfsJobManagerBase
///// 临时修改 解决补料无法拿到订阅错误
/////
- /////
+ /////
/////
//public virtual async Task> AddByEtoAsync(MaterialRequestHandledETO eventData)
//{
@@ -89,7 +102,7 @@ public class UnplannedIssueJobManager : SfsJobManagerBase GetAsync(Expression> expression)
{
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/UnplannedIssueJobEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/UnplannedIssueJobEventHandler.cs
index 142ce0be1..d9d76b371 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/UnplannedIssueJobEventHandler.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/UnplannedIssueJobEventHandler.cs
@@ -1,3 +1,7 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
using System.Threading.Tasks;
using Volo.Abp.EventBus;
using Volo.Abp.Uow;
@@ -63,22 +67,73 @@ public class UnplannedIssueJobEventHandler :
private UnplannedIssueNoteEditInput BuildUnplannedIssueNoteCreateInput(UnplannedIssueJob entity)
{
var createInput = ObjectMapper.Map(entity);
- createInput.Details.RemoveAll(p => p.Qty == 0);
-
- /*
createInput.Details = new List();
+ //var strs= GetDifferentPropertyNames(typeof(UnplannedIssueJobDetail), typeof(UnplannedIssueNoteDetailInput));
+ //var strs1 = GetDifferentPropertyNames(typeof(UnplannedIssueNoteDetailInput), typeof(UnplannedIssueJobDetail));
+
+
foreach (var inputDetail in entity.Details)
{
- var detail = ObjectMapper.Map(inputDetail);
+ if (inputDetail.HandledQty > 0)
+ {
+ var detail = ObjectMapper.Map(inputDetail);
+ detail.LocationCode = inputDetail.HandledFromLocationCode;
+ detail.LocationArea = inputDetail.HandledFromLocationArea;
+ detail.LocationGroup=inputDetail.HandledFromLocationGroup;
+ detail.LocationErpCode = inputDetail.HandledFromLocationErpCode;
+ detail.WarehouseCode = inputDetail.HandledFromWarehouseCode;
+ detail.PackingCode = inputDetail.HandledPackingCode;
+ detail.ContainerCode=inputDetail.HandledContainerCode;
+ detail.Qty=inputDetail.HandledQty;
+ detail.Lot=inputDetail.HandledLot;
+ detail.SupplierBatch = inputDetail.HandledSupplierBatch;
+ detail.ArriveDate=inputDetail.HandledArriveDate;
+ detail.ProduceDate = inputDetail.HandledProduceDate;
+ detail.ExpireDate=inputDetail.HandledExpireDate;
+ detail.Uom = inputDetail.Uom;
+ detail.ExtraProperties = inputDetail.ExtraProperties;
+ createInput.Details.Add(detail);
+ }
+ }
+ return createInput;
+ }
- detail.ExtraProperties = inputDetail.ExtraProperties;
+ //public static string[] GetDifferentFieldNames(Type type1, Type type2)
+ //{
+ // // 获取两个类型的字段
+ // var fields1 = type1.GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static);
+ // var fields2 = type2.GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static);
- createInput.Details.Add(detail);
- }
- */
+ // // 获取字段名称
+ // var fieldNames1 = fields1.Select(f => f.Name).ToArray();
+ // var fieldNames2 = fields2.Select(f => f.Name).ToArray();
- return createInput;
+ // // 找出不同的字段名称
+ // var differentFields = fieldNames1.Except(fieldNames2).ToArray();
+
+
+ // return differentFields;
+ //}
+
+
+ public static string[] GetDifferentPropertyNames(Type type1, Type type2)
+ {
+ // 获取两个类型的属性
+ var properties1 = type1.GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static);
+ var properties2 = type2.GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static);
+
+ // 获取属性名称
+ var propertyNames1 = properties1.Select(p => p.Name).ToArray();
+ var propertyNames2 = properties2.Select(p => p.Name).ToArray();
+
+ // 找出不同的属性名称
+ var differentProperties = propertyNames1.Except(propertyNames2)
+ .ToArray();
+
+ return differentProperties;
}
+
+
}
From 06022b6c6f3315cbdb9f4e1238696f443b2e3ed1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Wed, 16 Oct 2024 11:11:19 +0800
Subject: [PATCH 02/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../IUnplannedIssueJobAppService.cs | 4 ++
.../IUnplannedIssueRequestAppService.cs | 3 +
.../UnplannedIssueJobAppService.cs | 59 ++++++++++++++++++-
.../UnplannedIssueRequestAppService.cs | 9 +--
...lannedIssueRequestForDongyangAppService.cs | 25 +++++++-
.../Jobs/UnplannedIssueJobEventHandler.cs | 15 +++++
.../UnplannedIssueNoteEventHandler.cs | 9 ++-
7 files changed, 114 insertions(+), 10 deletions(-)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/IUnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/IUnplannedIssueJobAppService.cs
index 7b698d394..bdc757940 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/IUnplannedIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/IUnplannedIssueJobAppService.cs
@@ -10,4 +10,8 @@ public interface IUnplannedIssueJobAppService
Task CreateByRecommendAsync(UnplannedIssueRequest requestDto);
+ Task IsAllJobOverByRequestNumberAsync(string requestNumber);
+
+
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/IUnplannedIssueRequestAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/IUnplannedIssueRequestAppService.cs
index df00fd7cf..241aa6cf5 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/IUnplannedIssueRequestAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/IUnplannedIssueRequestAppService.cs
@@ -6,4 +6,7 @@ public interface IUnplannedIssueRequestAppService
: ISfsStoreRequestMasterAppServiceBase
{
Task CreateByOAAsync(UnplannedIssueRequestEditInput input);
+ Task UpdateStatusByJobAsync(string requestNumber);
+
+
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
index a91937eb5..97e8d81b1 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
@@ -12,6 +12,7 @@ using Omu.ValueInjecter;
using Volo.Abp;
using Volo.Abp.Data;
using Volo.Abp.ObjectMapping;
+using Volo.Abp.Uow;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Entities;
using Win_in.Sfs.Shared.Domain.Shared;
@@ -30,7 +31,8 @@ public class UnplannedIssueJobAppService
: SfsJobAppServiceBase,
IUnplannedIssueJobAppService
{
-
+ protected IUnplannedIssueRequestAppService UnplannedReceiptRequestAppService =>
+ LazyServiceProvider.LazyGetRequiredService();
private readonly IUnplannedIssueJobManager _unplannedIssueJobManager;
private readonly ILocationAppService _locationAppService;
private readonly IBalanceAppService _balanceAppService;
@@ -62,6 +64,15 @@ public class UnplannedIssueJobAppService
}
}
+ private async Task UpdateRequestStatusAsync(string requestNumber)
+ {
+ await UnplannedReceiptRequestAppService.UpdateStatusByJobAsync(requestNumber).ConfigureAwait(false);
+ }
+
+
+
+
+
///
/// 根据储位推荐
@@ -243,6 +254,10 @@ public class UnplannedIssueJobAppService
job.JobType = EnumJobType.UnplannedIssueJob;
job.JobStatus = EnumJobStatus.Open;
job.IsAutoComplete = false;
+ job.DeptCode = requestDto.DeptCode;
+ job.DeptName = requestDto.DeptName;
+ job.Worker = requestDto.Worker;
+
job.OANumber = requestDto.OANumber;
job.Number =await _unplannedIssueJobManager.GetNumber().ConfigureAwait(true);
job.Details = new List();
@@ -348,7 +363,6 @@ public class UnplannedIssueJobAppService
await SendDimensionalStorehouseAsync().ConfigureAwait(false);
job.JobStatus = EnumJobStatus.Wait;
}
-
jobs.Add(job);
}
}
@@ -399,6 +413,47 @@ public class UnplannedIssueJobAppService
return issuenote;
}
+ ///
+ /// 根据申请单号判断下面的任务是否都是完成或取消
+ ///
+ ///
+ [HttpPost("is-all-job-over-by-request-number")]
+ public async Task IsAllJobOverByRequestNumberAsync(string requestNumber)
+ {
+ var unplannedRequestJobs = await _repository.GetListAsync(p => p.UnplannedIssueRequestNumber == requestNumber).ConfigureAwait(false);
+ if (unplannedRequestJobs.Any(p =>
+ p.JobStatus == EnumJobStatus.Open || p.JobStatus == EnumJobStatus.Partial ||
+ p.JobStatus == EnumJobStatus.Doing || p.JobStatus == EnumJobStatus.Wait))
+ {
+ return false;
+ }
+ return true;
+ }
+
+
+ [HttpPost("handle/{id}")]
+ [UnitOfWork]
+ public override async Task CompleteAsync(Guid id, UnplannedIssueJobDTO dto)
+ {
+ var job = await _repository.GetAsync(id).ConfigureAwait(false);
+ if (job.JobStatus is EnumJobStatus.Closed or EnumJobStatus.Cancelled or EnumJobStatus.None or EnumJobStatus.Done)//需要考虑下 多次提交的问题 所以不判断 进行中
+ {
+ throw new UserFriendlyException($"任务状态错误:编号为【{job.Number}】的任务已经【{job.JobStatus.GetDisplayName()}】");
+ }
+ var handleEntity = ObjectMapper.Map(dto);
+
+ var handleResult = await _unplannedIssueJobManager.CompleteAsync(handleEntity, CurrentUser).ConfigureAwait(false);
+ var handleDto = ObjectMapper.Map(handleResult);
+
+
+ await UpdateRequestStatusAsync(job.UnplannedIssueRequestNumber).ConfigureAwait(false);
+
+
+ return handleDto;
+ }
+
+
+
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 a46cd917a..27a27fffc 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
@@ -77,8 +77,9 @@ public abstract class UnplannedIssueRequestAppService :
return dto;
}
-
-
-
-
+ [HttpPost("update-status-by-job")]
+ public virtual async Task UpdateStatusByJobAsync(string requestNumber)
+ {
+ throw new System.NotImplementedException();
+ }
}
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 b67c76e45..5180205ff 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
@@ -36,13 +36,14 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
private readonly IBalanceAppService _balanceAppService;
private readonly ILocationAppService _locationAppService;
private readonly ITransactionTypeAclService _transactionTypeAclService;
+ private readonly IUnplannedIssueJobAppService _unplannedIssueJobAppService;
//private readonly IExportImportService _excelService;
public UnplannedIssueRequestForDongyangAppService(IUnplannedIssueRequestRepository repository,
IUnplannedIssueRequestManager unplannedIssueRequestManager,
IDepartmentAppService departmentApp, IBalanceAppService balanceAppService, ILocationAppService locationAppService, IExportImportService excelService,
- ITransactionTypeAclService transactionTypeAclService
+ ITransactionTypeAclService transactionTypeAclService, IUnplannedIssueJobAppService unplannedIssueJobAppService
) : base( repository, unplannedIssueRequestManager, excelService)
{
_unplannedIssueRequestManager = unplannedIssueRequestManager;
@@ -50,6 +51,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
_balanceAppService = balanceAppService;
_locationAppService = locationAppService;
_transactionTypeAclService = transactionTypeAclService;
+ _unplannedIssueJobAppService = unplannedIssueJobAppService;
}
///
/// OA创建计划外出库申请
@@ -186,6 +188,21 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
return dto;
}
+
+ [HttpPost("update-status-by-job")]
+ public override async Task UpdateStatusByJobAsync(string requestNumber)
+ {
+ var flag = await _unplannedIssueJobAppService.IsAllJobOverByRequestNumberAsync(requestNumber).ConfigureAwait(false);
+ if (flag)
+ {
+ var unplannedReceiptRequest = await _repository.FindAsync(p => p.Number == requestNumber).ConfigureAwait(false);
+ await _repository.UpdateAsync(unplannedReceiptRequest).ConfigureAwait(false);
+ }
+ }
+
+
+
+
private async Task SetDetailPropertiesAsync(UnplannedIssueRequestDetail detail)
{
var itemBasic = await ItemBasicAclService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
@@ -469,6 +486,12 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
entity.DirectCreateNote = tranType.DirectCreateNote;
}
+
+
+
+
+
+
#endregion
#region 校验
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/UnplannedIssueJobEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/UnplannedIssueJobEventHandler.cs
index d9d76b371..0b76e9a35 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/UnplannedIssueJobEventHandler.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/UnplannedIssueJobEventHandler.cs
@@ -3,12 +3,15 @@ using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
+using Volo.Abp.Domain.Repositories;
using Volo.Abp.EventBus;
+using Volo.Abp.EventBus.Local;
using Volo.Abp.Uow;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Event;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
+using static Quartz.Logging.OperationName;
namespace Win_in.Sfs.Wms.Store.Event.BusinessJob;
@@ -47,6 +50,18 @@ public class UnplannedIssueJobEventHandler :
var note = BuildUnplannedIssueNoteCreateInput(entity);
await _noteApp.CreateAsync(note).ConfigureAwait(false);
+ entity.JobStatus=EnumJobStatus.Done;
+
+
+ //job.CompleteUserName = worker;
+ //job.JobStatus = EnumJobStatus.Done;
+ //job = await _repository.UpdateAsync(job).ConfigureAwait(false);
+ //await LocalEventBus.PublishAsync(new SfsCompletedEntityEventData(job), false).ConfigureAwait(false);
+ //await UpdateRequestStatusAsync(job.UnplannedReceiptRequestNumber).ConfigureAwait(false);
+
+
+
+
}
[UnitOfWork]
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/UnplannedIssueNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/UnplannedIssueNoteEventHandler.cs
index a1da37d65..39629793f 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/UnplannedIssueNoteEventHandler.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/UnplannedIssueNoteEventHandler.cs
@@ -1,4 +1,5 @@
using System.Collections.Generic;
+using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;
using Volo.Abp.EventBus;
@@ -23,8 +24,9 @@ public class UnplannedIssueNoteEventHandler
private const EnumTransType TransType = EnumTransType.UnplannedIssue;
private readonly IUnplannedIssueRequestAppService _unplannedIssueRequestApp;
+ private readonly IUnplannedIssueJobAppService _unplannedIssueJobApp;
- public UnplannedIssueNoteEventHandler(IUnplannedIssueRequestAppService unplannedIssueRequestApp)
+ public UnplannedIssueNoteEventHandler(IUnplannedIssueRequestAppService unplannedIssueRequestApp,IUnplannedIssueJobAppService _unplannedIssueJobApp)
{
this._unplannedIssueRequestApp = unplannedIssueRequestApp;
}
@@ -37,10 +39,11 @@ public class UnplannedIssueNoteEventHandler
if (!string.IsNullOrEmpty(entity.UnplannedIssueRequestNumber))
{
- await _unplannedIssueRequestApp.CompleteByNumberAsync(entity.UnplannedIssueRequestNumber).ConfigureAwait(false);
+
+ //await _unplannedIssueRequestApp.CompleteByNumberAsync(entity.UnplannedIssueRequestNumber).ConfigureAwait(false);
if (entity.UnplannedIssueType == EnumUnplannedIssueType.Raw)
{
- await ExpectOutAppService.RemoveAsync(entity.UnplannedIssueRequestNumber).ConfigureAwait(false);
+ await ExpectOutAppService.RemoveAsync(entity.JobNumber).ConfigureAwait(false);
}
}
}
From 216fd402049e72a75624cbe33b9d712827d7e953 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Wed, 16 Oct 2024 13:28:23 +0800
Subject: [PATCH 03/17] =?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs | 5 +++--
.../Transactions/UnplannedIssueNoteEventHandler.cs | 3 ++-
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
index 97e8d81b1..9b7b8a0d1 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
@@ -432,7 +432,7 @@ public class UnplannedIssueJobAppService
[HttpPost("handle/{id}")]
- [UnitOfWork]
+
public override async Task CompleteAsync(Guid id, UnplannedIssueJobDTO dto)
{
var job = await _repository.GetAsync(id).ConfigureAwait(false);
@@ -442,11 +442,12 @@ public class UnplannedIssueJobAppService
}
var handleEntity = ObjectMapper.Map(dto);
+ handleEntity.JobStatus = EnumJobStatus.Done;
var handleResult = await _unplannedIssueJobManager.CompleteAsync(handleEntity, CurrentUser).ConfigureAwait(false);
var handleDto = ObjectMapper.Map(handleResult);
- await UpdateRequestStatusAsync(job.UnplannedIssueRequestNumber).ConfigureAwait(false);
+
return handleDto;
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/UnplannedIssueNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/UnplannedIssueNoteEventHandler.cs
index 39629793f..bbaf0d010 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/UnplannedIssueNoteEventHandler.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/UnplannedIssueNoteEventHandler.cs
@@ -12,6 +12,7 @@ using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
using Win_in.Sfs.Wms.Store.Event.Inventories;
using Win_in.Sfs.Wms.Store.Event.Transaction;
+using static Quartz.Logging.OperationName;
namespace Win_in.Sfs.Wms.Store.Event.Transactions;
@@ -39,7 +40,7 @@ public class UnplannedIssueNoteEventHandler
if (!string.IsNullOrEmpty(entity.UnplannedIssueRequestNumber))
{
-
+ await _unplannedIssueRequestApp.UpdateStatusByJobAsync(entity.UnplannedIssueRequestNumber).ConfigureAwait(false);
//await _unplannedIssueRequestApp.CompleteByNumberAsync(entity.UnplannedIssueRequestNumber).ConfigureAwait(false);
if (entity.UnplannedIssueType == EnumUnplannedIssueType.Raw)
{
From 4ce81ee827c0607cbf9f99be9e37a9c7fa966b72 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Wed, 16 Oct 2024 16:12:22 +0800
Subject: [PATCH 04/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../UnplannedIssueJobAppService.cs | 104 ++----------------
...lannedIssueRequestForDongyangAppService.cs | 29 ++++-
.../UnplannedIssueJobManager.cs | 1 +
3 files changed, 32 insertions(+), 102 deletions(-)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
index 9b7b8a0d1..d927fe72a 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
@@ -40,7 +40,7 @@ public class UnplannedIssueJobAppService
public UnplannedIssueJobAppService(
IUnplannedIssueJobRepository repository, IUnplannedIssueJobManager unplannedIssueJobManager, ILocationAppService locationAppService, IBalanceAppService balanceAppService, IExpectOutAppService expectOutAppService
- ) : base(repository, unplannedIssueJobManager)
+ ) : base(repository, unplannedIssueJobManager )
{
_unplannedIssueJobManager = unplannedIssueJobManager;
_locationAppService = locationAppService;
@@ -96,57 +96,7 @@ public class UnplannedIssueJobAppService
- ///
- /// 根据储位推荐
- ///
- ///
- //[HttpPost("add-detail")]
- //public async Task AddDetailsAsync(UnplannedIssueJobDTO jobInput)
- //{
- // var entity=await _repository.GetAsync(p=>p.Id==jobInput.Id).ConfigureAwait(false);
- // var details=ObjectMapper.Map, List>(jobInput.Details);
-
- // var balances=new List();
-
-
- // foreach (var itm in entity.Details)
- // {
- // entity.RemoveDetail(itm.Id);
- // }
- // //var strs=GetAllFields(typeof(UnplannedIssueJobDetail));
- // foreach (var detail in details)//明细
- // {
- // //_locationAppService.get detail.HandledFromLocationCode
- // var input = new RecommendBalanceRequestInput
- // {
- // ItemCode = detail.ItemCode,
- // Qty = detail.HandledQty,
- // Statuses = new EditableList { EnumInventoryStatus.OK },
- // Locations = new List() { detail.RecommendFromLocationCode },
- // IsPackingCode = false
- // };
- // var usableList = await _balanceAppService.GetUsableListAsync(input).ConfigureAwait(false);//获取推荐库存
- // usableList = usableList
- // .OrderBy(p => p.Lot)
- // .ThenBy(p => p.PutInTime)
- // .ThenBy(p => p.Qty) //2023-9-14 苑静雯 从小数开始发料
- // .ThenBy(p => p.LocationCode)
- // .ThenBy(p => p.PackingCode)
- // .ToList();
- // decimal qty = 0;
- // //实际要用库存
- // var returnlist = DeductInventory(usableList, detail.HandledQty);
- // balances.AddRange(returnlist);
- // //useBalancesOut.AddRange(returnlist);
- // entity.AddDetail(detail);
- // }
- // var outEditInputs = await BuildExpectOutAsync(balances).ConfigureAwait(false);
- // foreach (var itm in outEditInputs)
- // {
- // itm.JobNumber = jobInput.Number;
- // }
- // await _expectOutAppService.AddManyAsync(outEditInputs).ConfigureAwait(false);
- //}
+
public static string[] GetAllFields(Type type)
{
// 获取公共实例字段
@@ -267,48 +217,7 @@ public class UnplannedIssueJobAppService
foreach (var balanceDto in balanceDtoGroup)
{
- //var jobDetail = new UnplannedIssueJobDetail();
- //jobDetail.Number = job.Number;
- //jobDetail.SetIdAndNumber(GuidGenerator,job.Id,job.Number);
- //jobDetail.CaseCode = requestDtoDetail.CaseCode;
- //jobDetail.Explain = requestDtoDetail.Explain;
- //jobDetail.OnceBusiCode = requestDtoDetail.OnceBusiCode;
- //jobDetail.ProjCapacityCode = requestDtoDetail.ProjCapacityCode;
- ////jobDetail.ReasonCode = requestDtoDetail.ReasonCode;
- //jobDetail.ItemCode = requestDtoDetail.ItemCode;
- //jobDetail.ItemDesc1 = requestDtoDetail.ItemDesc1;
- //jobDetail.ItemDesc2 = requestDtoDetail.ItemDesc2;
- //jobDetail.ItemName = requestDtoDetail.ItemName;
- //jobDetail.RecommendArriveDate = balanceDto.ArriveDate;
- //jobDetail.RecommendContainerCode = string.Empty;
- //jobDetail.RecommendExpireDate = balanceDto.ExpireDate;
- //jobDetail.RecommendLot = balanceDto.Lot;
- //jobDetail.RecommendPackingCode = balanceDto.PackingCode;
- //jobDetail.RecommendProduceDate = balanceDto.ProduceDate;
- //jobDetail.RecommendQty = balanceDto.Qty;
- //jobDetail.RecommendSupplierBatch = balanceDto.SupplierBatch;
- //jobDetail.StdPackQty = requestDtoDetail.StdPackQty;
- //jobDetail.RecommendPackingCode = balanceDto.PackingCode;
- //jobDetail.HandledPackingCode = balanceDto.PackingCode;
- //jobDetail.RecommendFromLocationArea = balanceDto.LocationArea;
- //jobDetail.RecommendFromLocationCode = balanceDto.LocationCode;
- //jobDetail.RecommendFromLocationErpCode = balanceDto.LocationErpCode;
- //jobDetail.RecommendFromLocationGroup = balanceDto.LocationGroup;
- //jobDetail.RecommendFromWarehouseCode = balanceDto.WarehouseCode;
- //jobDetail.HandledFromLocationGroup = balanceDto.LocationGroup;
- //jobDetail.HandledFromLocationArea = balanceDto.LocationArea;
- //jobDetail.HandledFromLocationCode = balanceDto.LocationCode;
- //jobDetail.HandledFromLocationErpCode = balanceDto.LocationErpCode;
- //jobDetail.HandledFromWarehouseCode = balanceDto.WarehouseCode;
- //jobDetail.HandledQty = balanceDto.Qty;
- //jobDetail.HandledSupplierBatch = balanceDto.Lot;
- //jobDetail.HandledArriveDate = balanceDto.ArriveDate;
- //jobDetail.HandledProduceDate = balanceDto.ProduceDate;
- //jobDetail.HandledExpireDate = balanceDto.ExpireDate;
- //jobDetail.HandledContainerCode = balanceDto.ContainerCode;
- //jobDetail.HandledLot = balanceDto.Lot;
- //jobDetail.HandledPackingCode = balanceDto.PackingCode;
- //jobDetail.Uom = balanceDto.Uom;
+
var jobfacDetail = new UnplannedIssueJobFacDetail();
@@ -435,7 +344,10 @@ public class UnplannedIssueJobAppService
public override async Task CompleteAsync(Guid id, UnplannedIssueJobDTO dto)
{
- var job = await _repository.GetAsync(id).ConfigureAwait(false);
+
+ //using (var _uow = new UnitOfWorkManager()) { }
+
+ var job = await _repository.GetAsync(id).ConfigureAwait(false);
if (job.JobStatus is EnumJobStatus.Closed or EnumJobStatus.Cancelled or EnumJobStatus.None or EnumJobStatus.Done)//需要考虑下 多次提交的问题 所以不判断 进行中
{
throw new UserFriendlyException($"任务状态错误:编号为【{job.Number}】的任务已经【{job.JobStatus.GetDisplayName()}】");
@@ -447,7 +359,7 @@ public class UnplannedIssueJobAppService
var handleDto = ObjectMapper.Map(handleResult);
-
+ await UpdateRequestStatusAsync(job.UnplannedIssueRequestNumber).ConfigureAwait(false);
return handleDto;
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 5180205ff..1f26798b7 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
@@ -100,14 +100,31 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
await CreateByDYOAsync(importList, EnumUnplannedIssueType.IMPORT).ConfigureAwait(false);
- //if (errors.Count > 0)
- //{
- // var fileContent = _excelService.Export(errors);
- // return new TestResult(fileContent.FileContents, ExportImportService.ContentType) { FileDownloadName = "错误信息" };
- //}
+ List errorsList = new List();
+
+ foreach (var itm in importList)
+ {
+ if (string.IsNullOrEmpty(itm.CaseCode)
+ || string.IsNullOrEmpty(itm.ItemCode)
+ || itm.Qty == 0
+ || string.IsNullOrEmpty(itm.ProjCapacityCode)
+ || string.IsNullOrEmpty(itm.LocationErpCode)
+
+ )
+ {
+ itm.Explain = "此项错误";
+ errorsList.Add(itm);
+ }
+ }
+
+ if (errorsList.Count > 0)
+ {
+ var fileContent = _excelService.Export(errorsList);
+ return new TestResult(fileContent.FileContents, ExportImportService.ContentType) { FileDownloadName =fileContent.FileDownloadName };
+ }
var fileContent1 = _excelService.Export(importList);
- // return new TestResult(fileContent1.FileContents, ExportImportService.ContentType) { FileDownloadName = "Kitting导入文件" };
+
return new JsonResult(new { Code = 200, FileDownloadName = fileContent1.FileDownloadName });
}
catch (Exception e)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJobManager.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJobManager.cs
index 174015bc2..e9aa8610a 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJobManager.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJobManager.cs
@@ -52,6 +52,7 @@ public class UnplannedIssueJobManager : SfsJobManagerBase
Date: Wed, 16 Oct 2024 17:05:24 +0800
Subject: [PATCH 05/17] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=95=B0=E9=87=8Fbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../UnplannedIssueJobAppService.cs | 57 +++++++++++--------
...lannedIssueRequestForDongyangAppService.cs | 5 +-
.../UnplannedIssueNoteEventHandler.cs | 10 ++--
3 files changed, 42 insertions(+), 30 deletions(-)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
index d927fe72a..7b3b7728e 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
@@ -11,6 +11,7 @@ using Microsoft.AspNetCore.Mvc;
using Omu.ValueInjecter;
using Volo.Abp;
using Volo.Abp.Data;
+using Volo.Abp.Domain.Entities;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Uow;
using Win_in.Sfs.Basedata.Application.Contracts;
@@ -37,16 +38,18 @@ public class UnplannedIssueJobAppService
private readonly ILocationAppService _locationAppService;
private readonly IBalanceAppService _balanceAppService;
private readonly IExpectOutAppService _expectOutAppService;
+ private readonly IUnitOfWorkManager _unitOfWorkManager;
public UnplannedIssueJobAppService(
- IUnplannedIssueJobRepository repository, IUnplannedIssueJobManager unplannedIssueJobManager, ILocationAppService locationAppService, IBalanceAppService balanceAppService, IExpectOutAppService expectOutAppService
+ IUnplannedIssueJobRepository repository, IUnplannedIssueJobManager unplannedIssueJobManager, ILocationAppService locationAppService,
+ IBalanceAppService balanceAppService, IExpectOutAppService expectOutAppService, IUnitOfWorkManager unitOfWorkManager
) : base(repository, unplannedIssueJobManager )
{
_unplannedIssueJobManager = unplannedIssueJobManager;
_locationAppService = locationAppService;
_balanceAppService = balanceAppService;
_expectOutAppService = expectOutAppService;
-
+ _unitOfWorkManager = unitOfWorkManager;
}
///
@@ -97,14 +100,14 @@ public class UnplannedIssueJobAppService
- public static string[] GetAllFields(Type type)
- {
- // 获取公共实例字段
- var fields = type.GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic);
+ //public static string[] GetAllFields(Type type)
+ //{
+ // // 获取公共实例字段
+ // var fields = type.GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic);
- // 返回字段名称
- return fields.Select(f => f.Name).ToArray();
- }
+ // // 返回字段名称
+ // return fields.Select(f => f.Name).ToArray();
+ //}
@@ -117,15 +120,16 @@ public class UnplannedIssueJobAppService
decimal availableToDeduct = Math.Min(item.Qty, quantityToDeduct - totalDeducted);
item.Qty -= availableToDeduct;
totalDeducted += availableToDeduct;
- BalanceDTO dto = new BalanceDTO();
- dto.InjectFrom(item);
- dto.Qty = availableToDeduct;
- balanceDTOs.Add(dto);
+
// 如果已经扣减达到所需数量,退出循环
if (totalDeducted >= quantityToDeduct)
{
break;
}
+ BalanceDTO dto = new BalanceDTO();
+ dto.InjectFrom(item);
+ dto.Qty = availableToDeduct;
+ balanceDTOs.Add(dto);
}
// 返回实际扣减的库存数量
return balanceDTOs;
@@ -344,21 +348,26 @@ public class UnplannedIssueJobAppService
public override async Task CompleteAsync(Guid id, UnplannedIssueJobDTO dto)
{
-
- //using (var _uow = new UnitOfWorkManager()) { }
-
- var job = await _repository.GetAsync(id).ConfigureAwait(false);
- if (job.JobStatus is EnumJobStatus.Closed or EnumJobStatus.Cancelled or EnumJobStatus.None or EnumJobStatus.Done)//需要考虑下 多次提交的问题 所以不判断 进行中
+ var job = await _repository.GetAsync(id).ConfigureAwait(false);
+ var handleDto = new UnplannedIssueJobDTO();
+ using (var uow = _unitOfWorkManager.Begin())
{
- throw new UserFriendlyException($"任务状态错误:编号为【{job.Number}】的任务已经【{job.JobStatus.GetDisplayName()}】");
- }
- var handleEntity = ObjectMapper.Map(dto);
+ // 在工作单元中插入数据
+
+ if (job.JobStatus is EnumJobStatus.Closed or EnumJobStatus.Cancelled or EnumJobStatus.None or EnumJobStatus.Done)//需要考虑下 多次提交的问题 所以不判断 进行中
+ {
+ throw new UserFriendlyException($"任务状态错误:编号为【{job.Number}】的任务已经【{job.JobStatus.GetDisplayName()}】");
+ }
+ var handleEntity = ObjectMapper.Map(dto);
- handleEntity.JobStatus = EnumJobStatus.Done;
- var handleResult = await _unplannedIssueJobManager.CompleteAsync(handleEntity, CurrentUser).ConfigureAwait(false);
- var handleDto = ObjectMapper.Map(handleResult);
+ handleEntity.JobStatus = EnumJobStatus.Done;
+ var handleResult = await _unplannedIssueJobManager.CompleteAsync(handleEntity, CurrentUser).ConfigureAwait(false);
+ handleDto = ObjectMapper.Map(handleResult);
+ await _expectOutAppService.RemoveAsync(dto.Number).ConfigureAwait(false);
+ };
+
await UpdateRequestStatusAsync(job.UnplannedIssueRequestNumber).ConfigureAwait(false);
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 1f26798b7..67e499d38 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
@@ -12,6 +12,7 @@ using Omu.ValueInjecter;
using Volo.Abp;
using Volo.Abp.Data;
using Volo.Abp.Domain.Entities;
+using Volo.Abp.Uow;
using Volo.Abp.Users;
using Win_in.Sfs.Auth.Application.Contracts;
using Win_in.Sfs.Basedata.Application.Contracts;
@@ -37,13 +38,14 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
private readonly ILocationAppService _locationAppService;
private readonly ITransactionTypeAclService _transactionTypeAclService;
private readonly IUnplannedIssueJobAppService _unplannedIssueJobAppService;
+ private readonly IUnitOfWorkManager _unitOfWorkManager;
//private readonly IExportImportService _excelService;
public UnplannedIssueRequestForDongyangAppService(IUnplannedIssueRequestRepository repository,
IUnplannedIssueRequestManager unplannedIssueRequestManager,
IDepartmentAppService departmentApp, IBalanceAppService balanceAppService, ILocationAppService locationAppService, IExportImportService excelService,
- ITransactionTypeAclService transactionTypeAclService, IUnplannedIssueJobAppService unplannedIssueJobAppService
+ ITransactionTypeAclService transactionTypeAclService, IUnplannedIssueJobAppService unplannedIssueJobAppService, IUnitOfWorkManager unitOfWorkManager
) : base( repository, unplannedIssueRequestManager, excelService)
{
_unplannedIssueRequestManager = unplannedIssueRequestManager;
@@ -52,6 +54,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
_locationAppService = locationAppService;
_transactionTypeAclService = transactionTypeAclService;
_unplannedIssueJobAppService = unplannedIssueJobAppService;
+ _unitOfWorkManager = unitOfWorkManager;
}
///
/// OA创建计划外出库申请
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/UnplannedIssueNoteEventHandler.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/UnplannedIssueNoteEventHandler.cs
index bbaf0d010..e756006f9 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/UnplannedIssueNoteEventHandler.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/UnplannedIssueNoteEventHandler.cs
@@ -40,12 +40,12 @@ public class UnplannedIssueNoteEventHandler
if (!string.IsNullOrEmpty(entity.UnplannedIssueRequestNumber))
{
- await _unplannedIssueRequestApp.UpdateStatusByJobAsync(entity.UnplannedIssueRequestNumber).ConfigureAwait(false);
+ //await _unplannedIssueRequestApp.UpdateStatusByJobAsync(entity.UnplannedIssueRequestNumber).ConfigureAwait(false);
//await _unplannedIssueRequestApp.CompleteByNumberAsync(entity.UnplannedIssueRequestNumber).ConfigureAwait(false);
- if (entity.UnplannedIssueType == EnumUnplannedIssueType.Raw)
- {
- await ExpectOutAppService.RemoveAsync(entity.JobNumber).ConfigureAwait(false);
- }
+ //if (entity.UnplannedIssueType == EnumUnplannedIssueType.Raw)
+ //{
+ // await ExpectOutAppService.RemoveAsync(entity.JobNumber).ConfigureAwait(false);
+ //}
}
}
From 49a5ed5b81663c230e102a0db22e78962741aacb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Thu, 17 Oct 2024 09:49:15 +0800
Subject: [PATCH 06/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../UnplannedIssueJobAppService.cs | 37 ++++++++++++++-----
.../UnplannedReceiptJobAppService.cs | 2 +-
2 files changed, 28 insertions(+), 11 deletions(-)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
index 7b3b7728e..874e2bcde 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
@@ -120,16 +120,18 @@ public class UnplannedIssueJobAppService
decimal availableToDeduct = Math.Min(item.Qty, quantityToDeduct - totalDeducted);
item.Qty -= availableToDeduct;
totalDeducted += availableToDeduct;
-
+ if (availableToDeduct <= 0)
+ {
+ BalanceDTO dto = new BalanceDTO();
+ dto.InjectFrom(item);
+ dto.Qty = availableToDeduct;
+ balanceDTOs.Add(dto);
+ }
// 如果已经扣减达到所需数量,退出循环
if (totalDeducted >= quantityToDeduct)
{
break;
}
- BalanceDTO dto = new BalanceDTO();
- dto.InjectFrom(item);
- dto.Qty = availableToDeduct;
- balanceDTOs.Add(dto);
}
// 返回实际扣减的库存数量
return balanceDTOs;
@@ -145,6 +147,7 @@ public class UnplannedIssueJobAppService
foreach (var requestDtoDetail in requestDto.Details)//非计划领料明细
{
var locationCodes = await _locationAppService.GetListByErpLocationCodes(new StringList(requestDtoDetail.LocationErpCode)).ConfigureAwait(false);//获取存放库位
+
var input = new RecommendBalanceRequestInput
{
ItemCode = requestDtoDetail.ItemCode,
@@ -154,6 +157,9 @@ public class UnplannedIssueJobAppService
IsPackingCode = false
};
var usableList = await _balanceAppService.GetUsableListAsync(input).ConfigureAwait(false);//获取推荐库存
+
+ usableList = usableList.Where(p => p.Qty> 0).ToList();
+
usableList = usableList
.OrderBy(p => p.Lot)
.ThenBy(p => p.PutInTime)
@@ -198,11 +204,26 @@ public class UnplannedIssueJobAppService
{
throw new UserFriendlyException("库存余额不够!");
}
-
foreach (var balanceDtoGroup in useBalances.GroupBy(p => p.LocationCode))
{
var locationDto = await _locationAppService.GetByCodeAsync(balanceDtoGroup.Key).ConfigureAwait(false);
var job = new UnplannedIssueJob();
+ switch (locationDto.Type)
+ {
+ case EnumLocationType.RAW:
+ job.UnplannedIssueType = EnumUnplannedIssueType.Raw;
+ break;
+ case EnumLocationType.FG:
+ case EnumLocationType.DimensionalStorehouse:
+ case EnumLocationType.CUST:
+ case EnumLocationType.KittingWip:
+ case EnumLocationType.OUTSIDE:
+ case EnumLocationType.SEMI:
+ case EnumLocationType.WIP:
+ case EnumLocationType.THIRDPARTY:
+ job.UnplannedIssueType = EnumUnplannedIssueType.Wip;
+ break;
+ }
job.SetId(GuidGenerator.Create());
job.UnplannedIssueRequestNumber= requestDto.Number;
job.JobType = EnumJobType.UnplannedIssueJob;
@@ -211,7 +232,6 @@ public class UnplannedIssueJobAppService
job.DeptCode = requestDto.DeptCode;
job.DeptName = requestDto.DeptName;
job.Worker = requestDto.Worker;
-
job.OANumber = requestDto.OANumber;
job.Number =await _unplannedIssueJobManager.GetNumber().ConfigureAwait(true);
job.Details = new List();
@@ -221,10 +241,7 @@ public class UnplannedIssueJobAppService
foreach (var balanceDto in balanceDtoGroup)
{
-
-
var jobfacDetail = new UnplannedIssueJobFacDetail();
-
jobfacDetail.Number = job.Number;
jobfacDetail.SetIdAndNumber(GuidGenerator, job.Id, job.Number);
jobfacDetail.CaseCode = requestDtoDetail.CaseCode;
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAppService.cs
index 3ea3af4ff..78143a07c 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAppService.cs
@@ -94,7 +94,7 @@ public class UnplannedReceiptJobAppService
public async Task DoByFreeAsync(string jobNumber,string worker,List detailDtos)
{
var details = ObjectMapper.Map, List>(detailDtos);
- var job=await _repository.FindAsync(p => p.Number == jobNumber).ConfigureAwait(false);
+ var job=await _repository.FindAsync(p => p.Number == jobNumber).ConfigureAwait(false);
if (job == null)
{
throw new UserFriendlyException($"{jobNumber}【任务】不存在");
From ea1adfcd29ec3fbdc4ba7d6cb377772bb90500c4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Thu, 17 Oct 2024 09:53:57 +0800
Subject: [PATCH 07/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
index 874e2bcde..d63220b5e 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
@@ -120,7 +120,7 @@ public class UnplannedIssueJobAppService
decimal availableToDeduct = Math.Min(item.Qty, quantityToDeduct - totalDeducted);
item.Qty -= availableToDeduct;
totalDeducted += availableToDeduct;
- if (availableToDeduct <= 0)
+ if (availableToDeduct > 0)
{
BalanceDTO dto = new BalanceDTO();
dto.InjectFrom(item);
From 9f63954713592e33d05f8958b3c8d3387dd87d90 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Thu, 17 Oct 2024 11:13:43 +0800
Subject: [PATCH 08/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../UnplannedIssueJobAppService.cs | 47 ++++++++++++++++---
1 file changed, 40 insertions(+), 7 deletions(-)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
index d63220b5e..1775a1a6a 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
@@ -8,6 +8,7 @@ using Castle.Components.DictionaryAdapter;
using Irony;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Logging;
using Omu.ValueInjecter;
using Volo.Abp;
using Volo.Abp.Data;
@@ -39,10 +40,11 @@ public class UnplannedIssueJobAppService
private readonly IBalanceAppService _balanceAppService;
private readonly IExpectOutAppService _expectOutAppService;
private readonly IUnitOfWorkManager _unitOfWorkManager;
+ private readonly ILogger _logger;
public UnplannedIssueJobAppService(
IUnplannedIssueJobRepository repository, IUnplannedIssueJobManager unplannedIssueJobManager, ILocationAppService locationAppService,
- IBalanceAppService balanceAppService, IExpectOutAppService expectOutAppService, IUnitOfWorkManager unitOfWorkManager
+ IBalanceAppService balanceAppService, IExpectOutAppService expectOutAppService, IUnitOfWorkManager unitOfWorkManager, ILogger logger
) : base(repository, unplannedIssueJobManager )
{
_unplannedIssueJobManager = unplannedIssueJobManager;
@@ -50,6 +52,7 @@ public class UnplannedIssueJobAppService
_balanceAppService = balanceAppService;
_expectOutAppService = expectOutAppService;
_unitOfWorkManager = unitOfWorkManager;
+ _logger = logger;
}
///
@@ -111,10 +114,11 @@ public class UnplannedIssueJobAppService
- private List DeductInventory(List inventory, decimal quantityToDeduct)
+ private async Task> DeductInventory(List inventory, decimal quantityToDeduct)
{
List balanceDTOs = new List();
decimal totalDeducted = 0;
+
foreach (var item in inventory)
{
decimal availableToDeduct = Math.Min(item.Qty, quantityToDeduct - totalDeducted);
@@ -122,10 +126,28 @@ public class UnplannedIssueJobAppService
totalDeducted += availableToDeduct;
if (availableToDeduct > 0)
{
+ var locationDto = await _locationAppService.GetByCodeAsync(item.LocationCode).ConfigureAwait(false);
BalanceDTO dto = new BalanceDTO();
- dto.InjectFrom(item);
- dto.Qty = availableToDeduct;
- balanceDTOs.Add(dto);
+ switch (locationDto.Type)
+ {
+ case EnumLocationType.RAW:
+ dto.InjectFrom(item);
+ dto.Qty = availableToDeduct;
+ balanceDTOs.Add(dto);
+ break;
+ case EnumLocationType.FG:
+ case EnumLocationType.DimensionalStorehouse:
+ case EnumLocationType.CUST:
+ case EnumLocationType.KittingWip:
+ case EnumLocationType.OUTSIDE:
+ case EnumLocationType.SEMI:
+ case EnumLocationType.WIP:
+ case EnumLocationType.THIRDPARTY:
+
+ dto.InjectFrom(item);
+ balanceDTOs.Add(dto);
+ break;
+ }
}
// 如果已经扣减达到所需数量,退出循环
if (totalDeducted >= quantityToDeduct)
@@ -143,6 +165,7 @@ public class UnplannedIssueJobAppService
private async Task> BuildUnplannedIssueJobAsync(UnplannedIssueRequest requestDto, List useBalancesOut)
{
List jobs = new EditableList();
+ List Errors= new List();
foreach (var requestDtoDetail in requestDto.Details)//非计划领料明细
{
@@ -171,10 +194,12 @@ public class UnplannedIssueJobAppService
decimal qty = 0;
//实际要用库存
List useBalances = new List();
- var returnlist=DeductInventory(usableList, requestDtoDetail.Qty);
+ var returnlist=await DeductInventory(usableList, requestDtoDetail.Qty).ConfigureAwait(false);
useBalances.AddRange(returnlist);
useBalancesOut.AddRange(returnlist);
+
+
//foreach (var balanceDto in usableList)
//{
// decimal availableToDeduct = Math.Min(balanceDto.Qty, balanceDto.Qty - qty);
@@ -202,7 +227,8 @@ public class UnplannedIssueJobAppService
//}
if (returnlist.Count == 0)
{
- throw new UserFriendlyException("库存余额不够!");
+ Errors.Add($"{"非生产领料"+requestDto.Number+"零件号:"+requestDtoDetail.ItemCode + "库存不够" + requestDtoDetail.Qty.ToString()}");
+
}
foreach (var balanceDtoGroup in useBalances.GroupBy(p => p.LocationCode))
{
@@ -296,6 +322,13 @@ public class UnplannedIssueJobAppService
jobs.Add(job);
}
}
+ if (Errors.Count > 0)
+ {
+ foreach (var itm in Errors)
+ {
+ _logger.LogError(itm);
+ }
+ }
return jobs;
}
From 17e4689bb88669fac07495bfc8faee9119db3982 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Thu, 17 Oct 2024 13:19:23 +0800
Subject: [PATCH 09/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?=
=?UTF-8?q?=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../UnplannedIssueJobAppService.cs | 24 +++++++++----------
...lannedIssueRequestForDongyangAppService.cs | 1 +
2 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
index 1775a1a6a..ac61ba485 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAppService.cs
@@ -400,25 +400,25 @@ public class UnplannedIssueJobAppService
{
var job = await _repository.GetAsync(id).ConfigureAwait(false);
var handleDto = new UnplannedIssueJobDTO();
- using (var uow = _unitOfWorkManager.Begin())
- {
+ //using (var uow = _unitOfWorkManager.Begin())
+ //{
// 在工作单元中插入数据
if (job.JobStatus is EnumJobStatus.Closed or EnumJobStatus.Cancelled or EnumJobStatus.None or EnumJobStatus.Done)//需要考虑下 多次提交的问题 所以不判断 进行中
{
throw new UserFriendlyException($"任务状态错误:编号为【{job.Number}】的任务已经【{job.JobStatus.GetDisplayName()}】");
}
- var handleEntity = ObjectMapper.Map(dto);
-
- handleEntity.JobStatus = EnumJobStatus.Done;
- var handleResult = await _unplannedIssueJobManager.CompleteAsync(handleEntity, CurrentUser).ConfigureAwait(false);
- handleDto = ObjectMapper.Map(handleResult);
-
- await _expectOutAppService.RemoveAsync(dto.Number).ConfigureAwait(false);
- };
-
-
+ var handleEntity = ObjectMapper.Map(dto);
+ var handleResult = await _unplannedIssueJobManager.CompleteAsync(handleEntity, CurrentUser).ConfigureAwait(false);
+ handleDto = ObjectMapper.Map(handleResult);
+ await _expectOutAppService.RemoveAsync(dto.Number).ConfigureAwait(false);
+ handleResult.JobStatus = EnumJobStatus.Done;
+ handleResult.CompleteUserName = dto.Worker;
+ handleResult.JobStatus = EnumJobStatus.Done;
+ job = await _repository.UpdateAsync(handleResult).ConfigureAwait(false);
await UpdateRequestStatusAsync(job.UnplannedIssueRequestNumber).ConfigureAwait(false);
+ //};
+
return handleDto;
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 67e499d38..1507eacb6 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
@@ -216,6 +216,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
if (flag)
{
var unplannedReceiptRequest = await _repository.FindAsync(p => p.Number == requestNumber).ConfigureAwait(false);
+ unplannedReceiptRequest.RequestStatus = EnumRequestStatus.Completed;
await _repository.UpdateAsync(unplannedReceiptRequest).ConfigureAwait(false);
}
}
From 870a5dc2e6b25dc75359db7167a48fb0e167f989 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Thu, 17 Oct 2024 14:04:08 +0800
Subject: [PATCH 10/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...lannedIssueRequestForDongyangAppService.cs | 69 ++++++++++++-------
1 file changed, 46 insertions(+), 23 deletions(-)
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 1507eacb6..0d32ace16 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
@@ -136,6 +136,29 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
}
}
+ private async Task SetEntityPropertiesAsync(UnplannedIssueRequest entity)
+ {
+ var userName = CurrentUser.GetUserName_New();
+ var name = CurrentUser.GetName();
+ if (userName != null)
+ {
+ var department = await _departmentApp.GetByUsernameAsync(userName).ConfigureAwait(false);
+
+ if (department != null)
+ {
+ entity.DeptCode = department.Code;
+ entity.DeptName = department.Name;
+ }
+ entity.CreatorId = CurrentUser.Id;
+ entity.Worker = name;
+ }
+
+ entity.BuildDate = DateTime.Now;
+
+ //await SetRequestAutoPropertiesAsync(entity).ConfigureAwait(false);
+ }
+
+
///
/// OA接口
@@ -173,9 +196,9 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
request.DeptCode = first.DeptCode;
request.DeptName = first.DeptName;
request.BuildDate= DateTime.Now;
-
+ await SetEntityPropertiesAsync(request).ConfigureAwait(false);
List detailList = new List();
foreach (var itm in p_list)
{
@@ -465,28 +488,28 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
///
///
///
- private async Task SetEntityPropertiesAsync(UnplannedIssueRequest entity)
- {
- var userName = CurrentUser.GetUserName_New();
- var name = CurrentUser.GetName();
- if (userName != null)
- {
- var department = await _departmentApp.GetByUsernameAsync(userName).ConfigureAwait(false);
-
- if (department != null)
- {
- entity.DeptCode = department.Code;
- entity.DeptName = department.Name;
- }
-
- entity.Worker = name;
- entity.CreatorId = CurrentUser.Id;
- }
-
- entity.BuildDate = DateTime.Now;
-
- await SetRequestAutoPropertiesAsync(entity).ConfigureAwait(false);
- }
+ //private async Task SetEntityPropertiesAsync(UnplannedIssueRequest entity)
+ //{
+ // var userName = CurrentUser.GetUserName_New();
+ // var name = CurrentUser.GetName();
+ // if (userName != null)
+ // {
+ // var department = await _departmentApp.GetByUsernameAsync(userName).ConfigureAwait(false);
+
+ // if (department != null)
+ // {
+ // entity.DeptCode = department.Code;
+ // entity.DeptName = department.Name;
+ // }
+
+ // entity.Worker = name;
+ // entity.CreatorId = CurrentUser.Id;
+ // }
+
+ // entity.BuildDate = DateTime.Now;
+
+ // await SetRequestAutoPropertiesAsync(entity).ConfigureAwait(false);
+ //}
///
/// 赋值业务事务
From 214dd050a3d3d75e58dd3bf675bac1b3782ab624 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Thu, 17 Oct 2024 14:42:06 +0800
Subject: [PATCH 11/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...lannedIssueRequestForDongyangAppService.cs | 173 ++++++------------
1 file changed, 59 insertions(+), 114 deletions(-)
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 0d32ace16..aa33cba67 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
@@ -136,6 +136,16 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
}
}
+
+
+
+
+
+
+
+
+
+
private async Task SetEntityPropertiesAsync(UnplannedIssueRequest entity)
{
var userName = CurrentUser.GetUserName_New();
@@ -274,13 +284,6 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
}
-
-
-
-
-
-
-
///
/// 用来重写 导入数据时可以加工数据
///
@@ -290,71 +293,39 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
{
var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key);
- foreach (var unplannedIssueRequest in addList)
+ foreach (var unplannedReceiptRequest in addList)
{
- if(unplannedIssueRequest.UnplannedIssueType != EnumUnplannedIssueType.Wip&& unplannedIssueRequest.UnplannedIssueType != EnumUnplannedIssueType.Raw)
- {
- throw new UserFriendlyException($"【{unplannedIssueRequest.UnplannedIssueType}】领料类型," +
- $"不是{EnumUnplannedIssueType.Wip.GetDisplayName()}" +
- $"或{EnumUnplannedIssueType.Raw.GetDisplayName()}】");
- }
- await SetRequestAutoPropertiesAsync(unplannedIssueRequest).ConfigureAwait(false);
- await SetEntityPropertiesAsync(unplannedIssueRequest).ConfigureAwait(false);
- List newDetails = new List();
- foreach (var detail in unplannedIssueRequest.Details)
+ //if (unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Wip && unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Raw)
+ //{
+ // throw new UserFriendlyException($"【{unplannedReceiptRequest.UnplannedIssueType}】退料料类型," +
+ // $"不是{EnumUnplannedReceiptType.Wip.GetDisplayName()}" +
+ // $"或{EnumUnplannedReceiptType.Raw.GetDisplayName()}】");
+ //}
+ await SetRequestAutoPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false);
+ await SetEntityPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false);
+
+ foreach (var detail in unplannedReceiptRequest.Details)
{
- //需要复制一个这个方法 去掉区域参数 换成库位参数
- RecommendBalanceRequestInput input = new RecommendBalanceRequestInput();
- if (unplannedIssueRequest.UnplannedIssueType == EnumUnplannedIssueType.Raw)
- {
- var locationDto = await _locationAppService.GetByCodeAsync(detail.LocationCode).ConfigureAwait(false);
- if (locationDto.Type != EnumLocationType.RAW && locationDto.Type != EnumLocationType.SEMI && locationDto.Type != EnumLocationType.FG)
- {
- throw new UserFriendlyException($"【{detail.LocationCode}】库位类型错误," +
- $"不是{EnumLocationType.RAW.GetDisplayName()}" +
- $"或{EnumLocationType.SEMI.GetDisplayName()}" +
- $"或{EnumLocationType.FG.GetDisplayName()}】");
- }
- // unplannedIssueRequest.DirectCreateNote = false;
- input.IsPackingCode = true;//只查询带箱码的推荐
- }
- if (unplannedIssueRequest.UnplannedIssueType == EnumUnplannedIssueType.Wip)
- {
- var locationDto = await _locationAppService.GetByCodeAsync(detail.LocationCode).ConfigureAwait(false);
- if (locationDto.Type != EnumLocationType.WIP)
- {
- throw new UserFriendlyException($"【{detail.LocationCode}】库位类型错误," +
- $"不是{EnumLocationType.WIP.GetDisplayName()}】");
- }
- }
-
- input.ItemCode = detail.ItemCode;
- input.Locations = new List() { detail.LocationCode };
- input.Qty = detail.Qty;
- input.Statuses = new List { EnumInventoryStatus.OK };
- var balanceLst = await _balanceAppService.GetRecommendBalancesByLocationsAsync(input).ConfigureAwait(false);
- if (balanceLst.Count == 0)
- {
- throw new UserFriendlyException($"无推荐库存零件号:{input.ItemCode}库位{input.Locations[0]}!");
- }
- var sumQty = balanceLst.Sum(itm => itm.Qty);
- if (detail.Qty > sumQty)
- {
- throw new UserFriendlyException($"库存数量不足!");
- }
- foreach (var balance in balanceLst)
- {
- var newDetail = CreateNewDetail(detail, balance);
- await SetDetailPropertiesAsync(newDetail, unplannedIssueRequest.UnplannedIssueType).ConfigureAwait(false);
- newDetails.Add(newDetail);
- }
+ await SetDetailPropertiesAsync(detail).ConfigureAwait(false);
}
- unplannedIssueRequest.Details.Clear();//删除所有明细}
- unplannedIssueRequest.Details.AddRange(newDetails);//按推荐添加
}
return dictionary;
}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
///
/// 创建明细
///
@@ -413,29 +384,29 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
detail.LocationArea = location.AreaCode;
detail.LocationCode = location.Code;
}
- string packingcode = string.Empty;
- if(type!= EnumUnplannedIssueType.Wip)
- {
- packingcode = detail.PackingCode;
- }
- var balance = await _balanceAppService.GetByItemLocationAndPackingAsync(
- packingcode,
- detail.ItemCode,
- detail.LocationCode).ConfigureAwait(false);
+ //string packingcode = string.Empty;
+ //if(type!= EnumUnplannedIssueType.Wip)
+ //{
+ // packingcode = detail.PackingCode;
+ //}
+ //var balance = await _balanceAppService.GetByItemLocationAndPackingAsync(
+ // packingcode,
+ // detail.ItemCode,
+ // detail.LocationCode).ConfigureAwait(false);
- if (balance != null)
- {
- detail.SupplierBatch = balance.SupplierBatch;
- detail.ArriveDate = balance.ArriveDate;
- detail.ProduceDate = balance.ProduceDate;
- detail.ExpireDate = balance.ExpireDate;
-
- detail.Lot = balance.Lot;
- detail.ContainerCode = balance.ContainerCode;
- detail.PackingCode = balance.PackingCode;
- detail.Qty = detail.Qty;
- detail.Status = balance.Status;
- }
+ //if (balance != null)
+ //{
+ // detail.SupplierBatch = balance.SupplierBatch;
+ // detail.ArriveDate = balance.ArriveDate;
+ // detail.ProduceDate = balance.ProduceDate;
+ // detail.ExpireDate = balance.ExpireDate;
+
+ // detail.Lot = balance.Lot;
+ // detail.ContainerCode = balance.ContainerCode;
+ // detail.PackingCode = balance.PackingCode;
+ // detail.Qty = detail.Qty;
+ // detail.Status = balance.Status;
+ //}
//if (!string.IsNullOrEmpty(detail))
//{
@@ -483,33 +454,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
//}
}
- ///
- /// 赋值主记录
- ///
- ///
- ///
- //private async Task SetEntityPropertiesAsync(UnplannedIssueRequest entity)
- //{
- // var userName = CurrentUser.GetUserName_New();
- // var name = CurrentUser.GetName();
- // if (userName != null)
- // {
- // var department = await _departmentApp.GetByUsernameAsync(userName).ConfigureAwait(false);
-
- // if (department != null)
- // {
- // entity.DeptCode = department.Code;
- // entity.DeptName = department.Name;
- // }
-
- // entity.Worker = name;
- // entity.CreatorId = CurrentUser.Id;
- // }
-
- // entity.BuildDate = DateTime.Now;
-
- // await SetRequestAutoPropertiesAsync(entity).ConfigureAwait(false);
- //}
+
///
/// 赋值业务事务
From c0a742b04cc423d25c95515a24a0db95deec4653 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Thu, 17 Oct 2024 16:30:40 +0800
Subject: [PATCH 12/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../UnplannedIssueRequestImportInput.cs | 113 ++++++++++++++++--
...lannedIssueRequestForDongyangAppService.cs | 29 +++--
...nnedReceiptRequestForDongyangAppService.cs | 2 +-
3 files changed, 120 insertions(+), 24 deletions(-)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestImportInput.cs
index cba9dc85f..f4edec33c 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestImportInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestImportInput.cs
@@ -9,9 +9,9 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class UnplannedIssueRequestImportInput : SfsStoreImportInputBase
, IHasQty
{
- [Display(Name = "领料类别", Order = 0)]
- [Required(ErrorMessage = "领料类别不能为空")]
- public EnumUnplannedIssueType UnplannedIssueType { get; set; }
+ //[Display(Name = "领料类别", Order = 0)]
+ //[Required(ErrorMessage = "领料类别不能为空")]
+ //public EnumUnplannedIssueType UnplannedIssueType { get; set; }
///
/// ERP料号
@@ -38,7 +38,7 @@ public class UnplannedIssueRequestImportInput : SfsStoreImportInputBase
///
[Display(Name = "调出库位")]
[Required(ErrorMessage = "调出库位不能为空")]
- public string LocationCode { get; set; }
+ public string LocationErpCode { get; set; }
///
/// 专案
@@ -59,13 +59,13 @@ public class UnplannedIssueRequestImportInput : SfsStoreImportInputBase
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
- ///
- /// 箱码
- ///
- [Display(Name = "箱码")]
- [ImporterHeader(IsIgnore = true)]
- [ExporterHeader(IsIgnore = true)]
- public string PackingCode { get; set; }
+ /////
+ ///// 箱码
+ /////
+ //[Display(Name = "箱码")]
+ //[ImporterHeader(IsIgnore = true)]
+ //[ExporterHeader(IsIgnore = true)]
+ //public string PackingCode { get; set; }
///
/// 仓库代码
@@ -87,4 +87,95 @@ public class UnplannedIssueRequestImportInput : SfsStoreImportInputBase
[Display(Name = "说明")]
[Required(ErrorMessage = "说明不能为空")]
public string Explain { get; set; }
+
+
+
+
+ /////
+ ///// 部门代码
+ /////
+ //[Display(Name = "部门代码")]
+ //public string DeptCode { get; set; }
+
+ /////
+ ///// 部门名称
+ /////
+ //[Display(Name = "部门名称")]
+ //public string DeptName { get; set; }
+
+ /////
+ ///// 料号
+ /////
+ //[Display(Name = "料号")]
+ //[Required(ErrorMessage = "{0}是必填项")]
+ //public string ItemCode { get; set; }
+
+
+
+
+
+ /////
+ ///// 数量
+ /////
+ //[Display(Name = "数量")]
+ //[Required(ErrorMessage = "{0}是必填项")]
+ //public decimal Qty { get; set; }
+
+ /////
+ ///// 单位
+ /////
+ //[Display(Name = "单位")]
+ //public string Uom { get; set; }
+
+
+
+ /////
+ ///// 调出库位
+ /////
+ //[Display(Name = "调出库位")]
+ //[Required(ErrorMessage = "{0}是必填项")]
+ //public string LocationErpCode { get; set; }
+ /////
+ ///// 专案
+ /////
+ //[Display(Name = "专案")]
+ //[Required(ErrorMessage = "{0}是必填项")]
+ //public string CaseCode { get; set; }
+ /////
+ ///// 项目分类
+ /////
+ //[Display(Name = "项目分类")]
+ //[Required(ErrorMessage = "{0}是必填项")]
+ //public string ProjCapacityCode { get; set; }
+
+ /////
+ ///// 次交易码
+ /////
+ //[Display(Name = "次交易码")]
+ //[Required(ErrorMessage = "{0}是必填项")]
+ //public string OnceBusiCode { get; set; }
+ /////
+ ///// 说明
+ /////
+ //[Display(Name = "说明")]
+ //public string Explain { get; set; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
}
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 aa33cba67..bbd300034 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
@@ -96,6 +96,11 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
try
{
+
+
+
+
+
using var ms = new MemoryStream();
await file.OpenReadStream().CopyToAsync(ms).ConfigureAwait(false);
var inputFileBytes = ms.GetAllBytes();
@@ -506,11 +511,11 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
var balance = await BalanceAclService.GetByItemLocationAndPackingAsync(
string.Empty,
importInput.ItemCode,
- importInput.LocationCode).ConfigureAwait(false);
+ importInput.LocationErpCode).ConfigureAwait(false);
if (balance == null)
{
- validationRresult.Add(new ValidationResult($"ERP料号{importInput.ItemCode}在库位{importInput.LocationCode}没有库存记录", new string[] { "库存余额" }));
+ validationRresult.Add(new ValidationResult($"ERP料号{importInput.ItemCode}在库位{importInput.LocationErpCode}没有库存记录", new string[] { "库存余额" }));
}
else
{
@@ -558,7 +563,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
protected override async Task ValidateImportModelAsync(UnplannedIssueRequestImportInput model, List validationRresult)
{
_ = await CheckItemBasicAsync(model, validationRresult).ConfigureAwait(false);
- _ = await CheckLocationAsync(model.LocationCode, validationRresult).ConfigureAwait(false);
+ //_ = await CheckLocationAsync(model.LocationErpCode, validationRresult).ConfigureAwait(false);
await CheckOnceBusiCodeAsync(model, validationRresult).ConfigureAwait(false);//次交易码
//await CheckCaseCodeAsync(model, validationRresult).ConfigureAwait(false);//专案代码
@@ -581,15 +586,15 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
return item;
}
- protected async Task CheckLocationAsync(string locationCode, List validationRresult)
- {
- var location = await LocationAclService.GetByCodeAsync(locationCode).ConfigureAwait(false);
- if (location == null)
- {
- validationRresult.Add(new ValidationResult($"调出库位{locationCode}不存在", new string[] { "调出库位" }));
- }
- return location;
- }
+ //protected async Task CheckLocationAsync(string locationCode, List validationRresult)
+ //{
+ // var location = await LocationAclService.GetByCodeAsync(locationCode).ConfigureAwait(false);
+ // if (location == null)
+ // {
+ // validationRresult.Add(new ValidationResult($"调出库位{locationCode}不存在", new string[] { "调出库位" }));
+ // }
+ // return location;
+ //}
protected async Task CheckOnceBusiCodeAsync(UnplannedIssueRequestImportInput importInput, List validationRresult)
{
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 fd318bf3b..507deafca 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
@@ -291,7 +291,7 @@ public class UnplannedReceiptRequestForDongyangAppService : UnplannedReceiptRequ
var location = await _locationAppService.GetListByErpLocationCodes(new List{ locationCode }).ConfigureAwait(false);
if (location == null||location.Count==0)
{
- validationRresult.Add("调入储位", $"调入库位{locationCode}不存在");
+ validationRresult.Add("调出储位", $"调入出位{locationCode}不存在");
}
}
From 8950227dd6f33c3329895a8cfa40ee40cb901b6f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Thu, 17 Oct 2024 16:57:17 +0800
Subject: [PATCH 13/17] =?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...lannedIssueRequestForDongyangAppService.cs | 39 +++++++++++++------
1 file changed, 28 insertions(+), 11 deletions(-)
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 bbd300034..28800b572 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
@@ -39,6 +39,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
private readonly ITransactionTypeAclService _transactionTypeAclService;
private readonly IUnplannedIssueJobAppService _unplannedIssueJobAppService;
private readonly IUnitOfWorkManager _unitOfWorkManager;
+ private readonly ILogger _logger;
//private readonly IExportImportService _excelService;
@@ -46,6 +47,9 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
IUnplannedIssueRequestManager unplannedIssueRequestManager,
IDepartmentAppService departmentApp, IBalanceAppService balanceAppService, ILocationAppService locationAppService, IExportImportService excelService,
ITransactionTypeAclService transactionTypeAclService, IUnplannedIssueJobAppService unplannedIssueJobAppService, IUnitOfWorkManager unitOfWorkManager
+ , ILogger logger
+
+
) : base( repository, unplannedIssueRequestManager, excelService)
{
_unplannedIssueRequestManager = unplannedIssueRequestManager;
@@ -55,6 +59,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
_transactionTypeAclService = transactionTypeAclService;
_unplannedIssueJobAppService = unplannedIssueJobAppService;
_unitOfWorkManager = unitOfWorkManager;
+ _logger = logger;
}
///
/// OA创建计划外出库申请
@@ -184,8 +189,18 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
public async Task CreateByAsync(List p_list)
{
+ UnplannedIssueRequestDTO request = new UnplannedIssueRequestDTO();
+ try
+ {
+ return await CreateByDYOAsync(p_list, EnumUnplannedIssueType.OA, true).ConfigureAwait(false);
+ }
+ catch (Exception e)
+ {
+
+ throw new UserFriendlyException(e.Message);
+ }
- return await CreateByDYOAsync(p_list, EnumUnplannedIssueType.OA, true).ConfigureAwait(false);
+
}
@@ -194,6 +209,9 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
protected async Task CreateByDYOAsync(List p_list, EnumUnplannedIssueType type, bool isAutoSubmit=false)
{
+
+
+
UnplannedIssueRequest request = new UnplannedIssueRequest();
if (p_list.Count == 0)
{
@@ -563,7 +581,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
protected override async Task ValidateImportModelAsync(UnplannedIssueRequestImportInput model, List validationRresult)
{
_ = await CheckItemBasicAsync(model, validationRresult).ConfigureAwait(false);
- //_ = await CheckLocationAsync(model.LocationErpCode, validationRresult).ConfigureAwait(false);
+ _ = await CheckErpLocationAsync(model.LocationErpCode, validationRresult).ConfigureAwait(false);
await CheckOnceBusiCodeAsync(model, validationRresult).ConfigureAwait(false);//次交易码
//await CheckCaseCodeAsync(model, validationRresult).ConfigureAwait(false);//专案代码
@@ -586,15 +604,14 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
return item;
}
- //protected async Task CheckLocationAsync(string locationCode, List validationRresult)
- //{
- // var location = await LocationAclService.GetByCodeAsync(locationCode).ConfigureAwait(false);
- // if (location == null)
- // {
- // validationRresult.Add(new ValidationResult($"调出库位{locationCode}不存在", new string[] { "调出库位" }));
- // }
- // return location;
- //}
+ protected virtual async Task CheckErpLocationAsync(string locationCode, List validationRresult)
+ {
+ var location = await _locationAppService.GetListByErpLocationCodes(new List { locationCode }).ConfigureAwait(false);
+ if (location == null || location.Count == 0)
+ {
+ validationRresult.Add("调出储位", $"调入出位{locationCode}不存在");
+ }
+ }
protected async Task CheckOnceBusiCodeAsync(UnplannedIssueRequestImportInput importInput, List validationRresult)
{
From 839d9e88f1b4c56652682919f5a05d03e50e68fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Thu, 17 Oct 2024 17:29:34 +0800
Subject: [PATCH 14/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../DTOs/UnplannedIssueRequestDTO.cs | 15 +++++++++++++++
.../UnplannedIssueRequestForDongyangAppService.cs | 6 +-----
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDTO.cs
index 6abc9919d..9688315e9 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDTO.cs
@@ -1,5 +1,7 @@
using System;
+using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
+
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared.Enums.Store;
@@ -39,3 +41,16 @@ public class UnplannedIssueRequestDTO : SfsStoreRequestDTOBase Errors { set; get; }
+
+ public bool Status { set; get; }
+
+
+
+}
+
+
+
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 28800b572..ca0aba253 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
@@ -102,10 +102,6 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
try
{
-
-
-
-
using var ms = new MemoryStream();
await file.OpenReadStream().CopyToAsync(ms).ConfigureAwait(false);
var inputFileBytes = ms.GetAllBytes();
@@ -581,7 +577,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
protected override async Task ValidateImportModelAsync(UnplannedIssueRequestImportInput model, List validationRresult)
{
_ = await CheckItemBasicAsync(model, validationRresult).ConfigureAwait(false);
- _ = await CheckErpLocationAsync(model.LocationErpCode, validationRresult).ConfigureAwait(false);
+ await CheckErpLocationAsync(model.LocationErpCode, validationRresult).ConfigureAwait(false);
await CheckOnceBusiCodeAsync(model, validationRresult).ConfigureAwait(false);//次交易码
//await CheckCaseCodeAsync(model, validationRresult).ConfigureAwait(false);//专案代码
From 4bea55087f5715548892b02105b65a9b4e0c204e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Fri, 18 Oct 2024 08:46:54 +0800
Subject: [PATCH 15/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Inputs/UnplannedIssueRequestEditInput.cs | 7 +++++++
.../UnplannedIssueRequestForDongyangAppService.cs | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestEditInput.cs
index 4f5bbe640..70b5d75d0 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestEditInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestEditInput.cs
@@ -60,6 +60,13 @@ public class UnplannedIssueRequestEditInput : SfsStoreRequestCreateOrUpdateInput
public class UnplannedIssueRequestImportDto
{
+
+
+ ///
+ /// OA单据号
+ ///
+ [Display(Name = "OA单据号")]
+ public string OANumber { get; set; }
///
/// 部门代码
///
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 ca0aba253..3badc8e3a 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
@@ -225,7 +225,7 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
request.DeptCode = first.DeptCode;
request.DeptName = first.DeptName;
request.BuildDate= DateTime.Now;
-
+ request.OANumber=first.OANumber;
await SetEntityPropertiesAsync(request).ConfigureAwait(false);
List detailList = new List();
From 150c4f60b62c46556d4f614256977df80ca7f2a1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Fri, 18 Oct 2024 08:50:47 +0800
Subject: [PATCH 16/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../UnplannedIssueRequestForDongyangAppService.cs | 3 ---
1 file changed, 3 deletions(-)
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 3badc8e3a..57ba9a83a 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
@@ -236,13 +236,10 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
detail.Qty = itm.Qty;
detail.LocationErpCode = itm.LocationErpCode;
-
detail.LocationCode = "Random";
detail.WarehouseCode ="Random";
detail.LocationGroup ="Random";
detail.LocationArea = "Random";
-
-
detail.CaseCode = first.CaseCode;
detail.ProjCapacityCode = first.ProjCapacityCode;
detail.OnceBusiCode = first.OnceBusiCode;
From 53bd7d6b5a6c1e43904811103878d5af908948a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Fri, 18 Oct 2024 09:05:49 +0800
Subject: [PATCH 17/17] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...lannedIssueRequestForDongyangAppService.cs | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
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 57ba9a83a..2698cbfd3 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
@@ -9,6 +9,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using Omu.ValueInjecter;
+using Org.BouncyCastle.Asn1.Ocsp;
using Volo.Abp;
using Volo.Abp.Data;
using Volo.Abp.Domain.Entities;
@@ -484,11 +485,19 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
Check.NotNull(tranType, "事务类型", "事务类型不存在");
- entity.AutoCompleteJob = tranType.AutoCompleteJob;
- entity.AutoSubmit = tranType.AutoSubmitRequest;
- entity.AutoAgree = tranType.AutoAgreeRequest;
- entity.AutoHandle = tranType.AutoHandleRequest;
- entity.DirectCreateNote = tranType.DirectCreateNote;
+ entity.AutoCompleteJob = false;
+ entity.AutoSubmit = true;
+ entity.AutoAgree = false;
+ entity.AutoHandle = false;
+ entity.DirectCreateNote = false;
+
+
+
+ //entity.AutoCompleteJob = tranType.AutoCompleteJob;
+ //entity.AutoSubmit = tranType.AutoSubmitRequest;
+ //entity.AutoAgree = tranType.AutoAgreeRequest;
+ //entity.AutoHandle = tranType.AutoHandleRequest;
+ //entity.DirectCreateNote = tranType.DirectCreateNote;
}