修改了pda

This commit is contained in:
2025-05-20 14:39:33 +08:00
parent 36d34a9bbe
commit e6df47b79a
15 changed files with 160 additions and 18 deletions

View File

@@ -145,6 +145,11 @@
序列号集 序列号集
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.BackRecord.SaveBackRecordDetailsRequest.TwoSerialNumbers">
<summary>
第二个序列号集
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.BackRecord.SaveBackRecordDetailsRequest.Remark"> <member name="P:WMS.Web.Core.Dto.BackRecord.SaveBackRecordDetailsRequest.Remark">
<summary> <summary>
备注 备注
@@ -746,6 +751,11 @@
序列号 序列号
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.ChangeBoxRecord.SaveChangeBoxRecordDetailsRequest.TwoSerialNumbers">
<summary>
第二个序列号
</summary>
</member>
<member name="T:WMS.Web.Core.Dto.EnumStatusResponse"> <member name="T:WMS.Web.Core.Dto.EnumStatusResponse">
<summary> <summary>
所有枚举信息 所有枚举信息
@@ -6135,6 +6145,11 @@
序列号集 序列号集
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.OutStock.SaveOutStockDetailsRequest.TwoSerialNumbers">
<summary>
第二个序列号集
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.OutStock.SaveOutStockDetailsRequest.BoxLength"> <member name="P:WMS.Web.Core.Dto.OutStock.SaveOutStockDetailsRequest.BoxLength">
<summary> <summary>
箱长 箱长
@@ -6896,6 +6911,11 @@
序列号 序列号
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest.TwoSerialNumbers">
<summary>
第二个序列号
</summary>
</member>
<member name="P:WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest.Remark"> <member name="P:WMS.Web.Core.Dto.TakeStock.SaveTakeStockRequest.Remark">
<summary> <summary>
备注 备注

View File

@@ -113,6 +113,11 @@
序列号集 序列号集
</summary> </summary>
</member> </member>
<member name="P:WMS.Web.Domain.Entitys.BackRecordDetails.TwoSerialNumbers">
<summary>
序列号集
</summary>
</member>
<member name="P:WMS.Web.Domain.Entitys.BackRecordDetails.Remark"> <member name="P:WMS.Web.Domain.Entitys.BackRecordDetails.Remark">
<summary> <summary>
备注 备注

View File

@@ -39,6 +39,13 @@ namespace WMS.Web.Core.Dto.BackRecord
/// </summary> /// </summary>
[Required(ErrorMessage = "序列号不能为空")] [Required(ErrorMessage = "序列号不能为空")]
public List<string> SerialNumbers { get; set; } = new List<string>(); public List<string> SerialNumbers { get; set; } = new List<string>();
/// <summary>
/// 第二个序列号集
/// </summary>
//[Required(ErrorMessage = "序列号不能为空")]
public List<string> TwoSerialNumbers { get; set; } = new List<string>();
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>

View File

@@ -75,5 +75,11 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord
/// 序列号 /// 序列号
/// </summary> /// </summary>
public List<string> SerialNumbers { get; set; } = new List<string>(); public List<string> SerialNumbers { get; set; } = new List<string>();
/// <summary>
/// 第二个序列号
/// </summary>
public List<string> TwoSerialNumbers { get; set; } = new List<string>();
} }
} }

View File

@@ -53,6 +53,11 @@ namespace WMS.Web.Core.Dto.OutStock
/// 序列号集 /// 序列号集
/// </summary> /// </summary>
public List<string> SerialNumbers { get; set; } = new List<string>(); public List<string> SerialNumbers { get; set; } = new List<string>();
/// <summary>
/// 第二个序列号集
/// </summary>
public List<string> TwoSerialNumbers { get; set; } = new List<string>();
/// <summary> /// <summary>
/// 箱长 /// 箱长
///</summary> ///</summary>

View File

@@ -64,6 +64,11 @@ namespace WMS.Web.Core.Dto.TakeStock
/// 序列号 /// 序列号
/// </summary> /// </summary>
public List<string> SerialNumbers { get; set; } = new List<string>(); public List<string> SerialNumbers { get; set; } = new List<string>();
/// <summary>
/// 第二个序列号
/// </summary>
public List<string> TwoSerialNumbers { get; set; } = new List<string>();
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>

View File

