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 })