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