This commit is contained in:
tongfei
2024-04-03 17:22:21 +08:00
4 changed files with 28 additions and 11 deletions

View File

@@ -92,6 +92,11 @@ namespace WMS.Web.Domain.Entitys
///</summary> ///</summary>
[Column("CustomerId")] [Column("CustomerId")]
public int CustomerId { get; set; } = 0; public int CustomerId { get; set; } = 0;
/// <summary>
/// 是否出库
///</summary>
[Column("IsOutStock")]
public bool? IsOutStock { get; set; } = false;
/// <summary> /// <summary>
/// 操作(绑定箱信息) /// 操作(绑定箱信息)
@@ -126,6 +131,8 @@ namespace WMS.Web.Domain.Entitys
this.CustomerId = outStock.ReceiptCustomerId; this.CustomerId = outStock.ReceiptCustomerId;
this.OutStockTime = DateTime.Now; this.OutStockTime = DateTime.Now;
} }
//标识出库
this.IsOutStock = true;
} }
/// <summary> /// <summary>
/// 入库 /// 入库

View File

@@ -81,5 +81,10 @@ namespace WMS.Web.Domain.Entitys
///</summary> ///</summary>
[Column("CustomerId")] [Column("CustomerId")]
public int CustomerId { get; set; } = 0; public int CustomerId { get; set; } = 0;
/// <summary>
/// 是否出库
///</summary>
[Column("IsOutStock")]
public bool? IsOutStock { get; set; } = false;
} }
} }

View File

