From f3ce4485cd37eb7c3bcf16fde86a7f149974c4b6 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期五, 20 三月 2026 09:51:50 +0800
Subject: [PATCH] #检查导出功能:  1.商品档案无异常  2.库存明细管理(异常)已修复  3.库存明细统计无异常  4.工作档查询维护无异常  5.工作档明细查询无异常  6.工作历史档查询无异常  7.工作明细历史档查询无异常  8.入库通知历史档无异常  9.库存移动流水记录(异常)已修复  10.机台工位绑定无异常  11.库存调整记录无异常  12.工作档维护日志(异常)已修复  13.操作日志无异常

---
 src/main/resources/mapper/WrkMastLogMapper.xml                    |   27 +++++++++
 src/main/webapp/views/inventoryFlow/inventoryFlow.html            |    8 ++
 src/main/java/com/zy/asrs/controller/LocDetlController.java       |   38 ------------
 src/main/webapp/views/handWrkMast/handWrkMast.html                |    4 +
 src/main/webapp/static/js/inventoryFlow/inventoryFlow.js          |   12 +++-
 src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java            |    5 +
 src/main/webapp/static/js/handWrkMast/handWrkMast.js              |   12 +++
 src/main/java/com/zy/asrs/controller/WrkMastLogController.java    |   21 +++++++
 src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java |    6 ++
 src/main/java/com/zy/asrs/service/WrkMastLogService.java          |    7 ++
 10 files changed, 98 insertions(+), 42 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index 619459d..8ade3a7 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -293,44 +293,10 @@
         convert(map, wrapper);
         if (!row.equals("")) {
             wrapper.and()
-                    .where("loc_no like '" + row + "%'");
+                    .where("loc_no like {0}", row + "%");
         }
         List<LocDetl> list = locDetlService.selectList(wrapper);
-        List<AbnormalLocDetlParam> result = new ArrayList<>();
-
-        Page<LocDetl> groupLocDetl = locDetlService.getStockStatis2(toPage(1, 10000, param, LocDetl.class));
-        for (LocDetl locDetl : groupLocDetl.getRecords()) {
-            AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam();
-            Mat mat = matService.selectOne(new EntityWrapper<Mat>()
-                    .eq("matnr", locDetl.getMatnr()));
-            if (Cools.isEmpty(mat)) {
-                continue;
-            }
-            if (!Cools.isEmpty(mat                                                                          .getStoreMax()) || !Cools.isEmpty(mat.getStoreMin())) {
-                abnormalLocDetlParam.setStoreMax(mat.getStoreMax());
-                abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate());
-                abnormalLocDetlParam.setStoreMin(mat.getStoreMin());
-                abnormalLocDetlParam.setAnfme(locDetl.getAnfme());
-                abnormalLocDetlParam.setMaktx(mat.getMaktx());
-                abnormalLocDetlParam.setMatnr(mat.getMatnr());
-                abnormalLocDetlParam.setSpecs(mat.getSpecs());
-                abnormalLocDetlParam.setBatch(locDetl.getBatch());
-
-//                SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd");
-//                Date maxDate = simple.parse(locDetl.getBatch());
-//                long time = maxDate.getTime();
-//                Date now = new Date();
-//                long time1 = now.getTime();
-//                abnormalLocDetlParam.setNowTime((int) ((time1 - time) / (1000 * 60 * 60 * 24)));
-
-                if (!Cools.isEmpty(mat.getStoreMax()) && locDetl.getAnfme() > mat.getStoreMax()) {
-                    result.add(abnormalLocDetlParam);
-                } else if (!Cools.isEmpty(mat.getStoreMin()) && locDetl.getAnfme() < mat.getStoreMin()) {
-                    result.add(abnormalLocDetlParam);
-                }
-            }
-        }
-        return R.ok(exportSupport(result, fields));
+        return R.ok(exportSupport(list, fields));
     }
 
     @RequestMapping(value = "/locDetl/selectOwner/list/auth")
diff --git a/src/main/java/com/zy/asrs/controller/WrkMastLogController.java b/src/main/java/com/zy/asrs/controller/WrkMastLogController.java
index 203edfa..882eb1c 100644
--- a/src/main/java/com/zy/asrs/controller/WrkMastLogController.java
+++ b/src/main/java/com/zy/asrs/controller/WrkMastLogController.java
@@ -10,6 +10,7 @@
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
+import com.zy.asrs.entity.InventoryFlowDto;
 import com.zy.asrs.entity.WrkMastLog;
 import com.zy.asrs.service.WrkMastLogService;
 import com.zy.common.web.BaseController;
@@ -79,6 +80,26 @@
         return wrkMastLogService.inventoryFlowList(curr,limit,param);
     }
 
