From 19cbe75e901c3fcf005b8ceafe50f3ad51f67e82 Mon Sep 17 00:00:00 2001
From: Administrator <1051256694@qq.com>
Date: 星期三, 29 四月 2026 10:43:39 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java |  101 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 85 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
index 574eb94..63ce6fd 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -1,13 +1,16 @@
 package com.zy.asrs.task.handler;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.alibaba.fastjson.JSONObject;
 import com.core.common.Cools;
 import com.zy.asrs.entity.WaitPakin;
+import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.WrkDetl;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.utils.OrderInAndOutUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -16,6 +19,7 @@
 
 import java.util.Iterator;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * Created by vincent on 2020/7/6
@@ -38,36 +42,72 @@
     private WaitPakinLogService waitPakinLogService;
     @Autowired
     private OrderService orderService;
+    @Autowired
+    private ErpTokenService erpTokenService;
+    @Autowired
+    private LocDetlService locDetlService;
+    @Autowired
+    private ApiLogService apiLogService;
 
     @Transactional
     public ReturnT<String> start(WrkMast wrkMast) {
         try {
             List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-//            // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
-//            if (!Cools.isEmpty(wrkDetls)) {
-//                Iterator<WrkDetl> iterator = wrkDetls.iterator();
-//                while (iterator.hasNext()) {
-//                    WrkDetl wrkDetl = iterator.next();
-//                    if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
+            // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
+            if (!Cools.isEmpty(wrkDetls)) {
+                Iterator<WrkDetl> iterator = wrkDetls.iterator();
+                while (iterator.hasNext()) {
+                    WrkDetl wrkDetl = iterator.next();
+                    if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
 //                        orderService.checkComplete(wrkDetl.getOrderNo());
-//                        iterator.remove();
-//                    }
-//                }
-//            }
-//
+                        if (wrkMast.getIoType() ==  1 || wrkMast.getIoType() == 8 ||  wrkMast.getIoType() == 54 ||  wrkMast.getIoType() == 104){
+                            OrderInAndOutUtil.checkComplete(Boolean.TRUE,wrkDetl.getOrderNo());
+                        } else {
+                            OrderInAndOutUtil.checkComplete(Boolean.FALSE,wrkDetl.getOrderNo());
+                        }
+                        iterator.remove();
+                    }
+                }
+            }
+
             // 鍏ュ簱 --------------------------------------------------------------------------------
             if (wrkMast.getWrkSts() == 5) {
                 // 鍏ㄦ澘鍏ュ簱
                 if (wrkMast.getIoType() == 1) {
                     // 鍏ュ簱閫氱煡鍗�
                     if (!Cools.isEmpty(wrkMast.getBarcode())) {
+                        if(wrkMast.getSourceStaNo().equals("1015")){
+                            String request = "{\"barcode\":\"" + wrkMast.getBarcode() + "\"}";
+                            log.info("ERP鍏ュ簱涓婃姤璇锋眰: workNo={}, request={}", wrkMast.getWrkNo(), request);
+                            JSONObject res = erpTokenService.stockIn(wrkMast.getBarcode());
+                            log.info("ERP鍏ュ簱涓婃姤鍝嶅簲: workNo={}, response={}", wrkMast.getWrkNo(), res == null ? null : res.toJSONString());
+                            apiLogService.save("erp.stockIn", "erpTokenService.stockIn", null, null, request,
+                                    res == null ? null : res.toJSONString(),
+                                    res != null && Boolean.TRUE.equals(res.getBoolean("success")));
+                            if (res != null && Boolean.TRUE.equals(res.getBoolean("success"))) {
+                                JSONObject data = res.getJSONObject("data");
+                                String tlocation = data == null ? null : data.getString("tlocation");
+                                if (!Cools.isEmpty(tlocation) && !Cools.isEmpty(wrkMast.getLocNo())) {
+                                    List<LocDetl> detls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+                                            .eq("loc_no", wrkMast.getLocNo()));
+                                    if (!Cools.isEmpty(detls)) {
+                                        for (LocDetl detl : detls) {
+                                            detl.setStandby1(tlocation);
+                                            locDetlService.updateById(detl);
+                                        }
+                                    }
+                                }
+                            }
+                        }
+
+
                         // 淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。
                         if (!waitPakinLogService.save(wrkMast.getBarcode())) {
-                            exceptionHandle("淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。[workNo={0}]澶辫触", wrkMast.getWrkNo());
+//                            exceptionHandle("淇濆瓨鍏ュ簱閫氱煡妗e巻鍙叉。[workNo={0}]澶辫触", wrkMast.getWrkNo());
                         }
                         // 鍒犻櫎鍏ュ簱閫氱煡妗�
                         if (!waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", wrkMast.getBarcode()))) {
-                            exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo());
+//                            exceptionHandle("鍒犻櫎鍏ュ簱閫氱煡妗workNo={0}]澶辫触", wrkMast.getWrkNo());
                         }
                     }
 //                    // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆�
@@ -84,9 +124,38 @@
 //                        }
 //                    }
                 }
