From 8f460d3cc0ec2ea7abc456c9313ae3072416cf6b Mon Sep 17 00:00:00 2001 From: xqs <ddxk91@qq.com> Date: Thu, 23 Jul 2020 15:01:47 +0800 Subject: [PATCH] 库存汇总数据筛选 --- src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/controller/InventoryMaterialSummaryController.java | 121 ++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------- src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryChildService.java | 15 --------------- src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryChildServiceImpl.java | 19 ------------------- src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryServiceImpl.java | 21 ++++++++++++++++++--- src/main/resources/templates/inventory/inventoryMaterialSummary/inventoryMaterialSummary.html | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------- 5 files changed, 120 insertions(+), 144 deletions(-) delete mode 100644 src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryChildService.java delete mode 100644 src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryChildServiceImpl.java diff --git a/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/controller/InventoryMaterialSummaryController.java b/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/controller/InventoryMaterialSummaryController.java index 6f8cea2..71de5d4 100644 --- a/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/controller/InventoryMaterialSummaryController.java +++ b/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/controller/InventoryMaterialSummaryController.java @@ -29,13 +29,11 @@ import java.util.List; /** - *库存物料汇总, + * 库存物料汇总, * 父子页面表 - * + * <p> * 无表,查询筛选数据后直接展示到页面 - * - * - * */ + */ @Controller @RequestMapping("/inventory/inventoryMaterialSummary") public class InventoryMaterialSummaryController extends BaseController { @@ -45,22 +43,16 @@ public class InventoryMaterialSummaryController extends BaseController { private InventoryMaterialSummaryService inventoryMaterialSummaryService; - - - - private String prefix = "inventory/inventoryMaterialSummary"; - /** * 页面 - * */ + */ @RequiresPermissions("inventory:inventoryMaterialSummary:view") @GetMapping() - public String inventoryMaterialSummary( ModelMap m) - { - m.put("warehouseCode",ShiroUtils.getWarehouseCode()); + public String inventoryMaterialSummary(ModelMap m) { + m.put("warehouseCode", ShiroUtils.getWarehouseCode()); return prefix + "/inventoryMaterialSummary"; } @@ -69,89 +61,60 @@ public class InventoryMaterialSummaryController extends BaseController { */ @RequiresPermissions("inventory:cycleCountDetail:list") @PostMapping("/list") - @Log(title = "库存-盘点",operating = "查看盘点明细", action = BusinessType.GRANT) + @Log(title = "库存-库存汇总", operating = "库存汇总主表", action = BusinessType.GRANT) @ResponseBody - public TableDataInfo list(InventoryMaterialSummary inventoryMaterialSummary, String createdBegin, String createdEnd) { + public List<InventoryMaterialSummary> list(InventoryMaterialSummary inventoryMaterialSummary, String createdBegin, String createdEnd) { LambdaQueryWrapper<InventoryMaterialSummary> lambdaQueryWrapper = Wrappers.lambdaQuery(); - PageDomain pageDomain = TableSupport.buildPageRequest(); - Integer pageNum = pageDomain.getPageNum(); - Integer pageSize = pageDomain.getPageSize(); - lambdaQueryWrapper - //仓库 - .eq(InventoryMaterialSummary::getWarehouseCode, ShiroUtils.getWarehouseCode()) - //物料编码 - .eq(StringUtils.isNotEmpty(inventoryMaterialSummary.getMaterialCode()),InventoryMaterialSummary::getMaterialCode,inventoryMaterialSummary.getMaterialCode()) - //物料名称 - .eq(StringUtils.isNotEmpty(inventoryMaterialSummary.getMaterialName()),InventoryMaterialSummary::getMaterialName,inventoryMaterialSummary.getMaterialName()); - //.orderByAsc(InventoryMaterialSummary::getMaterialCode); - - if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) { - //分页查询 - Page<InventoryMaterialSummary> page = new Page<>(pageNum, pageSize); - IPage<InventoryMaterialSummary> iPage = inventoryMaterialSummaryService.page(page, lambdaQueryWrapper); - //筛选库存汇总数据的专用方法 - List<InventoryMaterialSummary> ipages = inventoryMaterialSummaryService.inventoryMaterialSummarySelect(iPage.getRecords()) ; - return getMpDataTable(ipages, iPage.getTotal()); - } else { - List<InventoryMaterialSummary> list = inventoryMaterialSummaryService.list(lambdaQueryWrapper); - //筛选库存汇总数据的专用方法 - List<InventoryMaterialSummary> details = inventoryMaterialSummaryService.inventoryMaterialSummarySelect(list) ; - if(details == null){ - details = Collections.emptyList(); - } - return getDataTable(details); - } - //空List - //return getDataTable(Collections.emptyList()); + + lambdaQueryWrapper.ge( + StringUtils.isNotEmpty(createdBegin), InventoryMaterialSummary::getCreated, createdBegin) + .le(StringUtils.isNotEmpty(createdEnd), InventoryMaterialSummary::getCreated, createdEnd)//创建时间范围 + //货主 + .in(InventoryMaterialSummary::getCompanyCode, ShiroUtils.getCompanyCodeList()) + //仓库 + .eq(InventoryMaterialSummary::getWarehouseCode, ShiroUtils.getWarehouseCode()) + //物料编码 + .eq(StringUtils.isNotEmpty(inventoryMaterialSummary.getMaterialCode()), InventoryMaterialSummary::getMaterialCode, inventoryMaterialSummary.getMaterialCode()) + //物料名称 + .eq(StringUtils.isNotEmpty(inventoryMaterialSummary.getMaterialName()), InventoryMaterialSummary::getMaterialName, inventoryMaterialSummary.getMaterialName()); + //.orderByAsc(InventoryMaterialSummary::getMaterialCode); + + + List<InventoryMaterialSummary> list = inventoryMaterialSummaryService.list(lambdaQueryWrapper); + //筛选库存汇总数据的专用方法 + List<InventoryMaterialSummary> details = inventoryMaterialSummaryService.inventoryMaterialSummarySelect(list); + if (details == null) { + details = Collections.emptyList(); + } + return details; + + } /** * 库存汇总子单列表 */ - @PostMapping("/cycleCountDetailChild") - @Log(title = "库存-盘点",operating = "查看盘点明细子单", action = BusinessType.GRANT) + @PostMapping("/inventoryMaterialSummaryChild") + @Log(title = "库存-库存汇总", operating = "库存汇总明细子单", action = BusinessType.GRANT) @ResponseBody - public TableDataInfo cycleCountDetailChild(InventoryMaterialSummary inventoryMaterialSummaryChild, String createdBegin, String createdEnd) { - + public TableDataInfo inventoryMaterialSummaryChild(InventoryMaterialSummary inventoryMaterialSummaryChild) { LambdaQueryWrapper<InventoryMaterialSummary> lambdaQueryWrapper = Wrappers.lambdaQuery(); - PageDomain pageDomain = TableSupport.buildPageRequest(); - Integer pageNum = pageDomain.getPageNum(); - Integer pageSize = pageDomain.getPageSize(); lambdaQueryWrapper //仓库 .eq(InventoryMaterialSummary::getWarehouseCode, ShiroUtils.getWarehouseCode()) //物料编码 - .eq(InventoryMaterialSummary::getMaterialCode,inventoryMaterialSummaryChild.getMaterialCode()); - //.orderByDesc(InventoryMaterialSummary::getId); - - if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) { - //分页查询 - Page<InventoryMaterialSummary> page = new Page<>(pageNum, pageSize); - IPage<InventoryMaterialSummary> iPage = inventoryMaterialSummaryService.page(page, lambdaQueryWrapper); - return getMpDataTable(iPage.getRecords(), iPage.getTotal()); - } else { - List<InventoryMaterialSummary> list = inventoryMaterialSummaryService.list(lambdaQueryWrapper); - return getDataTable(list); + .eq(InventoryMaterialSummary::getMaterialCode, inventoryMaterialSummaryChild.getMaterialCode()); + //.orderByDesc(InventoryMaterialSummary::getId); + + List<InventoryMaterialSummary> list = inventoryMaterialSummaryService.list(lambdaQueryWrapper); + if (list == null) { + list = Collections.emptyList(); } + return getDataTable(list); } - - - - - - - - - - - - - - - } diff --git a/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryChildService.java b/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryChildService.java deleted file mode 100644 index e1e5ba8..0000000 --- a/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryChildService.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.huaheng.pc.inventory.InventoryMaterialSummary.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.huaheng.pc.inventory.InventoryMaterialSummary.domain.InventoryMaterialSummary; - -public interface InventoryMaterialSummaryChildService extends IService<InventoryMaterialSummary> { - - - - - - - - -} diff --git a/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryChildServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryChildServiceImpl.java deleted file mode 100644 index f4c0e40..0000000 --- a/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryChildServiceImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.huaheng.pc.inventory.InventoryMaterialSummary.service; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.huaheng.pc.inventory.InventoryMaterialSummary.domain.InventoryMaterialSummary; -import com.huaheng.pc.inventory.InventoryMaterialSummary.mapper.InventoryMaterialSummaryMapper; -import org.springframework.stereotype.Service; - - -@Service -public class InventoryMaterialSummaryChildServiceImpl extends ServiceImpl<InventoryMaterialSummaryMapper, InventoryMaterialSummary> implements InventoryMaterialSummaryChildService{ - - - - - - - - -} diff --git a/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryServiceImpl.java index 0a48537..e628445 100644 --- a/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryServiceImpl.java +++ b/src/main/java/com/huaheng/pc/inventory/InventoryMaterialSummary/service/InventoryMaterialSummaryServiceImpl.java @@ -5,6 +5,8 @@ import com.huaheng.pc.inventory.InventoryMaterialSummary.domain.InventoryMateria import com.huaheng.pc.inventory.InventoryMaterialSummary.mapper.InventoryMaterialSummaryMapper; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; @@ -22,9 +24,22 @@ public class InventoryMaterialSummaryServiceImpl extends ServiceImpl<InventoryMa @Override public List<InventoryMaterialSummary> inventoryMaterialSummarySelect(List<InventoryMaterialSummary> inventoryMaterialSummaryList) { - - - return null; + /*以物料为条件把同物料数量全部相加,去重再展示*/ + + HashMap<String, InventoryMaterialSummary> map = new HashMap<String, InventoryMaterialSummary>(); + for (InventoryMaterialSummary bean : inventoryMaterialSummaryList) { + //单物料条件, + //货主和物料条件(!!!) + if (map.containsKey(bean.getMaterialCode())) { + bean.setQty(map.get(bean.getMaterialCode()).getQty().add(bean.getQty())); + } + map.put(bean.getMaterialCode(), bean); + } +// inventorys.clear();//清空list + List<InventoryMaterialSummary> inventoryList = new ArrayList<>(); + inventoryList.addAll(map.values()); + + return inventoryList; } diff --git a/src/main/resources/templates/inventory/inventoryMaterialSummary/inventoryMaterialSummary.html b/src/main/resources/templates/inventory/inventoryMaterialSummary/inventoryMaterialSummary.html index b0d06d2..2fa9958 100644 --- a/src/main/resources/templates/inventory/inventoryMaterialSummary/inventoryMaterialSummary.html +++ b/src/main/resources/templates/inventory/inventoryMaterialSummary/inventoryMaterialSummary.html @@ -19,6 +19,14 @@ <li> 物料名称:<input id="materialName" type="text" name="materialName" /> </li> + <li class="time"> + <label>创建时间: </label> + <input type="text" class="time-input" id="startTime" placeholder="开始时间" + name="createdBegin"/> + <span>-</span> + <input type="text" class="time-input" id="endTime" placeholder="结束时间" + name="createdEnd"/> + </li> <li> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> </li> @@ -27,9 +35,9 @@ </form> </div> <div class="btn-group hidden-xs" id="toolbar" role="group"> - <a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()"> + <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="batRemove()"> <i class="fa fa-trash-o"></i> 删除 - </a> + </a>--> </div> <div class="col-sm-12 select-info"> <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> @@ -42,26 +50,31 @@ var prefix = ctx + "inventory/inventoryMaterialSummary"; $(function () { - var options = { + let options = { url: prefix + "/list", + contentType: "application/x-www-form-urlencoded", // 编码类型 + method: 'post', // 请求方式(*) modalName: "库存汇总", + sortStable: true, sortName: "materialCode", sortOrder: "asc", - pagination: true, //是否分页 search: false, showSearch: false, showRefresh: true, refresh:true, + showToggle: false, + showColumns: false, + showExport: true, //是否添加导出按钮 detailView: true, - - queryParams : { - //传值 - warehouseCode : $('#warehouseCode').val(), - - }, + pagination: true, + sidePagination: "client", //前端分页 + queryParams : queryParams, onExpandRow : function(index, row, $detail) { detailChildTable(index, row, $detail); }, + responseHandler: function (res) { + return res; + }, columns: [ { radio: true @@ -76,8 +89,8 @@ title: '货主编码' },*/ { - field: 'total', - title: '库存总数量' + field: 'qty', + title: '库存总数' }, { field: 'materialCode', @@ -104,15 +117,13 @@ align: 'center', formatter: function (value, row, index) { var actions = []; - if(row.enableStatus === 1 ){ - //actions.push('<a class="btn btn-primary btn-xs ' + createTaskFalg + '" href="#" onclick="outcheck(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成盘点单</a> '); - } + //actions.push('<a class="btn btn-primary btn-xs ' + createTaskFalg + '" href="#" onclick="outcheck(\'' + row.id + '\')"><i class="fa fa-gbp"></i>生成盘点单</a> '); return actions.join(''); } } ] }; - $.table.init(options); + $("#bootstrap-table").bootstrapTable(options); }); //子表 @@ -123,7 +134,7 @@ method: 'post', sortName: "id", sortOrder: "desc", - + sidePagination: "server", contentType: "application/x-www-form-urlencoded", //页面渲染 responseHandler: responseHandler, @@ -136,21 +147,21 @@ columns: [ { field: 'id', - title: '库存ID', + title: '库存明细ID', sortable: true, width: 80 }, { field: 'locationCode', - title: '库位编号', + title: '库位编码', visible: true, - width: 200 + width: 120 }, { field: 'containerCode', - title: '容器编号', + title: '容器编码', visible: true, - width: 150 + width: 100 }, { field: 'companyCode', @@ -161,12 +172,12 @@ { field: 'materialCode', title: '物料编码', - width: 200 + width: 150 }, { field: 'materialName', title: '物料名称', - width: 200 + width: 150 }, { field: 'materialSpec', @@ -175,12 +186,14 @@ }, { field: 'qty', - title: '库存数量' + title: '库存数量', + width: 80 }, { field: 'materialUnit', - title: '物料单位', - visible: false, + title: '单位', + visible: true, + width: 50 }, { @@ -204,7 +217,19 @@ { field: 'receiptCode', title: '入库单编码', - visible: false + visible: true + }, + { + field: 'created', + title: '入库日期', + visible: true, + sortable: true, + width: 90 + },{ + field: 'weight', + title: '重量', + visible: true, + width: 50 }, /*{ title: '操作', @@ -263,6 +288,13 @@ } } + function queryParams (params) { + var curParams = { + // 传递参数查询参数 + warehouseCode: $('#warehouseCode').val(), + }; + return curParams; + } </script> </body> -- libgit2 0.22.2