先传
This commit is contained in:
@@ -167,11 +167,20 @@ namespace BarCode.Web.Api.Controllers
|
||||
string fileName = FileDownLoadOrderType.SerialNumberInfo.GetRemark() + DateTime.Now.DateToStringSecondsNoSpace() + ".xlsx";
|
||||
string res = _option.Url + fileName;
|
||||
|
||||
if (dto.isTwo == 2)
|
||||
{
|
||||
Task.Run(async () =>
|
||||
{
|
||||
await _exportExcelService.ExportList<SerialNumberInfoResponse2, SerialNumberQueryRequest>(dto, fileName, loginInfo.UserInfo.UcId, loginInfo, FileDownLoadOrderType.SerialNumberInfo, orgCode);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
Task.Run(async () =>
|
||||
{
|
||||
await _exportExcelService.ExportList<SerialNumberInfoResponse, SerialNumberQueryRequest>(dto, fileName, loginInfo.UserInfo.UcId, loginInfo, FileDownLoadOrderType.SerialNumberInfo, orgCode);
|
||||
});
|
||||
|
||||
}
|
||||
return Task.FromResult(Result<string>.ReSuccess(res));
|
||||
}
|
||||
/// <summary>
|
||||
|
||||
@@ -3034,6 +3034,126 @@
|
||||
第二个序列号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.MaterialNumber">
|
||||
<summary>
|
||||
物料编码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.MaterialName">
|
||||
<summary>
|
||||
物料名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Specifications">
|
||||
<summary>
|
||||
物料规格型号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Old_Specifications">
|
||||
<summary>
|
||||
转换前规格型号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.BarCode">
|
||||
<summary>
|
||||
物料条码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.SerialNumber">
|
||||
<summary>
|
||||
序列码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.SerialNumber2">
|
||||
<summary>
|
||||
序列码2
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.NumberCode">
|
||||
<summary>
|
||||
数字序列码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.NumberCode2">
|
||||
<summary>
|
||||
数字序列码2
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Id">
|
||||
<summary>
|
||||
序列码流水号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Id2">
|
||||
<summary>
|
||||
序列码流水号2
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Number">
|
||||
<summary>
|
||||
数量
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.IsUse">
|
||||
<summary>
|
||||
是否使用
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.IsUseStr">
|
||||
<summary>
|
||||
是否使用
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Box">
|
||||
<summary>
|
||||
箱号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.Creator">
|
||||
<summary>
|
||||
创建人
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.CreateTime">
|
||||
<summary>
|
||||
生成时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.PrintNumber">
|
||||
<summary>
|
||||
打印次数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.DownLoadNumber">
|
||||
<summary>
|
||||
下载次数
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.PrintTime">
|
||||
<summary>
|
||||
最新打印时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.DownLoadTime">
|
||||
<summary>
|
||||
最新下载时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.IsEnablePrint">
|
||||
<summary>
|
||||
是否允许打印(序列码已经被使用 但没有箱号,那么就是被wms系统拉去使用了,不能再被打印)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.IsTwo">
|
||||
<summary>
|
||||
是否为两件装,为了控制后面的变动,设为整数形,0和1看作1,2代表2件装,3代表三件装 alter by yzh
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberInfoResponse2.TwoSerialNumber">
|
||||
<summary>
|
||||
第二个序列号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:BarCode.Web.Core.Dto.SerialNumbers.SerialNumberQueryRequest">
|
||||
<summary>
|
||||
序列号列表搜索请求参数
|
||||
|
||||
@@ -122,6 +122,140 @@ namespace BarCode.Web.Core.Dto.SerialNumbers
|
||||
}
|
||||
|
||||
|
||||
public class SerialNumberInfoResponse2
|
||||
{
|
||||
/// <summary>
|
||||
/// 物料编码
|
||||
/// </summary>
|
||||
[Column("物料编码")]
|
||||
public string MaterialNumber { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 物料名称
|
||||
/// </summary>
|
||||
[Column("名称")]
|
||||
public string MaterialName { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 物料规格型号
|
||||
/// </summary>
|
||||
[Column("规格型号")]
|
||||
public string Specifications { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 转换前规格型号
|
||||
/// </summary>
|
||||
[Column("转换前规格型号")]
|
||||
public string Old_Specifications { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 物料条码
|
||||
/// </summary>
|
||||
[Column("条码")]
|
||||
public string BarCode { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 序列码
|
||||
/// </summary>
|
||||
[Column("序列码")]
|
||||
public string SerialNumber { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 序列码2
|
||||
/// </summary>
|
||||
[Column("序列码2")]
|
||||
public string SerialNumber2 { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 数字序列码
|
||||
/// </summary>
|
||||
[Column("数字序列码")]
|
||||
public string NumberCode { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 数字序列码2
|
||||
/// </summary>
|
||||
[Column("数字序列码2")]
|
||||
public string NumberCode2 { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 序列码流水号
|
||||
/// </summary>
|
||||
[Column("序号")]
|
||||
public long Id { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 序列码流水号2
|
||||
/// </summary>
|
||||
[Column("序号2")]
|
||||
public long Id2 { get; set; }
|
||||
/// <summary>
|
||||
/// 数量
|
||||
/// </summary>
|
||||
[Column("数量")]
|
||||
public int Number { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// 是否使用
|
||||
/// </summary>
|
||||
[Ignore]
|
||||
public bool IsUse { get; set; } = false;
|
||||
/// <summary>
|
||||
/// 是否使用
|
||||
/// </summary>
|
||||
[Column("是否使用")]
|
||||
public string IsUseStr { get; set; } = "";
|
||||
/// <summary>
|
||||
/// 箱号
|
||||
/// </summary>
|
||||
[Column("所在箱号")]
|
||||
public string Box { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 创建人
|
||||
/// </summary>
|
||||
[Ignore]
|
||||
public string Creator { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 生成时间
|
||||
/// </summary>
|
||||
[Column("生成时间")]
|
||||
public string CreateTime { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 打印次数
|
||||
/// </summary>
|
||||
[Column("打印次数")]
|
||||
public int PrintNumber { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// 下载次数
|
||||
/// </summary>
|
||||
[Column("下载次数")]
|
||||
public int DownLoadNumber { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// 最新打印时间
|
||||
/// </summary>
|
||||
[Column("最近打印时间")]
|
||||
public string PrintTime { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 最新下载时间
|
||||
/// </summary>
|
||||
[Column("最近下载时间")]
|
||||
public string DownLoadTime { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 是否允许打印(序列码已经被使用 但没有箱号,那么就是被wms系统拉去使用了,不能再被打印)
|
||||
/// </summary>
|
||||
[Ignore]
|
||||
public bool IsEnablePrint { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 是否为两件装,为了控制后面的变动,设为整数形,0和1看作1,2代表2件装,3代表三件装 alter by yzh
|
||||
/// </summary>
|
||||
[Ignore]
|
||||
public int IsTwo { get; set; } = 1;
|
||||
/// <summary>
|
||||
/// 第二个序列号
|
||||
/// </summary>
|
||||
[Ignore]
|
||||
public string TwoSerialNumber { get; set; } = string.Empty;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 序列号列表搜索返回参数
|
||||
/// </summary>
|
||||
|
||||
@@ -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>
|
||||
@@ -685,9 +825,28 @@ namespace BarCode.Web.Repositories
|
||||
/// <param name="loginInfo"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<(object obj, int total)> GetListField(SerialNumberQueryRequest dto, LoginInDto 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