+    @RequestMapping(value = "/inventoryFlow/export/auth")
+    @ManagerAuth(memo = "搴撳瓨绉诲姩娴佹按璁板綍瀵煎嚭")
+    public R inventoryFlowExport(@RequestBody JSONObject param){
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        Map<String, Object> map = excludeTrash(param.getJSONObject("inventoryFlow"));
+        if (Cools.isEmpty(map.get("io_time"))) {
+            map.put("startTime","");
+            map.put("endTime","");
+        } else {
+            String ioTime = (String) map.get("io_time");
+            if (ioTime.contains(RANGE_TIME_LINK)){
+                String[] dates = ioTime.split(RANGE_TIME_LINK);
+                map.put("startTime",dates[0]);
+                map.put("endTime",dates[1]);
+            }
+        }
+        List<InventoryFlowDto> list = wrkMastLogService.inventoryFlowAll(map);
+        return R.ok(exportSupport(list, fields));
+    }
+
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
         for (Map.Entry<String, Object> entry : map.entrySet()){
             String val = String.valueOf(entry.getValue());
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
index 15c5c77..f9413da 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastLogMapper.java
@@ -27,4 +27,9 @@
      * 缁熻搴撳瓨绉诲姩娴佹按璁板綍鏁�
      */
     int inventoryFlowListCount(@Param("param") Map<String, Object> param);
+
+    /**
+     * 瀵煎嚭搴撳瓨绉诲姩娴佹按璁板綍
+     */
+    List<InventoryFlowDto> inventoryFlowAll(@Param("param") Map<String, Object> param);
 }
diff --git a/src/main/java/com/zy/asrs/service/WrkMastLogService.java b/src/main/java/com/zy/asrs/service/WrkMastLogService.java
index 24eaef0..4b7daa7 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastLogService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastLogService.java
@@ -2,8 +2,10 @@
 
 import com.baomidou.mybatisplus.service.IService;
 import com.core.common.R;
+import com.zy.asrs.entity.InventoryFlowDto;
 import com.zy.asrs.entity.WrkMastLog;
 
+import java.util.List;
 import java.util.Map;
 
 public interface WrkMastLogService extends IService<WrkMastLog> {
@@ -14,4 +16,9 @@
      * 鏌ヨ搴撳瓨绉诲姩娴佹按璁板綍
      */
     R inventoryFlowList(Integer curr, Integer limit, Map<String, Object> param);
+
+    /**
+     * 瀵煎嚭搴撳瓨绉诲姩娴佹按璁板綍
+     */
+    List<InventoryFlowDto> inventoryFlowAll(Map<String, Object> param);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java
index 91f9b29..370e34f 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastLogServiceImpl.java
@@ -16,6 +16,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 
@@ -58,4 +59,9 @@
         return R.ok(page);
     }
 
+    @Override
+    public List<InventoryFlowDto> inventoryFlowAll(Map<String, Object> param) {
+        return this.baseMapper.inventoryFlowAll(param);
+    }
+
 }
diff --git a/src/main/resources/mapper/WrkMastLogMapper.xml b/src/main/resources/mapper/WrkMastLogMapper.xml
index 5f5faa4..4e6cb34 100644
--- a/src/main/resources/mapper/WrkMastLogMapper.xml
+++ b/src/main/resources/mapper/WrkMastLogMapper.xml
@@ -119,4 +119,31 @@
         <include refid="queryWhere"></include>
     </select>
 
+    <select id="inventoryFlowAll" resultType="com.zy.asrs.entity.InventoryFlowDto">
+        select
+            a.wrk_no wrkNo,
+            a.io_type ioType,
+            a.io_time ioTime,
+            a.wrk_sts wrkSts,
+            a.source_loc_no sourceLocNo,
+            a.loc_no locNo,
+            a.barcode zpallet,
+            b.matnr,
+            b.maktx,
+            b.order_no orderNo,
+            b.batch,
+            b.anfme,
+            b.modi_time modiTime,
+            b.modi_user modiUser
+        from
+            asr_wrk_mast_log a
+                inner join asr_wrk_detl_log b on
+                        a.wrk_no = b.wrk_no
+                    and a.io_time = b.io_time
+                    and a.wrk_sts in(5, 15)
+                    <include refid="queryWhere"></include>
+        order by
+            a.modi_time desc
+    </select>
+
 </mapper>
diff --git a/src/main/webapp/static/js/handWrkMast/handWrkMast.js b/src/main/webapp/static/js/handWrkMast/handWrkMast.js
index 686640d..ad9e97d 100644
--- a/src/main/webapp/static/js/handWrkMast/handWrkMast.js
+++ b/src/main/webapp/static/js/handWrkMast/handWrkMast.js
@@ -18,6 +18,7 @@
         limits: [50, 100, 200, 500],
         even: true,
         toolbar: '#toolbar',
