From 593f0036296753ca30b25ea24e3870d157a7fe01 Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Tue, 12 Dec 2023 10:42:46 +0800
Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Repositories/OutStockTaskRepositories.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs
index 38700bef..d077c138 100644
--- a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs
+++ b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs
@@ -296,7 +296,7 @@ namespace WMS.Web.Repositories
CreateTime = s.order.CreateTime.DateToStringSeconds(),
OperateTime = s.order.OperateTime.DateToStringSeconds(),
Operator = _singleDataService.GetSingleData(SingleAction.Staffs, _loginRepositories.CompanyId, s.order.OperatorId ?? 0),
- OutStockTime = s.order.OperateTime.DateToStringSeconds(),
+ OutStockTime = s.order.OutStockTime.DateToStringSeconds(),
OutStock = _singleDataService.GetSingleData(SingleAction.Staffs, _loginRepositories.CompanyId, s.order.OutStockId ?? 0),
OutStockBeginTime = s.detail.OutStockBeginTime.DateToStringSeconds(),
OutStockEndTime = s.detail.OutStockEndTime.DateToStringSeconds(),
From 50d36019fc89cb4241c5b8f4add71e26858525e5 Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Tue, 12 Dec 2023 15:58:36 +0800
Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../SaveChangeBoxRecordRequest.cs | 2 +-
.../Services/ChangeMoveBoxService.cs | 19 +++++++++++++++----
src/WMS.Web.Domain/Values/ResultCodes.cs | 1 +
3 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs b/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs
index e7e1184a..9f679638 100644
--- a/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs
+++ b/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs
@@ -13,7 +13,7 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord
///
/// 原箱子ID
///
- public int SrcBoxId { get; set; }
+ public int SrcBoxId { get; set; } = 0;
///
/// 目标箱子ID
///
diff --git a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs
index fbc6a9b3..f4982290 100644
--- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs
+++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs
@@ -33,11 +33,12 @@ namespace WMS.Web.Domain.Services
private readonly IBoxInventoryService _boxInventoryService;
private readonly IBoxInventoryRepositories _boxInventoryRepositories;
private readonly ILogger _logger;
+ private readonly ISerialNumbersRepositories _serialNumbersRepositories;
public ChangeMoveBoxService(IMapper mapper, ILoginService loginService,
IChangeBoxRecordRepositories changeBoxRecordRepositories, IBasicsRepositories basbicsRepositories,
IMoveBoxRecordRepositories moveBoxRecordRepositories, IBoxRepositories boxRepositories,
ISerialNumberService serialNumberService, IBoxInventoryService boxInventoryService, IBoxInventoryRepositories boxInventoryRepositories,
- ILogger logger)
+ ILogger logger, ISerialNumbersRepositories serialNumbersRepositories)
{
_mapper = mapper;
_loginService = loginService;
@@ -49,6 +50,7 @@ namespace WMS.Web.Domain.Services
_boxInventoryService = boxInventoryService;
_boxInventoryRepositories = boxInventoryRepositories;
_logger = logger;
+ _serialNumbersRepositories = serialNumbersRepositories;
}
///
/// 改箱保存
@@ -63,9 +65,18 @@ namespace WMS.Web.Domain.Services
var srcIds = dto.Select(s => s.SrcBoxId).Distinct().ToList();
var destIds = dto.Select(s => s.DestBoxId).Distinct().ToList();
var boxs = await _boxInventoryRepositories.GetList(srcIds);
+ var serialNumbers = dto.SelectMany(s => s.Details).SelectMany(s => s.SerialNumbers).ToList();
+ var serialNumberList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
foreach (var d in dto)
{
- if (d.SrcBoxId == 0) continue;
+ if (d.SrcBoxId == 0)
+ {
+ //没有原箱的情况下需要验证序列号是否有箱子绑定
+ var s = d.Details.SelectMany(s => s.SerialNumbers).ToList();
+ var sCount = serialNumberList.Where(w => s.Contains(w.SerialNumber) && w.BoxId != 0).Count();
+ if (sCount > 0)
+ return Result.ReFailure(ResultCodes.SerialNumbersBoxError);
+ }
var box = boxs.FirstOrDefault(f => f.BoxId == d.SrcBoxId);
//原箱在库存中的话 进行验证
if (box != null)
@@ -74,10 +85,10 @@ namespace WMS.Web.Domain.Services
{
var bDe = box.Details.FirstOrDefault(f => f.MaterialId == bd.MaterialId);
if (bDe == null)
- Result.ReFailure(ResultCodes.BoxMateriaNoData);
+ return Result.ReFailure(ResultCodes.BoxMateriaNoData);
var ex = bd.SerialNumbers.Except(bDe.SerialNumbers).ToList();
if (ex.Count() > 0)
- Result.ReFailure(ResultCodes.BoxInventorySerialNumbersNoData);
+ return Result.ReFailure(ResultCodes.BoxInventorySerialNumbersNoData);
}
}
}
diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs
index c5bb60ec..db952196 100644
--- a/src/WMS.Web.Domain/Values/ResultCodes.cs
+++ b/src/WMS.Web.Domain/Values/ResultCodes.cs
@@ -68,6 +68,7 @@ namespace WMS.Web.Domain.Values
public static ValueTuple InventoryDetailsWriteError = (800014, "写入即时库存明细失败!");
public static ValueTuple SerialNumbersNoData = (610000, "序列号不存在");
+ public static ValueTuple SerialNumbersBoxError = (610002, "序列号已经绑定箱");
public static ValueTuple TakeStockStockError = (610001, "一次不能盘多个仓库");
}
}
From cbaf04f0d6290cb4fd1cbe908313535afa94cf5f Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Tue, 12 Dec 2023 16:58:51 +0800
Subject: [PATCH 3/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Repositories/BoxRepositories.cs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/WMS.Web.Repositories/BoxRepositories.cs b/src/WMS.Web.Repositories/BoxRepositories.cs
index 56c5c5da..56c83ac8 100644
--- a/src/WMS.Web.Repositories/BoxRepositories.cs
+++ b/src/WMS.Web.Repositories/BoxRepositories.cs
@@ -57,7 +57,8 @@ namespace WMS.Web.Repositories
///
public async Task> GetBox(List BoxBillNos)
{
- var list = await _context.Box.Include(x => x.Details).Where(f => BoxBillNos.Contains(f.BoxBillNo)).ToListAsync();
+ BoxBillNos.ForEach(f => f.ToLower());
+ var list = await _context.Box.Include(x => x.Details).Where(f => BoxBillNos.Contains(f.BoxBillNo.ToLower())).ToListAsync();
var resList = _mapper.Map>(list);
var materials_result = await _erpService.BillQueryForMaterial();
From 7e5b72ac72ca257306337ba3802af31435e743f7 Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Tue, 12 Dec 2023 17:18:20 +0800
Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Repositories/BoxRepositories.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/WMS.Web.Repositories/BoxRepositories.cs b/src/WMS.Web.Repositories/BoxRepositories.cs
index 56c83ac8..b355a921 100644
--- a/src/WMS.Web.Repositories/BoxRepositories.cs
+++ b/src/WMS.Web.Repositories/BoxRepositories.cs
@@ -57,7 +57,7 @@ namespace WMS.Web.Repositories
///
public async Task> GetBox(List BoxBillNos)
{
- BoxBillNos.ForEach(f => f.ToLower());
+ BoxBillNos = BoxBillNos.ConvertAll(d => d.ToLower());
var list = await _context.Box.Include(x => x.Details).Where(f => BoxBillNos.Contains(f.BoxBillNo.ToLower())).ToListAsync();
var resList = _mapper.Map>(list);
From b23e2ebfe665dc91ae707df665c7c88a6d5f500b Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Tue, 12 Dec 2023 18:00:02 +0800
Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Api/Controllers/SysConfigController.cs | 3 ++-
src/WMS.Web.Repositories/BoxRepositories.cs | 1 -
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/WMS.Web.Api/Controllers/SysConfigController.cs b/src/WMS.Web.Api/Controllers/SysConfigController.cs
index ba374d38..e03f3ae8 100644
--- a/src/WMS.Web.Api/Controllers/SysConfigController.cs
+++ b/src/WMS.Web.Api/Controllers/SysConfigController.cs
@@ -309,8 +309,9 @@ namespace WMS.Web.Api.Controllers
if (loginInfo == null || loginInfo.UserInfo == null)
return ResultList.ReFailure(ResultCodes.Token_Invalid_Error);
+ boxBillNos = boxBillNos.ConvertAll(d => d.ToLower());
var res = await _boxRepositories.GetBox(boxBillNos);
- var bStrList = res.Select(s => s.BoxBillNo).ToList();
+ var bStrList = res.Select(s => s.BoxBillNo.ToLower()).ToList();
var ex = boxBillNos.Except(bStrList).ToList();
if (ex.Count() > 0)
return ResultList.ReFailure("箱号" + JsonConvert.SerializeObject(ex) + "不存在", 800000);
diff --git a/src/WMS.Web.Repositories/BoxRepositories.cs b/src/WMS.Web.Repositories/BoxRepositories.cs
index b355a921..ad3cb6b9 100644
--- a/src/WMS.Web.Repositories/BoxRepositories.cs
+++ b/src/WMS.Web.Repositories/BoxRepositories.cs
@@ -57,7 +57,6 @@ namespace WMS.Web.Repositories
///
public async Task> GetBox(List BoxBillNos)
{
- BoxBillNos = BoxBillNos.ConvertAll(d => d.ToLower());
var list = await _context.Box.Include(x => x.Details).Where(f => BoxBillNos.Contains(f.BoxBillNo.ToLower())).ToListAsync();
var resList = _mapper.Map>(list);