增加箱库存同步箱信息
This commit is contained in:
@@ -4,6 +4,7 @@ using System.ComponentModel.DataAnnotations.Schema;
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using WMS.Web.Core;
|
using WMS.Web.Core;
|
||||||
|
using WMS.Web.Core.Help;
|
||||||
using WMS.Web.Core.Internal.Results;
|
using WMS.Web.Core.Internal.Results;
|
||||||
using WMS.Web.Domain.Values;
|
using WMS.Web.Domain.Values;
|
||||||
|
|
||||||
@@ -158,6 +159,36 @@ namespace WMS.Web.Domain.Entitys
|
|||||||
if (d != null)
|
if (d != null)
|
||||||
d.Qty = (d.Qty - qty) > 0 ? (d.Qty - qty) : 0;
|
d.Qty = (d.Qty - qty) > 0 ? (d.Qty - qty) : 0;
|
||||||
|
|
||||||
|
return Result.ReSuccess();
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 箱库存同步箱信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inventory"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public Result BoxInventory(BoxInventory inventory)
|
||||||
|
{
|
||||||
|
var detailClone = this.Details.Clone();
|
||||||
|
foreach (var d in detailClone)
|
||||||
|
{
|
||||||
|
//如果箱信息存在 箱库存不存在 删除箱信息数据
|
||||||
|
var inventoryDetail = inventory.Details.FirstOrDefault(f => f.MaterialId == d.MaterialId);
|
||||||
|
if (inventoryDetail == null)
|
||||||
|
{
|
||||||
|
var boxDetail = this.Details.FirstOrDefault(f => f.Id == d.Id);
|
||||||
|
this.Details.Remove(boxDetail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//箱库存存在 箱信息不存在 添加
|
||||||
|
foreach (var d in inventory.Details)
|
||||||
|
{
|
||||||
|
var md = this.Details.FirstOrDefault(w => w.MaterialId == d.MaterialId);
|
||||||
|
if (md == null)
|
||||||
|
this.Details.Add(new BoxDetails() { MaterialId = d.MaterialId, Qty = md.Qty });
|
||||||
|
else
|
||||||
|
md.Qty = d.Qty;
|
||||||
|
}
|
||||||
|
|
||||||
return Result.ReSuccess();
|
return Result.ReSuccess();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,5 +13,7 @@ namespace WMS.Web.Domain.IService
|
|||||||
{
|
{
|
||||||
// 同步老Ops箱信息
|
// 同步老Ops箱信息
|
||||||
Task<Result> Sync(List<OpsBoxResponse> list = null);
|
Task<Result> Sync(List<OpsBoxResponse> list = null);
|
||||||
|
// 箱库存同步箱信息
|
||||||
|
Task<Result> BoxInventorySync(List<BoxInventory> list, bool isTransaction = true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,12 +21,12 @@ namespace WMS.Web.Domain.IService
|
|||||||
Task<Result> ChangeBoxSave(List<SaveChangeBoxRecordRequest> dto, LoginInDto loginInfo, bool isTransaction=true,bool IsInventory=true,bool IsPDA=false);
|
Task<Result> ChangeBoxSave(List<SaveChangeBoxRecordRequest> dto, LoginInDto loginInfo, bool isTransaction=true,bool IsInventory=true,bool IsPDA=false);
|
||||||
//移箱保存
|
//移箱保存
|
||||||
Task<Result> MoveBoxSave(List<SaveMoveBoxRecordRequest> dto, bool IsUp, LoginInDto loginInfo);
|
Task<Result> MoveBoxSave(List<SaveMoveBoxRecordRequest> dto, bool IsUp, LoginInDto loginInfo);
|
||||||
//出库回退
|
////出库回退
|
||||||
Task<Result> ChangeBox_BackRecord(BackRecord BackRecord, LoginInDto loginInfo, bool isTransaction = true);
|
//Task<Result> ChangeBox_BackRecord(BackRecord BackRecord, LoginInDto loginInfo, bool isTransaction = true);
|
||||||
//非采购入库
|
////非采购入库
|
||||||
Task<Result> ChangeBox_InStock(InStock InStocks, LoginInDto loginInfo, bool isTransaction = true);
|
//Task<Result> ChangeBox_InStock(InStock InStocks, LoginInDto loginInfo, bool isTransaction = true);
|
||||||
//出库
|
////出库
|
||||||
Task<Result> ChangeBox_OutStock(OutStock outStock, bool isTransaction = true);
|
//Task<Result> ChangeBox_OutStock(OutStock outStock, bool isTransaction = true);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,12 +31,14 @@ namespace WMS.Web.Domain.Services
|
|||||||
private readonly IErpOpsSyncDateRepositories _erpOpsSyncDateRepositories;
|
private readonly IErpOpsSyncDateRepositories _erpOpsSyncDateRepositories;
|
||||||
private readonly ISerialNumbersRepositories _serialNumbersRepositories;
|
private readonly ISerialNumbersRepositories _serialNumbersRepositories;
|
||||||
private readonly ILogger<BoxService> _Logger;
|
private readonly ILogger<BoxService> _Logger;
|
||||||
|
public readonly IBasicsRepositories _basbicsRepositories;
|
||||||
public BoxService(IMapper mapper, ILoginService loginService,
|
public BoxService(IMapper mapper, ILoginService loginService,
|
||||||
IBasicsRepositories transactionRepositories,
|
IBasicsRepositories transactionRepositories,
|
||||||
IBoxRepositories boxRepositories, IOpsService opsService,
|
IBoxRepositories boxRepositories, IOpsService opsService,
|
||||||
ISerialNumberService serialNumberService,
|
ISerialNumberService serialNumberService,
|
||||||
IErpOpsSyncDateRepositories erpOpsSyncDateRepositories,
|
IErpOpsSyncDateRepositories erpOpsSyncDateRepositories,
|
||||||
ISerialNumbersRepositories serialNumbersRepositories,
|
ISerialNumbersRepositories serialNumbersRepositories,
|
||||||
|
IBasicsRepositories basbicsRepositories,
|
||||||
ILogger<BoxService> Logger)
|
ILogger<BoxService> Logger)
|
||||||
{
|
{
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
@@ -48,6 +50,7 @@ namespace WMS.Web.Domain.Services
|
|||||||
_erpOpsSyncDateRepositories = erpOpsSyncDateRepositories;
|
_erpOpsSyncDateRepositories = erpOpsSyncDateRepositories;
|
||||||
_serialNumbersRepositories = serialNumbersRepositories;
|
_serialNumbersRepositories = serialNumbersRepositories;
|
||||||
_Logger = Logger;
|
_Logger = Logger;
|
||||||
|
_basbicsRepositories = basbicsRepositories;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<Result> Sync(List<OpsBoxResponse> list)
|
public async Task<Result> Sync(List<OpsBoxResponse> list)
|
||||||
@@ -127,5 +130,43 @@ namespace WMS.Web.Domain.Services
|
|||||||
|
|
||||||
return Result.ReSuccess();
|
return Result.ReSuccess();
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 箱库存同步箱信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="list"></param>
|
||||||
|
/// <param name="isTransaction"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<Result> BoxInventorySync(List<BoxInventory> list, bool isTransaction = true)
|
||||||
|
{
|
||||||
|
if (list.Count() == 0) return Result.ReSuccess();
|
||||||
|
|
||||||
|
var boxIds = list.Select(s => s.BoxId).Distinct().ToList();
|
||||||
|
var boxs = await _boxRepositories.GetEntityList(boxIds);
|
||||||
|
foreach (var db in list)
|
||||||
|
{
|
||||||
|
var box = boxs.FirstOrDefault(f => f.Id == db.BoxId);
|
||||||
|
if (box == null) continue;
|
||||||
|
box.BoxInventory(db);
|
||||||
|
}
|
||||||
|
IDbContextTransaction _transaction = null;
|
||||||
|
if (isTransaction)
|
||||||
|
_transaction = _basbicsRepositories.GetTransaction();
|
||||||
|
Result res_Rollback = Result.ReSuccess();
|
||||||
|
bool isSuccess = true;
|
||||||
|
if (res_Rollback.IsSuccess)
|
||||||
|
{
|
||||||
|
isSuccess = await _boxRepositories.EditEntityList(boxs, false);
|
||||||
|
if (!isSuccess) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
|
}
|
||||||
|
//提交事务
|
||||||
|
if (isTransaction)
|
||||||
|
{
|
||||||
|
isSuccess = _basbicsRepositories.CommitTransaction(res_Rollback.IsSuccess ? false : true, _transaction);
|
||||||
|
if (!res_Rollback.IsSuccess) return res_Rollback;
|
||||||
|
if (!isSuccess)
|
||||||
|
return Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
|
}
|
||||||
|
return Result.ReSuccess();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -311,163 +311,165 @@ namespace WMS.Web.Domain.Services
|
|||||||
|
|
||||||
return Result.ReSuccess();
|
return Result.ReSuccess();
|
||||||
}
|
}
|
||||||
/// <summary>
|
#region 删除代码
|
||||||
/// 出入库回退改箱
|
///// <summary>
|
||||||
/// </summary>
|
///// 出入库回退改箱
|
||||||
/// <param name="backRecord"></param>
|
///// </summary>
|
||||||
/// <param name="loginInfo"></param>
|
///// <param name="backRecord"></param>
|
||||||
/// <param name="isTransaction"></param>
|
///// <param name="loginInfo"></param>
|
||||||
/// <returns></returns>
|
///// <param name="isTransaction"></param>
|
||||||
public async Task<Result> ChangeBox_BackRecord(BackRecord backRecord, LoginInDto loginInfo, bool isTransaction = true)
|
///// <returns></returns>
|
||||||
{
|
//public async Task<Result> ChangeBox_BackRecord(BackRecord backRecord, LoginInDto loginInfo, bool isTransaction = true)
|
||||||
if (backRecord.Method == InventoryInOutMethod.Box) return Result.ReSuccess();
|
//{
|
||||||
List<SaveChangeBoxRecordRequest> dtoList = new List<SaveChangeBoxRecordRequest>();
|
// if (backRecord.Method == InventoryInOutMethod.Box) return Result.ReSuccess();
|
||||||
var boxIds = backRecord.Details.Select(s => s.BoxId).Distinct().ToList();
|
// List<SaveChangeBoxRecordRequest> dtoList = new List<SaveChangeBoxRecordRequest>();
|
||||||
var boxs = await _boxRepositories.GetEntityList(boxIds);
|
// var boxIds = backRecord.Details.Select(s => s.BoxId).Distinct().ToList();
|
||||||
foreach (var d in backRecord.Details)
|
// var boxs = await _boxRepositories.GetEntityList(boxIds);
|
||||||
{
|
// foreach (var d in backRecord.Details)
|
||||||
var box = boxs.FirstOrDefault(f => f.Id == d.BoxId);
|
// {
|
||||||
if (box == null) continue;
|
// var box = boxs.FirstOrDefault(f => f.Id == d.BoxId);
|
||||||
if (backRecord.Type == BackRecordType.InstockOff)
|
// if (box == null) continue;
|
||||||
box.BackRecordDown(d.MaterialId, d.Qty);
|
// if (backRecord.Type == BackRecordType.InstockOff)
|
||||||
else
|
// box.BackRecordDown(d.MaterialId, d.Qty);
|
||||||
box.BackRecordUp(d.MaterialId, d.Qty);
|
// else
|
||||||
}
|
// box.BackRecordUp(d.MaterialId, d.Qty);
|
||||||
IDbContextTransaction _transaction = null;
|
// }
|
||||||
if (isTransaction)
|
// IDbContextTransaction _transaction = null;
|
||||||
_transaction = _basbicsRepositories.GetTransaction();
|
// if (isTransaction)
|
||||||
Result res_Rollback = Result.ReSuccess();
|
// _transaction = _basbicsRepositories.GetTransaction();
|
||||||
bool isSuccess = true;
|
// Result res_Rollback = Result.ReSuccess();
|
||||||
if (res_Rollback.IsSuccess)
|
// bool isSuccess = true;
|
||||||
{
|
// if (res_Rollback.IsSuccess)
|
||||||
isSuccess = await _boxRepositories.EditEntityList(boxs, false);
|
// {
|
||||||
if (!isSuccess) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError);
|
// isSuccess = await _boxRepositories.EditEntityList(boxs, false);
|
||||||
}
|
// if (!isSuccess) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
//提交事务
|
// }
|
||||||
if (isTransaction)
|
// //提交事务
|
||||||
{
|
// if (isTransaction)
|
||||||
isSuccess = _basbicsRepositories.CommitTransaction(res_Rollback.IsSuccess ? false : true, _transaction);
|
// {
|
||||||
if (!res_Rollback.IsSuccess) return res_Rollback;
|
// isSuccess = _basbicsRepositories.CommitTransaction(res_Rollback.IsSuccess ? false : true, _transaction);
|
||||||
if (!isSuccess)
|
// if (!res_Rollback.IsSuccess) return res_Rollback;
|
||||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
// if (!isSuccess)
|
||||||
}
|
// return Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
return Result.ReSuccess();
|
// }
|
||||||
}
|
// return Result.ReSuccess();
|
||||||
/// <summary>
|
//}
|
||||||
/// 非采购入库
|
///// <summary>
|
||||||
/// </summary>
|
///// 非采购入库
|
||||||
/// <param name="inStock"></param>
|
///// </summary>
|
||||||
/// <param name="loginInfo"></param>
|
///// <param name="inStock"></param>
|
||||||
/// <param name="isTransaction"></param>
|
///// <param name="loginInfo"></param>
|
||||||
/// <returns></returns>
|
///// <param name="isTransaction"></param>
|
||||||
public async Task<Result> ChangeBox_InStock(InStock inStock, LoginInDto loginInfo, bool isTransaction = true)
|
///// <returns></returns>
|
||||||
{
|
//public async Task<Result> ChangeBox_InStock(InStock inStock, LoginInDto loginInfo, bool isTransaction = true)
|
||||||
List<SaveChangeBoxRecordRequest> dtoList = new List<SaveChangeBoxRecordRequest>();
|
//{
|
||||||
//目标箱
|
// List<SaveChangeBoxRecordRequest> dtoList = new List<SaveChangeBoxRecordRequest>();
|
||||||
var destIds = inStock.Details.GroupBy(g => g.BoxId);
|
// //目标箱
|
||||||
var serialNumbers = inStock.Details.SelectMany(s => s.SerialNumbers).ToList();
|
// var destIds = inStock.Details.GroupBy(g => g.BoxId);
|
||||||
var serialNumberList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
|
// var serialNumbers = inStock.Details.SelectMany(s => s.SerialNumbers).ToList();
|
||||||
foreach (var detail in inStock.Details)
|
// var serialNumberList = await _serialNumbersRepositories.GetEntityList(serialNumbers);
|
||||||
{
|
// foreach (var detail in inStock.Details)
|
||||||
if (detail.Qty == 0) continue;
|
// {
|
||||||
var detailClone = detail.Clone();
|
// if (detail.Qty == 0) continue;
|
||||||
//处理序列号
|
// var detailClone = detail.Clone();
|
||||||
var sList = serialNumberList.Where(w => detailClone.SerialNumbers.Contains(w.SerialNumber)).ToList();
|
// //处理序列号
|
||||||
foreach (var s in sList)
|
// var sList = serialNumberList.Where(w => detailClone.SerialNumbers.Contains(w.SerialNumber)).ToList();
|
||||||
{
|
// foreach (var s in sList)
|
||||||
//原箱和目标箱一样不处理
|
// {
|
||||||
if (s.BoxId == detailClone.BoxId)
|
// //原箱和目标箱一样不处理
|
||||||
{
|
// if (s.BoxId == detailClone.BoxId)
|
||||||
detailClone.Qty = detailClone.Qty - 1;
|
// {
|
||||||
detailClone.SerialNumbers.Remove(s.SerialNumber);
|
// detailClone.Qty = detailClone.Qty - 1;
|
||||||
continue;
|
// detailClone.SerialNumbers.Remove(s.SerialNumber);
|
||||||
}
|
// continue;
|
||||||
|
// }
|
||||||
|
|
||||||
var d = dtoList.FirstOrDefault(f => f.DestBoxId == detailClone.BoxId && f.SrcBoxId == s.BoxId);
|
// var d = dtoList.FirstOrDefault(f => f.DestBoxId == detailClone.BoxId && f.SrcBoxId == s.BoxId);
|
||||||
if (d == null)
|
// if (d == null)
|
||||||
{
|
// {
|
||||||
d = new SaveChangeBoxRecordRequest(s.BoxId, detailClone.BoxId);
|
// d = new SaveChangeBoxRecordRequest(s.BoxId, detailClone.BoxId);
|
||||||
d.Details.Add(new SaveChangeBoxRecordDetailsRequest(detailClone.MaterialId, 1, s.SerialNumber));
|
// d.Details.Add(new SaveChangeBoxRecordDetailsRequest(detailClone.MaterialId, 1, s.SerialNumber));
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
var dtoDetail = d.Details.FirstOrDefault(f => f.MaterialId == detailClone.MaterialId);
|
// var dtoDetail = d.Details.FirstOrDefault(f => f.MaterialId == detailClone.MaterialId);
|
||||||
if (dtoDetail == null)
|
// if (dtoDetail == null)
|
||||||
d.Details.Add(new SaveChangeBoxRecordDetailsRequest(detailClone.MaterialId, 1, s.SerialNumber));
|
// d.Details.Add(new SaveChangeBoxRecordDetailsRequest(detailClone.MaterialId, 1, s.SerialNumber));
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
dtoDetail.Qty += 1;
|
// dtoDetail.Qty += 1;
|
||||||
dtoDetail.SerialNumbers.Add(s.SerialNumber);
|
// dtoDetail.SerialNumbers.Add(s.SerialNumber);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
detailClone.Qty = detailClone.Qty - 1;
|
// detailClone.Qty = detailClone.Qty - 1;
|
||||||
detailClone.SerialNumbers.Remove(s.SerialNumber);
|
// detailClone.SerialNumbers.Remove(s.SerialNumber);
|
||||||
}
|
// }
|
||||||
|
|
||||||
//处理非序列号的数据
|
// //处理非序列号的数据
|
||||||
if (detailClone.Qty <= 0) continue;
|
// if (detailClone.Qty <= 0) continue;
|
||||||
var dto = dtoList.FirstOrDefault(f => f.DestBoxId == detailClone.BoxId && f.SrcBoxId == 0);
|
// var dto = dtoList.FirstOrDefault(f => f.DestBoxId == detailClone.BoxId && f.SrcBoxId == 0);
|
||||||
if (dto == null)
|
// if (dto == null)
|
||||||
{
|
// {
|
||||||
dto = new SaveChangeBoxRecordRequest(0, detailClone.BoxId);
|
// dto = new SaveChangeBoxRecordRequest(0, detailClone.BoxId);
|
||||||
dto.Details.Add(new SaveChangeBoxRecordDetailsRequest(detailClone.MaterialId, detailClone.Qty, detailClone.SerialNumbers));
|
// dto.Details.Add(new SaveChangeBoxRecordDetailsRequest(detailClone.MaterialId, detailClone.Qty, detailClone.SerialNumbers));
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
var dtoDetail = dto.Details.FirstOrDefault(f => f.MaterialId == detailClone.MaterialId);
|
// var dtoDetail = dto.Details.FirstOrDefault(f => f.MaterialId == detailClone.MaterialId);
|
||||||
if (dtoDetail == null)
|
// if (dtoDetail == null)
|
||||||
dto.Details.Add(new SaveChangeBoxRecordDetailsRequest(detailClone.MaterialId, detailClone.Qty, detailClone.SerialNumbers));
|
// dto.Details.Add(new SaveChangeBoxRecordDetailsRequest(detailClone.MaterialId, detailClone.Qty, detailClone.SerialNumbers));
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
dtoDetail.Qty += detailClone.Qty;
|
// dtoDetail.Qty += detailClone.Qty;
|
||||||
dtoDetail.SerialNumbers.AddRange(detailClone.SerialNumbers);
|
// dtoDetail.SerialNumbers.AddRange(detailClone.SerialNumbers);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
return await ChangeBoxSave(dtoList, loginInfo, isTransaction, false);
|
// return await ChangeBoxSave(dtoList, loginInfo, isTransaction, false);
|
||||||
}
|
//}
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// 出库
|
///// 出库
|
||||||
/// </summary>
|
///// </summary>
|
||||||
/// <param name="outStock"></param>
|
///// <param name="outStock"></param>
|
||||||
/// <param name="isTransaction"></param>
|
///// <param name="isTransaction"></param>
|
||||||
/// <returns></returns>
|
///// <returns></returns>
|
||||||
public async Task<Result> ChangeBox_OutStock(OutStock outStock, bool isTransaction = true)
|
//public async Task<Result> ChangeBox_OutStock(OutStock outStock, bool isTransaction = true)
|
||||||
{
|
//{
|
||||||
if (outStock.Method == InventoryInOutMethod.Box) return Result.ReSuccess();
|
// if (outStock.Method == InventoryInOutMethod.Box) return Result.ReSuccess();
|
||||||
List<SaveChangeBoxRecordRequest> dtoList = new List<SaveChangeBoxRecordRequest>();
|
// List<SaveChangeBoxRecordRequest> dtoList = new List<SaveChangeBoxRecordRequest>();
|
||||||
var boxDetails = outStock.Details.SelectMany(s => s.BoxsDetails);
|
// var boxDetails = outStock.Details.SelectMany(s => s.BoxsDetails);
|
||||||
var boxIds = boxDetails.Select(s => s.BoxId).Distinct().ToList();
|
// var boxIds = boxDetails.Select(s => s.BoxId).Distinct().ToList();
|
||||||
var boxs = await _boxRepositories.GetEntityList(boxIds);
|
// var boxs = await _boxRepositories.GetEntityList(boxIds);
|
||||||
foreach (var d in outStock.Details)
|
// foreach (var d in outStock.Details)
|
||||||
{
|
// {
|
||||||
foreach (var db in d.BoxsDetails)
|
// foreach (var db in d.BoxsDetails)
|
||||||
{
|
// {
|
||||||
var box = boxs.FirstOrDefault(f => f.Id == db.BoxId);
|
// var box = boxs.FirstOrDefault(f => f.Id == db.BoxId);
|
||||||
if (box == null) continue;
|
// if (box == null) continue;
|
||||||
box.OutStock(d.MaterialId, db.Qty);
|
// box.OutStock(d.MaterialId, db.Qty);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
IDbContextTransaction _transaction = null;
|
// IDbContextTransaction _transaction = null;
|
||||||
if (isTransaction)
|
// if (isTransaction)
|
||||||
_transaction = _basbicsRepositories.GetTransaction();
|
// _transaction = _basbicsRepositories.GetTransaction();
|
||||||
Result res_Rollback = Result.ReSuccess();
|
// Result res_Rollback = Result.ReSuccess();
|
||||||
bool isSuccess = true;
|
// bool isSuccess = true;
|
||||||
if (res_Rollback.IsSuccess)
|
// if (res_Rollback.IsSuccess)
|
||||||
{
|
// {
|
||||||
isSuccess = await _boxRepositories.EditEntityList(boxs, false);
|
// isSuccess = await _boxRepositories.EditEntityList(boxs, false);
|
||||||
if (!isSuccess) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError);
|
// if (!isSuccess) res_Rollback = Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
}
|
// }
|
||||||
//提交事务
|
// //提交事务
|
||||||
if (isTransaction)
|
// if (isTransaction)
|
||||||
{
|
// {
|
||||||
isSuccess = _basbicsRepositories.CommitTransaction(res_Rollback.IsSuccess ? false : true, _transaction);
|
// isSuccess = _basbicsRepositories.CommitTransaction(res_Rollback.IsSuccess ? false : true, _transaction);
|
||||||
if (!res_Rollback.IsSuccess) return res_Rollback;
|
// if (!res_Rollback.IsSuccess) return res_Rollback;
|
||||||
if (!isSuccess)
|
// if (!isSuccess)
|
||||||
return Result.ReFailure(ResultCodes.DateWriteError);
|
// return Result.ReFailure(ResultCodes.DateWriteError);
|
||||||
}
|
// }
|
||||||
return Result.ReSuccess();
|
// return Result.ReSuccess();
|
||||||
}
|
//}
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -197,11 +197,11 @@ namespace WMS.Web.Domain.Services
|
|||||||
var res_Inventory = await _boxInventoryService.GenerateOutStockBox(entity, false);
|
var res_Inventory = await _boxInventoryService.GenerateOutStockBox(entity, false);
|
||||||
if (!res_Inventory.IsSuccess) res_Rollback = res_Inventory;
|
if (!res_Inventory.IsSuccess) res_Rollback = res_Inventory;
|
||||||
}
|
}
|
||||||
if (res_Rollback.IsSuccess)
|
//if (res_Rollback.IsSuccess)
|
||||||
{
|
//{
|
||||||
var res_changeMoveBox = await _changeMoveBoxService.ChangeBox_OutStock(entity, false);
|
// var res_changeMoveBox = await _changeMoveBoxService.ChangeBox_OutStock(entity, false);
|
||||||
if (!res_changeMoveBox.IsSuccess) res_Rollback = res_changeMoveBox;
|
// if (!res_changeMoveBox.IsSuccess) res_Rollback = res_changeMoveBox;
|
||||||
}
|
//}
|
||||||
if (res_Rollback.IsSuccess)
|
if (res_Rollback.IsSuccess)
|
||||||
{
|
{
|
||||||
boxIds = entity.Details.SelectMany(s => s.BoxsDetails).Select(s => s.BoxId).ToList();
|
boxIds = entity.Details.SelectMany(s => s.BoxsDetails).Select(s => s.BoxId).ToList();
|
||||||
|
|||||||
Reference in New Issue
Block a user