修复bug

This commit is contained in:
18942506660
2023-11-13 17:17:01 +08:00
parent 1deb28b28d
commit 3a3a6c0671
3 changed files with 32 additions and 8 deletions

View File

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

View File

@@ -70,14 +70,21 @@ namespace WMS.Web.Domain.Entitys
public string InStockBillNo { get; set; } public string InStockBillNo { get; set; }
/// <summary> /// <summary>
/// 移箱 /// 操作(绑定箱信息)
/// </summary> /// </summary>
/// <param name="destBoxId">目标箱号</param> /// <param name="destBoxId">目标箱号</param>
public void Operate(int destBoxId) public void Bind(int destBoxId)
{ {
this.BoxId = destBoxId; this.BoxId = destBoxId;
} }
/// <summary> /// <summary>
/// 解绑
/// </summary>
public void UnBind()
{
this.BoxId = 0;
}
/// <summary>
/// 出库 /// 出库
/// </summary> /// </summary>
/// <param name="outStockBillNo">出库单号</param> /// <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)); 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); var box = boxList.FirstOrDefault(f => f.Id == destBox.DestBoxId);
//记录序列号操作日志 //记录序列号操作日志
@@ -124,7 +124,7 @@ namespace WMS.Web.Domain.Services
foreach (var entity in entityList) foreach (var entity in entityList)
{ {
//修改序列号和箱绑定关系 //修改序列号和箱绑定关系
entity.Operate(moveBoxRecord.BoxId); entity.Bind(moveBoxRecord.BoxId);
//记录序列号操作日志 //记录序列号操作日志
SerialNumberOperate op = new SerialNumberOperate() SerialNumberOperate op = new SerialNumberOperate()
@@ -371,10 +371,18 @@ namespace WMS.Web.Domain.Services
if (isTransaction) if (isTransaction)
_transaction = _transactionRepositories.GetTransaction(); _transaction = _transactionRepositories.GetTransaction();
bool isRollback = false; bool isRollback = false;
bool isSuccess = true;
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 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() SerialNumberOperate op = new SerialNumberOperate()
@@ -392,22 +400,26 @@ namespace WMS.Web.Domain.Services
}; };
if (backRecord.Type == BackRecordType.OutstockOn) 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); var srcSubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, loginInfo.UserInfo.CompanyId, subStockId);
op.Remark += "\r\n" + "仓位:" + srcSubStock; op.Remark += "\r\n" + "仓位:" + srcSubStock;
} }
sList.Add(op); sList.Add(op);
} }
isSuccess = await _serialNumbersRepositories.EditEntityList(entityList, false);
//序列号操作记录 //序列号操作记录
var res = await this.SerialNumberOperate(sList, false); var res = await this.SerialNumberOperate(sList, false);
//提交事务 //提交事务
if (isTransaction) if (isTransaction)
{ {
if (!isSuccess) isRollback = true;
if (!res.Success) isRollback = true; if (!res.Success) isRollback = true;
var isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction); isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
if (!isSuccess) if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError); return Result.ReFailure(ResultCodes.DateWriteError);
} }
if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
if (!res.Success) return Result.ReFailure(ResultCodes.DateWriteError); if (!res.Success) return Result.ReFailure(ResultCodes.DateWriteError);
return Result.ReSuccess(); return Result.ReSuccess();