先传
This commit is contained in:
@@ -371,6 +371,146 @@ namespace BarCode.Web.Repositories
|
||||
return (list, total);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 列表2
|
||||
/// </summary>
|
||||
/// <param name="dto"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public async Task<(List<SerialNumberInfoResponse2> list, int total)> GetListAsync2(SerialNumberQueryRequest dto, LoginInDto loginInfo)
|
||||
{
|
||||
int companyId = loginInfo.UserInfo.CompanyId;
|
||||
List<string> mNumber = new List<string>();
|
||||
var materials_result = await _erpService.BillQueryForMaterial();
|
||||
List<ErpMaterialDto> materials = new List<ErpMaterialDto>();
|
||||
if (materials_result.IsSuccess)
|
||||
materials = materials_result.Data.ToList();
|
||||
|
||||
//var queery2= _context.ser
|
||||
|
||||
var query = _context.SerialNumbers.AsNoTracking()
|
||||
.GroupJoin(_context.Box, serial => serial.BoxId, box => box.Id, (serial, box) => new { serial, box })
|
||||
.SelectMany(x => x.box.DefaultIfEmpty(), (p, box) => new { p.serial, box })
|
||||
.GroupJoin(_context.SerialNumberGenerateRecord, s => s.serial.GenerateRecordId, sg => sg.Id, (serial, sg) => new { serial.serial, serial.box, sg })
|
||||
.SelectMany(x => x.sg.DefaultIfEmpty(), (p, sg) => new { p.serial, p.box, sg })
|
||||
.OrderByDescending(o => o.serial.Id)
|
||||
.Where(f => dto.GenerateRecordId == f.serial.GenerateRecordId && f.serial.SuitNumber==f.serial.SerialNumber);
|
||||
if (loginInfo.UserInfo.IsAdmin != true && !string.IsNullOrEmpty(dto.OrgCode))
|
||||
{
|
||||
var rec_type = dto.OrgCode.Substring(0, 1);
|
||||
var rec_code = dto.OrgCode.Substring(2, dto.OrgCode.Length - 2);
|
||||
|
||||
if (rec_type.Equals("s"))//供应商
|
||||
query = query.Where(w => rec_code == w.serial.SupplierCode);
|
||||
else//查其他单据(组织)
|
||||
query = query.Where(w => rec_code == w.serial.OrgCode);
|
||||
}
|
||||
if (dto.IsPrint != null)
|
||||
query = query.Where(w => dto.IsPrint == true ? w.serial.PrintNumber > 0 : w.serial.PrintNumber <= 0);
|
||||
if (dto.IsUse != null)
|
||||
query = query.Where(w => w.serial.IsUse == dto.IsUse);
|
||||
if (dto.SerialNumbers != null && dto.SerialNumbers.Count() > 0)
|
||||
query = query.Where(w => dto.SerialNumbers.Contains(w.serial.SerialNumber));
|
||||
if (dto.NumberCodes != null && dto.NumberCodes.Count() > 0)
|
||||
query = query.Where(w => dto.NumberCodes.Contains(w.serial.NumberCode));
|
||||
if (!string.IsNullOrEmpty(dto.BoxBillNo))
|
||||
query = query.Where(w => w.box.BoxBillNo.Equals(dto.BoxBillNo));
|
||||
if (dto.SerialNumberBegin != null && dto.SerialNumberBegin != 0)
|
||||
{
|
||||
if (dto.SerialNumberEnd != null && dto.SerialNumberEnd != 0)
|
||||
query = query.Where(w => w.serial.Id >= dto.SerialNumberBegin);
|
||||
else
|
||||
query = query.Where(w => w.serial.Id == dto.SerialNumberBegin);
|
||||
}
|
||||
if (dto.SerialNumberEnd != null && dto.SerialNumberEnd != 0)
|
||||
{
|
||||
if (dto.SerialNumberBegin != null && dto.SerialNumberBegin != 0)
|
||||
query = query.Where(w => w.serial.Id <= dto.SerialNumberEnd);
|
||||
else
|
||||
query = query.Where(w => w.serial.Id == dto.SerialNumberEnd);
|
||||
}
|
||||
//V01.05.00: 数字序列号区间查询
|
||||
if (!string.IsNullOrEmpty(dto.NumberCodeBegin))
|
||||
{
|
||||
int number = Convert.ToInt32(dto.NumberCodeBegin.Substring(6, dto.NumberCodeBegin.Length - 6));
|
||||
if (!string.IsNullOrEmpty(dto.NumberCodeEnd))
|
||||
query = query.Where(w => w.serial.Number >= number);
|
||||
else
|
||||
query = query.Where(w => w.serial.Number == number);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(dto.NumberCodeEnd))
|
||||
{
|
||||
int number = Convert.ToInt32(dto.NumberCodeEnd.Substring(6, dto.NumberCodeEnd.Length - 6));
|
||||
if (!string.IsNullOrEmpty(dto.NumberCodeBegin))
|
||||
query = query.Where(w => w.serial.Number <= number);
|
||||
else
|
||||
query = query.Where(w => w.serial.Number == number);
|
||||
}
|
||||
|
||||
|
||||
if (dto.DownLoadBeginDate != null)
|
||||
query = query.Where(w => w.serial.DownLoadTime >= dto.DownLoadBeginDate);
|
||||
if (dto.DownLoadEndDate != null)
|
||||
{
|
||||
DateTime dt_end = ((DateTime)dto.DownLoadEndDate).AddDays(1);
|
||||
query = query.Where(w => w.serial.DownLoadTime <= dt_end);
|
||||
}
|
||||
if (dto.PrintBeginDate != null)
|
||||
query = query.Where(w => w.serial.PrintTime >= dto.PrintBeginDate);
|
||||
if (dto.PrintEndDate != null)
|
||||
{
|
||||
DateTime dt_end = ((DateTime)dto.PrintEndDate).AddDays(1);
|
||||
query = query.Where(w => w.serial.PrintTime <= dt_end);
|
||||
}
|
||||
if (dto.IsUpdateMaterial != null)
|
||||
{
|
||||
if (dto.IsUpdateMaterial == true)
|
||||
query = query.Where(w => !string.IsNullOrEmpty(w.serial.Old_MaterialNumber));
|
||||
else
|
||||
query = query.Where(w => string.IsNullOrEmpty(w.serial.Old_MaterialNumber));
|
||||
}
|
||||
|
||||
|
||||
if (dto.isTwo > 1)//是否为两件装,如果大于1说明为两件装
|
||||
{
|
||||
query = query.Where(w => w.serial.IsTwo > 1);
|
||||
}
|
||||
|
||||
|
||||
int total = await query.CountAsync();
|
||||
var list = await query.Select(s => new SerialNumberInfoResponse2()
|
||||
{
|
||||
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.MaterialNumber),
|
||||
Old_Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.serial.Old_MaterialNumber == null ? "" : s.serial.Old_MaterialNumber),
|
||||
MaterialNumber = s.serial.MaterialNumber,
|
||||
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.serial.MaterialNumber),
|
||||
BarCode = _erpBasicDataExtendService.GetMaterialBarCode(materials, s.serial.MaterialNumber),
|
||||
SerialNumber = s.serial.SerialNumber,
|
||||
SerialNumber2 = s.serial.SerialNumber,
|
||||
NumberCode = s.serial.NumberCode,
|
||||
NumberCode2 = s.serial.NumberCode,
|
||||
Number = s.sg == null ? 0 : s.sg.Number,
|
||||
Id = s.serial.Id,
|
||||
Id2 = s.serial.Id,
|
||||
IsUse = s.serial.IsUse,
|
||||
IsUseStr = s.serial.IsUse == true ? "是" : "否",
|
||||
//序列码已经被使用 但没有箱号,那么就是被wms系统拉去使用了,不能再被打印
|
||||
IsEnablePrint = (s.serial.BoxId <= 0 && s.serial.IsUse == true) ? false : true,
|
||||
Box = s.box == null ? "" : s.box.BoxBillNo,
|
||||
Creator = _singleDataService.GetSingleData(SingleAction.Users, companyId, s.serial.CreatorId),
|
||||
CreateTime = s.serial.CreateTime.DateToStringSeconds(),
|
||||
PrintNumber = s.serial.PrintNumber,
|
||||
DownLoadNumber = s.serial.DownLoadNumber,
|
||||
DownLoadTime = s.serial.DownLoadTime.DateToStringSeconds(),
|
||||
PrintTime = s.serial.PrintTime.DateToStringSeconds(),
|
||||
IsTwo = s.serial.IsTwo,
|
||||
TwoSerialNumber = s.serial.TwoSerialNumber.Replace(s.serial.SerialNumber, "").Replace(",", "")
|
||||
}).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
|
||||
return (list, total);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 导出列表
|
||||
/// </summary>
|
||||
@@ -686,8 +826,27 @@ namespace BarCode.Web.Repositories
|
||||
/// <returns></returns>
|
||||
public async Task<(object obj, int total)> GetListField(SerialNumberQueryRequest dto, LoginInDto loginInfo)
|
||||
{
|
||||
return await GetListAsync(dto, loginInfo);
|
||||
if (dto.isTwo == 2)
|
||||
{
|
||||
return await GetListAsync2(dto, loginInfo);
|
||||
}
|
||||
else
|
||||
{
|
||||
return await GetListAsync(dto, loginInfo);
|
||||
}
|
||||
}
|
||||
|
||||
///// <summary>
|
||||
///// 两件装条码列表导出
|
||||
///// </summary>
|
||||
///// <param name="dto"></param>
|
||||
///// <param name="loginInfo"></param>
|
||||
///// <returns></returns>
|
||||
//public async Task<(object obj, int total)> GetListField2(SerialNumberQueryRequest dto, LoginInDto loginInfo)
|
||||
//{
|
||||
// return await GetListAsync2(dto, loginInfo);
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 根据箱Id获取序列码
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user