From b7e08df5a07b3fa832a46ecc31983e16f2bccc8c Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期一, 24 七月 2023 14:56:01 +0800
Subject: [PATCH] # 出库作业,和库存明细管理 排序

---
 src/main/java/com/zy/asrs/controller/StatisController.java |  113 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 96 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/StatisController.java b/src/main/java/com/zy/asrs/controller/StatisController.java
index 80b6f6d..5fdf336 100644
--- a/src/main/java/com/zy/asrs/controller/StatisController.java
+++ b/src/main/java/com/zy/asrs/controller/StatisController.java
@@ -2,17 +2,20 @@
 
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.annotations.ManagerAuth;
 import com.core.common.R;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.MatCode;
 import com.zy.asrs.service.LocDetlService;
 import com.zy.asrs.service.MatCodeService;
 import com.zy.asrs.utils.VersionUtils;
 import com.zy.common.web.BaseController;
+import com.zy.ints.entity.StockSync;
+import com.zy.ints.service.StockSyncService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -20,6 +23,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.net.URLEncoder;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -33,6 +37,8 @@
     private MatCodeService matCodeService;
     @Autowired
     private LocDetlService locDetlService;
+    @Autowired
+    StockSyncService stockSyncService;
 
     // 搴撳瓨缁熻 ------------------------------------------------------------------------------------------
 
@@ -42,22 +48,35 @@
                          @RequestParam(defaultValue = "14")Integer limit,
 //                         @RequestParam(required = false)String condition,
                          @RequestParam Map<String, Object> param) {
-        System.out.println(param);
         Page<LocDetl> stockStatis = locDetlService.getStockStatis(toPage(curr, limit, param, LocDetl.class));
-        for (LocDetl locDetl : stockStatis.getRecords()) {
-            MatCode mat = matCodeService.selectOne(new EntityWrapper<MatCode>().eq("mat_no",locDetl.getMatNo()).eq("str8",locDetl.getColor()));
-//            MatCode mat = matCodeService.selectById(locDetl.getMatnr());
-            if (mat != null) {
-                VersionUtils.setLocDetl(locDetl, mat);
-            }
-        }
+//        for (LocDetl locDetl : stockStatis.getRecords()) {
+//            MatCode mat = matCodeService.selectOne(new EntityWrapper<MatCode>().eq("mat_no",locDetl.getMatNo()));
+////            MatCode mat = matCodeService.selectById(locDetl.getMatnr());
+//            if (mat != null) {
+//                VersionUtils.setLocDetl(locDetl, mat);
+//            }
+//        }
         return R.ok().add(stockStatis);
     }
 
     //搴撲綅鎶ヨ〃瀵煎嚭
     @RequestMapping(value = "/stock/statis/export")
-    public void stockStatisExport(HttpServletResponse response) throws IOException {
-        List<LocDetl> excel = locDetlService.getStockStatisExcel();
+    public void stockStatisExport(@RequestParam(required = false) String matNo,
+                                  @RequestParam(required = false) String matName,
+                                  @RequestParam(required = false) String supplier,
+                                  @RequestParam(required = false) String str3,
+                                  @RequestParam(required = false) String str4,
+                                  @RequestParam(required = false) String memo,
+                                  HttpServletResponse response) throws IOException {
+        LocDetl param = new LocDetl();
+        param.setMatNo(matNo!=null ? matNo : "");
+        param.setMatName(matName!=null ? matName : "");
+        param.setSupplier(supplier!=null ? supplier : "");
+        param.setStr3(str3!=null ? str3 : "");
+        param.setStr4(str4!=null ? str4 : "");
+        param.setMemo(memo!=null ? memo : "");
+
+        List<LocDetl> excel = locDetlService.getStockStatisExcel(param);
         for (LocDetl locDetl : excel) {
             MatCode mat = matCodeService.selectById(locDetl.getMatNo());
             if (mat != null) {
@@ -74,11 +93,71 @@
                 .doWrite(excel);
     }
 
-//    @RequestMapping(value = "/stock/statis/queryLocByMatNoAndMatName")
-//    public R queryLocByMatNoAndMatName(@RequestParam LocDetl locDetl){
-//            List<LocDetl> locDetls=locDetlService.getlocDetlByMatNoAndMatName(locDetl);
-////        locDetl.
-//        return R.ok().add(locDetls);
-//    }
+    /**
+     * 鑾峰彇搴撳瓨鍚屾琛ㄦ暟鎹�
+     * @return
+     */
+    @RequestMapping(value = "/stock/stockSyncCount")
+    @ManagerAuth(memo = "鑾峰彇搴撳瓨鍚屾涓婁紶娓呭崟鏁伴噺")
+    public R getStockSyncCount() {
+        return R.ok(stockSyncService.getStockSyncCount());
+    }
 
+    /**
+     * 鎻掑叆鏁版嵁鍒板簱瀛樺悓姝ヨ〃
+     * @return
+     */
+    @RequestMapping(value = "/stock/insertStockSync")
+    @ManagerAuth(memo = "鍚屾涓婁紶娓呭崟鏁版嵁鎻掑叆")
+    @Transactional
+    public R insertStockSync() {
+        Date now = new Date();
+        Long userId = getUserId();
+        List<LocDetl> locDetls = locDetlService.getStockSum();
+        for(LocDetl locdetl : locDetls){
+            StockSync stockSync = new StockSync();
+            stockSync.setMatNo(locdetl.getMatNo());
+            stockSync.setMatName(locdetl.getMatName());
+            stockSync.setQty(locdetl.getQty());
+            stockSync.setModiUser(userId);
+            stockSync.setModiTime(now);
+            stockSync.setAppeUser(userId);
+            stockSync.setAppeTime(now);
+            if(!stockSyncService.insert(stockSync)){
+                throw new CoolException("鎻掑叆鍚屾搴撳瓨鏁版嵁澶辫触");
+            }
+        }
+        return R.ok(locDetls.size());
+    }
+
+    /**
+     * 鏇存柊鏁版嵁鍒板簱瀛樺悓姝ヨ〃锛屽厛娓呯┖鍐嶆彃鍏�
+     * @return
+     */
+    @RequestMapping(value = "/stock/updateStockSync")
+    @ManagerAuth(memo = "娓呯┖鍚屾涓婁紶鏁版嵁骞舵彃鍏�")
+    @Transactional
+    public R updateStockSync() {
+        if(!stockSyncService.clearStockSync()){
+            throw new CoolException("鍚屾涓婁紶鏁版嵁娓呯┖澶辫触锛岃鑱旂郴绠$悊鍛�");
+        }
+
+        Date now = new Date();
+        Long userId = getUserId();
+        List<LocDetl> locDetls = locDetlService.getStockSum();
+        for(LocDetl locdetl : locDetls){
+            StockSync stockSync = new StockSync();
+            stockSync.setMatNo(locdetl.getMatNo());
+            stockSync.setMatName(locdetl.getMatName());
+            stockSync.setQty(locdetl.getQty());
+            stockSync.setModiUser(userId);
+            stockSync.setModiTime(now);
+            stockSync.setAppeUser(userId);
+            stockSync.setAppeTime(now);
+            if(!stockSyncService.insert(stockSync)){
+                throw new CoolException("鏇存柊鍚屾搴撳瓨鏁版嵁澶辫触");
+            }
+        }
+        return R.ok(locDetls.size());
+    }
 }

--
Gitblit v1.9.1