From 8e41c3abbae355b626158a276c08ee68d9afd0f5 Mon Sep 17 00:00:00 2001
From: 18516761980 <4761516tqsxp>
Date: 星期四, 07 四月 2022 09:48:19 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/StatisController.java     |   33 +++++++---
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java            |    2 
 src/main/java/com/zy/asrs/service/LocDetlService.java          |    2 
 src/main/java/com/zy/asrs/entity/LocDetl.java                  |    4 
 src/main/webapp/views/locStatis/locStatis.html                 |   23 ++++++-
 src/main/resources/mapper/LocDetlMapper.xml                    |   96 +++++++++++++++++++++++++++++--
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java |    4 
 src/main/webapp/static/js/locStatis/locStatis.js               |   10 +++
 8 files changed, 146 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/StatisController.java b/src/main/java/com/zy/asrs/controller/StatisController.java
index b7241c3..5fdf336 100644
--- a/src/main/java/com/zy/asrs/controller/StatisController.java
+++ b/src/main/java/com/zy/asrs/controller/StatisController.java
@@ -2,7 +2,6 @@
 
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.annotations.ManagerAuth;
 import com.core.common.R;
@@ -50,20 +49,34 @@
 //                         @RequestParam(required = false)String condition,
                          @RequestParam Map<String, Object> param) {
         Page<LocDetl> stockStatis = locDetlService.getStockStatis(toPage(curr, limit, param, LocDetl.class));
-        for (LocDetl locDetl : stockStatis.getRecords()) {
-            MatCode mat = matCodeService.selectOne(new EntityWrapper<MatCode>().eq("mat_no",locDetl.getMatNo()));
-//            MatCode mat = matCodeService.selectById(locDetl.getMatnr());
-            if (mat != null) {
-                VersionUtils.setLocDetl(locDetl, mat);
-            }
-        }
+//        for (LocDetl locDetl : stockStatis.getRecords()) {
+//            MatCode mat = matCodeService.selectOne(new EntityWrapper<MatCode>().eq("mat_no",locDetl.getMatNo()));
+////            MatCode mat = matCodeService.selectById(locDetl.getMatnr());
+//            if (mat != null) {
+//                VersionUtils.setLocDetl(locDetl, mat);
+//            }
+//        }
         return R.ok().add(stockStatis);
     }
 
     //搴撲綅鎶ヨ〃瀵煎嚭
     @RequestMapping(value = "/stock/statis/export")