@@ -40,6 +40,12 @@ namespace WMS.Web.Domain.Entitys
/// 序列号集 /// 序列号集
/// </summary> /// </summary>
public List<string> SerialNumbers { get; set; } = new List<string>(); public List<string> SerialNumbers { get; set; } = new List<string>();
/// <summary>
/// 序列号集
/// </summary>
[NotMapped]
public List<string> TwoSerialNumbers { get; set; } = new List<string>();
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>

View File

@@ -66,13 +66,20 @@ namespace WMS.Web.Domain.Entitys
public List<BoxDetails> Details { get; set; } = new List<BoxDetails>(); public List<BoxDetails> Details { get; set; } = new List<BoxDetails>();
//移出 //移出
public Result Out(List<(string MaterialNumber, decimal Qty, List<string> SerialNumbers)> list) public Result Out(List<(string MaterialNumber, decimal Qty, List<string> SerialNumbers)> list,string isNotCount)
{ {
foreach (var l in list) foreach (var l in list)
{ {
var d = this.Details.FirstOrDefault(f => f.MaterialNumber == l.MaterialNumber); var d = this.Details.FirstOrDefault(f => f.MaterialNumber == l.MaterialNumber);
if (d == null) return Result.ReFailure(ResultCodes.BoxMateriaNoData); if (d == null) return Result.ReFailure(ResultCodes.BoxMateriaNoData);
d.Qty = d.Qty - l.Qty; if(isNotCount == "1")
{
}
else
{
d.Qty = d.Qty - l.Qty;
}
if (d.Qty <= 0) this.Details.Remove(d); if (d.Qty <= 0) this.Details.Remove(d);
//foreach (var s in l.SerialNumbers) d.SerialNumbers.Remove(s); //foreach (var s in l.SerialNumbers) d.SerialNumbers.Remove(s);
} }
@@ -80,7 +87,7 @@ namespace WMS.Web.Domain.Entitys
} }
//移入 //移入
public Result In(List<(string MaterialNumber, decimal Qty, List<string> SerialNumbers)> list) public Result In(List<(string MaterialNumber, decimal Qty, List<string> SerialNumbers)> list,string isNotCount)
{ {
foreach (var l in list) foreach (var l in list)
{ {
@@ -95,7 +102,13 @@ namespace WMS.Web.Domain.Entitys
}); });
continue; continue;
} }
d.Qty = d.Qty + l.Qty; if (isNotCount == "1")
{
}
else
{
d.Qty = d.Qty + l.Qty;
}
//d.SerialNumbers.AddRange(l.SerialNumbers); //d.SerialNumbers.AddRange(l.SerialNumbers);
} }
return Result.ReSuccess(); return Result.ReSuccess();

View File

@@ -34,6 +34,13 @@ namespace WMS.Web.Domain.Entitys
/// </summary> /// </summary>
[Column("SerialNumbers")] [Column("SerialNumbers")]
public List<string> SerialNumbers { get; set; } = new List<string>(); public List<string> SerialNumbers { get; set; } = new List<string>();
///// <summary>
///// 第二个序列号
///// </summary>
//[Column("TwoSerialNumbers")]
//public List<string> TwoSerialNumbers { get; set; } = new List<string>();
///// <summary> ///// <summary>
///// 仓位 ///// 仓位
/////</summary> /////</summary>

View File

