From e955eb6077fc28f0ad379af45c5adec1962eeff6 Mon Sep 17 00:00:00 2001
From: Administrator <1051256694@qq.com>
Date: 星期三, 29 四月 2026 17:56:33 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java |  104 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 86 insertions(+), 18 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 83306ca..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,8 +42,13 @@
     private WaitPakinLogService waitPakinLogService;
     @Autowired
     private OrderService orderService;
+    @Autowired
+    private ErpTokenService erpTokenService;
+    @Autowired
+    private LocDetlService locDetlService;
+    @Autowired
+    private ApiLogService apiLogService;
 
-    // update asr_wrk_mast set inv_wh = 'Y', ove_mk = 'Y' where wrk_no =
     @Transactional
     public ReturnT<String> start(WrkMast wrkMast) {
         try {
@@ -50,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();
                     }
                 }
@@ -62,37 +76,91 @@
                 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());
                         }
                     }
-                    // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆�
-                    if (!Cools.isEmpty(wrkDetls)) {
-                        if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) {
-                            exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
-                        }
-                    }
+//                    // 鎵嬪姩鍏ュ簱鐢熸垚鍗曟嵁 銆� 涓婃姤涓夋柟骞冲彴 銆�
+//                    if (!Cools.isEmpty(wrkDetls)) {
+//                        if (!orderService.saveHandlerOrder(Boolean.TRUE, wrkMast, wrkDetls)) {
+//                            exceptionHandle("鐢熸垚鎵嬪姩鍏ュ簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
+//                        }
+//                    }
                 // 鎷f枡鍐嶅叆搴�
                 } else if (wrkMast.getIoType() == 53) {
-                    if (!Cools.isEmpty(wrkDetls)) {
-                        if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
-                            exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
-                        }
-                    }
+//                    if (!Cools.isEmpty(wrkDetls)) {
+//                        if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
+//                            exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
+//                        }
+//                    }
                 }
 
             // 鍑哄簱 --------------------------------------------------------------------------------
             } else if (wrkMast.getWrkSts() == 15) {
-                if (!Cools.isEmpty(wrkDetls)) {
-                    if (!orderService.saveHandlerOrder(Boolean.FALSE, wrkMast, wrkDetls)) {
-                        exceptionHandle("鐢熸垚鎵嬪姩鍑哄簱鍗曟嵁[workNo={0}]澶辫触", wrkMast.getWrkNo());
+                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