From 0d753084de2b9c50955fc387b1776a0d37a914c5 Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期五, 25 四月 2025 09:37:47 +0800 Subject: [PATCH] 优化 --- jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java | 24 ++++++++++++++++-------- 1 files changed, 16 insertions(+), 8 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java index d151a22..0a7f109 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java +++ b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java @@ -127,13 +127,19 @@ } }else {//鑷姩宸ヤ綅 - //鎵�鏈夎繘绔欏皢杩涚珯鏃堕棿鍐欑粰PLC - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - String currentDate = dateFormat.format(new Date()); - miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".StartTime").value(currentDate).build()); + Object snCodeObject = miloService.readFromOpcUa(thoroughfare + "." + device + ".SNCode").getValue(); + if (ObjectUtil.isNull(snCodeObject)){ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build()); + }else{ + //鎵�鏈夎繘绔欏皢杩涚珯鏃堕棿鍐欑粰PLC + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String currentDate = dateFormat.format(new Date()); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".StartTime").value(currentDate).build()); - Integer recordDataDone = 11; - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(recordDataDone).build()); + Integer recordDataDone = 11; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(recordDataDone).build()); + } + } } else if(Constants.TWO.equals(valueString)){//鍑虹珯 @@ -185,10 +191,12 @@ } } if(Constants.OP230.equals(device)){ + WebSocketUsers.sendMessageToUserByText(map.get(device), "twoHundredAndThirtyEND"); CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { updateOrderStatus(snCode, "5","");//OP230宸ヤ綅鏇存柊宸ュ崟鐘舵�佷负宸插畬鎴� reportFactoryMes(snCode, "OP240", format.format(new Date()));//宸ュ巶MES鎶ュ伐 //鏆傛椂 OP240宸ヤ綅杩樻病鏈夊ソ锛屽湪230鎶�240鐨勫伐 }); + miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SNCode").value("").build()); } if(result == 21){ result = savePassingStation(thoroughfare, device, snCode, orderNumber, stationStatus);//淇濆瓨杩囩珯 @@ -389,9 +397,9 @@ }else{ // 鏌ヨ鏈�鏂扮殑宸ュ崟淇℃伅 OmProductionOrdeInfo lastOrder = omProductionOrdeInfoService.getLastOrder(); - //String facMaterialCode = Constants.facMaterialMap.get(materialCode); + String facMaterialCode = Constants.facMaterialMap.get(materialCode); log.info("璇锋眰宸ュ巶MES宸ュ崟锛氬叆鍙俤evice{},璇锋眰宸ュ巶鐗╂枡缂栫爜,浜у搧鐗╂枡缂栫爜MaterialCode{}", device,materialCode); - String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), device,""); + String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), device,facMaterialCode); log.info("璇锋眰宸ュ巶MES宸ュ崟锛氬嚭鍙俻ack锛歿}", orderJsonString); JSONObject jsonObject = new JSONObject(orderJsonString); -- Gitblit v1.9.3