diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index 7dc66351..5911f79c 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -2838,6 +2838,11 @@
序列号集
+
+
+ 两件装序列号集
+
+
采购上架-请求对象
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index 8f9293af..77847cee 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -902,6 +902,11 @@
序列号集
+
+
+ 第二个序列号集
+
+
是否已发送
@@ -1349,6 +1354,11 @@
序列号集
+
+
+ 第二个序列号集
+
+
wms即时库存明细表
diff --git a/src/WMS.Web.Core/Dto/InStock/NoPurchaseShelfRequest.cs b/src/WMS.Web.Core/Dto/InStock/NoPurchaseShelfRequest.cs
index a376414f..f8bba3f9 100644
--- a/src/WMS.Web.Core/Dto/InStock/NoPurchaseShelfRequest.cs
+++ b/src/WMS.Web.Core/Dto/InStock/NoPurchaseShelfRequest.cs
@@ -104,5 +104,9 @@ namespace WMS.Web.Core.Dto.InStock
/// 序列号集
///
public List SerialNumbers { get; set; } = new List();
+ ///
+ /// 两件装序列号集
+ ///
+ public List TwoSerialNumbers { get; set; } = new List();
}
}
diff --git a/src/WMS.Web.Domain/Entitys/InStockDetails.cs b/src/WMS.Web.Domain/Entitys/InStockDetails.cs
index 6a62a6d6..7ce85cf1 100644
--- a/src/WMS.Web.Domain/Entitys/InStockDetails.cs
+++ b/src/WMS.Web.Domain/Entitys/InStockDetails.cs
@@ -64,6 +64,14 @@ namespace WMS.Web.Domain.Entitys
/// 物料编码
///
public string MaterialNumber { get; set; }
+
+
+ /////
+ ///// 物料编码测试
+ /////
+ //public string MaterialNumber2 { get; set; }
+
+
///
/// 数量
///
@@ -74,6 +82,13 @@ namespace WMS.Web.Domain.Entitys
///
public List SerialNumbers { get; set; } = new List();
+ ///
+ /// 第二个序列号集
+ ///
+ [NotMapped]
+ public List TwoSerialNumbers { get; set; } = new List();
+
+
///
/// 是否已发送
///
diff --git a/src/WMS.Web.Domain/Entitys/InStockTotalDetails.cs b/src/WMS.Web.Domain/Entitys/InStockTotalDetails.cs
index 0aedaa34..c37be6aa 100644
--- a/src/WMS.Web.Domain/Entitys/InStockTotalDetails.cs
+++ b/src/WMS.Web.Domain/Entitys/InStockTotalDetails.cs
@@ -49,5 +49,12 @@ namespace WMS.Web.Domain.Entitys
/// 序列号集
///
public List SerialNumbers { get; set; } = new List();
+
+ ///
+ /// 第二个序列号集
+ ///
+ [NotMapped]
+ public List TwoSerialNumbers { get; set; } = new List();
+
}
}
diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs
index 3a10d214..85e2593d 100644
--- a/src/WMS.Web.Domain/Services/InStockService.cs
+++ b/src/WMS.Web.Domain/Services/InStockService.cs
@@ -566,8 +566,9 @@ namespace WMS.Web.Domain.Services
//3.遍历:box信息,并拼装入库单明细
foreach (var box in dto.Boxs)
{
- //3.1先数据映射
- var dets = _mapper.Map>(box.Details);
+
+ //3.1先数据映射
+ var dets = _mapper.Map>(box.Details);
//3.2遍历赋值:boxID和仓库和仓位和来源单和供应商和组织
dets.ForEach(item =>
{
@@ -577,9 +578,11 @@ namespace WMS.Web.Domain.Services
});
//3.3添加到临时集合中
temps.AddRange(dets);
+
}
//3.4给对象明细赋值
entity.Details = temps;
+
//4.创建
entity.Create(loginInfo.UserInfo.StaffId);
@@ -597,6 +600,12 @@ namespace WMS.Web.Domain.Services
var current_box_mat_serNums = current_box_serNums.Where(t => t.MaterialNumber == x.MaterialNumber).Select(t => t.SerialNumber).ToList();
x.SerialNumbers.AddRange(current_box_mat_serNums);
}
+ if (x.TwoSerialNumbers != null)
+ {
+ x.SerialNumbers.AddRange(x.TwoSerialNumbers);
+ }
+
+
});
}
@@ -609,14 +618,16 @@ namespace WMS.Web.Domain.Services
var totalDetails = dto.Boxs.SelectMany(x => x.Details).GroupBy(x => new { x.MaterialNumber })
.Select(x => new InStockTotalDetails
{
+
InStockId = entity.Id,
TaskId = dto.TaskId,
SourceBillNo = task.SourceBillNo,
MaterialNumber = x.Key.MaterialNumber,
Qty = x.Sum(t => t.Qty),
- SerialNumbers = x.SelectMany(t => t.SerialNumbers).ToList()
+ SerialNumbers = x.SelectMany(t => t.SerialNumbers).ToList(),
+ TwoSerialNumbers = x.SelectMany(t => t.TwoSerialNumbers).ToList()
}).ToList();
-
+
var isSuccess = await _inStockRepositories.AddRangeTotalDetails(totalDetails, isTransaction);
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);
diff --git a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs
index 5ffd3a6c..ae30d442 100644
--- a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs
+++ b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs
@@ -227,6 +227,15 @@ namespace WMS.Web.Repositories.Configuration
(c1, c2) => c1.SequenceEqual(c2),
c => c.Aggregate(0, (a, v) => HashCode.Combine(a, v.GetHashCode())),
c => (List)c.ToList()));
+
+ ent.Property(f => f.TwoSerialNumbers).HasConversion(
+ v => JsonConvert.SerializeObject(v),
+ v => JsonConvert.DeserializeObject>(v),
+ new ValueComparer>(
+ (c1, c2) => c1.SequenceEqual(c2),
+ c => c.Aggregate(0, (a, v) => HashCode.Combine(a, v.GetHashCode())),
+ c => (List)c.ToList()));
+
});
builder.Entity(ent =>
{
diff --git a/src/WMS.Web.Repositories/InStockRepositories.cs b/src/WMS.Web.Repositories/InStockRepositories.cs
index 7519bbc9..15891f37 100644
--- a/src/WMS.Web.Repositories/InStockRepositories.cs
+++ b/src/WMS.Web.Repositories/InStockRepositories.cs
@@ -1,6 +1,7 @@
using AutoMapper;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage;
+using NPOI.POIFS.FileSystem;
using Org.BouncyCastle.Crypto;
using System;
using System.Collections.Generic;
@@ -153,6 +154,25 @@ namespace WMS.Web.Repositories
{
if (entitys != null && entitys.Count != 0)
{
+ // entitys[0].SerialNumbers = entitys[0].SerialNumbers.Add(entitys[0].TwoSerialNumbers);
+ //List entitys2=new List();
+ //for (int i = 0; i < entitys.Count; i++)
+ //{
+
+ // entitys[i].SerialNumbers = entitys[i].SerialNumbers.AddRange();
+
+
+ //}
+ //赋值序列号
+ entitys.ForEach(x =>
+ {
+
+ if (x.TwoSerialNumbers != null)
+ {
+ x.SerialNumbers.AddRange(x.TwoSerialNumbers);
+ }
+ });
+
await _context.InStockTotalDetails.AddRangeAsync(entitys);
await _context.SaveChangesAsync();
}