From 3ca19bf8f8356440d4bede84cde8450327e189cb Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期五, 06 五月 2022 17:03:25 +0800
Subject: [PATCH] 新增库存同步excel导出功能

---
 src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java |   40 +++++++++++++++++++++++++++++++---------
 1 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java b/src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java
index c2baaf6..c0c88c3 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java
@@ -10,6 +10,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -17,6 +18,8 @@
 import zy.cloud.wms.common.model.BillDto;
 import zy.cloud.wms.common.service.erp.ErpService;
 import zy.cloud.wms.common.web.BaseController;
+import zy.cloud.wms.manager.entity.LocSum;
+import zy.cloud.wms.manager.entity.Pakin;
 import zy.cloud.wms.manager.entity.WrkLocSync;
 import zy.cloud.wms.manager.service.LocSyncService;
 import zy.cloud.wms.manager.service.WrkLocSyncService;
@@ -24,6 +27,9 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
+
+import static jdk.nashorn.api.scripting.ScriptUtils.convert;
 
 @RestController
 @Slf4j
@@ -52,18 +58,26 @@
 
     @RequestMapping(value = "/locSync/insertWrklocSync")
     @ManagerAuth(memo = "鍚屾涓婁紶娓呭崟鏁版嵁鎻掑叆")
+    @Transactional
     public R insertWrklocSync(@RequestBody JSONObject param) {
+        Date now = new Date();
+        Long userId = getUserId();
         List<WrkLocSync> list = JSONObject.parseArray(param.getJSONArray("list").toJSONString(), WrkLocSync.class);
-        // 鎻掑叆鍒涘缓浜哄憳鍜屽垱寤烘椂闂�
-        if (list.size() > 0) {
-            for (WrkLocSync elist : list) {
-                elist.setCreateBy(getUserId());
-                elist.setCreateTime(new Date());
+        for (WrkLocSync wrkLocSync : list) {
+            WrkLocSync sync = new WrkLocSync();
+            sync.setMatnr(wrkLocSync.getMatnr());
+            sync.setQty(wrkLocSync.getQty());
+            sync.setState("N");
+            sync.setCreateTime(now);
+            sync.setCreateBy(userId);
+            sync.setUpdateBy(userId);
+            sync.setUpdateTime(now);
+            if (!wrkLocSyncService.insert(sync)) {
+                throw new CoolException("鍚屾澶辫触");
             }
+
         }
-        Integer result = 0;
-        result = wrkLocSyncService.insertWrkLocSync(list);
-        return R.ok(result);
+        return R.ok(list.size());
     }
 
 
@@ -109,7 +123,7 @@
                 res.setMatnr(executeData.getMatnr());
                 res.setQty(executeData.getQty());
                 dtos.add(res);
-                if (erpService.uploadBill(dtos, docId, docNum)) {
+                if (erpService.uploadBill(dtos, docId, docNum).getSuccess()) {
                     // 鎴愬姛鍚庡垹闄や换鍔�
                     if (!wrkLocSyncService.delete(new EntityWrapper<WrkLocSync>().eq("matnr", executeData.getMatnr()))) {
                         log.info("搴撳瓨鍚屾鍒犻櫎浠诲姟澶辫触,浠诲姟matnr=" + executeData.getMatnr() + "鏃堕棿=" + new Date());
@@ -127,4 +141,12 @@
         }
 
     }
+
+    @RequestMapping(value = "/locsync/export/auth")
+    @ManagerAuth
+    public R export(@RequestBody JSONObject param){
+        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+        List<LocSum> locSums = locSyncService.queryLocSum();
+        return R.ok(exportSupport(locSums, fields));
+    }
 }

--
Gitblit v1.9.1