From ec7342d38bb1ca9f5b4e08f4901aa10a3b8d7265 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期六, 07 十月 2023 11:55:21 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/LocDetlController.java |  193 +++++++++++++++++++++++++++++++++++------------
 1 files changed, 143 insertions(+), 50 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index 04ffd45..3bed8e4 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)));
@@ -205,7 +205,41 @@
                     .where("loc_no like '" + row + "%'");
         }
         List<LocDetl> list = locDetlService.selectList(wrapper);
-        return R.ok(exportSupport(list, fields));
+        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 = "/locDetlQuery/auth")
@@ -240,6 +274,21 @@
                     @RequestParam(defaultValue = "10") Integer limit,
                     @RequestParam Map<String, Object> param) {
         Page<LocDetl> stockStatis = locDetlService.getStockStatis(toPage(curr, limit, param, LocDetl.class));
+        for (LocDetl locDetl : stockStatis.getRecords()) {
+            Mat mat = matService.selectByMatnr(locDetl.getMatnr());
+            if (mat != null) {
+                locDetl.sync(mat);
+            }
+        }
+        return R.ok().add(stockStatis);
+    }
+
+    @RequestMapping(value = "/locDetl/statis/out/auth")
+    @ManagerAuth
+    public R statisOut(@RequestParam(defaultValue = "1") Integer curr,
+                    @RequestParam(defaultValue = "10") Integer limit,
+                    @RequestParam Map<String, Object> param) {
+        Page<LocDetl> stockStatis = locDetlService.getStockStatisOut(toPage(curr, limit, param, LocDetl.class));
         for (LocDetl locDetl : stockStatis.getRecords()) {
             Mat mat = matService.selectByMatnr(locDetl.getMatnr());
             if (mat != null) {
@@ -286,9 +335,9 @@
 
     /**********************************************************寮傚父搴撳瓨鐩稿叧controller**********************************************************/
 
-    @RequestMapping(value = "/locDetl/grouplist/auth")
+    @RequestMapping(value = "/locDetl/groupLocList/auth")
     @ManagerAuth
-    public R groupList(@RequestParam(defaultValue = "1") Integer curr,
+    public R groupLocList(@RequestParam(defaultValue = "1") Integer curr,
                        @RequestParam(defaultValue = "10") Integer limit,
                        @RequestParam(required = false) String orderByField,
                        @RequestParam(required = false) String orderByType,
@@ -303,61 +352,105 @@
         Page<LocDetl> groupLocDetl = locDetlService.getStockStatis2(toPage(1, 10000, param, LocDetl.class));
 //        List<LocDetl> groupLocDetl = locDetlService.selectGroupPage(param, curr, limit);
         for (LocDetl locDetl : groupLocDetl.getRecords()) {
+            AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam();
             Mat mat = matService.selectOne(new EntityWrapper<Mat>()
                     .eq("matnr", locDetl.getMatnr()));
-            if (Cools.isEmpty(mat)
-                    || Cools.isEmpty(mat.getStoreMax())
-                    || Cools.isEmpty(mat.getStoreMaxDate())
-                    || Cools.isEmpty(mat.getStoreMin())) {
-                continue;
-            } else if (Cools.isEmpty(locDetl.getBatch())) {
-                continue;
-            } else if (locDetl.getBatch().length() != 8) {
-                continue;
-            }
-            AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam();
-            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());
-            try {
-                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)));
-            } catch (ParseException e) {
-                e.printStackTrace();
-            }
-            if (locDetl.getAnfme() > mat.getStoreMax()) {
-                result.add(abnormalLocDetlParam);
-                continue;
-            } else if (locDetl.getAnfme() < mat.getStoreMin()) {
-                result.add(abnormalLocDetlParam);
+            if (Cools.isEmpty(mat)) {
                 continue;
             }
 
-            try {
-                SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd");
-                Date maxDate = simple.parse(locDetl.getBatch());
-                Calendar calendar = new GregorianCalendar();
-                calendar.setTime(maxDate);
-                // 鎶婃棩鏈熷線鍚庡鍔犱竴澶�,鏁存暟  寰�鍚庢帹,璐熸暟寰�鍓嶇Щ鍔�
-                calendar.add(Calendar.DATE, mat.getStoreMaxDate());
-                // 杩欎釜鏃堕棿灏辨槸鏃ユ湡寰�鍚庢帹涓�澶╃殑缁撴灉
-                maxDate = calendar.getTime();
-                Date now = new Date();
-                if (now.compareTo(maxDate) > 0) {
+
+            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);
                 }
-            } catch (Exception e) {
+            }
+        }
+
+        Page<AbnormalLocDetlParam> locDetlPage = new Page<>();
+        locDetlPage.setRecords(paging(result, curr, limit));
+        locDetlPage.setTotal(result.size());
+        locDetlPage.setCurrent(curr);
+        locDetlPage.setSize(limit);
+        return R.ok(locDetlPage);
+    }
+
+    @RequestMapping(value = "/locDetl/groupDateList/auth")
+    @ManagerAuth
+    public R groupDateList(@RequestParam(defaultValue = "1") Integer curr,
+                       @RequestParam(defaultValue = "10") Integer limit,
+                       @RequestParam(required = false) String orderByField,
+                       @RequestParam(required = false) String orderByType,
+                       @RequestParam(required = false) String condition,
+                       @RequestParam Map<String, Object> param) {
+
+//        List<LocDetl> result = new ArrayList<>();
+        List<AbnormalLocDetlParam> result = new ArrayList<>();
+//        excludeTrash(param);
+        param.put("curr", curr);
+        param.put("limit", limit);
+        Page<LocDetl> groupLocDetl = locDetlService.getStockStatisDate(toPage(1, 10000, param, LocDetl.class));
+//        List<LocDetl> groupLocDetl = locDetlService.selectGroupPage(param, curr, limit);
+        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.getStoreMaxDate())) {
+                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());
+                    Calendar calendar = new GregorianCalendar();
+                    calendar.setTime(maxDate);
+                    // 鎶婃棩鏈熷線鍚庡鍔犱竴澶�,鏁存暟  寰�鍚庢帹,璐熸暟寰�鍓嶇Щ鍔�
+                    calendar.add(Calendar.DATE, mat.getStoreMaxDate());
+                    // 杩欎釜鏃堕棿灏辨槸鏃ユ湡寰�鍚庢帹涓�澶╃殑缁撴灉
+                    maxDate = calendar.getTime();
+                    Date now = new Date();
+                    abnormalLocDetlParam.setLocNo(locDetl.getLocNo());
+                    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());
+                    if (now.compareTo(maxDate) > 0) {
+                        long difference = (now.getTime() - maxDate.getTime()) / (24 * 60 * 60 * 1000);
+                        abnormalLocDetlParam.setNowTime(Integer.parseInt(String.valueOf(difference)));
+                        result.add(abnormalLocDetlParam);
+                    }
+                } catch (Exception e) {
+                    System.out.println(e.getMessage());
+                }
+            }
         }
 
         Page<AbnormalLocDetlParam> locDetlPage = new Page<>();

--
Gitblit v1.9.1