@@ -145,7 +145,7 @@ namespace WMS.Web.Domain.Services
}; };
if (moveBoxRecord.Type == MoveBoxType.Up) if (moveBoxRecord.Type == MoveBoxType.Up)
{ {
var srcSubStock = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, loginInfo.UserInfo.CompanyId, moveBoxRecord.DestSubStockCode+ moveBoxRecord.StockCode+ moveBoxRecord.OrgCode); var srcSubStock = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, loginInfo.UserInfo.CompanyId, moveBoxRecord.DestSubStockCode + moveBoxRecord.StockCode + moveBoxRecord.OrgCode);
op.Remark += "\r\n" + "仓位:" + srcSubStock; op.Remark += "\r\n" + "仓位:" + srcSubStock;
} }
sList.Add(op); sList.Add(op);
@@ -180,6 +180,7 @@ namespace WMS.Web.Domain.Services
var serialNumbers = outStock.Details.SelectMany(s => s.SerialNumbers).ToList(); var serialNumbers = outStock.Details.SelectMany(s => s.SerialNumbers).ToList();
var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers); var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
var boxIds = entityList.Select(s => s.BoxId).ToList(); var boxIds = entityList.Select(s => s.BoxId).ToList();
boxIds.AddRange(outStock.Details.SelectMany(s => s.BoxsDetails).Select(s => s.BoxId));
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);
@@ -191,7 +192,8 @@ 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 box = boxList.FirstOrDefault(f => f.Id == entity.BoxId); var boxId = outStock.Details.SelectMany(s => s.BoxsDetails).FirstOrDefault(w => w.SerialNumbers.Contains(entity.SerialNumber))?.BoxId ?? 0;
var box = boxList.FirstOrDefault(f => f.Id == boxId);
var outstockDetail = outStock.Details.FirstOrDefault(f => f.MaterialNumber == entity.MaterialNumber); var outstockDetail = outStock.Details.FirstOrDefault(f => f.MaterialNumber == entity.MaterialNumber);
if (outstockDetail == null) continue; if (outstockDetail == null) continue;
//修改序列号和箱绑定关系 //修改序列号和箱绑定关系
@@ -202,8 +204,8 @@ namespace WMS.Web.Domain.Services
{ {
MaterialNumber = entity.MaterialNumber, MaterialNumber = entity.MaterialNumber,
SerialNumber = entity.SerialNumber, SerialNumber = entity.SerialNumber,
OrgId = box.OrgId, OrgId = box?.OrgId ?? 0,
SupplierId = box.SupplierId, SupplierId = box?.SupplierId ?? 0,
OperateTime = DateTime.Now, OperateTime = DateTime.Now,
OperateType = OutStockTypeConvert(outStock.Type), OperateType = OutStockTypeConvert(outStock.Type),
OperateUser = userName, OperateUser = userName,
@@ -322,7 +324,7 @@ namespace WMS.Web.Domain.Services
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);
//修改序列号和箱绑定关系 //修改序列号和箱绑定关系
entity.InStock(instockDetail.SourceBillNo, inStock.Type); entity.InStock(instockDetail.SourceBillNo, inStock.Type);
entity.Bind(boxId, box?.CompleteCartonTime ?? DateTime.Now); entity.Bind(boxId, box?.CompleteCartonTime ?? DateTime.Now);
@@ -391,7 +393,10 @@ namespace WMS.Web.Domain.Services
//if (backRecord.Type == BackRecordType.InstockOff) //if (backRecord.Type == BackRecordType.InstockOff)
// entity.UnBind(); // entity.UnBind();
if (backRecord.Type == BackRecordType.OutstockOn) if (backRecord.Type == BackRecordType.OutstockOn)
{
entity.Bind(detail.BoxId, box.CompleteCartonTime); entity.Bind(detail.BoxId, box.CompleteCartonTime);
entity.IsOutStock = false;//标识出库状态
}
//记录序列号操作日志 //记录序列号操作日志
@@ -411,7 +416,7 @@ namespace WMS.Web.Domain.Services
if (backRecord.Type == BackRecordType.OutstockOn) if (backRecord.Type == BackRecordType.OutstockOn)
{ {
var subStockId = backRecord?.SubStockCode ?? ""; var subStockId = backRecord?.SubStockCode ?? "";
var srcSubStock = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, loginInfo.UserInfo.CompanyId, backRecord?.SubStockCode ?? ""+ backRecord?.StockCode ?? ""+ backRecord?.OrgCode ?? ""); var srcSubStock = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, loginInfo.UserInfo.CompanyId, backRecord?.SubStockCode ?? "" + backRecord?.StockCode ?? "" + backRecord?.OrgCode ?? "");
op.Remark += "\r\n" + "仓位:" + srcSubStock; op.Remark += "\r\n" + "仓位:" + srcSubStock;
} }
sList.Add(op); sList.Add(op);
@@ -445,7 +450,7 @@ namespace WMS.Web.Domain.Services
{ {
var serialNumbers = takeStocks.SelectMany(s => s.Details).SelectMany(s => s.SerialNumbers).ToList(); var serialNumbers = takeStocks.SelectMany(s => s.Details).SelectMany(s => s.SerialNumbers).ToList();
var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers); var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
var boxIds = takeStocks.SelectMany(s=>s.Details).Select(s => s.BoxId).ToList(); var boxIds = takeStocks.SelectMany(s => s.Details).Select(s => s.BoxId).ToList();
var boxList = await _boxRepositories.GetEntityList(boxIds); var boxList = await _boxRepositories.GetEntityList(boxIds);
List<Box> box_New_List = new List<Box>(); List<Box> box_New_List = new List<Box>();

View File

@@ -248,7 +248,7 @@ namespace WMS.Web.Repositories
.SelectMany(x => x.boxInventory.DefaultIfEmpty(), (p, boxInventory) => new { p.serial, boxInventory }) .SelectMany(x => x.boxInventory.DefaultIfEmpty(), (p, boxInventory) => new { p.serial, boxInventory })
.GroupJoin(_context.Box, s => s.serial.BoxId, box => box.Id, (s, box) => new { s.serial, s.boxInventory, box }) .GroupJoin(_context.Box, s => s.serial.BoxId, box => box.Id, (s, box) => new { s.serial, s.boxInventory, box })
.SelectMany(x => x.box.DefaultIfEmpty(), (p, box) => new { p.serial, p.boxInventory, box }) .SelectMany(x => x.box.DefaultIfEmpty(), (p, box) => new { p.serial, p.boxInventory, box })
.FirstOrDefaultAsync(w => serialNumber.Equals(w.serial.SerialNumber)); .FirstOrDefaultAsync(w => serialNumber.Equals(w.serial.SerialNumber) && w.serial.IsOutStock != true);
if (entity == null || entity.serial == null) if (entity == null || entity.serial == null)
{ {
if (IsOps) if (IsOps)
@@ -289,13 +289,13 @@ namespace WMS.Web.Repositories
//.SelectMany(x => x.boxInventory.DefaultIfEmpty(), (p, boxInventory) => new { p.serial, boxInventory }) //.SelectMany(x => x.boxInventory.DefaultIfEmpty(), (p, boxInventory) => new { p.serial, boxInventory })
//.GroupJoin(_context.Box, s => s.serial.BoxId, box => box.Id, (s, box) => new { s.serial, s.boxInventory, box }) //.GroupJoin(_context.Box, s => s.serial.BoxId, box => box.Id, (s, box) => new { s.serial, s.boxInventory, box })
//.SelectMany(x => x.box.DefaultIfEmpty(), (p, box) => new { p.serial, p.boxInventory, box }) //.SelectMany(x => x.box.DefaultIfEmpty(), (p, box) => new { p.serial, p.boxInventory, box })
.FirstOrDefaultAsync(w => serialNumber.Equals(w.SerialNumber)); .FirstOrDefaultAsync(w => serialNumber.Equals(w.SerialNumber) && w.IsOutStock != true);
if (entity == null) return null; if (entity == null) return null;
response.IsOldOps = true; response.IsOldOps = true;
response.IsBoxInventory = true;//如果是老ops序列号 默认有库存 response.IsBoxInventory = true;//如果是老ops序列号 默认有库存
response.BoxId = 0; response.BoxId = 0;
response.BoxBillNo = ""; response.BoxBillNo = "";
response.SubStockCode = ""; response.SubStockCode = "";
response.SerialNumber = entity.SerialNumber; response.SerialNumber = entity.SerialNumber;
response.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, entity.MaterialNumber); response.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, entity.MaterialNumber);
response.MaterialNumber = entity.MaterialNumber; response.MaterialNumber = entity.MaterialNumber;