From 2a2d6b0c071bf744a777991efb35f5503b68598a Mon Sep 17 00:00:00 2001
From: cp <513960435@qq.com>
Date: 星期五, 13 九月 2024 12:35:34 +0800
Subject: [PATCH] #

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkLogHandler.java |  106 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 103 insertions(+), 3 deletions(-)

diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkLogHandler.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkLogHandler.java
index 5a35d84..2e6e52e 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkLogHandler.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkLogHandler.java
@@ -1,7 +1,15 @@
 package com.zy.asrs.wms.task.handler;
 
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.zy.asrs.common.sys.entity.OperateLog;
+import com.zy.asrs.common.sys.service.OperateLogService;
+import com.zy.asrs.common.utils.HttpHandler;
+import com.zy.asrs.common.utils.Utils;
+import com.zy.asrs.common.wms.entity.Order;
 import com.zy.asrs.common.wms.entity.WaitPakin;
 import com.zy.asrs.common.wms.entity.WrkDetl;
 import com.zy.asrs.common.wms.entity.WrkMast;
@@ -11,13 +19,13 @@
 import com.zy.asrs.wms.task.core.ReturnT;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * Created by vincent on 2020/7/6
@@ -40,6 +48,17 @@
     private WaitPakinLogService waitPakinLogService;
     @Autowired
     private OrderService orderService;
+    @Autowired
+    private OperateLogService operateLogService;
+
+    @Value("${erp.url}")
+    private String ERP_URL;
+
+    @Value("${erp.report}")
+    private String ERP_REPORT;
+
+    @Value("${erp.login}")
+    private String ERP_LOGIN;
 
     // update asr_wrk_mast set inv_wh = 'Y', ove_mk = 'Y' where wrk_no =
     @Transactional
@@ -99,6 +118,87 @@
                 }
             }
 
+            if (!wrkDetlsKeyOrder.isEmpty()) {
+                //涓婃姤蹇靛垵ERP   銆� 涓婃姤涓夋柟骞冲彴 銆�
+                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
+                String nowFormat = dateFormat.format(new Date());
+
+                ArrayList<LinkedHashMap<String, Object>> mats = new ArrayList<>();
+                String orderNo = "";
+                for (WrkDetl wrkDetl : wrkDetlsKeyOrder) {
+                    orderNo = wrkDetl.getOrderNo();
+                    LinkedHashMap<String, Object> mat = new LinkedHashMap<>();
+                    mat.put("GoodsCode", wrkDetl.getMatnr());
+                    mat.put("Num", wrkDetl.getAnfme());
+                    if (!Cools.isEmpty(wrkDetl.getBatch())) {
+                        mat.put("BatchNo", wrkDetl.getBatch());
+                    }
+                    if (!Cools.isEmpty(wrkDetl.getThreeCode())) {
+                        mat.put("DepotName", wrkDetl.getThreeCode());
+                    }
+                    if (!Cools.isEmpty(wrkDetl.getSupp())) {
+                        mat.put("FromDanCode", wrkDetl.getSupp());
+                    }
+                    if (!Cools.isEmpty(wrkDetl.getSuppCode())) {
+                        mat.put("FromNo", wrkDetl.getSuppCode());
+                    }
+                    mats.add(mat);
+                }
+                Order order = orderService.selectByNo(orderNo, hostId);
+                if (order != null) {
+                    LinkedHashMap<String, Object> param = new LinkedHashMap<>();
+                    param.put("Login", ERP_LOGIN);
+                    param.put("DanType", order.getDocType$()+"SH");
+                    param.put("Date", nowFormat);
+                    param.put("DanCode", orderNo);
+                    param.put("Data", mats);
+
+                    String response = "";
+                    try {
+                        response = new HttpHandler.Builder()
+                                .setUri(ERP_URL)
+                                .setPath(ERP_REPORT + Utils.ncErpDataEncode(param))
+                                .build()
+                                .doGet();
+                        JSONObject jsonObject = JSON.parseObject(response);
+                        JSONArray result = jsonObject.getJSONArray("result");
+                        Object object = result.get(0);
+                        JSONObject data = JSON.parseObject(object.toString());
+                        if (data.getBoolean("State")) {
+                            //涓婃姤鎴愬姛
+                        } else {
+                            //涓婃姤澶辫触
+                            exceptionHandle("涓婃姤ERP澶辫触[workNo={0}]澶辫触", wrkMast.getWrkNo());
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                        //寮傚父涓婃姤澶辫触
+                        exceptionHandle("涓婃姤ERP寮傚父澶辫触[workNo={0}]澶辫触", wrkMast.getWrkNo());
+                    } finally {
+                        //璁板綍涓婃姤鏁版嵁
+                        OperateLog operateLog = new OperateLog();
+                        operateLog.setAction("涓婃姤ERP," + ERP_URL + ERP_REPORT);
+                        operateLog.setRequest(Utils.ncErpDataEncode(param));
+                        operateLog.setResponse(response);
+                        operateLog.setCreateTime(new Date());
+                        operateLog.setSystem("WMS");
+                        operateLog.setUserId(9527L);
+                        operateLog.setIp("127.0.0.1");
+                        operateLogService.save(operateLog);
+                        //璁板綍涓婃姤鏁版嵁
+                        OperateLog operateLog1 = new OperateLog();
+                        operateLog1.setAction("涓婃姤ERP," + ERP_URL + ERP_REPORT);
+                        operateLog1.setRequest(param.toString());
+                        operateLog1.setResponse(response);
+                        operateLog1.setCreateTime(new Date());
+                        operateLog1.setSystem("WMS");
+                        operateLog1.setUserId(9527L);
+                        operateLog1.setIp("127.0.0.1");
+                        operateLogService.save(operateLog1);
+                    }
+                }
+            }
+
             // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
             if (!wrkMastLogService.saveToHistory(wrkMast.getId())) {
                 exceptionHandle("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());

--
Gitblit v1.9.1