From 21d0e7ab9d5c7316225a3e9eecf465cd37c9bd85 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期四, 05 六月 2025 14:15:07 +0800
Subject: [PATCH] 123

---
 src/main/java/com/zy/asrs/controller/LocDetlController.java |   78 ++++++++++++++++++++++++++++++++++----
 1 files changed, 69 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index acb9beb..944a213 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -48,7 +48,7 @@
         return R.ok();
     }
 
-    @RequestMapping(value = "/locDetl/{id}/auth")
+    @RequestMapping(value = "/locDetl/{id}/authv2")
     @ManagerAuth
     public R get(@PathVariable("id") String id) {
         return R.ok(locDetlService.selectById(String.valueOf(id)));
@@ -185,6 +185,65 @@
     @RequestMapping(value = "/locDetl/export/auth")
     @ManagerAuth(memo = "搴撲綅鏄庣粏瀵煎嚭")
     public synchronized R export(@RequestBody JSONObject param) {
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+        Map<String, Object> map = excludeTrash(param.getJSONObject("locDetl"));
+        String row = "";
+        if (map.get("row") != null) {
+            String chooseRow = (String) map.get("row");
+            if (chooseRow.length() == 1) {
+                row = "0" + chooseRow;
+                map.remove("row");
+            } else {
+                row = chooseRow;
+                map.remove("row");
+            }
+        }
+        convert(map, wrapper);
+        if (!row.equals("")) {
+            wrapper.and()
+                    .where("loc_no like '" + 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));
+    }
+    @RequestMapping(value = "/locDetl/export/auth/v2")
+    @ManagerAuth(memo = "搴撲綅鏄庣粏瀵煎嚭")
+    public synchronized R exportV2(@RequestBody JSONObject param) {
         List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
         EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
         Map<String, Object> map = excludeTrash(param.getJSONObject("locDetl"));
@@ -385,14 +444,15 @@
 
 
             if (!Cools.isEmpty(mat.getStoreMaxDate())) {
-                if (Cools.isEmpty(locDetl.getBatch())) {
-                    continue;
-                } else if (locDetl.getBatch().length() != 8) {
-                    continue;
-                }
+//                if (Cools.isEmpty(locDetl.getBatch())) {
+//                    continue;
+//                } else if (locDetl.getBatch().length() != 8) {
+//                    continue;
+//                }
                 try {
-                    SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd");
-                    Date maxDate = simple.parse(locDetl.getBatch());
+//                    SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd");
+//                    Date maxDate = simple.parse(locDetl.getBatch());
+                    Date maxDate = locDetl.getModiTime();
                     Calendar calendar = new GregorianCalendar();
                     calendar.setTime(maxDate);
                     // 鎶婃棩鏈熷線鍚庡鍔犱竴澶�,鏁存暟  寰�鍚庢帹,璐熸暟寰�鍓嶇Щ鍔�
@@ -409,7 +469,7 @@
                     abnormalLocDetlParam.setSpecs(mat.getSpecs());
                     abnormalLocDetlParam.setBatch(locDetl.getBatch());
                     if (now.compareTo(maxDate) > 0) {
-                        long difference = (now.getTime() - maxDate.getTime()) / (24 * 60 * 60 * 1000);
+                        long difference = (now.getTime() - locDetl.getModiTime().getTime()) / (24 * 60 * 60 * 1000);
                         abnormalLocDetlParam.setNowTime(Integer.parseInt(String.valueOf(difference)));
                         result.add(abnormalLocDetlParam);
                     }

--
Gitblit v1.9.1