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>&nbsp;搜索</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