去重
This commit is contained in:
@@ -24,6 +24,9 @@ namespace WMS.Web.Domain.Infrastructure
|
||||
Task<List<OutStockTask>> GetEntityList(List<int> ids);
|
||||
/// 查询实体集合
|
||||
Task<List<OutStockTask>> GetEntityListByStatus();
|
||||
Task<List<SerialNumbers>> GetEntityList(List<string> serialNumbers);
|
||||
Task<List<SerialNumbers>> GetEntityListBySuitNumber(string suitNumber);
|
||||
|
||||
/// 查询实体集合(明细Id)
|
||||
Task<List<OutStockTask>> GetEntityListByDetailIds(List<int> ids);
|
||||
/// <summary>
|
||||
|
||||
@@ -707,8 +707,16 @@ namespace WMS.Web.Domain.Services
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
string hadsavel = "";
|
||||
foreach (var s in d.SerialNumberList)
|
||||
{
|
||||
//先跟据条码查询对应的
|
||||
List<string> l= new List<string>();
|
||||
l.Add(s.ToString());
|
||||
|
||||
var serialNumbers = await _outStockTaskRepositories.GetEntityList(l);
|
||||
// hadsavel = hadsavel + serialNumbers[0].TwoSerialNumber;
|
||||
list.Add(new ExportInfoResponse()
|
||||
{
|
||||
SourceBillNo = response.SourceBillNo,
|
||||
@@ -727,15 +735,26 @@ namespace WMS.Web.Domain.Services
|
||||
BoxWeight = d.BoxWeight,
|
||||
Qty = d.Qty,
|
||||
AccruedQty = d.AccruedQty,
|
||||
SerialNumbers = s
|
||||
SerialNumbers = serialNumbers[0].TwoSerialNumber
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var list2 = list.GroupBy(p => new { p.SourceBillNo, p.SaleBillNo,p.ReceiptCustomer, p.CreateTime, p.BoxBillNo, p.Specifications, p.MaterialName, p.MaterialNumber, p.BarCode, p.IndexNumber, p.BoxLength, p.BoxWide, p.BoxHigh, p.BoxWeight, p.Qty, p.AccruedQty, p.SerialNumbers }) // Group by Name and Age properties
|
||||
.Select(g => g.First()) // Select the first item of each group (arbitrary choice)
|
||||
.ToList(); // Convert back to list if needed. If you only need the distinct items, you can skip this step.
|
||||
|
||||
// list.Distinct().ToList();
|
||||
|
||||
var _exportExcelService = scope.ServiceProvider.GetRequiredService<IExportExcelService>();
|
||||
await _exportExcelService.Export(list, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStockTaskInfo);
|
||||
await _exportExcelService.Export(list2, fileName, loginInfo.UserInfo.StaffId, loginInfo.UserInfo.CompanyId, FileDownLoadOrderType.OutStockTaskInfo);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
@@ -403,7 +403,8 @@ namespace WMS.Web.Domain.Services
|
||||
|
||||
|
||||
|
||||
//序列号操作记录
|
||||
//
|
||||
//操作记录
|
||||
var res = await this.SerialNumberOperate(sList, false);
|
||||
//提交事务
|
||||
if (isTransaction)
|
||||
|
||||
@@ -374,6 +374,37 @@ namespace WMS.Web.Repositories
|
||||
}
|
||||
return details;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据序列号查询
|
||||
/// </summary>
|
||||
/// <param name="serialNumbers"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<SerialNumbers>> GetEntityList(List<string> serialNumbers)
|
||||
{
|
||||
var res = await _context.SerialNumbers
|
||||
// .Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
.Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
.ToListAsync();
|
||||
var res_c = res.Clone();
|
||||
|
||||
//var s_e = res.Select(s => s.SerialNumber).ToList();
|
||||
var s_e = res.Select(s => s.TwoSerialNumber).ToList();
|
||||
//在序列表里没找到的序列码 则到老ops序列码数据里去处理 list比较 取差集
|
||||
var s_c = serialNumbers.Except(s_e);
|
||||
if (s_c.Count() > 0)
|
||||
{
|
||||
var entitys_ops = serialNumbers.Where(w => s_c.Contains(w)).ToList();
|
||||
var r_o = await _context.SerialNumbers_Ops
|
||||
.Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
.ToListAsync();
|
||||
|
||||
res_c.AddRange(_mapper.Map<List<SerialNumbers>>(r_o.Clone()));
|
||||
}
|
||||
|
||||
return res_c;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据序列号搜索
|
||||
/// </summary>
|
||||
|
||||
@@ -617,10 +617,73 @@ namespace WMS.Web.Repositories
|
||||
.Include(s => s.Details).ThenInclude(s => s.ErpDetails)
|
||||
.Where(f => f.Status == OutStockStatus.Wait || f.Status == OutStockStatus.Part)
|
||||
.ToListAsync();
|
||||
|
||||
|
||||
return res.Clone();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据序列号查询
|
||||
/// </summary>
|
||||
/// <param name="serialNumbers"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<SerialNumbers>> GetEntityList(List<string> serialNumbers)
|
||||
{
|
||||
var res = await _context.SerialNumbers
|
||||
// .Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
.Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
.ToListAsync();
|
||||
var res_c = res.Clone();
|
||||
|
||||
//var s_e = res.Select(s => s.SerialNumber).ToList();
|
||||
var s_e = res.Select(s => s.TwoSerialNumber).ToList();
|
||||
//在序列表里没找到的序列码 则到老ops序列码数据里去处理 list比较 取差集
|
||||
var s_c = serialNumbers.Except(s_e);
|
||||
if (s_c.Count() > 0)
|
||||
{
|
||||
var entitys_ops = serialNumbers.Where(w => s_c.Contains(w)).ToList();
|
||||
var r_o = await _context.SerialNumbers_Ops
|
||||
.Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
.ToListAsync();
|
||||
|
||||
res_c.AddRange(_mapper.Map<List<SerialNumbers>>(r_o.Clone()));
|
||||
}
|
||||
|
||||
return res_c;
|
||||
}
|
||||
/// <summary>
|
||||
/// 根据套装码获取序列码
|
||||
/// </summary>
|
||||
/// <param name="boxIds"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<SerialNumbers>> GetEntityListBySuitNumber(string suitNumber)
|
||||
{
|
||||
|
||||
return await _context.SerialNumbers.AsNoTracking()
|
||||
.Where(f => f.SerialNumber.Contains(suitNumber))
|
||||
.ToListAsync();
|
||||
|
||||
//var res = await _context.SerialNumbers
|
||||
// .Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
// .ToListAsync();
|
||||
//var res_c = res.Clone();
|
||||
|
||||
//var s_e = res.Select(s => s.SerialNumber).ToList();
|
||||
////在序列表里没找到的序列码 则到老ops序列码数据里去处理 list比较 取差集
|
||||
//var s_c = serialNumbers.Except(s_e);
|
||||
//if (s_c.Count() > 0)
|
||||
//{
|
||||
// var entitys_ops = serialNumbers.Where(w => s_c.Contains(w)).ToList();
|
||||
// var r_o = await _context.SerialNumbers_Ops
|
||||
// .Where(f => serialNumbers.Contains(f.SerialNumber))
|
||||
// .ToListAsync();
|
||||
|
||||
// res_c.AddRange(_mapper.Map<List<SerialNumbers>>(r_o.Clone()));
|
||||
//}
|
||||
|
||||
//return res_c;
|
||||
}
|
||||
|
||||
|
||||
public string GetInStock(List<string> codes, int companyId, string orgCode)
|
||||
{
|
||||
var list = codes.Where(w => w != null).ToList();
|
||||
|
||||
Reference in New Issue
Block a user