diff --git a/src/WMS.Web.Api/Controllers/SysConfigController.cs b/src/WMS.Web.Api/Controllers/SysConfigController.cs index 11fc9559..345af100 100644 --- a/src/WMS.Web.Api/Controllers/SysConfigController.cs +++ b/src/WMS.Web.Api/Controllers/SysConfigController.cs @@ -1,4 +1,5 @@ -using Microsoft.AspNetCore.Http; +using AutoMapper; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using Newtonsoft.Json; @@ -33,9 +34,13 @@ namespace WMS.Web.Api.Controllers private readonly IErpService _erpService; private readonly ISingleDataService _singleDataService; private readonly ISerialNumbersRepositories _serialNumbersRepositories; + private readonly IBoxInventoryRepositories _boxInventoryRepositories; + private readonly IMapper _mapper; + private readonly IErpBasicDataExtendService _erpBasicDataExtendService; public SysConfigController(ILoginService loginService, IBasicsRepositories basicsRepositories, IBoxRepositories boxRepositories, IErpService erpService, ISingleDataService singleDataService, - ISerialNumbersRepositories serialNumbersRepositories) + ISerialNumbersRepositories serialNumbersRepositories, IBoxInventoryRepositories boxInventoryRepositories, + IMapper mapper, IErpBasicDataExtendService erpBasicDataExtendService) { _loginService = loginService; _basicsRepositories = basicsRepositories; @@ -43,6 +48,9 @@ namespace WMS.Web.Api.Controllers _erpService = erpService; _singleDataService = singleDataService; _serialNumbersRepositories = serialNumbersRepositories; + _boxInventoryRepositories = boxInventoryRepositories; + _mapper = mapper; + _erpBasicDataExtendService = erpBasicDataExtendService; } /// @@ -303,6 +311,43 @@ namespace WMS.Web.Api.Controllers return ResultList.ReSuccess(res); } + /// + /// 根据箱号获取箱信息(综合) + /// + /// 必填 + /// + [HttpGet] + [Route("GetBoxSynthesis")] + public async Task> GetBoxSynthesis([FromQuery] string boxBillNo) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null || loginInfo.UserInfo == null) + return Result.ReFailure(ResultCodes.Token_Invalid_Error); + + var result = await _boxInventoryRepositories.GetInfoBy(boxBillNo); + BoxResponse boxResponse= _mapper.Map(result); + if (boxResponse != null) + { + var materials_result = await _erpService.BillQueryForMaterial(); + if (!materials_result.IsSuccess) + return Result.ReFailure(ResultCodes.Token_Invalid_Error); + var materials = materials_result.Data.ToList(); + + foreach (var detail in boxResponse.Details) + { + detail.MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, detail.MaterialId); + detail.MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, detail.MaterialId); + detail.Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, detail.MaterialId); + } + boxResponse.TotalQty = boxResponse.Details.Sum(s => s.Qty); + return Result.ReSuccess(boxResponse); + } + + var res = await _boxRepositories.GetBox(new List() { boxBillNo }); + if (res.Count() <= 0) return Result.ReSuccess(null); + return Result.ReSuccess(res.First()); + } + /// /// 根据序列号或规格型号搜索物料信息-PDA /// diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index 79d0062e..63998b45 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -503,6 +503,13 @@ 必填 + + + 根据箱号获取箱信息(综合) + + 必填 + + 根据序列号或规格型号搜索物料信息-PDA diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 530843fc..c40be7eb 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -290,6 +290,26 @@ 总数量 + + + 仓库编码 + + + + + 仓库名称 + + + + + 仓位ID + + + + + 仓位名称 + + 明细信息 diff --git a/src/WMS.Web.Core/Dto/BoxResponse.cs b/src/WMS.Web.Core/Dto/BoxResponse.cs index 6b5e66fd..4e3a79ae 100644 --- a/src/WMS.Web.Core/Dto/BoxResponse.cs +++ b/src/WMS.Web.Core/Dto/BoxResponse.cs @@ -21,11 +21,29 @@ namespace WMS.Web.Core.Dto /// 箱号 /// public string BoxBillNo { get; set; } - /// /// 总数量 /// public decimal TotalQty { get; set; } + /// + /// 仓库编码 + /// + public string StockCode { get; set; } + + /// + /// 仓库名称 + /// + public string Stock { get; set; } + + /// + /// 仓位ID + /// + public int SubStockId { get; set; } + + /// + /// 仓位名称 + /// + public string SubStock { get; set; } /// /// 明细信息 diff --git a/src/WMS.Web.Domain/Mappers/BoxMapper.cs b/src/WMS.Web.Domain/Mappers/BoxMapper.cs index adcf20db..663ec7f6 100644 --- a/src/WMS.Web.Domain/Mappers/BoxMapper.cs +++ b/src/WMS.Web.Domain/Mappers/BoxMapper.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using WMS.Web.Core.Dto; +using WMS.Web.Core.Dto.Inventory; using WMS.Web.Domain.Entitys; namespace WMS.Web.Domain.Mappers @@ -20,7 +21,9 @@ namespace WMS.Web.Domain.Mappers CreateMap(); CreateMap(); - + + CreateMap(); + CreateMap(); } } }