From 898eb35a281657af455201e8d11065c92e195d82 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Tue, 5 Mar 2024 11:18:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=89=A9=E6=96=99=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=A2=9E=E5=8A=A0=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/Controllers/SysConfigController.cs | 7 ++++--- src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml | 5 +++-- .../Infrastructure/ISerialNumbersRepositories.cs | 2 +- src/WMS.Web.Repositories/SerialNumbersRepositories.cs | 9 ++++++--- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/WMS.Web.Api/Controllers/SysConfigController.cs b/src/WMS.Web.Api/Controllers/SysConfigController.cs index cb263709..37a88455 100644 --- a/src/WMS.Web.Api/Controllers/SysConfigController.cs +++ b/src/WMS.Web.Api/Controllers/SysConfigController.cs @@ -432,18 +432,19 @@ namespace WMS.Web.Api.Controllers /// /// 根据序列号或规格型号,物料编码搜索物料信息-PDA /// - /// 序列号或规格型号或无聊编码 + /// 序列号或规格型号或物料编码 + /// 组织编码 /// [HttpGet] [Route("GetMaterial")] - public async Task> GetMaterial([FromQuery] string serialNumber) + public async Task> GetMaterial([FromQuery] string serialNumber, [FromQuery] string orgCode = null) { 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}"); - var res = await _serialNumbersRepositories.GetSerialNumber(serialNumber); + var res = await _serialNumbersRepositories.GetSerialNumber(serialNumber, orgCode); if (res == null) return Result.ReFailure(ResultCodes.MateriaNoData); return Result.ReSuccess(res); diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index 85654cb7..e61c53f3 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -565,11 +565,12 @@ 必填 - + 根据序列号或规格型号,物料编码搜索物料信息-PDA - 序列号或规格型号或无聊编码 + 序列号或规格型号或物料编码 + 组织编码 diff --git a/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs b/src/WMS.Web.Domain/Infrastructure/ISerialNumbersRepositories.cs index d9e44233..06d285a9 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); + Task GetSerialNumber(string serialNumber, string orgCode); //根据序列号搜索信息 Task Get(string serialNumber); /// 查询实体集合 diff --git a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs index 1d86964a..eb5bdaab 100644 --- a/src/WMS.Web.Repositories/SerialNumbersRepositories.cs +++ b/src/WMS.Web.Repositories/SerialNumbersRepositories.cs @@ -178,7 +178,7 @@ namespace WMS.Web.Repositories /// /// /// - public async Task GetSerialNumber(string serialNumber) + public async Task GetSerialNumber(string serialNumber, string orgCode) { MaterialResponse response = new MaterialResponse(); var materials_result = await _erpService.BillQueryForMaterial(); @@ -186,7 +186,10 @@ namespace WMS.Web.Repositories return response; 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) { response.MaterialId = material.MaterialId; @@ -196,7 +199,7 @@ namespace WMS.Web.Repositories return response; } 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 }) .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 })