@@ -97,6 +97,8 @@ namespace WMS.Web.Domain.Services
var destIds_boxs = await _boxInventoryRepositories.GetList(destIds); var destIds_boxs = await _boxInventoryRepositories.GetList(destIds);
var serialNumbers = dto.SelectMany(s => s.Details).SelectMany(s => s.SerialNumbers).ToList(); var serialNumbers = dto.SelectMany(s => s.Details).SelectMany(s => s.SerialNumbers).ToList();
var TwoserialNumbers = dto.SelectMany(s => s.Details).SelectMany(s => s.TwoSerialNumbers).ToList();
serialNumbers.AddRange(TwoserialNumbers);
var serialNumberList = await _serialNumbersRepositories.GetEntityList(serialNumbers); var serialNumberList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
foreach (var d in dto) foreach (var d in dto)
{ {
@@ -145,14 +147,17 @@ namespace WMS.Web.Domain.Services
if (destBoxs.Count() != destIds.Count()) return Result.ReFailure(ResultCodes.BoxNoData); if (destBoxs.Count() != destIds.Count()) return Result.ReFailure(ResultCodes.BoxNoData);
foreach (var d in dto) foreach (var d in dto)
{ {
var l = d.Details.Select(s => (s.MaterialNumber, s.Qty, s.SerialNumbers)).ToList(); var l = d.Details.Select(s => (s.MaterialNumber, s.Qty, s.SerialNumbers)).ToList();
var l2 = d.Details.Select(s => (s.MaterialNumber, s.Qty, s.TwoSerialNumbers)).ToList();
var srcBox = srcBoxs.FirstOrDefault(f => f.Id == d.SrcBoxId); var srcBox = srcBoxs.FirstOrDefault(f => f.Id == d.SrcBoxId);
var destBox = destBoxs.FirstOrDefault(f => f.Id == d.DestBoxId); var destBox = destBoxs.FirstOrDefault(f => f.Id == d.DestBoxId);
//原箱移出 //原箱移出
Result res; Result res;
if (srcBox != null) if (srcBox != null)
{ {
res = srcBox.Out(l); res = srcBox.Out(l,"0");
res = srcBox.Out(l2,"1");
if (!res.IsSuccess) return res; if (!res.IsSuccess) return res;
} }
if (srcBox != null) if (srcBox != null)
@@ -160,11 +165,35 @@ namespace WMS.Web.Domain.Services
//目标箱移入 //目标箱移入
if (!isAddBox) if (!isAddBox)
{ {
res = destBox.In(l); res = destBox.In(l, "0");
res = destBox.In(l2, "1");
if (!res.IsSuccess) return res; if (!res.IsSuccess) return res;
if (destBox != null) if (destBox != null)
boxList.Add(destBox); boxList.Add(destBox);
} }
// //var srcBox2 = srcBoxs.FirstOrDefault(f => f.Id == d.SrcBoxId);
//// var destBox2 = destBoxs.FirstOrDefault(f => f.Id == d.DestBoxId);
// //原箱移出
// Result res2;
// if (srcBox != null)
// {
// res2 = srcBox.Out(l2);
// if (!res2.IsSuccess) return res2;
// }
// if (srcBox != null)
// boxList.Add(srcBox);
// //目标箱移入
// if (!isAddBox)
// {
// res = destBox.In(l);
// if (!res.IsSuccess) return res;
// if (destBox != null)
// boxList.Add(destBox);
// }
} }
List<ChangeBoxRecord> list = new List<ChangeBoxRecord>(); List<ChangeBoxRecord> list = new List<ChangeBoxRecord>();
@@ -180,6 +209,7 @@ namespace WMS.Web.Domain.Services
foreach (var d in dt.Details) foreach (var d in dt.Details)
{ {
ChangeBoxRecord entity = new ChangeBoxRecord(); ChangeBoxRecord entity = new ChangeBoxRecord();
d.SerialNumbers.AddRange(d.TwoSerialNumbers);
entity.Create(loginInfo.UserInfo.StaffId, d.Qty, d.MaterialNumber, d.SerialNumbers, dt.SrcBoxId, dt.DestBoxId); entity.Create(loginInfo.UserInfo.StaffId, d.Qty, d.MaterialNumber, d.SerialNumbers, dt.SrcBoxId, dt.DestBoxId);
//entity.SrcSubStockId = boxi?.SubStockId ?? 0;//原乡仓位需要去拉一下库存获取 //entity.SrcSubStockId = boxi?.SubStockId ?? 0;//原乡仓位需要去拉一下库存获取
if (subStock_s != null) if (subStock_s != null)

View File

@@ -600,17 +600,27 @@ namespace WMS.Web.Domain.Services
var current_box_mat_serNums = current_box_serNums.Where(t => t.MaterialNumber == x.MaterialNumber).Select(t => t.SerialNumber).ToList(); 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); x.SerialNumbers.AddRange(current_box_mat_serNums);
} }
if (x.TwoSerialNumbers != null) //if (x.TwoSerialNumbers != null)
{ //{
x.SerialNumbers.AddRange(x.TwoSerialNumbers); // x.SerialNumbers.AddRange(x.TwoSerialNumbers);
} //}
}); });
} }
else
{
entity.Details.ForEach(x =>
{
if (x.TwoSerialNumbers != null)
{
x.SerialNumbers.AddRange(x.TwoSerialNumbers);
}
});
}
//5.1保存入库单信息 //5.1保存入库单信息
entity = await _inStockRepositories.Add(entity, isTransaction); entity = await _inStockRepositories.Add(entity, isTransaction);
if (entity == null) if (entity == null)
return Result.ReFailure(ResultCodes.DateWriteError); return Result.ReFailure(ResultCodes.DateWriteError);

