From be3283501346ab7c1022d319daa4222f2741014b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=AD=A6=20=E8=B5=B5?= <89237069@qq.com>
Date: Wed, 23 Oct 2024 11:57:28 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../DTOs/UnplannedIssueRequestDetailDTO.cs | 3 +
.../UnplannedIssueRequestDetailInput.cs | 7 ++
.../UnplannedIssueJobAppService.cs | 2 +-
...lannedIssueRequestForDongyangAppService.cs | 83 +++++++++++++++++--
.../UnplannedIssueRequestDetail.cs | 7 ++
5 files changed, 92 insertions(+), 10 deletions(-)
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDetailDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDetailDTO.cs
index 93371f9d2..e23953d45 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDetailDTO.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDetailDTO.cs
@@ -38,4 +38,7 @@ public class UnplannedIssueRequestDetailDTO
///
[Display(Name = "说明")]
public string Explain { get; set; }
+
+ [Display(Name = "储位")]
+ public string FromErpLocationCode { get; set; }
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestDetailInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestDetailInput.cs
index f16937e51..afe1cd152 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestDetailInput.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestDetailInput.cs
@@ -36,4 +36,11 @@ public class UnplannedIssueRequestDetailInput : SfsStoreDetailWithLotPackingQtyL
///
[Display(Name = "说明")]
public string Explain { get; set; }
+
+
+ ///
+ /// 储位
+ ///
+ [Display(Name = "储位")]
+ public string FromErpLocationCode { get; set; }
}
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 b00b2c5e8..f689bf65e 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
@@ -551,7 +551,7 @@ public class UnplannedIssueJobAppService
job.WarehouseCode = locationDto.WarehouseCode;
job.BuildDate = DateTime.Now;
-
+ jobs.Add(job);
}
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 27218ff9b..35a1c37b6 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
@@ -10,6 +10,7 @@ using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
+using NUglify.Helpers;
using Omu.ValueInjecter;
using Org.BouncyCastle.Asn1.Ocsp;
using Volo.Abp;
@@ -399,16 +400,42 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
{
var addList = dictionary.Where(p => p.Value == EntityState.Added).Select(p => p.Key);
+
+
+ var listDetails = new List();
+ addList.ForEach(p =>
+ {
+ listDetails.AddRange(p.Details);
+ });
+ var groupBy = listDetails.GroupBy(p => new { p.ItemCode, p.FromErpLocationCode });
+ foreach (var keyGroup in groupBy)
+ {
+ if (keyGroup.ToList().Count > 1)
+ {
+ throw new UserFriendlyException($"Erp料号【{keyGroup.Key.ItemCode}】和储位【{keyGroup.Key.FromErpLocationCode}】有重复项");
+ }
+
+ foreach (var detail in keyGroup)
+ {
+ if (detail.Qty <= 0)
+ {
+ throw new UserFriendlyException($"数量必须大于0");
+ }
+ }
+ }
+
+
+
foreach (var unplannedReceiptRequest in addList)
{
- //if (unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Wip && unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Raw)
+ //if (unplannedReceiptRequest.UnplannedType != EnumUnplannedReceiptType.Wip && unplannedReceiptRequest.UnplannedReceiptType != EnumUnplannedReceiptType.Raw)
//{
- // throw new UserFriendlyException($"【{unplannedReceiptRequest.UnplannedIssueType}】退料料类型," +
+ // throw new UserFriendlyException($"【{unplannedReceiptRequest.UnplannedReceiptType}】退料料类型," +
// $"不是{EnumUnplannedReceiptType.Wip.GetDisplayName()}" +
// $"或{EnumUnplannedReceiptType.Raw.GetDisplayName()}】");
//}
- //unplannedReceiptRequest.UnplannedIssueType = type;
-
+
+
unplannedReceiptRequest.AutoCompleteJob = false;
unplannedReceiptRequest.AutoSubmit = true;
unplannedReceiptRequest.AutoAgree = false;
@@ -417,21 +444,59 @@ public class UnplannedIssueRequestForDongyangAppService : UnplannedIssueRequestA
unplannedReceiptRequest.BuildDate = DateTime.Now;
await SetRequestAutoPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false);
await SetEntityPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false);
+
foreach (var detail in unplannedReceiptRequest.Details)
{
- detail.LocationErpCode = unplannedReceiptRequest.FromErpLocationCode;
+ detail.LocationErpCode = detail.FromErpLocationCode;
detail.LocationCode = "Random";
detail.WarehouseCode = "Random";
detail.LocationGroup = "Random";
detail.LocationArea = "Random";
- //detail.CaseCode = unplannedReceiptRequest.CaseCode;
- //detail.ProjCapacityCode = first.ProjCapacityCode;
- //detail.OnceBusiCode = first.OnceBusiCode;
- //detail.Explain = first.Explain;
await SetDetailPropertiesAsync(detail).ConfigureAwait(false);
}
}
+
+
+
+
+
+
+
+
+
+ //foreach (var unplannedReceiptRequest in addList)
+ //{
+ // //if (unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Wip && unplannedReceiptRequest.UnplannedIssueType != EnumUnplannedIssueType.Raw)
+ // //{
+ // // throw new UserFriendlyException($"【{unplannedReceiptRequest.UnplannedIssueType}】退料料类型," +
+ // // $"不是{EnumUnplannedReceiptType.Wip.GetDisplayName()}" +
+ // // $"或{EnumUnplannedReceiptType.Raw.GetDisplayName()}】");
+ // //}
+ // //unplannedReceiptRequest.UnplannedIssueType = type;
+ // unplannedReceiptRequest.AutoCompleteJob = false;
+ // unplannedReceiptRequest.AutoSubmit = true;
+ // unplannedReceiptRequest.AutoAgree = false;
+ // unplannedReceiptRequest.AutoHandle = false;
+ // unplannedReceiptRequest.DirectCreateNote = false;
+ // unplannedReceiptRequest.BuildDate = DateTime.Now;
+ // await SetRequestAutoPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false);
+ // await SetEntityPropertiesAsync(unplannedReceiptRequest).ConfigureAwait(false);
+ // foreach (var detail in unplannedReceiptRequest.Details)
+ // {
+ // detail.LocationErpCode = unplannedReceiptRequest.FromErpLocationCode;
+ // detail.LocationCode = "Random";
+ // detail.WarehouseCode = "Random";
+ // detail.LocationGroup = "Random";
+ // detail.LocationArea = "Random";
+ // //detail.CaseCode = unplannedReceiptRequest.CaseCode;
+ // //detail.ProjCapacityCode = first.ProjCapacityCode;
+ // //detail.OnceBusiCode = first.OnceBusiCode;
+ // //detail.Explain = first.Explain;
+ // await SetDetailPropertiesAsync(detail).ConfigureAwait(false);
+ // }
+ //}
+
return dictionary;
}
diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestDetail.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestDetail.cs
index 0f723262f..d29d933aa 100644
--- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestDetail.cs
+++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestDetail.cs
@@ -40,4 +40,11 @@ public class UnplannedIssueRequestDetail : SfsStoreDetailWithLotPackingQtyLocati
[Display(Name = "说明")]
public string Explain { get; set; }
+
+ ///
+ /// 储位
+ ///
+ [Display(Name = "储位")]
+ public string FromErpLocationCode { get; set; }
+
}