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