From be046ed354f3b7c16ccd5c67028f80d118cfc1af Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Sun, 7 Apr 2024 19:03:58 +0800 Subject: [PATCH] =?UTF-8?q?wms:=E7=A7=BB=E5=8A=A8=E7=AB=AF=EF=BC=9A?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=9F=A5=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/wms/WmGoodsNowProductionController.cs | 17 +++ .../IService/IWmGoodsNowProductionService.cs | 14 +++ .../mes/wms/WmGoodsNowProductionService.cs | 106 +++++++++++++++--- 3 files changed, 120 insertions(+), 17 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs index 6c6c78c9..3eef4a58 100644 --- a/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmGoodsNowProductionController.cs @@ -51,7 +51,24 @@ namespace ZR.Admin.WebApi.Controllers var response = _WmGoodsNowProductionService.QuerypatchsearchList(parm); return SUCCESS(response); } + /// + /// 移动端 短批次号查询 + /// + /// + /// + [HttpGet("shortPatchsearch")] + public IActionResult QueryshortPatch(WmGoodsNowProductionQueryDto parm) + { + var response = _WmGoodsNowProductionService.QueryshortPatch(parm); + return SUCCESS(response); + } + [HttpGet("patchsearchdetail")] + public IActionResult Patchsearchdetail(WmGoodsNowProductionQueryDto parm) + { + var response = _WmGoodsNowProductionService.Patchsearchdetail(parm); + return SUCCESS(response); + } /// /// 查询成品库当前货物表详情 diff --git a/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs b/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs index b3007184..e611051c 100644 --- a/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs +++ b/ZR.Service/mes/wms/IService/IWmGoodsNowProductionService.cs @@ -22,6 +22,20 @@ namespace ZR.Service.mes.wms.IService /// (List, int) QuerypatchsearchList(WmGoodsNowProductionQueryDto parm); + /// + /// 短批次查询 + /// + /// + /// + List QueryshortPatch(WmGoodsNowProductionQueryDto parm); + + /// + /// 移动端 查询短批次号 细则 + /// + /// + /// + List Patchsearchdetail(WmGoodsNowProductionQueryDto parm); + WmGoodsNowProduction GetInfo(string Id); WmGoodsNowProduction AddWmGoodsNowProduction(WmGoodsNowProduction parm); diff --git a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs index 6ec8cb5d..fe47a37f 100644 --- a/ZR.Service/mes/wms/WmGoodsNowProductionService.cs +++ b/ZR.Service/mes/wms/WmGoodsNowProductionService.cs @@ -10,6 +10,7 @@ using ZR.Model.MES.wms; using ZR.Model.MES.wms.Dto; using ZR.Service.mes.wms.IService; using System.Collections.Generic; +using Mapster; namespace ZR.Service.mes.wms { @@ -35,7 +36,7 @@ namespace ZR.Service.mes.wms var response = Queryable() .Where(predicate.ToExpression()) .ToPage(parm); - + return response; } @@ -46,31 +47,32 @@ namespace ZR.Service.mes.wms /// /// /// - public (List,int) QuerypatchsearchList(WmGoodsNowProductionQueryDto parm) + public (List, int) QuerypatchsearchList(WmGoodsNowProductionQueryDto parm) { List list = null; - int total = 0; + int total = 0; var predicate = Expressionable.Create() .AndIF(!string.IsNullOrEmpty(parm.Partnumber), it => it.Partnumber.Contains(parm.Partnumber)) .AndIF(!string.IsNullOrEmpty(parm.PackageCodeClient), it => it.PackageCodeClient.Contains(parm.PackageCodeClient)); - List rawdatas = Queryable().Where(predicate.ToExpression()).ToPageList(parm.PageNum, parm.PageSize, ref total); - if(rawdatas!=null&&rawdatas.Count > 0) + List rawdatas = Queryable().Where(predicate.ToExpression()).ToPageList(parm.PageNum, parm.PageSize, ref total); + if (rawdatas != null && rawdatas.Count > 0) { //todo 对字段进行拆分 - List WmGoods_nodeDto_list= rawdatas.Select(p => new WmGoods_nodeDto() { - Id =p.Id, - PackageCode =p.PackageCode, + List WmGoods_nodeDto_list = rawdatas.Select(p => new WmGoods_nodeDto() + { + Id = p.Id, + PackageCode = p.PackageCode, PackageCodeClient_short_parent = p.PackageCodeClient.Split("_")[0], - PackageCodeClient_son=p.PackageCodeClient, - PackageCodeOriginal=p.PackageCodeClient, + PackageCodeClient_son = p.PackageCodeClient, + PackageCodeOriginal = p.PackageCodeClient, LocationCode = p.LocationCode, Partnumber = p.Partnumber, - GoodsNumLogic=p.GoodsNumLogic, - GoodsNumAction=p.GoodsNumAction, - EntryWarehouseTime=p.EntryWarehouseTime, - Remark= p.Remark, + GoodsNumLogic = p.GoodsNumLogic, + GoodsNumAction = p.GoodsNumAction, + EntryWarehouseTime = p.EntryWarehouseTime, + Remark = p.Remark, }).ToList(); //todo 分组 聚合 生成父节点 @@ -92,10 +94,79 @@ namespace ZR.Service.mes.wms } - return (list,total); + return (list, total); } + /// + /// 移动端 短批次号查询 + /// + /// + /// + public List QueryshortPatch(WmGoodsNowProductionQueryDto parm) + { + List list = null; + int total = 0; + var predicate = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.Partnumber), it => it.Partnumber.Contains(parm.Partnumber)) + .AndIF(!string.IsNullOrEmpty(parm.PackageCodeClient), it => it.PackageCodeClient.Contains(parm.PackageCodeClient)); + List rawdatas = Queryable().Where(predicate.ToExpression()).ToList(); + if (rawdatas != null && rawdatas.Count > 0) + { + //todo 对字段进行拆分 + + List WmGoods_nodeDto_list = rawdatas.Select(p => new WmGoods_nodeDto() + { + Id = p.Id, + PackageCode = p.PackageCode, + PackageCodeClient_short_parent = p.PackageCodeClient.Split("_")[0], + PackageCodeClient_son = p.PackageCodeClient, + PackageCodeOriginal = p.PackageCodeClient, + LocationCode = p.LocationCode, + Partnumber = p.Partnumber, + GoodsNumLogic = p.GoodsNumLogic, + GoodsNumAction = p.GoodsNumAction, + EntryWarehouseTime = p.EntryWarehouseTime, + Remark = p.Remark, + + }).ToList(); + //todo 分组 聚合 生成父节点 + + List WmGoods_nodeDto_list_parent = WmGoods_nodeDto_list.GroupBy(p => p.PackageCodeClient_short_parent) + .Select(group => new WmGoods_nodeDto() + { + PackageCodeClient_short_parent = "", + PackageCodeClient_son = group.Key, + GoodsNumLogic = group.Sum(group => group.GoodsNumLogic), + GoodsNumAction = group.Sum(group => group.GoodsNumAction), + Partnumber = group.Max(group => group.Partnumber), + Pack_num = group.Count() + }).ToList(); + + //todo 合并 + + return WmGoods_nodeDto_list_parent.OrderBy(it => it.PackageCodeClient_son).ToList(); + + } + return null; + } + /// + /// 移动端 短批次号详情 + /// + /// + /// + public List Patchsearchdetail(WmGoodsNowProductionQueryDto parm) + { + var predicate = Expressionable.Create() + .AndIF(!string.IsNullOrEmpty(parm.PackageCodeClient), it => it.PackageCodeClient.Contains(parm.PackageCodeClient)); + + var response = Queryable() + .Where(predicate.ToExpression()).ToList(); + + + return response.Adapt>(); + + } /// @@ -152,7 +223,8 @@ namespace ZR.Service.mes.wms //return response; return Update(model, true); } - - } + + + } \ No newline at end of file