-//
-//            // 鍑哄簱 --------------------------------------------------------------------------------
-//            } else if (wrkMast.getWrkSts() == 15) {
+
+            // 鍑哄簱 --------------------------------------------------------------------------------
+            } else if (wrkMast.getWrkSts() == 15) {
+                if(wrkMast.getIsSuplus()!=null && wrkMast.getIsSuplus()==1 && wrkMast.getExitMk().equals("Y")){
+                    List<WrkDetl> wrkDetls1 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no",wrkMast.getWrkNo()));
+                    WrkDetl wrkDetl = wrkDetls1.get(0);
+                    String request = "{\"barcode\":\"" + wrkMast.getBarcode() + "\",\"anfme\":" + wrkDetl.getAnfme() + "}";
+                    log.info("ERP閫�鏂欎笂鎶ヨ姹�: workNo={}, request={}", wrkMast.getWrkNo(), request);
+                    JSONObject res = erpTokenService.stockBack(wrkMast.getBarcode(),wrkDetl.getAnfme(),null);
+                    log.info("ERP閫�鏂欎笂鎶ュ搷搴�: workNo={}, response={}", wrkMast.getWrkNo(), res == null ? null : res.toJSONString());
+                    apiLogService.save("erp.stockBack", "erpTokenService.stockBack", null, null, request,
+                            res == null ? null : res.toJSONString(),
+                            res != null && Boolean.TRUE.equals(res.getBoolean("success")));
+                    if (res != null && Boolean.TRUE.equals(res.getBoolean("success"))) {
+
+                    }
+                }else if(Objects.isNull(wrkMast.getLocNo())){
+                    String request = "{\"barcode\":\"" + wrkMast.getBarcode() + "\"}";
+                    log.info("ERP鍑哄簱涓婃姤璇锋眰: workNo={}, request={}", wrkMast.getWrkNo(), request);
+                    JSONObject res = erpTokenService.stockOut(wrkMast.getBarcode(),null);
+                    log.info("ERP鍑哄簱涓婃姤鍝嶅簲: workNo={}, response={}", wrkMast.getWrkNo(), res == null ? null : res.toJSONString());
+                    apiLogService.save("erp.stockOut", "erpTokenService.stockOut", null, null, request,
+                            res == null ? null : res.toJSONString(),
+                            res != null && Boolean.TRUE.equals(res.getBoolean("success")));
+                    if (res != null && Boolean.TRUE.equals(res.getBoolean("success"))) {
+
+                    }
+                }
+                
+//                if (!Objects.isNull(wrkMast.getWrkCode())) {
+//                    return FAIL;
+//                }
 //                if (!Cools.isEmpty(wrkDetls)) {
 //                    if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
 //                        exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());

--
Gitblit v1.9.1