From 3aab99bed6dd2b808645ee2e4744226f4c687168 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期二, 28 四月 2026 17:17:28 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java |   73 +++++++++++++++++++++++++++++++++++-
 1 files changed, 70 insertions(+), 3 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 d71d3e4..f097788 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,6 +42,12 @@
     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) {
@@ -49,7 +59,12 @@
                 while (iterator.hasNext()) {
                     WrkDetl wrkDetl = iterator.next();
                     if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
-                        orderService.checkComplete(wrkDetl.getOrderNo());
+//                        orderService.checkComplete(wrkDetl.getOrderNo());
+                        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();
                     }
                 }
@@ -61,13 +76,36 @@
                 if (wrkMast.getIoType() == 1) {
                     // 鍏ュ簱閫氱煡鍗�
                     if (!Cools.isEmpty(wrkMast.getBarcode())) {
+                        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());
                         }
                     }
 //                    // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆�
@@ -87,6 +125,35 @@
 
             // 鍑哄簱 --------------------------------------------------------------------------------
             } 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