From 57b4116031e6fd330b883136f61698253071352d Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Wed, 1 Nov 2023 15:23:43 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=AE=B1=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Core/Dto/BoxResponse.cs | 4 ++++ src/WMS.Web.Core/Dto/TakeStock/SaveTakeStockRequest.cs | 5 +++++ src/WMS.Web.Domain/Entitys/Box.cs | 5 ++++- src/WMS.Web.Domain/Entitys/TakeStock.cs | 2 +- src/WMS.Web.Repositories/BoxRepositories.cs | 1 + 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/WMS.Web.Core/Dto/BoxResponse.cs b/src/WMS.Web.Core/Dto/BoxResponse.cs index 81965de6..02d3e5a0 100644 --- a/src/WMS.Web.Core/Dto/BoxResponse.cs +++ b/src/WMS.Web.Core/Dto/BoxResponse.cs @@ -14,6 +14,10 @@ namespace WMS.Web.Core.Dto /// public int Id { get; set; } /// + /// 供应商Id + /// + public int SupplierId { get; set; } + /// /// 箱号 /// public string BoxBillNo { get; set; } diff --git a/src/WMS.Web.Core/Dto/TakeStock/SaveTakeStockRequest.cs b/src/WMS.Web.Core/Dto/TakeStock/SaveTakeStockRequest.cs index f98fcc5b..e649338d 100644 --- a/src/WMS.Web.Core/Dto/TakeStock/SaveTakeStockRequest.cs +++ b/src/WMS.Web.Core/Dto/TakeStock/SaveTakeStockRequest.cs @@ -46,6 +46,11 @@ namespace WMS.Web.Core.Dto.TakeStock [Required(ErrorMessage = "盘点实际数量不能为空")] public decimal AfterQty { get; set; } /// + /// 盘点数量 + /// + [Required(ErrorMessage = "盘点数量不能为空")] + public decimal FinalQty { get; set; } + /// /// 备注 /// public string Remark { get; set; } diff --git a/src/WMS.Web.Domain/Entitys/Box.cs b/src/WMS.Web.Domain/Entitys/Box.cs index 5270dce2..b26d2c0e 100644 --- a/src/WMS.Web.Domain/Entitys/Box.cs +++ b/src/WMS.Web.Domain/Entitys/Box.cs @@ -31,7 +31,10 @@ namespace WMS.Web.Domain.Entitys /// 箱编号(老OPS生成的箱号) /// public string BoxBillNo { get; set; } - + /// + /// 供应商Id + /// + public int SupplierId { get; set; } /// /// 创建时间(对应老OPS的创建时间) /// diff --git a/src/WMS.Web.Domain/Entitys/TakeStock.cs b/src/WMS.Web.Domain/Entitys/TakeStock.cs index 4a368931..a1d8a11d 100644 --- a/src/WMS.Web.Domain/Entitys/TakeStock.cs +++ b/src/WMS.Web.Domain/Entitys/TakeStock.cs @@ -76,7 +76,7 @@ namespace WMS.Web.Domain.Entitys [Column("AfterQty")] public decimal AfterQty { get; set; } /// - /// 盘点后数量 + /// 盘点数量 /// [Column("FinalQty")] public decimal FinalQty { get; set; } diff --git a/src/WMS.Web.Repositories/BoxRepositories.cs b/src/WMS.Web.Repositories/BoxRepositories.cs index de1108fd..3bdeb35a 100644 --- a/src/WMS.Web.Repositories/BoxRepositories.cs +++ b/src/WMS.Web.Repositories/BoxRepositories.cs @@ -57,6 +57,7 @@ namespace WMS.Web.Repositories BoxResponse result = new BoxResponse() { Id = entity.Id, + SupplierId=entity.SupplierId, BoxBillNo = entity.BoxBillNo }; result.Details = await _context.BoxDetails From 0f66efa9e2ee76d2e03a48cd32df411d806c2358 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Wed, 1 Nov 2023 16:29:30 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=AE=B1=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/SysConfigController.cs | 18 +++-- src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml | 4 +- src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 15 +++-- src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 65 +++++++++++++++++-- src/WMS.Web.Core/Dto/BoxDetailResponse.cs | 4 -- src/WMS.Web.Domain/Entitys/BoxDetails.cs | 4 -- src/WMS.Web.Domain/Entitys/TakeStock.cs | 1 + .../Infrastructure/IBoxRepositories.cs | 2 +- src/WMS.Web.Domain/Mappers/BoxMapper.cs | 21 ++++++ src/WMS.Web.Repositories/BoxRepositories.cs | 31 ++------- 10 files changed, 110 insertions(+), 55 deletions(-) create mode 100644 src/WMS.Web.Domain/Mappers/BoxMapper.cs diff --git a/src/WMS.Web.Api/Controllers/SysConfigController.cs b/src/WMS.Web.Api/Controllers/SysConfigController.cs index def8569c..319947c3 100644 --- a/src/WMS.Web.Api/Controllers/SysConfigController.cs +++ b/src/WMS.Web.Api/Controllers/SysConfigController.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; @@ -115,20 +116,23 @@ namespace WMS.Web.Api.Controllers /// /// 根据箱号获取箱信息 /// - /// 必填 + /// 必填 /// [HttpGet] [Route("GetBox")] - public async Task> GetBox([FromQuery] string billNo) + public async Task> GetBox([FromQuery] List billNos) { var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); if (loginInfo == null || loginInfo.UserInfo == null) - return Result.ReFailure(ResultCodes.Token_Invalid_Error); - if (string.IsNullOrEmpty(billNo)) - return Result.ReSuccess(null); + return ResultList.ReFailure(ResultCodes.Token_Invalid_Error); - var r = await _boxRepositories.GetBox(billNo); - return Result.ReSuccess(r); + var res = await _boxRepositories.GetBox(billNos); + var bStrList = res.Select(s => s.BoxBillNo).ToList(); + var ex = billNos.Except(bStrList).ToList(); + if (ex.Count() > 0) + return ResultList.ReFailure("箱号" + JsonConvert.SerializeObject(ex) + "不存在", 800000); + + return ResultList.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 b25bce3d..9dd085f7 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -249,11 +249,11 @@ 仓库模糊匹配 不必填 - + 根据箱号获取箱信息 - 必填 + 必填 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 512b7390..f2acd21e 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -250,11 +250,6 @@ 物料规格型号 - - - 供应商ID - - 数量(装箱数量) @@ -275,6 +270,11 @@ 单据头ID + + + 供应商Id + + 箱号 @@ -2180,6 +2180,11 @@ 盘点实际数量(实际仓库数量) + + + 盘点数量 + + 备注 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index d7f4a7f1..e2245b5a 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -100,6 +100,11 @@ 箱编号(老OPS生成的箱号) + + + 供应商Id + + 创建时间(对应老OPS的创建时间) @@ -130,11 +135,6 @@ 物料ID - - - 供应商ID - - 数量(装箱数量) @@ -909,9 +909,55 @@ 同步成功或者失败 null 就是未同步 - + - 明细 + 箱Id + + + + + 物料ID + + + + + 单位ID + + + + + 仓库ID + + + + + 仓位ID + + + + + 盘点前数量(wms系统数量) + + + + + 盘点实际数量(实际仓库数量) + + + + + 盘点数量 + + + + + 盘点结果类型:1为盘盈,2位盘亏 + 实际仓库数量-WMS系统数量 大于0为盘盈 小于0为盘亏 + + + + + 备注 @@ -1536,6 +1582,11 @@ mapper映射 + + + 箱信息 + + 改箱 diff --git a/src/WMS.Web.Core/Dto/BoxDetailResponse.cs b/src/WMS.Web.Core/Dto/BoxDetailResponse.cs index ea6103f0..5d53c923 100644 --- a/src/WMS.Web.Core/Dto/BoxDetailResponse.cs +++ b/src/WMS.Web.Core/Dto/BoxDetailResponse.cs @@ -26,10 +26,6 @@ namespace WMS.Web.Core.Dto /// public string Specifications { get; set; } /// - /// 供应商ID - /// - public int SupplierId { get; set; } - /// /// 数量(装箱数量) /// public decimal Qty { get; set; } diff --git a/src/WMS.Web.Domain/Entitys/BoxDetails.cs b/src/WMS.Web.Domain/Entitys/BoxDetails.cs index c976d4ae..027eac26 100644 --- a/src/WMS.Web.Domain/Entitys/BoxDetails.cs +++ b/src/WMS.Web.Domain/Entitys/BoxDetails.cs @@ -28,10 +28,6 @@ namespace WMS.Web.Domain.Entitys /// public int MaterialId { get; set; } /// - /// 供应商ID - /// - public int SupplierId { get; set; } - /// /// 数量(装箱数量) /// public decimal Qty { get; set; } diff --git a/src/WMS.Web.Domain/Entitys/TakeStock.cs b/src/WMS.Web.Domain/Entitys/TakeStock.cs index a1d8a11d..1146bd1c 100644 --- a/src/WMS.Web.Domain/Entitys/TakeStock.cs +++ b/src/WMS.Web.Domain/Entitys/TakeStock.cs @@ -82,6 +82,7 @@ namespace WMS.Web.Domain.Entitys public decimal FinalQty { get; set; } /// /// 盘点结果类型:1为盘盈,2位盘亏 + /// 实际仓库数量-WMS系统数量 大于0为盘盈 小于0为盘亏 /// [Column("ResultType")] public TakeStockType ResultType { get; set; } = TakeStockType.Profit; diff --git a/src/WMS.Web.Domain/Infrastructure/IBoxRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IBoxRepositories.cs index 91f01e51..ea677817 100644 --- a/src/WMS.Web.Domain/Infrastructure/IBoxRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IBoxRepositories.cs @@ -14,7 +14,7 @@ namespace WMS.Web.Domain.Infrastructure { Task Get(int id); //根据箱号查询明细信息 - Task GetBox(string BoxBillNo); + Task> GetBox(List billNos); //批量修改 Task EditEntityList(List entitys, bool isTransaction = true); } diff --git a/src/WMS.Web.Domain/Mappers/BoxMapper.cs b/src/WMS.Web.Domain/Mappers/BoxMapper.cs new file mode 100644 index 00000000..f4d6fe42 --- /dev/null +++ b/src/WMS.Web.Domain/Mappers/BoxMapper.cs @@ -0,0 +1,21 @@ +using AutoMapper; +using System; +using System.Collections.Generic; +using System.Text; +using WMS.Web.Core.Dto; +using WMS.Web.Domain.Entitys; + +namespace WMS.Web.Domain.Mappers +{ + /// + /// 箱信息 + /// + public class BoxMapper : Profile + { + public BoxMapper() + { + CreateMap(); + CreateMap(); + } + } +} diff --git a/src/WMS.Web.Repositories/BoxRepositories.cs b/src/WMS.Web.Repositories/BoxRepositories.cs index 3bdeb35a..c289667b 100644 --- a/src/WMS.Web.Repositories/BoxRepositories.cs +++ b/src/WMS.Web.Repositories/BoxRepositories.cs @@ -50,32 +50,13 @@ namespace WMS.Web.Repositories /// /// /// - public async Task GetBox(string BoxBillNo) + public async Task> GetBox(List BoxBillNos) { - var entity = await _context.Box.FirstOrDefaultAsync(f => f.BoxBillNo.Equals(BoxBillNo)); - if (entity == null) return null; - BoxResponse result = new BoxResponse() - { - Id = entity.Id, - SupplierId=entity.SupplierId, - BoxBillNo = entity.BoxBillNo - }; - result.Details = await _context.BoxDetails - .GroupJoin(_context.Box, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders }) - .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order }) - .Where(w => w.order.BoxBillNo.Equals(BoxBillNo)) - .Select(s => new BoxDetailResponse() - { - MaterialId = s.detail.MaterialId, - MaterialName = "", - MaterialNumber = "", - Specifications = "", - SerialNumbers = s.detail.SerialNumbers, - SupplierId = s.detail.SupplierId, - Qty = s.detail.Qty - }) - .ToListAsync(); - return result; + var list = await _context.Box.Include(x=>x.Details).Where(f => BoxBillNos.Contains(f.BoxBillNo)).ToListAsync(); + var resList = _mapper.Map>(list); + //获取物料信息 显示物料三件套 + var mIds = list.SelectMany(s => s.Details).Select(s => s.MaterialId).ToList(); + return resList; } ///