From 587fee18e22ed0ceee502ca12025a40e9d63989f Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期二, 03 九月 2024 10:47:43 +0800
Subject: [PATCH] 一楼反修入库修改

---
 src/main/java/com/zy/asrs/controller/LocDetlController.java |  101 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 85 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index 9b722b2..8b23556 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -13,15 +13,20 @@
 import com.core.common.DateUtils;
 import com.core.common.R;
 import com.zy.asrs.entity.LocDetl;
-import com.zy.asrs.entity.MatCode;
+import com.zy.asrs.entity.Mat;
+import com.zy.asrs.importexcle.LocMat;
+import com.zy.asrs.importexcle.LocMatListener;
 import com.zy.asrs.mapper.LocDetlMapper;
 import com.zy.asrs.service.LocDetlService;
-import com.zy.asrs.service.MatCodeService;
-import com.zy.asrs.utils.VersionUtils;
+import com.zy.asrs.service.LocMastService;
+import com.zy.asrs.service.MatService;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.net.URLEncoder;
@@ -32,8 +37,31 @@
 
     @Autowired
     private LocDetlService locDetlService;
+
     @Autowired
     private LocDetlMapper locDetlMapper;
+    @Autowired
+    private MatService matService;
+
+    @Resource
+    private LocMastService locMastService;
+
+    @PostMapping("/importLocData")
+    @ManagerAuth(memo = "瀵煎叆绔嬪簱宸叉湁搴撳瓨")
+    public R importLocData(@RequestParam("file") MultipartFile multipartFile) {
+        try {
+            importLocData1(multipartFile);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return R.error(e.getMessage());
+        }
+        return R.ok("瀵煎叆鎴愬姛");
+    }
+    @Transactional(rollbackFor = Exception.class)
+    public void importLocData1(MultipartFile multipartFile) throws IOException {
+        EasyExcel.read(multipartFile.getInputStream(), LocMat.class,
+                new LocMatListener(locMastService,locDetlMapper,getUserId())).sheet().doReadSync();
+    }
 
     @RequestMapping(value = "/locDetl/update")
     public R update1() {
@@ -79,10 +107,14 @@
                 param.remove("modi_time");
             }
         }
-        return R.ok(locDetlService.getStockOut(toPage(curr, limit, param, LocDetl.class)));
+        Page<LocDetl> stockOut = locDetlService.getStockOut(toPage(curr, limit, param, LocDetl.class));
+        if (stockOut.getRecords().size()==0){
+            stockOut = locDetlService.getStockOut(toPage(1, limit, param, LocDetl.class));
+        }
+        return R.ok(stockOut);
     }
 
-    @RequestMapping(value = "/locDetl/list/auth")
+    @RequestMapping(value = "/locDetl/list/auth")// /locDetl/list/auth 鎺ュ彛闂
     @ManagerAuth
     public R list(@RequestParam(defaultValue = "1")Integer curr,
                   @RequestParam(defaultValue = "10")Integer limit,
@@ -90,13 +122,29 @@
                   @RequestParam(required = false)String orderByType,
                   @RequestParam(required = false)String condition,
                   @RequestParam Map<String, Object> param){
-        excludeTrash(param);
+//        String row = "";
         EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+//        if (param.get("row") != null) {
+//            String chooseRow = (String) param.get("row");
+//            if (chooseRow.length() == 1) {
+//                row = "0" + chooseRow;
+//                param.remove("row");
+//            }else {
+//                row = chooseRow;
+//                param.remove("row");
+//            }
+//        }
+        excludeTrash(param);
         convert(param, wrapper);
         allLike(LocDetl.class, param.keySet(), wrapper, condition);
         if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+//        if (!row.equals("")){
+//            wrapper.and()
+//                    .where("loc_no like '" +row +"%'");
+//        }
         return R.ok(locDetlService.selectPage(new Page<>(curr, limit), wrapper));
     }
+
 
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
         for (Map.Entry<String, Object> entry : map.entrySet()){
@@ -157,7 +205,22 @@
         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);
         return R.ok(exportSupport(list, fields));
     }
@@ -188,10 +251,6 @@
         return R.ok();
     }
 
-
-    @Autowired
-    private MatCodeService matCodeService;
-
     @RequestMapping(value = "/locDetl/statis/auth")
     @ManagerAuth
     public R statis(@RequestParam(defaultValue = "1")Integer curr,
@@ -199,9 +258,9 @@
                     @RequestParam Map<String, Object> param) {
         Page<LocDetl> stockStatis = locDetlService.getStockStatis(toPage(curr, limit, param, LocDetl.class));
         for (LocDetl locDetl : stockStatis.getRecords()) {
-            MatCode matCode = matCodeService.selectById(locDetl.getMatnr());
-            if (matCode != null) {
-                VersionUtils.setLocDetl(locDetl, matCode);
+            Mat mat = matService.selectByMatnr(locDetl.getMatnr());
+            if (mat != null) {
+                locDetl.sync(mat);
             }
         }
         return R.ok().add(stockStatis);
@@ -215,9 +274,9 @@
     public void statisExport(HttpServletResponse response) throws IOException {
         List<LocDetl> excel = LocDetlMapper.getStockStatisExcel();
         for (LocDetl locDetl : excel) {
-            MatCode matCode = matCodeService.selectById(locDetl.getMatnr());
-            if (matCode != null) {
-                VersionUtils.setLocDetl(locDetl, matCode);
+            Mat mat = matService.selectByMatnr(locDetl.getMatnr());
+            if (mat != null) {
+                locDetl.sync(mat);
             }
         }
         response.setContentType("application/vnd.ms-excel");
@@ -230,4 +289,14 @@
                 .doWrite(excel);
     }
 
+    /**
+     * 鑾峰彇搴撳瓨鎬绘暟
+     * @return
+     */
+    @RequestMapping("/locDetl/count")
+    public R getAllCount(){
+        Integer sum = locDetlService.sum();
+        return R.ok(sum);
+    }
+
 }

--
Gitblit v1.9.1