This commit is contained in:
tongfei
2023-11-13 17:19:32 +08:00
3 changed files with 32 additions and 8 deletions

View File

@@ -1157,12 +1157,17 @@
入库单号/采购单号
</summary>
</member>
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.Operate(System.Int32)">
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.Bind(System.Int32)">
<summary>
移箱
操作(绑定箱信息)
</summary>
<param name="destBoxId">目标箱号</param>
</member>
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.UnBind">
<summary>
解绑
</summary>
</member>
<member name="M:WMS.Web.Domain.Entitys.SerialNumbers.OutStock(System.String)">
<summary>
出库

View File

@@ -70,14 +70,21 @@ namespace WMS.Web.Domain.Entitys
public string InStockBillNo { get; set; }
/// <summary>
/// 移箱
/// 操作(绑定箱信息)
/// </summary>
/// <param name="destBoxId">目标箱号</param>
public void Operate(int destBoxId)
public void Bind(int destBoxId)
{
this.BoxId = destBoxId;
}
/// <summary>
/// 解绑
/// </summary>
public void UnBind()
{
this.BoxId = 0;
}
/// <summary>
/// 出库
/// </summary>
/// <param name="outStockBillNo">出库单号</param>

View File

@@ -61,7 +61,7 @@ namespace WMS.Web.Domain.Services
{
var destBox = changeBoxRecords.FirstOrDefault(f => f.SerialNumbers.Contains(entity.SerialNumber));
//修改序列号和箱绑定关系
entity.Operate(destBox.DestBoxId);
entity.Bind(destBox.DestBoxId);
var box = boxList.FirstOrDefault(f => f.Id == destBox.DestBoxId);
//记录序列号操作日志
@@ -124,7 +124,7 @@ namespace WMS.Web.Domain.Services
foreach (var entity in entityList)
{
//修改序列号和箱绑定关系
entity.Operate(moveBoxRecord.BoxId);
entity.Bind(moveBoxRecord.BoxId);
//记录序列号操作日志
SerialNumberOperate op = new SerialNumberOperate()
@@ -371,10 +371,18 @@ namespace WMS.Web.Domain.Services
if (isTransaction)
_transaction = _transactionRepositories.GetTransaction();
bool isRollback = false;
bool isSuccess = true;
List<SerialNumberOperate> sList = new List<SerialNumberOperate>();
foreach (var entity in entityList)
{
var box = boxList.FirstOrDefault(f => f.Id == entity.BoxId);
var detail = backRecord.Details.FirstOrDefault(w => w.SerialNumbers.Contains(entity.SerialNumber));
if (backRecord.Type == BackRecordType.InstockOff)
entity.UnBind();
else
entity.Bind(detail.BoxId);
//记录序列号操作日志
SerialNumberOperate op = new SerialNumberOperate()
@@ -392,22 +400,26 @@ namespace WMS.Web.Domain.Services
};
if (backRecord.Type == BackRecordType.OutstockOn)
{
var subStockId = backRecord.Details.FirstOrDefault(w => w.SerialNumbers.Contains(entity.SerialNumber))?.SubStockId ?? 0;
var subStockId = detail?.SubStockId ?? 0;
var srcSubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, loginInfo.UserInfo.CompanyId, subStockId);
op.Remark += "\r\n" + "仓位:" + srcSubStock;
}
sList.Add(op);
}
isSuccess = await _serialNumbersRepositories.EditEntityList(entityList, false);
//序列号操作记录
var res = await this.SerialNumberOperate(sList, false);
//提交事务
if (isTransaction)
{
if (!isSuccess) isRollback = true;
if (!res.Success) isRollback = true;
var isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);
}
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
if (!res.Success) return Result.ReFailure(ResultCodes.DateWriteError);
return Result.ReSuccess();