From e4ea838c20e94dff4fdbb4f82b542a8b5790fa9d Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 18 六月 2021 09:22:06 +0800
Subject: [PATCH] # 库存跳转上报erp

---
 src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java |   94 +++++++++++++++++++++++++---------------------
 1 files changed, 51 insertions(+), 43 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 aebec2f..3481873 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/LocSyncController.java
@@ -2,7 +2,6 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.baomidou.mybatisplus.plugins.Page;
 import com.core.annotations.ManagerAuth;
 import com.core.common.Cools;
 import com.core.common.R;
@@ -11,24 +10,21 @@
 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.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+import zy.cloud.wms.common.entity.Parameter;
 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.Pakout;
 import zy.cloud.wms.manager.entity.WrkLocSync;
 import zy.cloud.wms.manager.service.LocSyncService;
-import zy.cloud.wms.manager.service.PakoutService;
 import zy.cloud.wms.manager.service.WrkLocSyncService;
 
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
-import java.util.Map;
 
 @RestController
 @Slf4j
@@ -57,18 +53,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());
     }
 
 
@@ -94,38 +98,42 @@
     }
 
     /* 鍚屾涓婁紶erp[uploadBill] 鍗曟嵁涓婁紶 */
-    @Scheduled(cron = "0/5 * * * * ? ")
+    @Scheduled(cron = "0/2 * * * * ? ")
     public void execute() {
-        List<String> orderList = new ArrayList<>();
-        orderList.add("state");
-        orderList.add("create_time");
-        List<WrkLocSync> syncList = wrkLocSyncService.selectList(new EntityWrapper<WrkLocSync>().orderDesc(orderList));
-        // 鍚屾涓婁紶娓呭崟澶勭悊锛屽彇绗竴鏉�
-        if (!Cools.isEmpty(syncList)) {
-            WrkLocSync executeData = syncList.get(0);
-            // 璁㈠崟鍙�
-            String docNum = String.valueOf(snowflakeIdWorker.nextId());
-            // 璁㈠崟绫诲瀷 34閲囪喘鍗�
-            Integer docId = 34;
-            List<BillDto> dtos = new ArrayList<BillDto>();
-            BillDto res = new BillDto();
-            res.setMatnr(executeData.getMatnr());
-            res.setQty(executeData.getQty());
-            dtos.add(res);
-            if (erpService.uploadBill(dtos, docId, docNum)) {
-                // 鎴愬姛鍚庡垹闄や换鍔�
-                if (!wrkLocSyncService.delete(new EntityWrapper<WrkLocSync>().eq("matnr", executeData.getMatnr()))) {
-                    log.info("搴撳瓨鍚屾鍒犻櫎浠诲姟澶辫触,浠诲姟matnr=" + executeData.getMatnr() + "鏃堕棿=" + new Date());
-                }
-            } else {
-                // 澶辫触鍚庡皢浠诲姟鐘舵�乻tate鏇存柊涓篘
-                executeData.setState("X");
-                executeData.setUpdateBy(getUserId());
-                executeData.setCreateTime(new Date());
-                if(!wrkLocSyncService.update(executeData, new EntityWrapper<WrkLocSync>().eq("matnr", executeData.getMatnr()))) {
-                    log.info("搴撳瓨鍚屾鏇存柊浠诲姟澶辫触,浠诲姟matnr=" + executeData.getMatnr() + "鏃堕棿=" + new Date());
+        if (!Cools.isEmpty(Parameter.get().getSyncSwitch()) && Parameter.get().getSyncSwitch().equals("Y")) {
+            List<String> orderList = new ArrayList<>();
+            orderList.add("state");
+            orderList.add("create_time");
+            List<WrkLocSync> syncList = wrkLocSyncService.selectList(new EntityWrapper<WrkLocSync>()
+                    .eq("state", "N").orderDesc(orderList));
+            // 鍚屾涓婁紶娓呭崟澶勭悊锛屽彇绗竴鏉�
+            if (!Cools.isEmpty(syncList)) {
+                WrkLocSync executeData = syncList.get(0);
+                // 璁㈠崟鍙�
+                String docNum = "PU-" + String.valueOf(snowflakeIdWorker.nextId()).substring(0, 15);
+                // 璁㈠崟绫诲瀷 34閲囪喘鍗�
+                Integer docId = 34;
+                List<BillDto> dtos = new ArrayList<BillDto>();
+                BillDto res = new BillDto();
+                res.setMatnr(executeData.getMatnr());
+                res.setQty(executeData.getQty());
+                dtos.add(res);
+                if (erpService.uploadBill(dtos, docId, docNum)) {
+                    // 鎴愬姛鍚庡垹闄や换鍔�
+                    if (!wrkLocSyncService.delete(new EntityWrapper<WrkLocSync>().eq("matnr", executeData.getMatnr()))) {
+                        log.info("搴撳瓨鍚屾鍒犻櫎浠诲姟澶辫触,浠诲姟matnr=" + executeData.getMatnr() + "鏃堕棿=" + new Date());
+                    }
+                } else {
+                    // 澶辫触鍚庡皢浠诲姟鐘舵�乻tate鏇存柊涓篘
+                    executeData.setState("X");
+                    executeData.setUpdateBy(9527L);
+                    executeData.setCreateTime(new Date());
+                    if(!wrkLocSyncService.update(executeData, new EntityWrapper<WrkLocSync>().eq("matnr", executeData.getMatnr()))) {
+                        log.info("搴撳瓨鍚屾鏇存柊浠诲姟澶辫触,浠诲姟matnr=" + executeData.getMatnr() + "鏃堕棿=" + new Date());
+                    }
                 }
             }
         }
+
     }
 }

--
Gitblit v1.9.1