获取物料接口增加参数

This commit is contained in:
18942506660
2024-03-05 11:18:02 +08:00
parent 896d2a8507
commit 898eb35a28
4 changed files with 14 additions and 9 deletions

View File

@@ -432,18 +432,19 @@ namespace WMS.Web.Api.Controllers
/// <summary> /// <summary>
/// 根据序列号或规格型号,物料编码搜索物料信息-PDA /// 根据序列号或规格型号,物料编码搜索物料信息-PDA
/// </summary> /// </summary>
/// <param name="serialNumber">序列号或规格型号或无聊编码</param> /// <param name="serialNumber">序列号或规格型号或物料编码</param>
/// <param name="orgCode">组织编码</param>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
[Route("GetMaterial")] [Route("GetMaterial")]
public async Task<Result<MaterialResponse>> GetMaterial([FromQuery] string serialNumber) public async Task<Result<MaterialResponse>> GetMaterial([FromQuery] string serialNumber, [FromQuery] string orgCode = null)
{ {
var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]);
if (loginInfo == null || loginInfo.UserInfo == null) if (loginInfo == null || loginInfo.UserInfo == null)
return Result<MaterialResponse>.ReFailure(ResultCodes.Token_Invalid_Error); return Result<MaterialResponse>.ReFailure(ResultCodes.Token_Invalid_Error);
_logger.LogInformation($"请求序列号信息:{serialNumber}"); _logger.LogInformation($"请求序列号信息:{serialNumber}");
var res = await _serialNumbersRepositories.GetSerialNumber(serialNumber); var res = await _serialNumbersRepositories.GetSerialNumber(serialNumber, orgCode);
if (res == null) return Result<MaterialResponse>.ReFailure(ResultCodes.MateriaNoData); if (res == null) return Result<MaterialResponse>.ReFailure(ResultCodes.MateriaNoData);
return Result<MaterialResponse>.ReSuccess(res); return Result<MaterialResponse>.ReSuccess(res);

View File

@@ -565,11 +565,12 @@
<param name="boxBillNo">必填</param> <param name="boxBillNo">必填</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Api.Controllers.SysConfigController.GetMaterial(System.String)"> <member name="M:WMS.Web.Api.Controllers.SysConfigController.GetMaterial(System.String,System.String)">
<summary> <summary>
根据序列号或规格型号,物料编码搜索物料信息-PDA 根据序列号或规格型号,物料编码搜索物料信息-PDA
</summary> </summary>
<param name="serialNumber">序列号或规格型号或无聊编码</param> <param name="serialNumber">序列号或规格型号或物料编码</param>
<param name="orgCode">组织编码</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:WMS.Web.Api.Controllers.SysConfigController.GetMaterialList(System.String)"> <member name="M:WMS.Web.Api.Controllers.SysConfigController.GetMaterialList(System.String)">

View File

@@ -21,7 +21,7 @@ namespace WMS.Web.Domain.Infrastructure
/// <returns></returns> /// <returns></returns>
Task<bool> AddRange(List<SerialNumbers> entitys, bool isTransaction = true); Task<bool> AddRange(List<SerialNumbers> entitys, bool isTransaction = true);
//根据序列号模糊搜索信息 //根据序列号模糊搜索信息
Task<MaterialResponse> GetSerialNumber(string serialNumber); Task<MaterialResponse> GetSerialNumber(string serialNumber, string orgCode);
//根据序列号搜索信息 //根据序列号搜索信息
Task<SerialNumbersResponse> Get(string serialNumber); Task<SerialNumbersResponse> Get(string serialNumber);
/// 查询实体集合 /// 查询实体集合

View File

@@ -178,7 +178,7 @@ namespace WMS.Web.Repositories
/// </summary> /// </summary>
/// <param name="serialNumbers"></param> /// <param name="serialNumbers"></param>
/// <returns></returns> /// <returns></returns>
public async Task<MaterialResponse> GetSerialNumber(string serialNumber) public async Task<MaterialResponse> GetSerialNumber(string serialNumber, string orgCode)
{ {
MaterialResponse response = new MaterialResponse(); MaterialResponse response = new MaterialResponse();
var materials_result = await _erpService.BillQueryForMaterial(); var materials_result = await _erpService.BillQueryForMaterial();
@@ -186,7 +186,10 @@ namespace WMS.Web.Repositories
return response; return response;
var materials = materials_result.Data.ToList(); var materials = materials_result.Data.ToList();
var material = materials.FirstOrDefault(f => f.Specifications.Equals(serialNumber)|| f.MaterialNumber.Equals(serialNumber)); var m = materials.Where(f => (f.Specifications.Equals(serialNumber) || f.MaterialNumber.Equals(serialNumber)));
if (!string.IsNullOrEmpty(orgCode))
m = m.Where(w => w.OrgId.Equals(orgCode));
var material = m.FirstOrDefault();
if (material != null) if (material != null)
{ {
response.MaterialId = material.MaterialId; response.MaterialId = material.MaterialId;
@@ -196,7 +199,7 @@ namespace WMS.Web.Repositories
return response; return response;
} }
var entity = await _context.SerialNumbers var entity = await _context.SerialNumbers
.GroupJoin(_context.BoxInventory.Include(x=>x.Details), serial => serial.BoxId, boxInventory => boxInventory.BoxId, (serial, boxInventory) => new { serial, boxInventory }) .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 }) .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 }) .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 }) .SelectMany(x => x.box.DefaultIfEmpty(), (p, box) => new { p.serial, p.boxInventory, box })