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();