From 57f9a55581343a805cd589bbdc00e4d28a28aa97 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期一, 28 七月 2025 13:26:42 +0800
Subject: [PATCH] erp对接

---
 src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java |  138 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 138 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 327edbb..693b9b9 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -1,18 +1,54 @@
 package com.zy.asrs.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.Cools;
+import com.core.common.R;
+import com.core.common.SpringUtils;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.param.OpenOrderPakinParam;
+import com.zy.asrs.entity.result.OrderRsult;
 import com.zy.asrs.mapper.OrderDetlMapper;
 import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.service.ApiLogService;
 import com.zy.asrs.service.OrderDetlService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.service.OrderService;
+import com.zy.common.model.DetlDto;
+import com.zy.common.utils.HttpHandler;
+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 java.text.Format;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
+@Slf4j
 @Service("orderDetlService")
 public class OrderDetlServiceImpl extends ServiceImpl<OrderDetlMapper, OrderDetl> implements OrderDetlService {
+
+    @Autowired
+    private OrderService orderService;
+    @Autowired
+    private OrderDetlService orderDetlService;
+
+    @Autowired
+    private ApiLogService apiLogService;
+    @Value("${erp.switch.ReviewOrderSwitch}")
+    private Boolean switchReviewOrderSwitch;
+    @Value("${erp.address.URL}")
+    private String URL;
+    @Value("${erp.address.inaddressSave}")
+    private String inaddressSave;
+    @Value("${erp.address.outaddressSave}")
+    private String outaddressSave;
 
     @Override
     public List<OrderDetl> selectByOrderId(Long orderId) {
@@ -90,4 +126,106 @@
     public boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty) {
         return this.baseMapper.increaseWorkQty(orderId, matnr, batch, workQty) > 0;
     }
+
+    @Override
+    public R U8Reporting(long id, Integer sts) {
+        String ERPPath=inaddressSave;
+        String ERPName="";
+        OrderDetl orderDetl = orderDetlService.selectById(id);
+        Order order = orderService.selectByNo(orderDetl.getOrderNo());
+        if (order==null){
+            return R.error("娌℃湁鎵惧埌鏀硅鍗� id="+id);
+        }
+        OrderRsult orderRsult = new OrderRsult();
+        OrderRsult.Login login = new OrderRsult.Login();
+        OrderRsult.HeadTable headTable = new OrderRsult.HeadTable();
+        OrderRsult.BodyTable bodyTable = new OrderRsult.BodyTable();
+        login.setSAccID("999"); //璐﹀鍙�    鍥哄畾
+        login.setSUserID("sys");//U8鐧婚檰璐﹀彿 鍥哄畾
+        login.setSPassword("123456");//U8鐧婚檰瀵嗙爜 鍥哄畾
+        login.setSServer("10.1.9.20");//U8鏈嶅姟鍣ㄥ湴鍧�銆�鍥哄畾
+        orderRsult.setLogin(login);
+        orderRsult.setVerifier("sys");//鍗曟嵁绫诲瀷銆� 鍥哄畾
+        orderRsult.setCommandType(sts.equals(1) ? "鏂板" : "鍏抽棴");//鎿嶄綔绫诲瀷 銆�鍥哄畾
+        orderRsult.setVouchName("璋冩嫧鍗�");//瀹℃牳浜� 濉啓鍒欒嚜鍔ㄥ鏍�
+
+        headTable.setCtvcode(order.getOrderNo());//璋冩嫧鍗曞彿銆� 榛樿
+        //鏃堕棿
+        Date date=new Date();
+        Format formatter = new SimpleDateFormat("yyyy-MM-dd");
+        String format = formatter.format(date);
+        headTable.setDtvdate(format);//鍗曟嵁鏃ユ湡
+        headTable.setCmaker("sys");//鍒跺崟浜哄悕绉�
+        headTable.setVt_id("89");//妯℃澘鍙�		榛樿
+
+        headTable.setCiwhcode("");//杞叆浠撳簱缂栫爜
+        headTable.setCowhcode("");//杞嚭浠撳簱缂栫爜
+        headTable.setCordcode("");//鍑哄簱绫诲埆缂栫爜      榛樿
+        headTable.setCirdcode("");//鍏ュ簱绫诲埆缂栫爜      榛樿
+        headTable.setCodepcode("");//杞嚭閮ㄩ棬缂栫爜
+        headTable.setCidepcode("");//杞叆閮ㄩ棬缂栫爜
+
+
+
+        bodyTable.setIrowno(orderDetl.getModel());//琛屽彿
+        bodyTable.setCinvcode(orderDetl.getMatnr());//瀛樿揣缂栫爜
+        bodyTable.setCtvbatch(Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch());//鎵瑰彿锛堢壒娈婅鏄庯級
+        Double qty = orderDetl.getQty()-(Cools.isEmpty(orderDetl.getUnits())?0:orderDetl.getUnits());
+        bodyTable.setItvquantity(String.valueOf(qty));//瀹屾垚浠舵暟
+        bodyTable.setCinposcode("1-1");//绔嬪簱婧愯揣浣�
+        bodyTable.setCoutposcode("");//鐩爣璐т綅
+        bodyTable.setItrsid(orderDetl.getMemo());//琛屼富閿�
+        bodyTable.setEditprop(sts.equals(1) ? "A" : "B");//鐘舵�� A 鏂板
+
+
+        if (order.getDocType()>10L) {
+            ERPPath=outaddressSave;
+        }
+        ERPName=order.getDocType$();
+        String response = "";
+        boolean success = false;
+        try {
+
+            response = new HttpHandler.Builder()
+//                        .setHeaders(map)
+                    .setUri(URL)
+                    .setPath(ERPPath)
+                    .setJson(JSON.toJSONString(orderRsult))
+                    .build()
+                    .doPost();
+            System.out.println("response:"+response);
+            JSONObject jsonObject = JSON.parseObject(response);
+
+            if (jsonObject.getInteger("code").equals(200)) {
+                orderDetl.setUnits(qty+orderDetl.getUnits());
+                orderDetl.setStatus(sts);
+                orderDetlService.updateById(orderDetl);
+                success = true;
+            } else {
+                log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+ERPPath, JSON.toJSONString(orderRsult), response);
+            }
+        } catch (Exception e) {
+            log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", URL+"/"+ERPPath, JSON.toJSONString(orderRsult), response);
+        } finally {
+            try {
+                // 淇濆瓨鎺ュ彛鏃ュ織
+                ApiLogService apiLogService = SpringUtils.getBean(ApiLogService.class);
+                apiLogService.save(
+                        "涓婃姤"+ERPName,
+                        URL +"/"+ ERPPath,
+                        null,
+                        "127.0.0.1",
+                        JSON.toJSONString(orderRsult),
+                        response,
+                        success
+                );
+            } catch (Exception e) {
+                log.error("", e);
+            }
+        }
+        if (!success) {
+            return R.error();
+        }
+        return R.ok();
+    }
 }

--
Gitblit v1.9.1