diff --git a/src/WMS.Web.Api/Controllers/SysConfigController.cs b/src/WMS.Web.Api/Controllers/SysConfigController.cs
index 1fcf9347..70fc9855 100644
--- a/src/WMS.Web.Api/Controllers/SysConfigController.cs
+++ b/src/WMS.Web.Api/Controllers/SysConfigController.cs
@@ -489,10 +489,11 @@ namespace WMS.Web.Api.Controllers
/// 序列号或规格型号或物料编码
/// 组织编码
/// 是否需要支持老ops条码查询
+ /// 出库回退上架 true 其他false或不传
///
[HttpGet]
[Route("GetMaterial")]
- public async Task> GetMaterial([FromQuery] string serialNumber, [FromQuery] string orgCode = null, [FromQuery] bool IsOps = false)
+ public async Task> GetMaterial([FromQuery] string serialNumber, [FromQuery] string orgCode = null, [FromQuery] bool IsOps = false, [FromQuery] bool IsOutBackRecord = false)
{
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null || loginInfo.UserInfo == null)
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
index 76086fa6..ba77e729 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml
@@ -670,13 +670,14 @@
必填
-
+
根据序列号或规格型号,物料编码搜索物料信息-PDA
序列号或规格型号或物料编码
组织编码
是否需要支持老ops条码查询
+ 出库回退上架 true 其他false或不传
diff --git a/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs b/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
index 6574dd2b..a730c2a7 100644
--- a/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
+++ b/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs
@@ -21,7 +21,7 @@ namespace WMS.Web.Domain.Infrastructure
///
Task AddRange(List entitys, bool isTransaction = true);
//根据序列号模糊搜索信息
- Task GetSerialNumber(string serialNumber, string orgCode, bool IsOps = false);
+ Task GetSerialNumber(string serialNumber, string orgCode, bool IsOps = false, bool isOutBackRecord = false);
//根据序列号搜索信息
Task Get(string serialNumber);
/// 查询实体集合
diff --git a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
index b2cc4aae..d2ac4997 100644
--- a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
+++ b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs
@@ -224,7 +224,7 @@ namespace WMS.Web.Repositories
///
///
///
- public async Task GetSerialNumber(string serialNumber, string orgCode, bool IsOps = false)
+ public async Task GetSerialNumber(string serialNumber, string orgCode, bool IsOps = false, bool isOutBackRecord = false)
{
MaterialResponse response = new MaterialResponse();
var materials_result = await _erpService.BillQueryForMaterial();
@@ -243,16 +243,18 @@ namespace WMS.Web.Repositories
response.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, material.MaterialNumber);
return response;
}
- var entity = await _context.SerialNumbers
+ 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 })
- .FirstOrDefaultAsync(w => serialNumber.Equals(w.serial.SerialNumber) && w.serial.IsOutStock != true);
+ .Where(w => serialNumber.Equals(w.serial.SerialNumber));
+ if (isOutBackRecord == false) res = res.Where(w => w.serial.IsOutStock != true);
+ var entity = await res.FirstOrDefaultAsync();
if (entity == null || entity.serial == null)
{
if (IsOps)
- return await GetSerialNumber_Ops(serialNumber);
+ return await GetSerialNumber_Ops(serialNumber, isOutBackRecord);
else
return null;
}
@@ -276,7 +278,7 @@ namespace WMS.Web.Repositories
///
///
///
- private async Task GetSerialNumber_Ops(string serialNumber)
+ private async Task GetSerialNumber_Ops(string serialNumber, bool isOutBackRecord = false)
{
MaterialResponse response = new MaterialResponse();
var materials_result = await _erpService.BillQueryForMaterial();
@@ -284,12 +286,14 @@ namespace WMS.Web.Repositories
return response;
var materials = materials_result.Data.ToList();
- var entity = await _context.SerialNumbers_Ops
+ 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 })
- .FirstOrDefaultAsync(w => serialNumber.Equals(w.SerialNumber) && w.IsOutStock != true);
+ .Where(w => serialNumber.Equals(w.SerialNumber));
+ if (isOutBackRecord == false) res = res.Where(w => w.IsOutStock != true);
+ var entity = await res.FirstOrDefaultAsync();
if (entity == null) return null;
response.IsOldOps = true;
response.IsBoxInventory = true;//如果是老ops序列号 默认有库存