自动化立体仓库 - WMS系统
zyx
2023-07-26 e2ae6b57bb1398391be2050e85a729a7c8682f1f
agv 根据调试完善MES相关接口功能
8个文件已修改
79 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/task/MesPakinScheduler.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/MesPakoutScheduler.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/MesPakinHandler.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/MesPakoutHandler.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/utils/MesSyncUtil.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/MesPakinScheduler.java
@@ -4,6 +4,7 @@
import com.zy.asrs.task.handler.MesPakinHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
/**
@@ -16,7 +17,7 @@
    @Autowired
    MesPakinHandler handler;
    //@Scheduled(cron = "0/30 * * * * ?")
    @Scheduled(cron = "0/30 * * * * ?")
    private void execute() {
        ReturnT<String> result = null;
src/main/java/com/zy/asrs/task/MesPakoutScheduler.java
@@ -4,9 +4,8 @@
import com.zy.asrs.task.handler.MesPakoutHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.IOException;
/**
 * 轮询MES接口,生成出库单据
@@ -18,15 +17,11 @@
    @Autowired
    MesPakoutHandler handler;
    //@Scheduled(cron = "0/30 * * * * ?")
    @Scheduled(cron = "0/30 * * * * ?")
    private void execute() {
        ReturnT<String> result = null;
        try {
            result = handler.start();
        } catch (IOException e) {
            e.printStackTrace();
        }
        result = handler.start();
        if (!result.isSuccess()) {
            log.error("");
        }
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -38,7 +38,7 @@
        }
    }
//    @Scheduled(cron = "0/5 * * * * ? ")
    @Scheduled(cron = "0/5 * * * * ? ")
    @Async("orderThreadPool")
    public void completeAndReport(){
        String erpReport = Parameter.get().getErpReport();
src/main/java/com/zy/asrs/task/handler/MesPakinHandler.java
@@ -1,6 +1,7 @@
package com.zy.asrs.task.handler;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
@@ -60,6 +61,7 @@
        JSONObject jsonObject = null;
        try {
            jsonObject = doPostJsonData();
            log.info("MesPakinHandler jsonObject:" + jsonObject);
        } catch (IOException e) {
            success = false;
            e.printStackTrace();
@@ -68,11 +70,17 @@
        int code = jsonObject.getInteger("code");
        if(code == 200){
            JSONObject jsonData = jsonObject.getJSONObject("data");
            String orderNo = jsonData.getString("orderNo");
            Order o = insertOrder(jsonData,orderNo);
            insertOrUpdateOrderDetl(jsonData, o);
            if(!Cools.isEmpty(jsonObject.getString("data")) && jsonObject.getString("data").length()>2){
                JSONArray jsonArray = jsonObject.getJSONArray("data");
                List<JSONObject> jsonDataList = jsonArray.toJavaList(JSONObject.class);
                jsonDataList.forEach(data -> {
                    String orderNo = data.getString("orderNo");
                    Order o = insertOrder(data,orderNo);
                    insertOrUpdateOrderDetl(data, o);
                });
            }
        }else {
            success = false;
            log.error("请求mes接口响应错误,响应码为: " + code);
src/main/java/com/zy/asrs/task/handler/MesPakoutHandler.java
@@ -1,6 +1,7 @@
package com.zy.asrs.task.handler;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
@@ -68,10 +69,17 @@
        int code = jsonObject.getInteger("code");
        if(code == 200){
            JSONObject jsonData = jsonObject.getJSONObject("data");
            String orderNo = jsonData.getString("orderNo");
            Order o = insertOrder(jsonData,orderNo);
            insertOrUpdateOrderDetl(jsonData, o);
            if(!Cools.isEmpty(jsonObject.getString("data")) && jsonObject.getString("data").length()>2){
                JSONArray jsonArray = jsonObject.getJSONArray("data");
                List<JSONObject> jsonDataList = jsonArray.toJavaList(JSONObject.class);
                jsonDataList.forEach(data -> {
                    String orderNo = data.getString("orderNo");
                    Order o = insertOrder(data,orderNo);
                    insertOrUpdateOrderDetl(data, o);
                });
            }
        }else {
            success = false;
@@ -86,7 +94,7 @@
     */
    private void saveApiLog(String response, boolean success){
        apiLogService.save(
                "生成入库单据",
                "生成出库单据",
                uri + path,
                null,
                "127.0.0.1",
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -13,6 +13,7 @@
import com.zy.asrs.service.OrderService;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.MesSyncUtil;
import com.zy.common.utils.HttpHandler;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -185,9 +186,10 @@
            response = new HttpHandler.Builder()
                    .setUri(pakoutUri)
                    .setPath(pakoutPath)
                    .setParams(MesSyncUtil.getRequestParamMap())
                    .setJson(JSON.toJSONString(requestMap))
                    .build()
                    .doPost();
                    .doPostWithParam();
            success = orderSettleUpdate(response,order);
        } catch (Exception e) {
            log.error("fail", e);
@@ -213,6 +215,7 @@
    private  ReturnT<String> orderPakinSync (Order order, String orderType, List<OrderDetl> orderDetls){
        Map<String,Object> requestMap = getRequestMap(order,orderType,orderDetls);
        System.out.println("requestMap: " + requestMap);
        String response = "";
        boolean success = false;
@@ -221,9 +224,11 @@
            response = new HttpHandler.Builder()
                    .setUri(pakinUri)
                    .setPath(pakinPath)
                    .setParams(MesSyncUtil.getRequestParamMap())
                    .setJson(JSON.toJSONString(requestMap))
                    .build()
                    .doPost();
                    .doPostWithParam();
            System.out.println(response);
            success = orderSettleUpdate(response,order);
        } catch (Exception e) {
            log.error("fail", e);
src/main/java/com/zy/asrs/utils/MesSyncUtil.java
@@ -1,5 +1,7 @@
package com.zy.asrs.utils;
import com.alibaba.fastjson.JSONObject;
import com.core.common.Cools;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.DigestUtils;
@@ -16,7 +18,7 @@
    public static Map<String,Object> getRequestParamMap(){
        Date date = new Date();
        String ts = date.getTime() + "";
        String key = DigestUtils.md5DigestAsHex((appkey + ts).getBytes(StandardCharsets.UTF_8));
        String key = DigestUtils.md5DigestAsHex(("SX3WMS20230725" + ts).getBytes(StandardCharsets.UTF_8));
        Map<String,Object> requestParamMap = new HashMap<>();
        requestParamMap.put("ts",ts);
        requestParamMap.put("key",key);
@@ -24,6 +26,18 @@
    }
    public static void main(String[] args) {
        System.out.println(appkey);
        System.out.println(MesSyncUtil.getRequestParamMap());
        String jsonString = "{\"msg\":\"操作成功\",\"code\":200,\"data\":\"[]\"}";
        JSONObject jsonObject = JSONObject.parseObject(jsonString);
        String data = jsonObject.getString("data");
        System.out.println(data);
        if(!Cools.isEmpty(data)){
            System.out.println(data);
        }
    }
}
src/main/resources/application.yml
@@ -71,10 +71,10 @@
    path: /api/SX3WMS/StorageIn
  pakout:
    uri: http://fmis.huashijie.com.cn:8082
    path: /api/SX3WMS/StorageInCheck
    path: /api/SX3WMS/StorageOut
  pakin-sync:
    uri: http://fmis.huashijie.com.cn:8082
    path: /api/SX3WMS/StorageOut
    path: /api/SX3WMS/StorageInCheck
  pakout-sync:
    uri: http://fmis.huashijie.com.cn:8082
    path: /api/SX3WMS/StorageOutCheck