入库回退后反写入库单

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
/// </summary>
public int BoxId { get; set; }
/// <summary>
/// 是否解绑
/// </summary>
public bool? UnBind { get; set; } = false;
/// <summary>
/// 对应金蝶的明细ID
/// </summary>

View File

@@ -73,5 +73,12 @@ namespace WMS.Web.Domain.IService
/// <param name="dto"></param>
/// <returns></returns>
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>
/// <returns></returns>
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 ISerialNumbersRepositories _serialNumbersRepositories;
private readonly IInStockTaskBoxService _inStockTaskBoxService;
private readonly IInStockService _inStockService;
public BackRecordService(IMapper mapper, ILoginService loginService,
ILogger<BackRecordService> logger,
IBasicsRepositories basicsRepositories,
@@ -43,7 +44,8 @@ namespace WMS.Web.Domain.Services
IChangeMoveBoxService changeMoveBoxService,
ISerialNumbersRepositories serialNumbersRepositories,
IBackRecordRepositories backRecordRepositories,
IInStockTaskBoxService inStockTaskBoxService)
IInStockTaskBoxService inStockTaskBoxService,
IInStockService inStockService)
{
_mapper = mapper;
_logger = logger;
@@ -55,6 +57,7 @@ namespace WMS.Web.Domain.Services
_basicsRepositories = basicsRepositories;
_serialNumbersRepositories = serialNumbersRepositories;
_backRecordRepositories = backRecordRepositories;
_inStockService = inStockService;
}
/// <summary>
@@ -123,6 +126,10 @@ namespace WMS.Web.Domain.Services
return unBindResult;
_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 })
.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;
}
}
}