From 8ad01551a218f3dfa615ac3b5c4358ce5711c1d2 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 15 十二月 2025 10:15:14 +0800
Subject: [PATCH] #pda

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   78 +++++++++++++++++++++++++++++++++++---
 1 files changed, 71 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 368cdfc..5ff9f70 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -34,6 +34,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * Created by vincent on 2022/4/9
@@ -74,7 +75,8 @@
     private CommonService commonService;
     @Autowired
     private LocMastServiceImpl locMastService;
-
+    @Autowired
+    private WrkDetlService wrkDetlService;
     @Override
     @Transactional
     public void pakinOrderCreate(OpenOrderPakinParam param) {
@@ -773,7 +775,7 @@
         if (Cools.isEmpty(basArmMast)){
             throw new CoolException("鏈煡璇㈠埌鐩稿叧鏈烘鑷傛媶鐮佸灈浠诲姟锛侊紒锛�"+ JSON.toJSONString(param));
         }
-        basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(),basArmMast.getStaNo(),1,3);
+//        basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(),basArmMast.getStaNo(),1,3);
         basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(),basArmMast.getStaNo(),2,3);
     }
 
@@ -797,6 +799,22 @@
         if (!Cools.isEmpty(basArmMast)){
             basArmMastService.updateArmMastStatus(param.getArm_no(),basArmMast.getSortingLine(),basArmMast.getStaNo(), 5,6);
         }
+    }
+
+    @Override
+    @Transactional
+    public boolean taskArmOrderResult(OrderArmEndParam param){
+        if(param.getDone_num() == 0){
+            if(basArmMastService.delete(new EntityWrapper<BasArmMast>().eq("arm_no",param.getArm_no())
+                    .eq("status",1))){
+                return true;
+            }
+        }
+        if(param.getDone_num() == 1){
+            return true;
+        }
+        log.error("鏈壘鍒板搴斾换鍔�"+ param);
+        return false;
     }
 
     @Override
@@ -839,11 +857,15 @@
         if (ts == null) {
             throw new CoolException("timestamp 鐢熸垚澶辫触");
         }
+
+        String barcode = String.valueOf(ts);
+        if (barcode.length() > 16) {
+            barcode = barcode.substring(0, 16);
+        }
+        basAgvMast.setBarcode(barcode);
+
         String locNo = null;
         String staNo = null;
-
-        basAgvMast.setBarcode(Long.toString(ts));
-
         basAgvMast.setTaskNo(commonService.getWorkNo(0));
         basAgvMast.setSourceStaNo(param.getSourceStaNo());
         basAgvMast.setStaNo(param.getStaNo());
@@ -872,7 +894,7 @@
         basAgvMastService.insert(basAgvMast);
 
         bindCtnrAndBinParam bindParam = new bindCtnrAndBinParam();
-        bindParam.setBarcode(Long.toString(ts));
+        bindParam.setBarcode(basAgvMast.getBarcode());
         bindParam.setIndBind("1");
         bindParam.setFloorNo(basAgvMast.getFloorNo());
         bindParam.setLocNo(locNo);
@@ -882,6 +904,44 @@
         }else{
             throw new CoolException("鏈兘缁戝畾");
         }
+    }
+    @Override
+    @Transactional
+    public List<PickWrkDetlListParam> getPickList(PdaPickListParam param) {
+        List<WrkDetl> wrkDetls = wrkDetlService.findByBarcode(param.getBarcode());
+        List<PickWrkDetlListParam> result = new ArrayList<>();
+        wrkDetls.forEach(wrkDetl -> {
+            Double total;
+            EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
+            LocDetl locDetl = locDetlService.selectOne(
+                    wrapper.eq("zpallet", wrkDetl.getZpallet())
+                            .eq("matnr", wrkDetl.getMatnr())
+            );
+            // 鍙嫞鎬婚噺锛氫紭鍏堝彇搴撳瓨琛紝鍚﹀垯鍙栦綔涓氭暟閲�
+            if (Cools.isEmpty(locDetl)) {
+                total = wrkDetl.getAnfme();
+            } else {
+                total = locDetl.getAnfme();
+            }
+            // ===== 缁勮杩斿洖瀵硅薄 =====
+            PickWrkDetlListParam dto = new PickWrkDetlListParam();
+            dto.setMatnr(wrkDetl.getMatnr());
+            dto.setMaknx(wrkDetl.getMaktx());
+            dto.setOrderNo(wrkDetl.getOrderNo());
+            dto.setBoxType3(wrkDetl.getBoxType3());
+            dto.setStandby1(wrkDetl.getStandby1());
+            dto.setStandby2(wrkDetl.getStandby2());
+            dto.setStandby3(wrkDetl.getStandby3());
+            dto.setManu(wrkDetl.getManu());
+            dto.setMemo(wrkDetl.getMemo());
+            // 褰撳墠鎷h揣鏁伴噺
+            dto.setCount(wrkDetl.getAnfme());
+            // 鍙嫞鎬绘暟閲�
+            dto.setTotal(total);
+            result.add(dto);
+        });
+
+        return result;
     }
 
     @Override
@@ -1046,7 +1106,11 @@
             }
             return false;
         }else {
-            if (basAgvMast.getIoType()==0 && (basAgvMast.getSourceStaNo()==2033 || basAgvMast.getStaNo()==4003)){
+            if (basAgvMast != null
+                    && basAgvMast.getIoType() != null
+                    && (basAgvMast.getIoType() == 0)
+                    && (Objects.equals(basAgvMast.getSourceStaNo(), 2033) || Objects.equals(basAgvMast.getStaNo(), 2034)
+                    || Objects.equals(basAgvMast.getStaNo(), 4003)|| Objects.equals(basAgvMast.getSourceStaNo(), 4006))){
                 AgvBindCtnrAndBinTwoParam agvBindCtnrAndBinTwoParam = new AgvBindCtnrAndBinTwoParam();
                 agvBindCtnrAndBinTwoParam.setReqCode(String.valueOf(snowflakeIdWorker.nextId()));
                 agvBindCtnrAndBinTwoParam.setPodcode(basAgvMast.getBarcode());

--
Gitblit v1.9.1