修复bug
This commit is contained in:
@@ -2183,11 +2183,16 @@
|
||||
<param name="type"></param>
|
||||
<param name="boxId"></param>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.TakeStock(System.Int32,WMS.Web.Domain.Values.TakeStockType)">
|
||||
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.TakeStock(System.Int32)">
|
||||
<summary>
|
||||
盘点
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.TakeStock_Out">
|
||||
<summary>
|
||||
盘出去
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Entitys.SerialNumbers_Ops">
|
||||
<summary>
|
||||
老ops序列码
|
||||
@@ -6888,7 +6893,12 @@
|
||||
</member>
|
||||
<member name="F:WMS.Web.Domain.Values.SerialNumberOperateType.TakeStock">
|
||||
<summary>
|
||||
盘点
|
||||
盘点(盘进)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:WMS.Web.Domain.Values.SerialNumberOperateType.TakeStock_Out">
|
||||
<summary>
|
||||
盘点出去
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:WMS.Web.Domain.Values.ShelfMethod">
|
||||
|
||||
@@ -184,15 +184,38 @@ namespace WMS.Web.Domain.Entitys
|
||||
/// <summary>
|
||||
/// 盘点
|
||||
/// </summary>
|
||||
public void TakeStock(int boxId, TakeStockType type)
|
||||
public void TakeStock(int boxId)
|
||||
{
|
||||
//拣货出库, 整箱移货下架, 入库回退下架---- 序列号状态失效
|
||||
//盘点, 整箱移货上架, 出库回退上架----序列号正常可用
|
||||
this.BoxId = boxId;
|
||||
//盘亏被冻结 盘盈反冻结
|
||||
this.IsDelete = type == TakeStockType.Profit ? true : false;
|
||||
//盘进来反冻结
|
||||
this.IsDelete = false;
|
||||
this.IsActivate = true;
|
||||
}
|
||||
/// <summary>
|
||||
/// 盘出去
|
||||
/// </summary>
|
||||
public void TakeStock_Out()
|
||||
{
|
||||
this.BoxId = 0;
|
||||
//盘出去冻结
|
||||
this.IsDelete = true;
|
||||
this.IsActivate = true;
|
||||
}
|
||||
/*
|
||||
1.是否被激活(盘点 采购和非采购上架 出库回退上架) 激活
|
||||
2.冻结(原箱盘出去的 出库 入库回退下架 移箱下架)
|
||||
3. 反冻结(出库回退上架,新盘进来,非采购上架 移箱上架)
|
||||
|
||||
1默认ops系统 默认都是 非激活 非冻结
|
||||
2 老ops历史条码的条码 激活 非冻结
|
||||
|
||||
非采购上架 改箱 (非激活的或者(激活被冻结))
|
||||
盘点 所有的序列号
|
||||
出库回退上架 (激活被冻结)
|
||||
入库回退下架 (激活非冻结)
|
||||
出库 (激活非冻结)
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -94,10 +94,15 @@ namespace WMS.Web.Domain.Values
|
||||
[EnumRemark("出库回退上架")]
|
||||
BackRecord_On = 16,
|
||||
/// <summary>
|
||||
/// 盘点
|
||||
/// 盘点(盘进)
|
||||
/// </summary>
|
||||
[EnumRemark("盘点")]
|
||||
TakeStock = 17,
|
||||
/// <summary>
|
||||
/// 盘点出去
|
||||
/// </summary>
|
||||
[EnumRemark("盘点出去")]
|
||||
TakeStock_Out = 18,
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user