From 19a98126a04aa3436932e2ca834ff85a9edf4c07 Mon Sep 17 00:00:00 2001
From: tongfei <244188119@qq.com>
Date: Fri, 19 Apr 2024 09:32:31 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 5 +++++
.../Entitys/InStockTaskBoxDetails.cs | 5 +++++
src/WMS.Web.Domain/Services/InStockService.cs | 11 ++++++++++-
.../InStockTaskRepositories.cs | 17 +++++++++--------
4 files changed, 29 insertions(+), 9 deletions(-)
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index 78f695cd..46013013 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -1141,6 +1141,11 @@
收货数量
+
+
+ 序列号集
+
+
erp入库任务明细表
diff --git a/src/WMS.Web.Domain/Entitys/InStockTaskBoxDetails.cs b/src/WMS.Web.Domain/Entitys/InStockTaskBoxDetails.cs
index a17ee8a9..6d7f0265 100644
--- a/src/WMS.Web.Domain/Entitys/InStockTaskBoxDetails.cs
+++ b/src/WMS.Web.Domain/Entitys/InStockTaskBoxDetails.cs
@@ -34,5 +34,10 @@ namespace WMS.Web.Domain.Entitys
/// 收货数量
///
public decimal ReceiveQty { get; set; }
+
+ ///
+ /// 序列号集
+ ///
+ public List SerialNumbers { get; set; } = new List();
}
}
diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs
index 7151da3f..55ebdeee 100644
--- a/src/WMS.Web.Domain/Services/InStockService.cs
+++ b/src/WMS.Web.Domain/Services/InStockService.cs
@@ -584,6 +584,9 @@ namespace WMS.Web.Domain.Services
if (taskBoxList != null && taskBoxList.Count != 0)
return Result.ReFailure(ResultCodes.InStockTaskBoxIsHaveData);
+ //序列号
+ var serialNumbs= await _serialNumbersRepositories.GetEntityListByBoxIds(dto_boxIds);
+
//3.组装绑定关系表,要添加的集合
var boxEntitys = await _boxRepositories.GetEntityList(dto_boxIds);
var taskBoxAdd = new List();
@@ -592,9 +595,15 @@ namespace WMS.Web.Domain.Services
var taskBox = _mapper.Map(item);
taskBox.TaskId = entity.Id;
taskBox.Receiver(staffId);
+
+ var currentBox_serialNumbs= serialNumbs.Where(s => s.BoxId == taskBox.BoxId).ToList();
var current_dto_box_dets = boxEntitys.Where(x => x.Id == item.BoxId).SelectMany(x => x.Details).ToList();
taskBox.Details = _mapper.Map>(current_dto_box_dets);
- taskBox.Details.ForEach(x => { x.ErpDetailId = item.ErpDetailId; });
+ taskBox.Details.ForEach(x =>
+ {
+ x.ErpDetailId = item.ErpDetailId;
+ x.SerialNumbers= currentBox_serialNumbs.Where(s => s.MaterialNumber == x.MaterialNumber).Select(s => s.SerialNumber).ToList();
+ });
taskBoxAdd.Add(taskBox);
}
var isSuccess = await _inStockTaskBoxRepositories.AddRange(taskBoxAdd, isTransaction);
diff --git a/src/WMS.Web.Repositories/InStockTaskRepositories.cs b/src/WMS.Web.Repositories/InStockTaskRepositories.cs
index 61b66934..ea726d5d 100644
--- a/src/WMS.Web.Repositories/InStockTaskRepositories.cs
+++ b/src/WMS.Web.Repositories/InStockTaskRepositories.cs
@@ -190,7 +190,8 @@ namespace WMS.Web.Repositories
ReceiveTime = x.box.CreateTime.HasValue ? x.box.CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
Receiver = x.box.ReceiverId.HasValue ? _singleDataService.GetSingleData(SingleAction.Staffs, companyId, x.box.ReceiverId.Value) : "",
Qty = x.detail.ReceiveQty,
- ReceiveQty = x.detail.ReceiveQty
+ ReceiveQty = x.detail.ReceiveQty,
+ SerialNumbers= (string.Join(",", x.detail.SerialNumbers).TrimEnd(','))
}).ToListAsync();
if (boxList != null && boxList.Count != 0)
@@ -218,14 +219,14 @@ namespace WMS.Web.Repositories
});
}
- //序列号
- var materNumbs = boxList.GroupBy(x => x.MaterialNumber).Select(x => x.Key).ToList();
- var serialNumbList = _context.SerialNumbers.Where(x => materNumbs.Contains(x.MaterialNumber)).ToList();
+ ////序列号
+ //var materNumbs = boxList.GroupBy(x => x.MaterialNumber).Select(x => x.Key).ToList();
+ //var serialNumbList = _context.SerialNumbers.Where(x => materNumbs.Contains(x.MaterialNumber)).ToList();
- boxList.ForEach(x =>
- {
- x.SerialNumbers = (string.Join(",", serialNumbList.Where(t => t.BoxId == x.BoxId && t.MaterialNumber == x.MaterialNumber).Select(t => t.SerialNumber).ToList())).TrimEnd(',');
- });
+ //boxList.ForEach(x =>
+ //{
+ // x.SerialNumbers = (string.Join(",", serialNumbList.Where(t => t.BoxId == x.BoxId && t.MaterialNumber == x.MaterialNumber).Select(t => t.SerialNumber).ToList())).TrimEnd(',');
+ //});
}