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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -66,13 +66,20 @@ namespace WMS.Web.Domain.Entitys
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)
{
var d = this.Details.FirstOrDefault(f => f.MaterialNumber == l.MaterialNumber);
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);
//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)
{
@@ -95,7 +102,13 @@ namespace WMS.Web.Domain.Entitys
});
continue;
}
d.Qty = d.Qty + l.Qty;
if (isNotCount == "1")
{
}
else
{
d.Qty = d.Qty + l.Qty;
}
//d.SerialNumbers.AddRange(l.SerialNumbers);
}
return Result.ReSuccess();

View File

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

View File

@@ -97,6 +97,8 @@ namespace WMS.Web.Domain.Services
var destIds_boxs = await _boxInventoryRepositories.GetList(destIds);
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);
foreach (var d in dto)
{
@@ -145,14 +147,17 @@ namespace WMS.Web.Domain.Services
if (destBoxs.Count() != destIds.Count()) return Result.ReFailure(ResultCodes.BoxNoData);
foreach (var d in dto)
{
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 destBox = destBoxs.FirstOrDefault(f => f.Id == d.DestBoxId);
//原箱移出
Result res;
if (srcBox != null)
{
res = srcBox.Out(l);
res = srcBox.Out(l,"0");
res = srcBox.Out(l2,"1");
if (!res.IsSuccess) return res;
}
if (srcBox != null)
@@ -160,11 +165,35 @@ namespace WMS.Web.Domain.Services
//目标箱移入
if (!isAddBox)
{
res = destBox.In(l);
res = destBox.In(l, "0");
res = destBox.In(l2, "1");
if (!res.IsSuccess) return res;
if (destBox != null)
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>();
@@ -180,6 +209,7 @@ namespace WMS.Web.Domain.Services
foreach (var d in dt.Details)
{
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.SrcSubStockId = boxi?.SubStockId ?? 0;//原乡仓位需要去拉一下库存获取
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();
x.SerialNumbers.AddRange(current_box_mat_serNums);
}
if (x.TwoSerialNumbers != null)
{
x.SerialNumbers.AddRange(x.TwoSerialNumbers);
}
//if (x.TwoSerialNumbers != null)
//{
// x.SerialNumbers.AddRange(x.TwoSerialNumbers);
//}
});
}
else
{
entity.Details.ForEach(x =>
{
if (x.TwoSerialNumbers != null)
{
x.SerialNumbers.AddRange(x.TwoSerialNumbers);
}
});
}
//5.1保存入库单信息
entity = await _inStockRepositories.Add(entity, isTransaction);
//5.1保存入库单信息
entity = await _inStockRepositories.Add(entity, isTransaction);
if (entity == null)
return Result.ReFailure(ResultCodes.DateWriteError);

View File

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

View File

@@ -327,7 +327,7 @@ namespace WMS.Web.Domain.Services
//serialNumbers.AddRange(twoserialNumbers);
////add by yzh
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 boxList = await _boxRepositories.GetEntityList(boxIds);
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 isSuccess = true;
List<SerialNumberOperate> sList = new List<SerialNumberOperate>();
// boxId = 0;
var boxId = 0;
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 instockDetail = inStock.Details.FirstOrDefault(f => f.MaterialNumber == entity.MaterialNumber);
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)
// {
// 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 instockDetail = inStock.Details.FirstOrDefault(f => f.MaterialNumber == entity.MaterialNumber);
// 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 TwoserialNumbers = backRecord.Details.SelectMany(s => s.TwoSerialNumbers).ToList();
serialNumbers.AddRange(TwoserialNumbers);
var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
var boxIds = backRecord.Details.Select(s => s.BoxId).ToList();
var boxList = await _boxRepositories.GetEntityList(boxIds);
@@ -442,7 +444,7 @@ namespace WMS.Web.Domain.Services
List<SerialNumberOperate> sList = new List<SerialNumberOperate>();
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;
var box = boxList.FirstOrDefault(f => f.Id == detail.BoxId);
if (box == null) continue;

View File

@@ -386,12 +386,14 @@ namespace WMS.Web.Domain.Services
{
List<SerialNumbersBoxInventoryDto> list = new List<SerialNumbersBoxInventoryDto>();
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);
foreach (var s in sNs)
{
var entity = entityList.FirstOrDefault(f => f.SerialNumber.Equals(s));
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)
{
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;
}
/// <summary>