-    public void stockStatisExport(HttpServletResponse response) throws IOException {
-        List<LocDetl> excel = locDetlService.getStockStatisExcel();
+    public void stockStatisExport(@RequestParam(required = false) String matNo,
+                                  @RequestParam(required = false) String matName,
+                                  @RequestParam(required = false) String supplier,
+                                  @RequestParam(required = false) String str3,
+                                  @RequestParam(required = false) String str4,
+                                  @RequestParam(required = false) String memo,
+                                  HttpServletResponse response) throws IOException {
+        LocDetl param = new LocDetl();
+        param.setMatNo(matNo!=null ? matNo : "");
+        param.setMatName(matName!=null ? matName : "");
+        param.setSupplier(supplier!=null ? supplier : "");
+        param.setStr3(str3!=null ? str3 : "");
+        param.setStr4(str4!=null ? str4 : "");
+        param.setMemo(memo!=null ? memo : "");
+
+        List<LocDetl> excel = locDetlService.getStockStatisExcel(param);
         for (LocDetl locDetl : excel) {
             MatCode mat = matCodeService.selectById(locDetl.getMatNo());
             if (mat != null) {
diff --git a/src/main/java/com/zy/asrs/entity/LocDetl.java b/src/main/java/com/zy/asrs/entity/LocDetl.java
index 2f3e520..fef6b03 100644
--- a/src/main/java/com/zy/asrs/entity/LocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/LocDetl.java
@@ -4,11 +4,11 @@
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
+import com.core.common.Cools;
+import com.core.common.SpringUtils;
 import com.zy.asrs.service.LocMastService;
 import com.zy.system.entity.User;
 import com.zy.system.service.UserService;
-import com.core.common.Cools;
-import com.core.common.SpringUtils;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 8031704..b60ab2c 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -37,7 +37,7 @@
 
     Integer getStockStatisCount(Map<String, Object> condition);
 
-    List<LocDetl> getStockStatisExcel();
+    List<LocDetl> getStockStatisExcel(LocDetl locDetl);
 
     /**
      * 搴撳瓨涓婃姤ERP鏃讹紝鏍规嵁鐗╂枡姹囨�绘煡璇㈠簱瀛樻�婚噺
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index a5112fe..d6bf0d2 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -51,7 +51,7 @@
      * 瀵煎嚭鍏ㄩ儴搴撳瓨缁熻
      * @return
      */
-    List<LocDetl> getStockStatisExcel();
+    List<LocDetl> getStockStatisExcel(LocDetl locDetl);
 
     /**
      * 鎼滅储搴撳瓨缁熻
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index fb8b96b..e5dfa72 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -72,8 +72,8 @@
     }
 
     @Override
-    public List<LocDetl> getStockStatisExcel() {
-       return this.baseMapper.getStockStatisExcel();
+    public List<LocDetl> getStockStatisExcel(LocDetl locDetl) {
+       return this.baseMapper.getStockStatisExcel(locDetl);
     }
 
     /**
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index ffaa2e5..3137705 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -89,9 +89,73 @@
     <if test="mat_name!=null and mat_name!='' ">
         and mat_name like '%' + #{mat_name} + '%'
     </if>
+    <if test="supplier!=null and supplier!=''" >
+        and supplier like '%'+#{supplier}+'%'
+    </if>
     <if test="str3!=null and str3!=''" >
         and str3 like '%'+#{str3}+'%'
     </if>
+    <if test="str4!=null and str4!=''" >
+        and str4 like '%'+#{str4}+'%'
+    </if>
+    <if test="memo!=null and memo!='' ">
+        and (
+        mat_no like '%' + #{memo} + '%'
+        or mat_name like '%' + #{memo} + '%'
+        or qty like '%' + #{memo} + '%'
+        or str3 like '%' + #{memo} + '%'
+        or unit like '%' + #{memo} + '%'
+        or specs like '%' + #{memo} + '%'
+        or size like '%' + #{memo} + '%'
+        or color like '%' + #{memo} + '%'
+        or supplier like '%' + #{memo} + '%'
+        or source like '%' + #{memo} + '%'
+        or vendor like '%' + #{memo} + '%'
+        or qty_box like '%' + #{memo} + '%'
+        or str3 like '%' + #{memo} + '%'
+        or str4 like '%' + #{memo} + '%'
+        or str5 like '%' + #{memo} + '%'
+        or memo like '%' + #{memo} + '%'
+        )
+    </if>
+    </sql>
+
+    <sql id="stockOutCondition2">
+        <if test="matNo!=null and matNo!='' ">
+            and mat_no like '%' + #{matNo} + '%'
+        </if>
+        <if test="matName!=null and matName!='' ">
+            and mat_name like '%' + #{matName} + '%'
+        </if>
+        <if test="supplier!=null and supplier!=''" >
+            and supplier like '%'+#{supplier}+'%'
+        </if>
+        <if test="str3!=null and str3!=''" >
+            and str3 like '%'+#{str3}+'%'
+        </if>
+        <if test="str4!=null and str4!=''" >
+            and str4 like '%'+#{str4}+'%'
+        </if>
+        <if test="memo!=null and memo!='' ">
+            and (
+            mat_no like '%' + #{memo} + '%'
+            or mat_name like '%' + #{memo} + '%'
+            or qty like '%' + #{memo} + '%'
+            or str3 like '%' + #{memo} + '%'
+            or unit like '%' + #{memo} + '%'
+            or specs like '%' + #{memo} + '%'
+            or size like '%' + #{memo} + '%'
+            or color like '%' + #{memo} + '%'
+            or supplier like '%' + #{memo} + '%'
+            or source like '%' + #{memo} + '%'
+            or vendor like '%' + #{memo} + '%'
+            or qty_box like '%' + #{memo} + '%'
+            or str3 like '%' + #{memo} + '%'
+            or str4 like '%' + #{memo} + '%'
+            or str5 like '%' + #{memo} + '%'
+            or memo like '%' + #{memo} + '%'
+            )
+        </if>
     </sql>
 
     <select id="getStockOutPage" resultMap="BaseResultMap">
@@ -146,32 +210,50 @@
         select * from
         (
         select ROW_NUMBER() over (order by a.mat_no) as row,
-        a.mat_name,a.mat_no,a.supplier,a.str3,sum(a.qty) qty  from
+        a.mat_name,a.mat_no,a.supplier,a.str3,sum(a.qty) qty,specs,unit,color,qty_box,weight,str4,str5  from
         (
         select
-        mat_name,mat_no,supplier,str3,qty
+        mat_name,mat_no,supplier,str3,qty,specs,unit,color,qty_box,weight,str4,str5
         from asr_loc_detl c
         where 1=1
         <include refid="stockOutCondition1"></include>
         ) a
-        group by a.mat_no,a.mat_name,a.supplier,a.str3
+        group by a.mat_no,a.mat_name,a.supplier,a.str3,a.specs,a.unit,a.color,a.qty_box,a.weight,a.str4,a.str5
         ) d
         where 1=1
         and row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize})
     </select>
     <select id="getStockStatisCount" resultType="integer">
+        select count(1) from
+        (
+        select ROW_NUMBER() over (order by a.mat_no) as row,
+        a.mat_name,a.mat_no,a.supplier,a.str3,sum(a.qty) qty,specs,unit,color,qty_box,weight,str4,str5  from
+        (
         select
-        count(1)
-        from asr_loc_detl a
+        mat_name,mat_no,supplier,str3,qty,specs,unit,color,qty_box,weight,str4,str5
+        from asr_loc_detl c
+        where 1=1
+        <include refid="stockOutCondition1"></include>
+        ) a
+        group by a.mat_no,a.mat_name,a.supplier,a.str3,a.specs,a.unit,a.color,a.qty_box,a.weight,a.str4,a.str5
+        ) d
+
+<!--        select-->
+<!--        count(1)-->
+<!--        from asr_loc_detl a-->
+<!--        where 1=1-->
+<!--        <include refid="stockOutCondition1"></include>-->
     </select>
+<!--    <select id="getStockStatisExcel" resultType="com.zy.asrs.entity.LocDetl">-->
     <select id="getStockStatisExcel" resultMap="BaseResultMap">
      select
         ROW_NUMBER() over (order by a.mat_no, sum(a.qty) desc) as row
-        , a.mat_no, a.mat_name,a.supplier
+        , a.mat_no, a.mat_name,a.supplier,str3,specs,unit,color,qty_box as qtyBox,weight,str4,str5
         , sum(a.qty) as qty
         from asr_loc_detl a
         where 1=1
-        group by a.mat_no,a.mat_name,a.supplier
+        <include refid="stockOutCondition2"></include>
+        group by a.mat_no,a.mat_name,a.supplier,a.str3,a.specs,a.unit,a.color,a.qty_box,a.weight,a.str4,a.str5
     </select>
 
 <!--    <select id="getStockSum" resultMap="BaseResultMap">-->
diff --git a/src/main/webapp/static/js/locStatis/locStatis.js b/src/main/webapp/static/js/locStatis/locStatis.js
index b007b64..f775d0b 100644
--- a/src/main/webapp/static/js/locStatis/locStatis.js
+++ b/src/main/webapp/static/js/locStatis/locStatis.js
@@ -63,7 +63,14 @@
         cols: [[{field: 'qty', align: 'center', title: '鏁伴噺', width: 120}
             , {field: 'matNo', align: 'center', title: '浜у搧缂栫爜'}
             , {field: 'matName', align: 'center', title: '浜у搧鍚嶇О'}
+            , {field: 'specs', align: 'center',title: '瑙勬牸'}
+            , {field: 'unit', align: 'center',title: '鍗曚綅', width:80}
+            , {field: 'color', align: 'center',title: '棰滆壊'}
+            , {field: 'qtyBox', align: 'center',title: '姣忕鏁伴噺(PCS)'}
+            , {field: 'weight', align: 'center',title: '姣忕閲嶉噺(KG)'}
             , {field: 'str3', align: 'center',title: '瀹㈡埛鍚嶇О'}
+            , {field: 'str4', align: 'center',title: '椤圭洰淇℃伅'}
+            , {field: 'str5$', align: 'center',title: '绫诲埆'}
             , {field: 'supplier', align: 'center', title: '鎵瑰彿'}
             ]],
         request: {
@@ -188,7 +195,8 @@
             case 'exportAll':
                 layer.closeAll();
                 layer.load(1, {shade: [0.1,'#fff']});
-                location.href = baseUrl + "/stock/statis/export";
+                location.href = baseUrl + "/stock/statis/export?matNo="+$("#matNo").val()+"&matName="+$("#matName").val()
+                    +"&supplier="+$("#supplier").val()+"&str3="+$("#str3").val()+"&str4="+$("#str4").val()+"&memo="+$("#memo").val();
                 layer.closeAll('loading');
                 break;
         }
diff --git a/src/main/webapp/views/locStatis/locStatis.html b/src/main/webapp/views/locStatis/locStatis.html
index 86292eb..89d5c0e 100644
--- a/src/main/webapp/views/locStatis/locStatis.html
+++ b/src/main/webapp/views/locStatis/locStatis.html
@@ -17,17 +17,32 @@
 <div id="search-box" class="layui-form layui-card-header">
     <div class="layui-inline">
         <div class="layui-input-inline">
-            <input class="layui-input" type="text" name="mat_no" placeholder="浜у搧缂栫爜" autocomplete="off">
+            <input class="layui-input" type="text" id="matNo" name="mat_no" placeholder="浜у搧缂栫爜" autocomplete="off">
         </div>
     </div>
     <div class="layui-inline">
         <div class="layui-input-inline">
-            <input class="layui-input" type="text" name="mat_name" placeholder="浜у搧鍚嶇О" autocomplete="off">
+            <input class="layui-input" type="text" id="matName" name="mat_name" placeholder="浜у搧鍚嶇О" autocomplete="off">
         </div>
     </div>
     <div class="layui-inline">
         <div class="layui-input-inline">
-            <input class="layui-input" type="text" name="str3" placeholder="瀹㈡埛鍚嶇О" autocomplete="off">
+            <input class="layui-input" type="text" id="supplier" name="supplier" placeholder="鎵瑰彿" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" id="str3" name="str3" placeholder="瀹㈡埛鍚嶇О" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" id="str4" name="str4" placeholder="椤圭洰淇℃伅" autocomplete="off">
+        </div>
+    </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" id="memo" name="memo" placeholder="璇疯緭鍏�" autocomplete="off">
         </div>
     </div>
     <!-- 寰呮坊鍔� -->
@@ -44,7 +59,7 @@
 <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
 <!--        <button class="layui-btn layui-btn-normal layui-btn-sm" id="refresh-sto" lay-event="syncStok" style="margin-left: 10px">涓婃姤搴撳瓨鍒癊RP</button>-->
-        <button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="exportAll" style="float: right">瀵煎嚭</button>
+        <button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="exportAll" style="float: right;margin-top: 10px">瀵煎嚭</button>
     </div>
 </script>
 <script type="text/html" id="operate">

--
Gitblit v1.9.1