Merge branch 'v1.0.5' of https://codeup.aliyun.com/62ce7bca487c500c27f70a79/OPS/WMS-Api into v1.0.5
This commit is contained in:
@@ -27,9 +27,11 @@ namespace WMS.Web.Domain.Services
|
||||
public readonly IBoxRepositories _boxRepositories;
|
||||
private readonly ISingleDataService _singleDataService;
|
||||
private readonly IErpService _erpService;
|
||||
private readonly IBoxInventoryRepositories _boxInventoryRepositories;
|
||||
public SerialNumberService(ISerialNumberOperateRepositories serialNumberOperateRepositories,
|
||||
ISerialNumbersRepositories serialNumbersRepositories, IBasicsRepositories transactionRepositories,
|
||||
IBoxRepositories boxRepositories, ISingleDataService singleDataService, IErpService erpService)
|
||||
IBoxRepositories boxRepositories, ISingleDataService singleDataService, IErpService erpService,
|
||||
IBoxInventoryRepositories boxInventoryRepositories)
|
||||
{
|
||||
_serialNumberOperateRepositories = serialNumberOperateRepositories;
|
||||
_serialNumbersRepositories = serialNumbersRepositories;
|
||||
@@ -37,6 +39,7 @@ namespace WMS.Web.Domain.Services
|
||||
_boxRepositories = boxRepositories;
|
||||
_singleDataService = singleDataService;
|
||||
_erpService = erpService;
|
||||
_boxInventoryRepositories = boxInventoryRepositories;
|
||||
}
|
||||
/// <summary>
|
||||
/// 改箱
|
||||
@@ -458,6 +461,7 @@ namespace WMS.Web.Domain.Services
|
||||
List<Box> box_New_List = new List<Box>();
|
||||
List<SerialNumberOperate> soList = new List<SerialNumberOperate>();
|
||||
List<SerialNumbers> sList = new List<SerialNumbers>();
|
||||
|
||||
foreach (var s in serialNumbers)
|
||||
{
|
||||
var takeStockDetail = takeStocks.SelectMany(s => s.Details).FirstOrDefault(w => w.SerialNumbers.Contains(s));
|
||||
@@ -482,7 +486,7 @@ namespace WMS.Web.Domain.Services
|
||||
else
|
||||
{
|
||||
var takeStock = takeStocks.FirstOrDefault(w => w.Details.FirstOrDefault(w => w.SerialNumbers.Contains(s)) != null);
|
||||
s_entity.TakeStock(takeStockDetail.BoxId, takeStock.ResultType);
|
||||
s_entity.TakeStock(takeStockDetail.BoxId);
|
||||
if (s_entity.BoxId == takeStockDetail.BoxId) continue;
|
||||
|
||||
|
||||
@@ -502,6 +506,35 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
}
|
||||
|
||||
//对移除的序列码进行 状态变更
|
||||
var boxInventorys = await _boxInventoryRepositories.GetList(boxIds);
|
||||
var inventorysSerialNumbers = boxInventorys.SelectMany(s => s.Details).SelectMany(s => s.SerialNumbers).ToList();
|
||||
|
||||
var cList = inventorysSerialNumbers.Except(serialNumbers).ToList();
|
||||
var c_entityList = await _serialNumbersRepositories.GetEntityList(cList);
|
||||
foreach (var c in c_entityList)
|
||||
{
|
||||
var takeStock = takeStocks.FirstOrDefault(w => w.Details.Where(w => w.BoxId == c.BoxId).Any());
|
||||
var box = boxList.FirstOrDefault(f => f.Id == c.BoxId);
|
||||
|
||||
c.TakeStock_Out();
|
||||
entityList.Add(c);
|
||||
|
||||
//记录序列号操作日志
|
||||
SerialNumberOperate op = new SerialNumberOperate()
|
||||
{
|
||||
MaterialNumber = c.MaterialNumber,
|
||||
SerialNumber = c.SerialNumber,
|
||||
OrgId = box?.OrgId ?? 0,
|
||||
SupplierId = box?.SupplierId ?? 0,
|
||||
OperateTime = DateTime.Now,
|
||||
OperateType = SerialNumberOperateType.TakeStock_Out,
|
||||
OperateUser = "",
|
||||
Remark = "单号:" + takeStock?.BillNo ?? "" + "\r\n" + "箱号:" + box?.BoxBillNo ?? ""
|
||||
};
|
||||
soList.Add(op);
|
||||
}
|
||||
|
||||
IDbContextTransaction _transaction = null;
|
||||
if (isTransaction)
|
||||
_transaction = _transactionRepositories.GetTransaction();
|
||||
|
||||
Reference in New Issue
Block a user