改回了序列码,不使用List

This commit is contained in:
2025-05-13 16:40:50 +08:00
parent c609fb7327
commit e0074faba1
8 changed files with 375 additions and 49 deletions

View File

@@ -253,21 +253,18 @@ namespace WMS.Web.Repositories
}
/// <summary>
/// 根据序列号
/// </summary>
/// <param name="serialNumbers"></param>
/// <returns></returns>
public async Task<List<MaterialResponse>> GetSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0)
public async Task<MaterialResponse> GetSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0)
{
List<MaterialResponse> response2 = new List<MaterialResponse>();
MaterialResponse response = new MaterialResponse();
var materials_result = await _erpService.BillQueryForMaterial();
if (!materials_result.IsSuccess)
{
response2.Add(response);
return response2;
}
return response;
var materials = materials_result.Data.ToList();
var m = materials.Where(f => (f.Specifications.Equals(serialNumber) || f.MaterialNumber.Equals(serialNumber)));
@@ -279,8 +276,7 @@ namespace WMS.Web.Repositories
response.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, material.MaterialNumber);
response.MaterialNumber = material.MaterialNumber;
response.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, material.MaterialNumber);
response2.Add(response);
return response2;
return response;
}
var res = _context.SerialNumbers
.GroupJoin(_context.BoxInventory.Include(x => x.Details), serial => serial.BoxId, boxInventory => boxInventory.BoxId, (serial, boxInventory) => new { serial, boxInventory })
@@ -319,19 +315,19 @@ namespace WMS.Web.Repositories
if (entity.boxInventory != null)
response.IsBoxInventory = entity.boxInventory.Details.SelectMany(s => s.SerialNumbers).Where(w => serialNumber.Equals(w)).Count() >= 1 ? true : false;
response.IsTwo = entity.serial.IsTwo;
if(entity.serial.TwoSerialNumber!=null)
{
response.TwoSerialNumber=entity.serial.TwoSerialNumber.Replace(entity.serial.SerialNumber,"").Replace(",","");
response.IsNotCount = entity.serial.IsNotCount;
if (entity.serial.TwoSerialNumber != null)
{
response.TwoSerialNumber = entity.serial.TwoSerialNumber.Replace(entity.serial.SerialNumber, "").Replace(",", "");
response.IsNotCount = entity.serial.IsNotCount;
}
else
{
response.TwoSerialNumber = "";
response.IsNotCount = "0";
}
response.IsNotCount = entity.serial.IsNotCount;
response2.Add(response);
return response2;
response.IsNotCount = entity.serial.IsNotCount;
return response;
}
/// <summary>
@@ -339,16 +335,12 @@ namespace WMS.Web.Repositories
/// </summary>
/// <param name="serialNumbers"></param>
/// <returns></returns>
private async Task<List<MaterialResponse>> GetSerialNumber_Ops(string serialNumber, int serialStatus = 0)
private async Task<MaterialResponse> GetSerialNumber_Ops(string serialNumber, int serialStatus = 0)
{
List<MaterialResponse> response2 = new List<MaterialResponse>();
MaterialResponse response = new MaterialResponse();
var materials_result = await _erpService.BillQueryForMaterial();
if (!materials_result.IsSuccess)
{
response2.Add(response);
return response2;
}
return response;
var materials = materials_result.Data.ToList();
var res = _context.SerialNumbers_Ops
@@ -382,9 +374,142 @@ namespace WMS.Web.Repositories
//if (entity.boxInventory != null)
// response.IsBoxInventory = entity.boxInventory.Details.SelectMany(s => s.SerialNumbers).Where(w => serialNumber.Equals(w)).Count() >= 1 ? true : false;
response2.Add(response);
return response2;
return response;
}
///// <summary>
///// 根据序列号
///// </summary>
///// <param name="serialNumbers"></param>
///// <returns></returns>
//public async Task<List<MaterialResponse>> GetSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0)
//{
// List<MaterialResponse> response2 = new List<MaterialResponse>();
// MaterialResponse response = new MaterialResponse();
// var materials_result = await _erpService.BillQueryForMaterial();
// if (!materials_result.IsSuccess)
// {
// response2.Add(response);
// return response2;
// }
// var materials = materials_result.Data.ToList();
// var m = materials.Where(f => (f.Specifications.Equals(serialNumber) || f.MaterialNumber.Equals(serialNumber)));
// if (!string.IsNullOrEmpty(orgCode))
// m = m.Where(w => w.OrgCode.Equals(orgCode));
// var material = m.FirstOrDefault();
// if (material != null)
// {
// response.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, material.MaterialNumber);
// response.MaterialNumber = material.MaterialNumber;
// response.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, material.MaterialNumber);
// response2.Add(response);
// return response2;
// }
// var res = _context.SerialNumbers
// .GroupJoin(_context.BoxInventory.Include(x => x.Details), serial => serial.BoxId, boxInventory => boxInventory.BoxId, (serial, boxInventory) => new { serial, boxInventory })
// .SelectMany(x => x.boxInventory.DefaultIfEmpty(), (p, boxInventory) => new { p.serial, boxInventory })
// .GroupJoin(_context.Box, s => s.serial.BoxId, box => box.Id, (s, box) => new { s.serial, s.boxInventory, box })
// .SelectMany(x => x.box.DefaultIfEmpty(), (p, box) => new { p.serial, p.boxInventory, box })
// .Where(w => serialNumber.Equals(w.serial.SerialNumber));
// //0:所有 1 非激活的或者(激活被冻结) 2 激活被冻结 3 激活非冻结
// //因为要 1和2的情况 要区分提示 所以条件扩大 然后根据具体的情况提示
// //if (serialStatus == 1)
// // res = res.Where(w => w.serial.IsActivate != true || (w.serial.IsActivate == true && w.serial.IsDelete == true));
// if (serialStatus == 2)
// res = res.Where(w => w.serial.IsActivate == true);
// else if (serialStatus == 3)
// res = res.Where(w => w.serial.IsActivate == true && w.serial.IsDelete != true);
// var entity = await res.FirstOrDefaultAsync();
// if (entity == null || entity.serial == null)
// {
// if (IsOps)
// return await GetSerialNumber_Ops(serialNumber, serialStatus);
// else
// return null;
// }
// response.IsOldOps = false;
// response.BoxId = entity.serial.BoxId;
// response.BoxBillNo = entity?.box?.BoxBillNo ?? "";
// response.SubStockCode = entity?.boxInventory?.SubStockCode ?? "";
// response.StockCode = entity?.boxInventory?.StockCode ?? "";
// response.SerialNumber = entity.serial.SerialNumber;
// response.IsDelete = entity.serial.IsDelete ?? false;
// response.IsActivate = entity.serial.IsActivate ?? false;
// response.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, entity.serial.MaterialNumber);
// response.MaterialNumber = entity.serial.MaterialNumber;
// response.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, entity.serial.MaterialNumber);
// if (entity.boxInventory != null)
// response.IsBoxInventory = entity.boxInventory.Details.SelectMany(s => s.SerialNumbers).Where(w => serialNumber.Equals(w)).Count() >= 1 ? true : false;
// response.IsTwo = entity.serial.IsTwo;
// if(entity.serial.TwoSerialNumber!=null)
// {
// response.TwoSerialNumber=entity.serial.TwoSerialNumber.Replace(entity.serial.SerialNumber,"").Replace(",","");
// response.IsNotCount = entity.serial.IsNotCount;
// }
// else
// {
// response.TwoSerialNumber = "";
// response.IsNotCount = "0";
// }
// response.IsNotCount = entity.serial.IsNotCount;
// response2.Add(response);
// return response2;
//}
///// <summary>
///// 查询老ops序列码
///// </summary>
///// <param name="serialNumbers"></param>
///// <returns></returns>
//private async Task<List<MaterialResponse>> GetSerialNumber_Ops(string serialNumber, int serialStatus = 0)
//{
// List<MaterialResponse> response2 = new List<MaterialResponse>();
// MaterialResponse response = new MaterialResponse();
// var materials_result = await _erpService.BillQueryForMaterial();
// if (!materials_result.IsSuccess)
// {
// response2.Add(response);
// return response2;
// }
// var materials = materials_result.Data.ToList();
// var res = _context.SerialNumbers_Ops
// .GroupJoin(_context.BoxInventory.Include(x => x.Details), serial => serial.BoxId, boxInventory => boxInventory.BoxId, (serial, boxInventory) => new { serial, boxInventory })
// .SelectMany(x => x.boxInventory.DefaultIfEmpty(), (p, boxInventory) => new { p.serial, boxInventory })
// .GroupJoin(_context.Box, s => s.serial.BoxId, box => box.Id, (s, box) => new { s.serial, s.boxInventory, box })
// .SelectMany(x => x.box.DefaultIfEmpty(), (p, box) => new { p.serial, p.boxInventory, box })
// .Where(w => serialNumber.Equals(w.serial.SerialNumber));
// //0:所有 1 非激活的或者(激活被冻结) 2 激活被冻结 3 激活非冻结
// //因为要 1和2的情况 要区分提示 所以条件扩大 然后根据具体的情况提示
// //if (serialStatus == 1)
// // res = res.Where(w => w.serial.IsActivate != true || (w.serial.IsActivate == true && w.serial.IsDelete == true));
// if (serialStatus == 2)
// res = res.Where(w => w.serial.IsActivate == true);
// else if (serialStatus == 3)
// res = res.Where(w => w.serial.IsActivate == true && w.serial.IsDelete != true);
// var entity = await res.FirstOrDefaultAsync();
// if (entity == null) return null;
// response.IsOldOps = true;
// response.IsBoxInventory = true;//如果是老ops序列号 默认有库存
// response.BoxId = entity.serial.BoxId;
// response.BoxBillNo = entity?.box?.BoxBillNo ?? "";
// response.SubStockCode = entity?.boxInventory?.SubStockCode ?? "";
// response.StockCode = entity?.boxInventory?.StockCode ?? "";
// response.SerialNumber = entity.serial.SerialNumber;
// response.IsDelete = entity.serial.IsDelete ?? false;
// response.IsActivate = entity.serial.IsActivate ?? false;
// response.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, entity.serial.MaterialNumber);
// response.MaterialNumber = entity.serial.MaterialNumber;
// response.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, entity.serial.MaterialNumber);
// //if (entity.boxInventory != null)
// // response.IsBoxInventory = entity.boxInventory.Details.SelectMany(s => s.SerialNumbers).Where(w => serialNumber.Equals(w)).Count() >= 1 ? true : false;
// response2.Add(response);
// return response2;
//}
/// <summary>
/// 老ops条码批量修改
/// </summary>