+        defaultToolbar: ['filter', 'exports', 'print'],
         cellMinWidth: 50,
         cols: [[
             // {type: 'checkbox'}
@@ -59,6 +60,13 @@
                 top.location.href = baseUrl+"/";
             }
             pageCurr=curr;
+            var $view = $('#wrkMast').next('.layui-table-view');
+            var $toolSelf = $view.find('.layui-table-tool-self');
+            var $btn = $view.find('#btn-export');
+            if ($btn.length) {
+                var $wrap = $btn.closest('.layui-inline');
+                ($wrap.length ? $wrap : $btn).prependTo($toolSelf);
+            }
             limit();
         }
     });
@@ -106,11 +114,11 @@
                         exportData[this.name] = this.value;
                     });
                     var param = {
-                        'wrkMast': exportData,
+                        'wrkMastLog': exportData,
                         'fields': fields
                     };
                     $.ajax({
-                        url: baseUrl+"/wrkMast/export/auth",
+                        url: baseUrl+"/wrkMastLog/export/auth",
                         headers: {'token': localStorage.getItem('token')},
                         data: JSON.stringify(param),
                         dataType:'json',
diff --git a/src/main/webapp/static/js/inventoryFlow/inventoryFlow.js b/src/main/webapp/static/js/inventoryFlow/inventoryFlow.js
index d14a330..ef74d23 100644
--- a/src/main/webapp/static/js/inventoryFlow/inventoryFlow.js
+++ b/src/main/webapp/static/js/inventoryFlow/inventoryFlow.js
@@ -18,6 +18,7 @@
         limits: [16, 30, 50, 100, 200, 500],
         even: true,
         toolbar: '#toolbar',
+        defaultToolbar: ['filter', 'exports', 'print'],
         cellMinWidth: 50,
         cols: [[
             {field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�', style: 'font-weight: bold',event: 'wrkNo'}
@@ -56,6 +57,12 @@
             }
             pageCurr=curr;
             limit();
+            var $view = $('#wrkMastLog').next('.layui-table-view');
+            var $toolSelf = $view.find('.layui-table-tool-self');
+            var $btn = $view.find('#btn-export');
+            if ($btn.length) {
+                $btn.closest('.layui-inline').prependTo($toolSelf);
+            }
             form.on('checkbox(tableCheckbox)', function (data) {
                 var _index = $(data.elem).attr('table-index')||0;
                 if(data.elem.checked){
@@ -92,7 +99,6 @@
 
     // 鐩戝惉澶村伐鍏锋爮浜嬩欢
     table.on('toolbar(wrkMastLog)', function (obj) {
-        var checkStatus = table.checkStatus(obj.config.id);
         switch(obj.event) {
             case 'exportData':
                 layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
@@ -109,11 +115,11 @@
                         exportData[this.name] = this.value;
                     });
                     var param = {
-                        'wrkMastLog': exportData,
+                        'inventoryFlow': exportData,
                         'fields': fields
                     };
                     $.ajax({
-                        url: baseUrl+"/wrkMastLog/export/auth",
+                        url: baseUrl+"/inventoryFlow/export/auth",
                         headers: {'token': localStorage.getItem('token')},
                         data: JSON.stringify(param),
                         dataType:'json',
diff --git a/src/main/webapp/views/handWrkMast/handWrkMast.html b/src/main/webapp/views/handWrkMast/handWrkMast.html
index 9bdd5b4..2e31b06 100644
--- a/src/main/webapp/views/handWrkMast/handWrkMast.html
+++ b/src/main/webapp/views/handWrkMast/handWrkMast.html
@@ -106,7 +106,9 @@
     <div class="layui-btn-container">
         <button class="layui-btn layui-btn-normal" id="btn-pri-add" lay-event="priAdd"><i class="layui-icon">&#xe624;</i>澧炲姞浼樺厛绾�</button>
         <button class="layui-btn layui-btn-normal" id="btn-pri-red" lay-event="priRed"><i class="layui-icon">&#xe67e;</i>闄嶄綆浼樺厛绾�</button>
-        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button>
+        <div class="layui-inline">
+            <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button>
+        </div>
     </div>
 </script>
 
diff --git a/src/main/webapp/views/inventoryFlow/inventoryFlow.html b/src/main/webapp/views/inventoryFlow/inventoryFlow.html
index d8c705c..a3f7592 100644
--- a/src/main/webapp/views/inventoryFlow/inventoryFlow.html
+++ b/src/main/webapp/views/inventoryFlow/inventoryFlow.html
@@ -78,6 +78,14 @@
     <table class="layui-hide" id="wrkMastLog" lay-filter="wrkMastLog"></table>
 </div>
 
+<script type="text/html" id="toolbar">
+    <div class="layui-btn-container">
+        <div class="layui-inline">
+            <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button>
+        </div>
+    </div>
+</script>
+
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
 <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>

--
Gitblit v1.9.1