入库回退后反写入库单

This commit is contained in:
18942506660
2024-08-01 10:20:52 +08:00
parent 0fe5c20eff
commit a93a1585f0
7 changed files with 55 additions and 2 deletions

View File

@@ -42,7 +42,10 @@ namespace WMS.Web.Domain.Entitys
/// 箱ID /// 箱ID
/// </summary> /// </summary>
public int BoxId { get; set; } public int BoxId { get; set; }
/// <summary>
/// 是否解绑
/// </summary>
public bool? UnBind { get; set; } = false;
/// <summary> /// <summary>
/// 对应金蝶的明细ID /// 对应金蝶的明细ID
/// </summary> /// </summary>

View File

@@ -73,5 +73,12 @@ namespace WMS.Web.Domain.IService
/// <param name="dto"></param> /// <param name="dto"></param>
/// <returns></returns> /// <returns></returns>
Task<Result<ContrastMaterialsResponse>> Contrast(ContrastMaterialsRequest dto); Task<Result<ContrastMaterialsResponse>> Contrast(ContrastMaterialsRequest dto);
/// <summary>
/// 解绑-收货的箱子
/// </summary>
/// <param name="boxIds"></param>
/// <param name="isTransaction"></param>
/// <returns></returns>
Task<Result> UnBind(List<int> boxIds, bool isTransaction = true);
} }
} }

View File

@@ -129,5 +129,11 @@ namespace WMS.Web.Domain.Infrastructure
/// <param name="boxIds"></param> /// <param name="boxIds"></param>
/// <returns></returns> /// <returns></returns>
Task<List<int>> GetInstockBoxIds(List<int> boxIds); Task<List<int>> GetInstockBoxIds(List<int> boxIds);
/// <summary>
/// 集合根据boxIDS
/// </summary>
/// <param name="boxIds"></param>
/// <returns></returns>
Task<List<InStockDetails>> GetListBy(List<int> boxIds);
} }
} }

View File

@@ -35,6 +35,7 @@ namespace WMS.Web.Domain.Services
private readonly IChangeMoveBoxService _changeMoveBoxService; private readonly IChangeMoveBoxService _changeMoveBoxService;
private readonly ISerialNumbersRepositories _serialNumbersRepositories; private readonly ISerialNumbersRepositories _serialNumbersRepositories;
private readonly IInStockTaskBoxService _inStockTaskBoxService; private readonly IInStockTaskBoxService _inStockTaskBoxService;
private readonly IInStockService _inStockService;
public BackRecordService(IMapper mapper, ILoginService loginService, public BackRecordService(IMapper mapper, ILoginService loginService,
ILogger<BackRecordService> logger, ILogger<BackRecordService> logger,
IBasicsRepositories basicsRepositories, IBasicsRepositories basicsRepositories,
@@ -43,7 +44,8 @@ namespace WMS.Web.Domain.Services
IChangeMoveBoxService changeMoveBoxService, IChangeMoveBoxService changeMoveBoxService,
ISerialNumbersRepositories serialNumbersRepositories, ISerialNumbersRepositories serialNumbersRepositories,
IBackRecordRepositories backRecordRepositories, IBackRecordRepositories backRecordRepositories,
IInStockTaskBoxService inStockTaskBoxService) IInStockTaskBoxService inStockTaskBoxService,
IInStockService inStockService)
{ {
_mapper = mapper; _mapper = mapper;
_logger = logger; _logger = logger;
@@ -55,6 +57,7 @@ namespace WMS.Web.Domain.Services
_basicsRepositories = basicsRepositories; _basicsRepositories = basicsRepositories;
_serialNumbersRepositories = serialNumbersRepositories; _serialNumbersRepositories = serialNumbersRepositories;
_backRecordRepositories = backRecordRepositories; _backRecordRepositories = backRecordRepositories;
_inStockService = inStockService;
} }
/// <summary> /// <summary>
@@ -123,6 +126,10 @@ namespace WMS.Web.Domain.Services
return unBindResult; return unBindResult;
_logger.LogInformation("入库回退下架-结果:" + unBindResult.IsSuccess); _logger.LogInformation("入库回退下架-结果:" + unBindResult.IsSuccess);
//入库单解绑
unBindResult = await _inStockService.UnBind(boxIds, isTransaction);
if (!unBindResult.IsSuccess)
return unBindResult;
} }
//提交事务 //提交事务

View File

@@ -1122,6 +1122,28 @@ namespace WMS.Web.Domain.Services
} }
} }
/// <summary>
/// 解绑箱子
/// </summary>
/// <param name="boxIds"></param>
/// <param name="isTransaction"></param>
/// <returns></returns>
public async Task<Result> UnBind(List<int> boxIds, bool isTransaction = true)
{
var delete_ids = new List<int>();
var t_boxIds = boxIds.Distinct().ToList();
var list = await _inStockRepositories.GetListBy(t_boxIds);
//解绑
list.ForEach(x => { x.UnBind = true; });
if (list.Count != 0)
{
var isSuccess = await _inStockRepositories.UpdateRange(list, isTransaction);
if (!isSuccess)
return Result.ReFailure(ResultCodes.DateWriteError);
}
return Result.ReSuccess();
}
} }
} }

View File

@@ -501,5 +501,13 @@ namespace WMS.Web.Repositories
.SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order }) .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order })
.Where(x => boxIds.Contains(x.detail.BoxId) && x.order.Type != InstockType.Purchase).Select(s => s.detail.BoxId).ToListAsync(); .Where(x => boxIds.Contains(x.detail.BoxId) && x.order.Type != InstockType.Purchase).Select(s => s.detail.BoxId).ToListAsync();
} }
public async Task<List<InStockDetails>> GetListBy(List<int> boxIds)
{
var entitys = await _context.InStockDetails.AsNoTracking()
.Where(x => boxIds.Contains(x.BoxId) && (x.UnBind == null || x.UnBind == false))
.ToListAsync();
return entitys;
}
} }
} }