diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index eeae4d42..aae9fe85 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 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/Entitys/Box.cs b/src/WMS.Web.Domain/Entitys/Box.cs index 66dbbe62..a381663f 100644 --- a/src/WMS.Web.Domain/Entitys/Box.cs +++ b/src/WMS.Web.Domain/Entitys/Box.cs @@ -128,9 +128,8 @@ namespace WMS.Web.Domain.Entitys }); } else - { - d.Qty = qty; - } + d.Qty = d.Qty + qty; + return Result.ReSuccess(); } /// 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.Domain/Services/ChangeMoveBoxService.cs b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs index d3e90a0c..43d0f269 100644 --- a/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs +++ b/src/WMS.Web.Domain/Services/ChangeMoveBoxService.cs @@ -320,7 +320,6 @@ namespace WMS.Web.Domain.Services /// public async Task ChangeBox_BackRecord(BackRecord backRecord, LoginInDto loginInfo, bool isTransaction = true) { - return Result.ReSuccess(); if (backRecord.Method == InventoryInOutMethod.Box) return Result.ReSuccess(); List dtoList = new List(); var boxIds = backRecord.Details.Select(s => s.BoxId).Distinct().ToList(); 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 })