From 9c08f3ae419992dda4f4f3ff4650fafd6585ebae Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期三, 24 九月 2025 11:00:00 +0800
Subject: [PATCH] 初始化

---
 src/main/java/com/zy/common/web/WcsController.java |   64 +++++++++++++++++++++++++++----
 1 files changed, 55 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index fd6bd8a..6d8de64 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -53,6 +53,12 @@
     @Autowired
     private StaDescService staDescService;
 
+    @Autowired
+    private OrderService orderService;
+
+    @Autowired
+    private OrderDetlService orderDetlService;
+
 
     @PostMapping("/pakin/loc/v1")
     @ResponseBody
@@ -78,15 +84,24 @@
                 return R.parse(CodeRes.NO_COMB_700);
             }
             int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
+            if (countLoc > 0) {
+                return R.error("搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�");
+            }
             int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()));
-            if (countLoc > 0 || countWrk > 0) {
-                return R.error(CodeRes.EXIST_500);
+            if (countWrk > 0) {
+                return R.error("宸ヤ綔妗e凡瀛樺湪");
             }
         }
         if (Cools.isEmpty(param.getLocType1())) {
             return R.error("楂樹綆妫�娴嬩俊鍙蜂笉鑳戒负绌�");
         }
 
+        try {
+            // 寤惰繜 3 绉掑啀妫�娴�
+            Thread.sleep(3000);
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true);
         sourceStaNo.setLocType1(param.getLocType1());
@@ -96,7 +111,7 @@
         switch (param.getIoType()) {
             case 1://婊℃墭鐩樺叆搴�
                 assert waitPakins != null;
-                dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins);
+                dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(),param.getWeight(), locTypeDto, waitPakins);
                 break;
             case 10://绌烘墭鐩樺叆搴�
                 dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode());
@@ -112,6 +127,7 @@
     @ResponseBody
     @Transactional
     public synchronized R getLocNo2(@RequestBody SearchLocParam param) {
+        log.info("鏀跺埌WCS鍏ュ簱鎺ュ彛璇锋眰2====>>鍏ュ弬:{}", param);
         if (Cools.isEmpty(param.getIoType())) {
             return R.error("鍏ュ嚭搴撶被鍨嬩笉鑳戒负绌�");
         }
@@ -299,7 +315,7 @@
             return R.error("搴撳瓨娌℃湁绌烘澘");
         }
         EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
-        emptyPlateOutParam.setOutSite(12);
+        emptyPlateOutParam.setOutSite(101);
         emptyPlateOutParam.setLocNos(new ArrayList<String>() {{
             add(locMast.getLocNo() + "");
         }});
@@ -311,13 +327,14 @@
      * 鍏ㄦ澘鍏ュ簱
      */
     @Transactional
-    public StartupDto startupFullPutStore(Integer devpNo, String barcode, LocTypeDto locTypeDto, List<WaitPakin> waitPakins) {
+    public StartupDto startupFullPutStore(Integer devpNo, String barcode,Double weight, LocTypeDto locTypeDto, List<WaitPakin> waitPakins) {
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
         List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
         List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
-        StartupDto dto = commonService.getLocNo(1, 1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto);
+//        StartupDto dto = commonService.getLocNo(1, 1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto);
+        StartupDto dto = commonService.getLocNo(1, 1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto,barcode);
         int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
@@ -329,14 +346,15 @@
         wrkMast.setIoPri(13D); // 浼樺厛绾�
         wrkMast.setCrnNo(dto.getCrnNo());
         wrkMast.setSourceStaNo(dto.getSourceStaNo());
-        wrkMast.setStaNo(dto.getStaNo());
-        wrkMast.setLocNo(dto.getLocNo());
+        wrkMast.setStaNo(dto.getStaNo());// 鐩爣绔�
+        wrkMast.setLocNo(dto.getLocNo());// 鐩爣搴撲綅
         wrkMast.setBarcode(barcode); // 鎵樼洏鐮�
         wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
         wrkMast.setPicking("N"); // 鎷f枡
         wrkMast.setExitMk("N"); // 閫�鍑�
         wrkMast.setEmptyMk("N"); // 绌烘澘
         wrkMast.setLinkMis("Y");
+        wrkMast.setScWeight(weight);
         wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
         // 鎿嶄綔浜哄憳鏁版嵁
         wrkMast.setAppeTime(now);
@@ -349,10 +367,31 @@
         waitPakins.forEach(waitPakin -> {
             WrkDetl wrkDetl = new WrkDetl();
             wrkDetl.sync(waitPakin);
+            wrkDetl.setProType(waitPakin.getProType());
+            wrkDetl.setTemp2(waitPakin.getTemp2());
+            wrkDetl.setWeight(wrkMast.getScWeight());
             wrkDetl.setWrkNo(wrkMast.getWrkNo());
             wrkDetl.setIoTime(wrkMast.getIoTime());
             wrkDetl.setAppeTime(now);
             wrkDetl.setModiTime(now);
+            if (!Cools.isEmpty(waitPakin.getOrderNo())) {
+                Order order = orderService.selectByNo(waitPakin.getOrderNo());
+                if (order != null) {
+                    OrderDetl orderDetl = orderDetlService.selectItem(waitPakin);
+                    wrkDetl.setBatch(orderDetl.getBatch());
+                    wrkDetl.setProType(orderDetl.getProType());
+                    wrkDetl.setSPgNO(orderDetl.getSPgNO());
+                    wrkDetl.setOutOrderNo(orderDetl.getOutOrderNo());
+//                    wrkDetl.setLuHao(orderDetl.getLuHao());
+                    wrkDetl.setSupp(orderDetl.getSupp());
+                    wrkDetl.setSuppCode(orderDetl.getSuppCode());
+                    wrkDetl.setPacking(orderDetl.getPacking());
+                    wrkDetl.setColor(orderDetl.getColor());
+                    wrkDetl.setWareId(orderDetl.getWareId());
+                    wrkDetl.setWareName(orderDetl.getWareName());
+                    wrkDetl.setTemp1(orderDetl.getTemp1());
+                }
+            }
             if (!wrkDetlService.insert(wrkDetl)) {
                 throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
             }
@@ -361,6 +400,7 @@
         Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
                 .eq("zpallet", barcode);
         WaitPakin setParam = new WaitPakin();
+        setParam.setWeight(weight);//灏嗘暣鎵橀噸閲忚鍏ラ�氱煡妗�
         setParam.setLocNo(dto.getLocNo());
         setParam.setIoStatus("Y");
         setParam.setModiTime(now);
@@ -378,6 +418,9 @@
         if (locMast.getLocSts().equals("O")) {
             locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
             locMast.setModiTime(now);
+            if (locMast.getBarcode()==null){
+                locMast.setBarcode(barcode);//鎵樼洏涓庡簱浣嶇粦瀹�
+            }
             if (!locMastService.updateById(locMast)) {
                 throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
             }
@@ -392,7 +435,7 @@
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
-        StartupDto dto = commonService.getLocNo(1, 10, devpNo, null, null, null, locTypeDto);
+        StartupDto dto = commonService.getLocNo(1, 10, devpNo, null, null, null, locTypeDto,barcode);
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -430,6 +473,9 @@
         if (locMast.getLocSts().equals("O")) {
             locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
             locMast.setModiTime(new Date());
+            if (locMast.getBarcode()==null){
+                locMast.setBarcode(barcode);//鎵樼洏涓庡簱浣嶇粦瀹�
+            }
             if (!locMastService.updateById(locMast)) {
                 throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
             }

--
Gitblit v1.9.1