cl
2024-07-11 35c489d86b027462dca8bdd06e5fb6dc066fa428
修改参数采集
已修改3个文件
32 ■■■■■ 文件已修改
jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/restful/factoryMes/service/RestfulService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java
@@ -3,8 +3,10 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -13,6 +15,7 @@
import com.jcdm.common.utils.ServletUtils;
import com.jcdm.common.utils.StringUtils;
import com.jcdm.framework.websocket.WebSocketUsers;
import com.jcdm.main.constant.Constants;
import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfoExcelImport;
import com.jcdm.main.om.productionOrde.mapper.OmProductionOrdeInfoMapper;
@@ -122,9 +125,15 @@
    public AjaxResult receivingWorkOrders()
    {
        String paramProductNum = "";
        Object productTypeObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".ProductType").getValue();//产品类型
        if (ObjectUtil.isNull(productTypeObjcet)) {
            return AjaxResult.error("接单失败,PLC未传输生产类型,请联系管理员");
        }
        String productType = productTypeObjcet.toString();//产品类型
        String materialCode = Constants.materialMap.get(productType);
        // 查询最新的工单信息
        OmProductionOrdeInfo lastOrder = omProductionOrdeInfoService.getLastOrder();
        String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), "OP230");
        String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), "M1OP100",materialCode);
        JSONObject jsonObject = new JSONObject(orderJsonString);
        // 从JSONObject中获取data对象
        JSONObject dataObject = jsonObject.getJSONObject("data");
jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
@@ -160,9 +160,10 @@
                        Object productTypeObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".ProductType").getValue();//产品类型
                        if (ObjectUtil.isNotNull(productTypeObjcet)){
                            String productType = productTypeObjcet.toString();//产品类型
                            String materialCode = Constants.materialMap.get(productType);
                            CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> {
                                //调用工厂MES,保存到数据库,并且将工单传给PLC (目前临时用该方法)
                                receivingWorkOrders(thoroughfare, device);
                                receivingWorkOrders(thoroughfare, device,materialCode);
                            });
                            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build());
@@ -227,7 +228,7 @@
            log.error(e.getMessage());
        }
    }
    public void receivingWorkOrders(String thoroughfare ,String device) {
/*    public void receivingWorkOrders(String thoroughfare ,String device) {
        String paramProductNum = "";
        try {
@@ -252,21 +253,21 @@
                //将产品SN发送到前台
                productNum = "productNum,"+ productNum;
                WebSocketUsers.sendMessageToUserByText(map.get(device), productNum);
            }/*else{
            }*//*else{
                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordSNDone").value(2).build());//没有要生产的工单
            }*/
            }*//*
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
    }*/
   /* public void receivingWorkOrders(String thoroughfare ,String device)
    public void receivingWorkOrders(String thoroughfare ,String device ,String materialCode)
    {
        String paramProductNum = "";
        try {
            // 查询最新的工单信息
            OmProductionOrdeInfo lastOrder = omProductionOrdeInfoService.getLastOrder();
            String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), "MOP100");
            String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), "M1OP100",materialCode);
            JSONObject jsonObject = new JSONObject(orderJsonString);
            // 从JSONObject中获取data对象
            JSONObject dataObject = jsonObject.getJSONObject("data");
@@ -297,7 +298,7 @@
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }*/
    }
    /**
     * 读取电芯码
jcdm-main/src/main/java/com/jcdm/main/restful/factoryMes/service/RestfulService.java
@@ -36,9 +36,9 @@
     * @return
     */
    //{"code":"success","data":{"productNum":"LCV123456P0600036","stationCode":"1HZ01","materialCode":"LCV001_3","productionOrderNum":"500000258"},"message":"API调用成功"}
    public static String getProductionWorkOrderRequest(String productNum,String stationCode)
    public static String getProductionWorkOrderRequest(String productNum,String stationCode,String materialCode)
    {
        String url = getRealmName + "/productionWorkOrderRequest?siteCode="+siteCode+"&stationCode="+stationCode+"&productNum="+productNum;
        String url = getRealmName + "/productionWorkOrderRequest?siteCode="+siteCode+"&stationCode="+stationCode+"&productNum="+productNum+"&materialCode="+materialCode;
        HttpResponse response = HttpRequest.get(url).execute();
        HttpRequest httpRequest = HttpRequest.get(url);
        return response.body();