出入库回退序列号记录
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> InStock(InStock inStock, LoginInDto loginInfo, bool isTransaction = true);
|
||||
/// 出入库回退
|
||||
Task<Result> BackRecord(BackRecord backRecord, LoginInDto loginInfo, bool isTransaction = true);
|
||||
|
||||
/// <summary>
|
||||
/// 序列号操作记录
|
||||
/// </summary>
|
||||
|
||||
@@ -326,7 +326,7 @@ namespace WMS.Web.Domain.Services
|
||||
OperateTime = DateTime.Now,
|
||||
OperateType = InStockTypeConvert(inStock.Type),
|
||||
OperateUser = userName,
|
||||
Remark = "来源单号:" + inStock.Details.First().SourceBillNo
|
||||
Remark = "来源单号:" + inStock.Details.First().SourceBillNo
|
||||
+ "\r\n" + "入库单号:" + inStock.BillNo
|
||||
+ "\r\n" + "仓位号:" + ""
|
||||
};
|
||||
@@ -347,6 +347,67 @@ namespace WMS.Web.Domain.Services
|
||||
if (!isSuccess) 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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -83,5 +83,16 @@ namespace WMS.Web.Domain.Values
|
||||
/// </summary>
|
||||
[EnumRemark("组装拆卸入库")]
|
||||
Assembled_In = 14,
|
||||
/// <summary>
|
||||
/// 入库回退下架
|
||||
/// </summary>
|
||||
[EnumRemark("入库回退下架")]
|
||||
BackRecord_Off = 15,
|
||||
/// <summary>
|
||||
/// 出库回退上架
|
||||
/// </summary>
|
||||
[EnumRemark("出库回退上架")]
|
||||
BackRecord_On = 16,
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user