|
|
@ -382,7 +382,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ |
|
|
|
/// </summary>
|
|
|
|
/// <remarks>
|
|
|
|
/// 验证结算分组号是否已存在
|
|
|
|
/// 验证导入的零件号在客户-厂内零件号关系表中是否存在
|
|
|
|
/// 只有备件验证导入的零件号在客户-厂内零件号关系表中是否存在
|
|
|
|
/// </remarks>
|
|
|
|
private async Task<List<ErrorExportDto>> CheckAsync(List<PUB_SA_DETAIL> pubSaDetails) |
|
|
|
{ |
|
|
@ -403,18 +403,21 @@ namespace Win.Sfs.SettleAccount.Entities.BQ |
|
|
|
|
|
|
|
if (!checkList.Any()) |
|
|
|
{ |
|
|
|
//验证客户对应厂内零件号是否存在
|
|
|
|
//导入的零件号集合
|
|
|
|
var importPubSaLUs = pubSaDetails.Select(t => t.LU).Distinct(); |
|
|
|
var materialRelationshipEntitys = await _materialRelationshipRepository.GetListAsync(t => t.BusinessType == businessType && importPubSaLUs.Contains(t.SettleMaterialCode)).ConfigureAwait(false); |
|
|
|
var materialRelationshipEntitySettleMaterialCodes = materialRelationshipEntitys.Select(t => t.SettleMaterialCode).Distinct(); |
|
|
|
|
|
|
|
//不存在的客户零件号(差集)
|
|
|
|
var noExistSettleMaterialCodes = importPubSaLUs.Except(materialRelationshipEntitySettleMaterialCodes); |
|
|
|
noExistSettleMaterialCodes.ForEach(t => |
|
|
|
if (businessType == EnumBusinessType.BeiJian) |
|
|
|
{ |
|
|
|
checkList.Add(new ErrorExportDto(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, $"客户零件号【{t}】对应厂内零件号系统中不存在", string.Empty)); |
|
|
|
}); |
|
|
|
//验证客户对应厂内零件号是否存在
|
|
|
|
//导入的零件号集合
|
|
|
|
var importPubSaLUs = pubSaDetails.Select(t => t.LU).Distinct(); |
|
|
|
var materialRelationshipEntitys = await _materialRelationshipRepository.GetListAsync(t => t.BusinessType == businessType && importPubSaLUs.Contains(t.SettleMaterialCode)).ConfigureAwait(false); |
|
|
|
var materialRelationshipEntitySettleMaterialCodes = materialRelationshipEntitys.Select(t => t.SettleMaterialCode).Distinct(); |
|
|
|
|
|
|
|
//不存在的客户零件号(差集)
|
|
|
|
var noExistSettleMaterialCodes = importPubSaLUs.Except(materialRelationshipEntitySettleMaterialCodes); |
|
|
|
noExistSettleMaterialCodes.ForEach(t => |
|
|
|
{ |
|
|
|
checkList.Add(new ErrorExportDto(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, $"客户零件号【{t}】对应厂内零件号系统中不存在", string.Empty)); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return checkList; |
|
|
|