diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2
index 0d637015..06879f9e 100644
Binary files a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 and b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/src/WMS.Web.Api/Controllers/SysConfigController.cs b/src/WMS.Web.Api/Controllers/SysConfigController.cs
index 36c17606..2a3aaea1 100644
--- a/src/WMS.Web.Api/Controllers/SysConfigController.cs
+++ b/src/WMS.Web.Api/Controllers/SysConfigController.cs
@@ -522,11 +522,11 @@ namespace WMS.Web.Api.Controllers
///
[HttpGet]
[Route("GetMaterial")]
- public async Task>> GetMaterial([FromQuery] string serialNumber, [FromQuery] string orgCode = null, [FromQuery] bool IsOps = false, [FromQuery] int? serialStatus = 0)
+ public async Task> GetMaterial([FromQuery] string serialNumber, [FromQuery] string orgCode = null, [FromQuery] bool IsOps = false, [FromQuery] int? serialStatus = 0)
{
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null || loginInfo.UserInfo == null)
- return Result>.ReFailure(ResultCodes.Token_Invalid_Error);
+ return Result.ReFailure(ResultCodes.Token_Invalid_Error);
_logger.LogInformation($"请求序列号信息:{serialNumber} 组织:{orgCode} 是否Ops:{IsOps} 查询状态 {serialStatus}");
var res = await _serialNumbersRepositories.GetSerialNumber(serialNumber, orgCode, IsOps, serialStatus ?? 0);
@@ -544,14 +544,61 @@ namespace WMS.Web.Api.Controllers
*/
if (serialStatus == 1 || serialStatus == 2)
{
- if (res[0].IsActivate == true && res[0].IsDelete != true)
- return Result>.ReFailure(ResultCodes.SerialNumbersIsShelf);
+ if (res.IsActivate == true && res.IsDelete != true)
+ return Result.ReFailure(ResultCodes.SerialNumbersIsShelf);
}
- _logger.LogInformation($"请求序列号信息结果:{res[0].MaterialNumber}");
- return Result>.ReSuccess(res);
+ _logger.LogInformation($"请求序列号信息结果:{res.MaterialNumber}");
+ return Result.ReSuccess(res);
}
+
+ /////
+ ///// 根据序列号或规格型号,物料编码搜索物料信息-PDA
+ /////
+ ///// 序列号或规格型号或物料编码
+ ///// 组织编码
+ ///// 是否需要支持老ops条码查询
+ /////
+ ///// 盘点 改箱 所有的序列号 0或者不传
+ ///// 非采购上架 (非激活的或者(激活被冻结)) 1
+ ///// 出库回退上架 (激活被冻结) 2
+ ///// 入库回退下架 (激活非冻结) 3
+ ///// 出库 (激活非冻结) 3
+ /////
+ /////
+ //[HttpGet]
+ //[Route("GetMaterial")]
+ //public async Task>> GetMaterial([FromQuery] string serialNumber, [FromQuery] string orgCode = null, [FromQuery] bool IsOps = false, [FromQuery] int? serialStatus = 0)
+ //{
+ // var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
+ // if (loginInfo == null || loginInfo.UserInfo == null)
+ // return Result>.ReFailure(ResultCodes.Token_Invalid_Error);
+
+ // _logger.LogInformation($"请求序列号信息:{serialNumber} 组织:{orgCode} 是否Ops:{IsOps} 查询状态 {serialStatus}");
+ // var res = await _serialNumbersRepositories.GetSerialNumber(serialNumber, orgCode, IsOps, serialStatus ?? 0);
+ // //if (res == null) return Result.ReFailure(ResultCodes.MateriaNoData);
+ // if (res == null)
+ // {
+ // //没有搜索到数据 则去同步供应链系统
+ // return await _serialNumberService.GetBarCodeSerialNumber(serialNumber, orgCode, IsOps, serialStatus ?? 0);
+ // }
+ // /*
+ // 以下页面需要判断后提示:如果状态为非冻结的提示:序列号已上架入库 ; 状态为冻结的扫描成功;
+ // 不存在的序列号提示:产品信息不存在
+ // 非采购上架 改箱 (非激活的或者(激活被冻结)) 1
+ // 出库回退上架 (激活被冻结) 2
+ // */
+ // if (serialStatus == 1 || serialStatus == 2)
+ // {
+ // if (res[0].IsActivate == true && res[0].IsDelete != true)
+ // return Result>.ReFailure(ResultCodes.SerialNumbersIsShelf);
+ // }
+
+ // _logger.LogInformation($"请求序列号信息结果:{res[0].MaterialNumber}");
+ // return Result>.ReSuccess(res);
+ //}
+
///
/// 获取物料;通过规格型号
///
diff --git a/src/WMS.Web.Domain/IService/ISerialNumberService.cs b/src/WMS.Web.Domain/IService/ISerialNumberService.cs
index a31018dc..fb790710 100644
--- a/src/WMS.Web.Domain/IService/ISerialNumberService.cs
+++ b/src/WMS.Web.Domain/IService/ISerialNumberService.cs
@@ -42,6 +42,8 @@ namespace WMS.Web.Domain.IService
///
///
///
- Task>> GetBarCodeSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0);
+ //Task>> GetBarCodeSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0);
+ Task> GetBarCodeSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0);
+
}
}
diff --git a/src/WMS.Web.Domain/IService/Public/IOpsService.cs b/src/WMS.Web.Domain/IService/Public/IOpsService.cs
index b0cf0648..7ada38fc 100644
--- a/src/WMS.Web.Domain/IService/Public/IOpsService.cs
+++ b/src/WMS.Web.Domain/IService/Public/IOpsService.cs
@@ -13,6 +13,7 @@ namespace WMS.Web.Domain.IService.Public
public interface IOpsService
{
Task> GetBox(OpsBoxRequest request);
- Task>> GetSerialNumbers(SerialNumbersWmsRequest request);
+ // Task>> GetSerialNumbers(SerialNumbersWmsRequest request);
+ Task> GetSerialNumbers(SerialNumbersWmsRequest request);
}
}
diff --git a/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs b/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
index 39a8ee15..061b3a8c 100644
--- a/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
+++ b/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
@@ -20,8 +20,12 @@ namespace WMS.Web.Domain.Infrastructure
///
///
Task AddRange(List entitys, bool isTransaction = true);
+
//根据序列号模糊搜索信息
- Task> GetSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0);
+ Task GetSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0);
+
+ ////根据序列号模糊搜索信息
+ //Task> GetSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0);
//根据序列号搜索信息
Task Get(string serialNumber);
/// 查询实体集合
diff --git a/src/WMS.Web.Domain/Services/Public/OpsService.cs b/src/WMS.Web.Domain/Services/Public/OpsService.cs
index ed2f80eb..19383d34 100644
--- a/src/WMS.Web.Domain/Services/Public/OpsService.cs
+++ b/src/WMS.Web.Domain/Services/Public/OpsService.cs
@@ -54,22 +54,39 @@ namespace WMS.Web.Domain.Services.Public
var list = JsonConvert.DeserializeObject>(res.data.date);
return list;
}
+
///
/// 获取序列码
///
///
///
///
- public async Task>> GetSerialNumbers(SerialNumbersWmsRequest request)
+ public async Task> GetSerialNumbers(SerialNumbersWmsRequest request)
{
string endStr = "api/WmsBox/GetSerialNumber";
Dictionary dicHeaders = new Dictionary();
//dicHeaders.Add("Authorization", "Bearer " + token);
//_httpClientService.BuildHttpClient(contentHeaders);
- var res = await _httpClientService.PostAsync>>(_option.Url + endStr, JsonConvert.SerializeObject(request), dicHeaders);
+ var res = await _httpClientService.PostAsync>(_option.Url + endStr, JsonConvert.SerializeObject(request), dicHeaders);
return res;
}
+ /////
+ ///// 获取序列码
+ /////
+ /////
+ /////
+ /////
+ //public async Task>> GetSerialNumbers(SerialNumbersWmsRequest request)
+ //{
+ // string endStr = "api/WmsBox/GetSerialNumber";
+ // Dictionary dicHeaders = new Dictionary();
+ // //dicHeaders.Add("Authorization", "Bearer " + token);
+ // //_httpClientService.BuildHttpClient(contentHeaders);
+ // var res = await _httpClientService.PostAsync>>(_option.Url + endStr, JsonConvert.SerializeObject(request), dicHeaders);
+ // return res;
+ //}
+
private async Task GetToken()
{
OpsLogin login = new OpsLogin()
diff --git a/src/WMS.Web.Domain/Services/SerialNumberService.cs b/src/WMS.Web.Domain/Services/SerialNumberService.cs
index 4d690e4e..94960172 100644
--- a/src/WMS.Web.Domain/Services/SerialNumberService.cs
+++ b/src/WMS.Web.Domain/Services/SerialNumberService.cs
@@ -14,6 +14,7 @@ using WMS.Web.Domain.Infrastructure;
using WMS.Web.Domain.IService;
using WMS.Web.Domain.IService.Public;
using WMS.Web.Domain.Values;
+using WMS.Web.Domain.Values.Erp;
using WMS.Web.Domain.Values.Single;
namespace WMS.Web.Domain.Services
@@ -570,6 +571,7 @@ namespace WMS.Web.Domain.Services
if (!res.Success) return Result.ReFailure(ResultCodes.DateWriteError);
return Result.ReSuccess();
}
+
///
/// 获取供应链系统序列码
///
@@ -579,29 +581,42 @@ namespace WMS.Web.Domain.Services
///
///
///
- public async Task>> GetBarCodeSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0)
+ public async Task> GetBarCodeSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0)
{
//外层方法没有调到数据是null 如果这里查询到序列码
var list = await _serialNumbersRepositories.GetEntityList(new List() { serialNumber });
if (list.FirstOrDefault(f => f.SerialNumber.Equals(serialNumber)) != null)
- return Result>.ReFailure(ResultCodes.MateriaNoData);
+ return Result.ReFailure(ResultCodes.MateriaNoData);
//进入供应链系统调数据
_logger.LogInformation($"拉取供应链系统条码->{serialNumber}");
var res = await _opsService.GetSerialNumbers(new Core.Dto.SerialNumbers.SerialNumbersWmsRequest() { SerialNumber = serialNumber });
if (!res.IsSuccess)
- return Result>.ReFailure(ResultCodes.MateriaNoData);
+ return Result.ReFailure(ResultCodes.MateriaNoData);
_logger.LogInformation($"拉取供应链系统条码结果:->{JsonConvert.SerializeObject(res)}");
//插入序列码信息
- for (int j = 0; j < res.Data.Count; j++)
+ if (res.Data.IsTwo > 1)
{
- SerialNumbers entity = new SerialNumbers(res.Data[j].SerialNumber, res.Data[j].MaterialNumber
- , 0, 0, res.Data[j].Creator, res.Data[j].CreateTime, null, res.Data[j].IsTwo, res.Data[j].TwoSerialNumber, res.Data[j].IsNotCount);
- var isSuccess = await _serialNumbersRepositories.AddRange(new List() { entity });
- if (!isSuccess) return Result>.ReFailure(ResultCodes.DateWriteError);
- }
- var res_s = await _serialNumbersRepositories.GetSerialNumber(serialNumber, orgCode, IsOps, serialStatus);
- if (res_s == null) return Result>.ReFailure(ResultCodes.MateriaNoData);
+ string[]serial= res.Data.TwoSerialNumber.Split(',');
+ for(int j=0;j() { entity });
+ if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
+ }
+
+ var res_s = await _serialNumbersRepositories.GetSerialNumber(serialNumber, orgCode, IsOps, serialStatus);
+ if (res_s == null) return Result.ReFailure(ResultCodes.MateriaNoData);
/*
以下页面需要判断后提示:如果状态为非冻结的提示:序列号已上架入库 ; 状态为冻结的扫描成功;
不存在的序列号提示:产品信息不存在
@@ -610,11 +625,126 @@ namespace WMS.Web.Domain.Services
*/
if (serialStatus == 1 || serialStatus == 2)
{
- if (res_s[0].IsActivate == true && res_s[0].IsDelete != true)
- return Result>.ReFailure(ResultCodes.SerialNumbersIsShelf);
+ if (res_s.IsActivate == true && res_s.IsDelete != true)
+ return Result.ReFailure(ResultCodes.SerialNumbersIsShelf);
}
-
- return Result>.ReSuccess(res_s);
+ return Result.ReSuccess(res_s);
+ }
+ else
+ {
+
+
+ SerialNumbers entity = new SerialNumbers(res.Data.SerialNumber, res.Data.MaterialNumber
+ , 0, 0, res.Data.Creator, res.Data.CreateTime, null, res.Data.IsTwo, res.Data.TwoSerialNumber, res.Data.IsNotCount);
+ var isSuccess = await _serialNumbersRepositories.AddRange(new List() { entity });
+ if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
+
+ var res_s = await _serialNumbersRepositories.GetSerialNumber(serialNumber, orgCode, IsOps, serialStatus);
+ if (res_s == null) return Result.ReFailure(ResultCodes.MateriaNoData);
+ /*
+ 以下页面需要判断后提示:如果状态为非冻结的提示:序列号已上架入库 ; 状态为冻结的扫描成功;
+ 不存在的序列号提示:产品信息不存在
+ 非采购上架 改箱 (非激活的或者(激活被冻结)) 1
+ 出库回退上架 (激活被冻结) 2
+ */
+ if (serialStatus == 1 || serialStatus == 2)
+ {
+ if (res_s.IsActivate == true && res_s.IsDelete != true)
+ return Result.ReFailure(ResultCodes.SerialNumbersIsShelf);
+ }
+ return Result.ReSuccess(res_s);
+ }
}
+
+
+ /////
+ ///// 获取供应链系统序列码
+ /////
+ /////
+ /////
+ /////
+ /////
+ /////
+ /////
+ //public async Task> GetBarCodeSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0)
+ //{
+ // //外层方法没有调到数据是null 如果这里查询到序列码
+ // var list = await _serialNumbersRepositories.GetEntityList(new List() { serialNumber });
+ // if (list.FirstOrDefault(f => f.SerialNumber.Equals(serialNumber)) != null)
+ // return Result.ReFailure(ResultCodes.MateriaNoData);
+ // //进入供应链系统调数据
+ // _logger.LogInformation($"拉取供应链系统条码->{serialNumber}");
+ // var res = await _opsService.GetSerialNumbers(new Core.Dto.SerialNumbers.SerialNumbersWmsRequest() { SerialNumber = serialNumber });
+ // if (!res.IsSuccess)
+ // return Result.ReFailure(ResultCodes.MateriaNoData);
+
+ // _logger.LogInformation($"拉取供应链系统条码结果:->{JsonConvert.SerializeObject(res)}");
+ // //插入序列码信息
+ // SerialNumbers entity = new SerialNumbers(res.Data.SerialNumber, res.Data.MaterialNumber
+ // , 0, 0, res.Data.Creator, res.Data.CreateTime, null, res.Data.IsTwo, res.Data.TwoSerialNumber, res.Data.IsNotCount);
+ // var isSuccess = await _serialNumbersRepositories.AddRange(new List() { entity });
+ // if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError);
+
+ // var res_s = await _serialNumbersRepositories.GetSerialNumber(serialNumber, orgCode, IsOps, serialStatus);
+ // if (res_s == null) return Result.ReFailure(ResultCodes.MateriaNoData);
+ // /*
+ // 以下页面需要判断后提示:如果状态为非冻结的提示:序列号已上架入库 ; 状态为冻结的扫描成功;
+ // 不存在的序列号提示:产品信息不存在
+ // 非采购上架 改箱 (非激活的或者(激活被冻结)) 1
+ // 出库回退上架 (激活被冻结) 2
+ // */
+ // if (serialStatus == 1 || serialStatus == 2)
+ // {
+ // if (res_s.IsActivate == true && res_s.IsDelete != true)
+ // return Result.ReFailure(ResultCodes.SerialNumbersIsShelf);
+ // }
+ // return Result.ReSuccess(res_s);
+ //}
+ /////
+ ///// 获取供应链系统序列码
+ /////
+ /////
+ /////
+ /////
+ /////
+ /////
+ /////
+ //public async Task>> GetBarCodeSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0)
+ //{
+ // //外层方法没有调到数据是null 如果这里查询到序列码
+ // var list = await _serialNumbersRepositories.GetEntityList(new List() { serialNumber });
+ // if (list.FirstOrDefault(f => f.SerialNumber.Equals(serialNumber)) != null)
+ // return Result>.ReFailure(ResultCodes.MateriaNoData);
+ // //进入供应链系统调数据
+ // _logger.LogInformation($"拉取供应链系统条码->{serialNumber}");
+ // var res = await _opsService.GetSerialNumbers(new Core.Dto.SerialNumbers.SerialNumbersWmsRequest() { SerialNumber = serialNumber });
+ // if (!res.IsSuccess)
+ // return Result>.ReFailure(ResultCodes.MateriaNoData);
+
+ // _logger.LogInformation($"拉取供应链系统条码结果:->{JsonConvert.SerializeObject(res)}");
+ // //插入序列码信息
+ // for (int j = 0; j < res.Data.Count; j++)
+ // {
+ // SerialNumbers entity = new SerialNumbers(res.Data[j].SerialNumber, res.Data[j].MaterialNumber
+ // , 0, 0, res.Data[j].Creator, res.Data[j].CreateTime, null, res.Data[j].IsTwo, res.Data[j].TwoSerialNumber, res.Data[j].IsNotCount);
+ // var isSuccess = await _serialNumbersRepositories.AddRange(new List() { entity });
+ // if (!isSuccess) return Result>.ReFailure(ResultCodes.DateWriteError);
+ // }
+ // var res_s = await _serialNumbersRepositories.GetSerialNumber(serialNumber, orgCode, IsOps, serialStatus);
+ // if (res_s == null) return Result>.ReFailure(ResultCodes.MateriaNoData);
+ // /*
+ // 以下页面需要判断后提示:如果状态为非冻结的提示:序列号已上架入库 ; 状态为冻结的扫描成功;
+ // 不存在的序列号提示:产品信息不存在
+ // 非采购上架 改箱 (非激活的或者(激活被冻结)) 1
+ // 出库回退上架 (激活被冻结) 2
+ // */
+ // if (serialStatus == 1 || serialStatus == 2)
+ // {
+ // if (res_s[0].IsActivate == true && res_s[0].IsDelete != true)
+ // return Result>.ReFailure(ResultCodes.SerialNumbersIsShelf);
+ // }
+
+ // return Result>.ReSuccess(res_s);
+ //}
}
}
diff --git a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
index 3a6ea47e..058a6f21 100644
--- a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
+++ b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
@@ -253,21 +253,18 @@ namespace WMS.Web.Repositories
}
+
///
/// 根据序列号
///
///
///
- public async Task> GetSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0)
+ public async Task GetSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0)
{
- List response2 = new List();
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;
}
///
@@ -339,16 +335,12 @@ namespace WMS.Web.Repositories
///
///
///
- private async Task> GetSerialNumber_Ops(string serialNumber, int serialStatus = 0)
+ private async Task GetSerialNumber_Ops(string serialNumber, int serialStatus = 0)
{
- List response2 = new List();
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;
}
+
+ /////
+ ///// 根据序列号
+ /////
+ /////
+ /////
+ //public async Task> GetSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0)
+ //{
+ // List response2 = new List();
+ // 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;
+ //}
+
+ /////
+ ///// 查询老ops序列码
+ /////
+ /////
+ /////
+ //private async Task> GetSerialNumber_Ops(string serialNumber, int serialStatus = 0)
+ //{
+ // List response2 = new List();
+ // 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;
+ //}
///
/// 老ops条码批量修改
///