From 8e9971722f3f3ed6afd8b17bf73d260a17819914 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 15 七月 2025 17:51:58 +0800
Subject: [PATCH] 1

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

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index 32c72fd..952ed10 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -13,16 +13,23 @@
 import com.core.common.DateUtils;
 import com.core.common.R;
 import com.zy.asrs.entity.LocDetl;
-import com.zy.asrs.entity.ManLocDetl;
 import com.zy.asrs.entity.Mat;
+import com.zy.asrs.entity.param.ProductCalibrationExcelParam;
+import com.zy.asrs.importexcle.LocMat;
+import com.zy.asrs.importexcle.LocMatListener;
+import com.zy.asrs.importexcle.ProductCalibrationImportListener;
 import com.zy.asrs.mapper.LocDetlMapper;
 import com.zy.asrs.service.LocDetlService;
-import com.zy.asrs.service.ManLocDetlService;
+import com.zy.asrs.service.LocMastService;
 import com.zy.asrs.service.MatService;
 import com.zy.common.web.BaseController;
+import org.apache.ibatis.session.SqlSessionFactory;
 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;
@@ -38,6 +45,66 @@
     private LocDetlMapper locDetlMapper;
     @Autowired
     private MatService matService;
+
+    @Resource
+    private LocMastService locMastService;
+
+    @Resource
+    private SqlSessionFactory sqlSessionFactory;
+
+    @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("瀵煎叆鎴愬姛");
+    }
+
+    @PostMapping("/productCalibration")
+    @ManagerAuth(memo = "浜у搧鏍¢獙瀵煎叆excel鏂瑰紡")
+    public R productCalibration(@RequestParam("file") MultipartFile multipartFile) {
+        try {
+            productCalibrationExcel(multipartFile);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return R.error(e.getMessage());
+        }
+        return R.ok("瀵煎叆鎴愬姛");
+    }
+
+    @PostMapping("/getLocDateByLocNo")
+    @ManagerAuth(memo = "鏍规嵁鍖呰缁勫彿鎻愬彇涓�鏁寸搴撳瓨")
+    public R getLocDateByLocNo(@RequestBody List<String> packageNoList) {
+
+        List<LocDetl> locDetls = locDetlMapper.selectList(new EntityWrapper<LocDetl>().in("brand", packageNoList));
+
+        return R.ok(locDetls);
+    }
+
+    @PostMapping("/getBoxLocDateByLocNo")
+    @ManagerAuth(memo = "鏍规嵁鍖呰缁勫彿鎻愬彇涓�鏁寸搴撳瓨")
+    public R getBoxLocDateByLocNo(@RequestBody List<String> packageNoList) {
+
+        List<LocDetl> locDetls = locDetlMapper.selectList(new EntityWrapper<LocDetl>().in("loc_no", packageNoList));
+
+        return R.ok(locDetls);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void importLocData1(MultipartFile multipartFile) throws IOException {
+        EasyExcel.read(multipartFile.getInputStream(), LocMat.class,
+                new LocMatListener(locMastService,locDetlMapper,getUserId())).sheet().doReadSync();
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public void productCalibrationExcel(MultipartFile multipartFile) throws IOException {
+        EasyExcel.read(multipartFile.getInputStream(), ProductCalibrationExcelParam.class,
+                new ProductCalibrationImportListener(sqlSessionFactory)).sheet().doReadSync();
+    }
 
     @RequestMapping(value = "/locDetl/update")
     public R update1() {
@@ -83,10 +150,36 @@
                 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 = "/error/locDetl/list/auth")// /locDetl/list/auth 鎺ュ彛闂
+    @RequestMapping(value = "/stock/boxOut/list/auth")
+    @ManagerAuth
+    public R boxOut(@RequestParam(defaultValue = "1")Integer curr,
+                          @RequestParam(defaultValue = "10")Integer limit,
+                          @RequestParam Map<String, Object> param){
+        if (!Cools.isEmpty(param.get("modi_time"))){
+            String val = String.valueOf(param.get("modi_time"));
+            if (val.contains(RANGE_TIME_LINK)) {
+                String[] dates = val.split(RANGE_TIME_LINK);
+                param.put("startTime", DateUtils.convert(dates[0]));
+                param.put("endTime", DateUtils.convert(dates[1]));
+                param.remove("modi_time");
+            }
+        }
+        param.put("matnr","绌虹");
+        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")// /locDetl/list/auth 鎺ュ彛闂
     @ManagerAuth
     public R list(@RequestParam(defaultValue = "1")Integer curr,
                   @RequestParam(defaultValue = "10")Integer limit,

--
Gitblit v1.9.1