出入库回退序列号记录
This commit is contained in:
@@ -22,6 +22,9 @@ namespace WMS.Web.Domain.IService
|
|||||||
Task<Result> OutStock(OutStock outStock, LoginInDto loginInfo, bool isTransaction = true);
|
Task<Result> OutStock(OutStock outStock, LoginInDto loginInfo, bool isTransaction = true);
|
||||||
/// 入库
|
/// 入库
|
||||||
Task<Result> InStock(InStock inStock, LoginInDto loginInfo, bool isTransaction = true);
|
Task<Result> InStock(InStock inStock, LoginInDto loginInfo, bool isTransaction = true);
|
||||||
|
/// 出入库回退
|
||||||
|
Task<Result> BackRecord(BackRecord backRecord, LoginInDto loginInfo, bool isTransaction = true);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 序列号操作记录
|
/// 序列号操作记录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -347,6 +347,67 @@ namespace WMS.Web.Domain.Services
|
|||||||
if (!isSuccess) 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();
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 出入库回退
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="backRecord"></param>
|
||||||
|
/// <param name="loginInfo"></param>
|
||||||
|
/// <param name="isTransaction"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<Result> BackRecord(BackRecord backRecord, LoginInDto loginInfo, bool isTransaction = true)
|
||||||
|
{
|
||||||
|
//获取序列号信息
|
||||||
|
var serialNumbers = new List<string>();// inStock.Details.SelectMany(s => s.SerialNumbers).ToList();
|
||||||
|
var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
|
||||||
|
var boxIds = entityList.Select(s => s.BoxId).ToList();
|
||||||
|
var boxList = await _boxRepositories.GetEntityList(boxIds);
|
||||||
|
var userName = _singleDataService.GetSingleData(SingleAction.Staffs, loginInfo.UserInfo.CompanyId, loginInfo.UserInfo.StaffId);
|
||||||
|
|
||||||
|
IDbContextTransaction _transaction = null;
|
||||||
|
if (isTransaction)
|
||||||
|
_transaction = _transactionRepositories.GetTransaction();
|
||||||
|
bool isRollback = false;
|
||||||
|
List<SerialNumberOperate> sList = new List<SerialNumberOperate>();
|
||||||
|
foreach (var entity in entityList)
|
||||||
|
{
|
||||||
|
var box = boxList.FirstOrDefault(f => f.Id == entity.BoxId);
|
||||||
|
|
||||||
|
//记录序列号操作日志
|
||||||
|
SerialNumberOperate op = new SerialNumberOperate()
|
||||||
|
{
|
||||||
|
MaterialId = entity.MaterialId,
|
||||||
|
SerialNumber = entity.SerialNumber,
|
||||||
|
OrgId = box.OrgId,
|
||||||
|
SupplierId = box.SupplierId,
|
||||||
|
OperateTime = DateTime.Now,
|
||||||
|
OperateType = backRecord.Type == BackRecordType.InstockOff ?
|
||||||
|
SerialNumberOperateType.BackRecord_Off : SerialNumberOperateType.BackRecord_On,
|
||||||
|
OperateUser = userName,
|
||||||
|
Remark = "单号:" + backRecord.BillNo
|
||||||
|
+ "\r\n" + "箱号:" + box.BoxBillNo
|
||||||
|
};
|
||||||
|
if (backRecord.Type == BackRecordType.OutstockOn)
|
||||||
|
{
|
||||||
|
var subStockId = backRecord.Details.FirstOrDefault(w => w.SerialNumbers.Contains(entity.SerialNumber))?.SubStockId ?? 0;
|
||||||
|
var srcSubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, loginInfo.UserInfo.CompanyId, subStockId);
|
||||||
|
op.Remark += "\r\n" + "仓位:" + srcSubStock;
|
||||||
|
}
|
||||||
|
sList.Add(op);
|
||||||
|
}
|
||||||
|
//序列号操作记录
|
||||||
|
var res = await this.SerialNumberOperate(sList, false);
|
||||||
|
//提交事务
|
||||||
|
if (isTransaction)
|
||||||
|
{
|
||||||
|
if (!res.Success) isRollback = true;
|
||||||
|
var isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction);
|
||||||
|
if (!isSuccess)
|
||||||
|
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
|
}
|
||||||
|
if (!res.Success) return Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
|
|
||||||
return Result.ReSuccess();
|
return Result.ReSuccess();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,5 +83,16 @@ namespace WMS.Web.Domain.Values
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[EnumRemark("组装拆卸入库")]
|
[EnumRemark("组装拆卸入库")]
|
||||||
Assembled_In = 14,
|
Assembled_In = 14,
|
||||||
|
/// <summary>
|
||||||
|
/// 入库回退下架
|
||||||
|
/// </summary>
|
||||||
|
[EnumRemark("入库回退下架")]
|
||||||
|
BackRecord_Off = 15,
|
||||||
|
/// <summary>
|
||||||
|
/// 出库回退上架
|
||||||
|
/// </summary>
|
||||||
|
[EnumRemark("出库回退上架")]
|
||||||
|
BackRecord_On = 16,
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user