View File

@@ -188,6 +188,7 @@ namespace WMS.Web.Domain.Services
outd.Qty = qty; outd.Qty = qty;
outd.SerialNumbers.AddRange(dtoDetails.SelectMany(s => s.SerialNumbers)); outd.SerialNumbers.AddRange(dtoDetails.SelectMany(s => s.SerialNumbers));
outd.SerialNumbers.AddRange(dtoDetails.SelectMany(s => s.TwoSerialNumbers));
entity.Details.Add(outd); entity.Details.Add(outd);
} }
entity.Create(loginInfo.UserInfo.StaffId, outStockTask, dto.Method); entity.Create(loginInfo.UserInfo.StaffId, outStockTask, dto.Method);

View File

@@ -327,7 +327,7 @@ namespace WMS.Web.Domain.Services
//serialNumbers.AddRange(twoserialNumbers); //serialNumbers.AddRange(twoserialNumbers);
////add by yzh ////add by yzh
var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers); var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
var TwoentityList = await _serialNumbersRepositories.GetEntityList(TwoserialNumbers); // var TwoentityList = await _serialNumbersRepositories.GetEntityList(TwoserialNumbers);
var boxIds = inStock.Details.Select(s => s.BoxId).ToList(); var boxIds = inStock.Details.Select(s => s.BoxId).ToList();
var boxList = await _boxRepositories.GetEntityList(boxIds); var boxList = await _boxRepositories.GetEntityList(boxIds);
var userName = _singleDataService.GetSingleData(SingleAction.Staffs, loginInfo.UserInfo.CompanyId, loginInfo.UserInfo.StaffId); var userName = _singleDataService.GetSingleData(SingleAction.Staffs, loginInfo.UserInfo.CompanyId, loginInfo.UserInfo.StaffId);
@@ -338,11 +338,11 @@ namespace WMS.Web.Domain.Services
bool isRollback = false; bool isRollback = false;
bool isSuccess = true; bool isSuccess = true;
List<SerialNumberOperate> sList = new List<SerialNumberOperate>(); List<SerialNumberOperate> sList = new List<SerialNumberOperate>();
// boxId = 0; var boxId = 0;
foreach (var entity in entityList) foreach (var entity in entityList)
{ {
int boxId = inStock.Details.FirstOrDefault(s => s.SerialNumbers.Contains(entity.SerialNumber))?.BoxId ?? 0; boxId = inStock.Details.FirstOrDefault(s => s.SerialNumbers.Contains(entity.SerialNumber))?.BoxId ?? 0;
var box = boxList.FirstOrDefault(f => f.Id == boxId); var box = boxList.FirstOrDefault(f => f.Id == boxId);
var instockDetail = inStock.Details.FirstOrDefault(f => f.MaterialNumber == entity.MaterialNumber); var instockDetail = inStock.Details.FirstOrDefault(f => f.MaterialNumber == entity.MaterialNumber);
var subStock = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, loginInfo.UserInfo.CompanyId, inStock.SubStockCode + inStock.StockCode + inStock.OrgCode); var subStock = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, loginInfo.UserInfo.CompanyId, inStock.SubStockCode + inStock.StockCode + inStock.OrgCode);
@@ -372,7 +372,7 @@ namespace WMS.Web.Domain.Services
//{ //{
// foreach (var entity in TwoentityList) // foreach (var entity in TwoentityList)
// { // {
// var boxId = inStock.Details.FirstOrDefault(s => s.SerialNumbers.Contains(entity.SerialNumber))?.BoxId ?? 0; // //var boxId = inStock.Details.FirstOrDefault(s => s.SerialNumbers.Contains(entity.SerialNumber))?.BoxId ?? 0;
// var box = boxList.FirstOrDefault(f => f.Id == boxId); // var box = boxList.FirstOrDefault(f => f.Id == boxId);
// var instockDetail = inStock.Details.FirstOrDefault(f => f.MaterialNumber == entity.MaterialNumber); // var instockDetail = inStock.Details.FirstOrDefault(f => f.MaterialNumber == entity.MaterialNumber);
// var subStock = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, loginInfo.UserInfo.CompanyId, inStock.SubStockCode + inStock.StockCode + inStock.OrgCode); // var subStock = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, loginInfo.UserInfo.CompanyId, inStock.SubStockCode + inStock.StockCode + inStock.OrgCode);
@@ -429,6 +429,8 @@ namespace WMS.Web.Domain.Services
{ {
//获取序列号信息 //获取序列号信息
var serialNumbers = backRecord.Details.SelectMany(s => s.SerialNumbers).ToList(); var serialNumbers = backRecord.Details.SelectMany(s => s.SerialNumbers).ToList();
var TwoserialNumbers = backRecord.Details.SelectMany(s => s.TwoSerialNumbers).ToList();
serialNumbers.AddRange(TwoserialNumbers);
var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers); var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
var boxIds = backRecord.Details.Select(s => s.BoxId).ToList(); var boxIds = backRecord.Details.Select(s => s.BoxId).ToList();
var boxList = await _boxRepositories.GetEntityList(boxIds); var boxList = await _boxRepositories.GetEntityList(boxIds);
@@ -442,7 +444,7 @@ namespace WMS.Web.Domain.Services
List<SerialNumberOperate> sList = new List<SerialNumberOperate>(); List<SerialNumberOperate> sList = new List<SerialNumberOperate>();
foreach (var entity in entityList) foreach (var entity in entityList)
{ {
var detail = backRecord.Details.FirstOrDefault(w => w.SerialNumbers.Contains(entity.SerialNumber)); var detail = backRecord.Details.FirstOrDefault(w => w.SerialNumbers.Contains(entity.SerialNumber)||w.TwoSerialNumbers.Contains(entity.SerialNumber));
if (detail == null) continue; if (detail == null) continue;
var box = boxList.FirstOrDefault(f => f.Id == detail.BoxId); var box = boxList.FirstOrDefault(f => f.Id == detail.BoxId);
if (box == null) continue; if (box == null) continue;

View File

@@ -386,12 +386,14 @@ namespace WMS.Web.Domain.Services
{ {
List<SerialNumbersBoxInventoryDto> list = new List<SerialNumbersBoxInventoryDto>(); List<SerialNumbersBoxInventoryDto> list = new List<SerialNumbersBoxInventoryDto>();
var sNs = dto.SelectMany(s => s.SerialNumbers).ToList(); var sNs = dto.SelectMany(s => s.SerialNumbers).ToList();
//var TwosNs = dto.SelectMany(s => s.TwoSerialNumbers).ToList();
//sNs.AddRange(TwosNs);
var entityList = await _serialNumberRepositories.GetEntityList(sNs); var entityList = await _serialNumberRepositories.GetEntityList(sNs);
foreach (var s in sNs) foreach (var s in sNs)
{ {
var entity = entityList.FirstOrDefault(f => f.SerialNumber.Equals(s)); var entity = entityList.FirstOrDefault(f => f.SerialNumber.Equals(s));
if (entity == null) continue; if (entity == null) continue;
var d = dto.FirstOrDefault(f => f.SerialNumbers.Contains(s)); var d = dto.FirstOrDefault(f => f.SerialNumbers.Contains(s));
if (d.BoxId != entity.BoxId) if (d.BoxId != entity.BoxId)
{ {
list.Add(new SerialNumbersBoxInventoryDto() list.Add(new SerialNumbersBoxInventoryDto()
@@ -402,6 +404,29 @@ namespace WMS.Web.Domain.Services
}); });
} }
} }
var TwosNs = dto.SelectMany(s => s.TwoSerialNumbers).ToList();
var TwoentityList = await _serialNumberRepositories.GetEntityList(TwosNs);
foreach (var s in TwosNs)
{
var entity = entityList.FirstOrDefault(f => f.TwoSerialNumber.Contains(s));
if (entity == null) continue;
var d = dto.FirstOrDefault(f => f.TwoSerialNumbers.Contains(s));
if (d.BoxId != entity.BoxId)
{
list.Add(new SerialNumbersBoxInventoryDto()
{
BoxId = entity.BoxId,
MaterialNumber = d.MaterialNumber,
SerialNumber = s
});
}
}
return list; return list;
} }
/// <summary> /// <summary>