From ba1a7a9ef126296e2798e313dc5b43f775a1123c Mon Sep 17 00:00:00 2001 From: cl <418351270@qq.com> Date: 星期四, 23 五月 2024 17:44:36 +0800 Subject: [PATCH] 修改数据采集 --- guns-vip-main/src/main/java/cn/stylefeng/guns/modular/em/equipmentStatus/model/result/EquipmentStatusResult.java | 2 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/HEARTBEAT/impl/HeartBeatServerInterfaceImpl.java | 12 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP090Callback.java | 85 + guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP010Callback.java | 41 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP130Callback.java | 84 + guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP050Callback.java | 86 + guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java | 214 +- guns-vip-main/src/main/java/cn/stylefeng/guns/modular/om/productionOrdeInfo/controller/ProductionOrdeInfoController.java | 13 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP030Callback.java | 41 guns-vip-main/src/main/java/cn/stylefeng/guns/modular/bs/collectionParamConf/model/result/CollectionParamConfResult.java | 4 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP070Callback.java | 41 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP130BCallback.java | 79 guns-vip-main/src/main/webapp/assets/modular/om/productionOrderRecords/productionOrderRecords.js | 4 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP160Callback.java | 11 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java | 51 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java | 41 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/HEARTBEAT/HeartBeatServerInterface.java | 8 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP030BCallback.java | 41 guns-vip-main/src/main/webapp/assets/modular/cm/paramCollection/paramCollection.js | 4 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP020Callback.java | 40 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP120Callback.java | 84 + guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP060Callback.java | 71 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP040Callback.java | 41 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java | 41 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP170Callback.java | 32 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP040BCallback.java | 36 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP020Callback.java | 86 + guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP040Callback.java | 77 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP070Callback.java | 85 + guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP150Callback.java | 77 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/GlobalVariable.java | 7 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java | 41 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP090Callback.java | 41 guns-vip-main/src/main/java/cn/stylefeng/guns/modular/kb/greaseBoard/GreaseBoardController.java | 1 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP020Callback.java | 77 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP120BCallback.java | 79 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP030Callback.java | 40 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP030Callback.java | 47 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP110Callback.java | 11 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP020Callback.java | 64 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP050Callback.java | 76 guns-vip-main/pom.xml | 10 guns-vip-main/src/main/java/cn/stylefeng/guns/modular/bs/equipmentInfo/model/result/EquipmentInfoResult.java | 3 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/SubscriptionManage.java | 743 +++++++++--- guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP090BCallback.java | 37 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP030Callback.java | 76 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP080Callback.java | 12 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP140Callback.java | 84 + /dev/null | 99 - guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP080Callback.java | 78 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP020Callback.java | 79 guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP040Callback.java | 86 + guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP100Callback.java | 84 + guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/OPCElement.java | 81 54 files changed, 1,970 insertions(+), 1,518 deletions(-) diff --git a/guns-vip-main/pom.xml b/guns-vip-main/pom.xml index af153d6..badead1 100644 --- a/guns-vip-main/pom.xml +++ b/guns-vip-main/pom.xml @@ -90,6 +90,7 @@ <artifactId>spring-boot-starter-websocket</artifactId> </dependency> + <!-- opc start--> <dependency> <groupId>com.kangaroohy</groupId> <artifactId>milo-spring-boot-starter</artifactId> @@ -98,8 +99,9 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> - <version>2.12.0</version> + <version>2.11.1</version> </dependency> + <!-- opc end--> <!-- https://mvnrepository.com/artifact/com.google.guava/guava --> <dependency> @@ -107,6 +109,12 @@ <artifactId>guava</artifactId> <version>33.0.0-jre</version> </dependency> + <dependency> + <groupId>org.apache.xmlbeans</groupId> + <artifactId>xmlbeans</artifactId> + <version>2.6.0</version> + <scope>compile</scope> + </dependency> </dependencies> <build> diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/bs/collectionParamConf/model/result/CollectionParamConfResult.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/bs/collectionParamConf/model/result/CollectionParamConfResult.java index 8877e6b..f13abab 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/bs/collectionParamConf/model/result/CollectionParamConfResult.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/bs/collectionParamConf/model/result/CollectionParamConfResult.java @@ -2,7 +2,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; -import org.openscada.opc.lib.da.Item; +import org.apache.xmlbeans.impl.xb.xmlconfig.NamespaceList; import java.util.Date; import java.io.Serializable; @@ -126,6 +126,6 @@ */ private Date updateTime; - private Item item; + private NamespaceList.Member2.Item item; } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/bs/equipmentInfo/model/result/EquipmentInfoResult.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/bs/equipmentInfo/model/result/EquipmentInfoResult.java index 26b1ede..b0cb3a0 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/bs/equipmentInfo/model/result/EquipmentInfoResult.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/bs/equipmentInfo/model/result/EquipmentInfoResult.java @@ -1,7 +1,6 @@ package cn.stylefeng.guns.modular.bs.equipmentInfo.model.result; import lombok.Data; -import org.openscada.opc.lib.da.Item; import java.util.Date; import java.io.Serializable; @@ -110,5 +109,5 @@ * 鏇存敼鏃堕棿 */ private Date updateTime; - private Item item; + /* private Item item;*/ } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/em/equipmentStatus/model/result/EquipmentStatusResult.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/em/equipmentStatus/model/result/EquipmentStatusResult.java index 1199d34..3b1dbbc 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/em/equipmentStatus/model/result/EquipmentStatusResult.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/em/equipmentStatus/model/result/EquipmentStatusResult.java @@ -1,7 +1,6 @@ package cn.stylefeng.guns.modular.em.equipmentStatus.model.result; import lombok.Data; -import org.openscada.opc.lib.da.Item; import java.util.Date; import java.io.Serializable; @@ -75,5 +74,4 @@ * 鏇存柊鏃堕棿 */ private Date updateTime; - private Item item; } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/kb/greaseBoard/GreaseBoardController.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/kb/greaseBoard/GreaseBoardController.java index a2a865d..5bc8af6 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/kb/greaseBoard/GreaseBoardController.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/kb/greaseBoard/GreaseBoardController.java @@ -9,7 +9,6 @@ import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult; import cn.stylefeng.guns.modular.sc.kanbanConf.model.params.KanbanConfParam; import cn.stylefeng.guns.modular.sc.kanbanConf.service.KanbanConfService; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; import cn.stylefeng.roses.core.base.controller.BaseController; import cn.stylefeng.roses.kernel.model.response.ResponseData; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/om/productionOrdeInfo/controller/ProductionOrdeInfoController.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/om/productionOrdeInfo/controller/ProductionOrdeInfoController.java index 6a19b39..c8ad14d 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/om/productionOrdeInfo/controller/ProductionOrdeInfoController.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/modular/om/productionOrdeInfo/controller/ProductionOrdeInfoController.java @@ -11,6 +11,7 @@ import cn.stylefeng.guns.modular.bs.materialInfo.entity.MaterialInfo; import cn.stylefeng.guns.modular.bs.materialInfo.service.MaterialInfoService; import cn.stylefeng.guns.modular.cm.passingStationCollection.entity.PassingStationCollection; +import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.result.PassingStationCollectionResult; import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; import cn.stylefeng.guns.modular.om.productionOrdeInfo.entity.ProductionOrdeInfo; @@ -212,6 +213,18 @@ } /** + * 娴嬪姛鏈烘柊澧炴帴鍙� + * @return + */ + @ResponseBody + @CrossOrigin + @RequestMapping("/addStationInfo") + public ResponseData addStationInfo(PassingStationCollectionParam passingStationCollectionParam) { + this.passingStationCollectionService.add(passingStationCollectionParam); + return ResponseData.success(); + } + + /** * 澶у睆鍒楄〃鎺ュ彛 * @param productionOrdeInfoParam * @return diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java index 6cd0a4a..813c5e2 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP010Callback.java @@ -30,7 +30,6 @@ import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; import cn.stylefeng.guns.plcserver.opc.GlobalVariable; import cn.stylefeng.guns.plcserver.opc.OPCElement; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; import cn.stylefeng.guns.plcserver.tool.DateTool; import cn.stylefeng.guns.plcserver.tool.LogUtil; import com.kangaroohy.milo.model.ReadWriteEntity; @@ -188,7 +187,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -219,43 +220,7 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); - } public void handleRepair() throws Exception{ RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam(); repairManageInfoParam.setLocationCode(LOCATION_CODE); diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP020Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP020Callback.java index e45e442..6632c2c 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP020Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP020Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -90,6 +93,8 @@ private static String LOCATION_CODE = "BOP020";//宸ヤ綅鍙� private static List list = null; + private static String PRODUCT_STATE = "鍚堟牸"; + public BOP020Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -157,6 +162,11 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.BOP020_S_PRODUCT_STATE_CODE) .getValue().toString(); + + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } + ReadWriteEntity entity = new ReadWriteEntity(OPCElement.BOP020_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 //澶勭悊杩囩珯淇℃伅 @@ -176,7 +186,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -217,32 +229,57 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } logger.info("handleInfo END锛�"); } - } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP030BCallback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP030BCallback.java index aa6159c..8ba8fb3 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP030BCallback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP030BCallback.java @@ -176,7 +176,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -207,42 +209,5 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); - } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP030Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP030Callback.java index ffff1f3..a010e8b 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP030Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP030Callback.java @@ -177,7 +177,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -208,42 +210,5 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); - } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP040BCallback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP040BCallback.java index e60a7a9..b22e468 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP040BCallback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP040BCallback.java @@ -207,42 +207,6 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); - } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP040Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP040Callback.java index 5d8bb4a..19278d1 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP040Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/BOP040Callback.java @@ -177,7 +177,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -208,42 +210,5 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); - } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java index 1127578..eb743a3 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP010Callback.java @@ -34,7 +34,6 @@ import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; import cn.stylefeng.guns.plcserver.opc.GlobalVariable; import cn.stylefeng.guns.plcserver.opc.OPCElement; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; import cn.stylefeng.guns.plcserver.opc.unit.SFCCodeTool; import cn.stylefeng.guns.plcserver.tool.DateTool; import cn.stylefeng.guns.plcserver.tool.LogUtil; @@ -190,7 +189,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -221,43 +222,7 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); - } public void handleRepair() throws Exception{ RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam(); repairManageInfoParam.setLocationCode(LOCATION_CODE); diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP020Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP020Callback.java index 76cbbb2..60d60e1 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP020Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP020Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -91,7 +94,7 @@ private static String PRODUCTION_LINE = "COP";//浜х嚎鍙� private static String LOCATION_CODE = "COP020";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public COP020Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -160,6 +163,9 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.COP020_S_PRODUCT_STATE_CODE) .getValue().toString(); + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.COP020_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 //澶勭悊杩囩珯淇℃伅 @@ -179,7 +185,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -220,32 +228,57 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } logger.info("handleInfo END锛�"); } - } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP030Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP030Callback.java index 766a7e0..bb7f8b4 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP030Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/COP030Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -91,7 +94,7 @@ private static String PRODUCTION_LINE = "COP";//浜х嚎鍙� private static String LOCATION_CODE = "COP030";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public COP030Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -160,6 +163,9 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.COP030_S_PRODUCT_STATE_CODE) .getValue().toString(); + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.COP030_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 //澶勭悊杩囩珯淇℃伅 @@ -179,7 +185,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -220,28 +228,54 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java index 76a0729..c08977d 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP010Callback.java @@ -30,7 +30,6 @@ import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; import cn.stylefeng.guns.plcserver.opc.GlobalVariable; import cn.stylefeng.guns.plcserver.opc.OPCElement; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; import cn.stylefeng.guns.plcserver.tool.DateTool; import cn.stylefeng.guns.plcserver.tool.LogUtil; import com.kangaroohy.milo.model.ReadWriteEntity; @@ -183,7 +182,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -214,43 +215,7 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); - } public void handleRepair() throws Exception{ RepairManageInfoParam repairManageInfoParam = new RepairManageInfoParam(); repairManageInfoParam.setLocationCode(LOCATION_CODE); diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP020Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP020Callback.java index 1360bf9..77b654f 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP020Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/DOP020Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -177,7 +180,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -218,32 +223,49 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } logger.info("handleInfo END锛�"); } - } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP010Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP010Callback.java index 5ff95b4..7b6caf2 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP010Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP010Callback.java @@ -24,7 +24,6 @@ import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; import cn.stylefeng.guns.plcserver.opc.GlobalVariable; import cn.stylefeng.guns.plcserver.opc.OPCElement; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; import cn.stylefeng.guns.plcserver.tool.DateTool; import cn.stylefeng.guns.plcserver.tool.LogUtil; import com.kangaroohy.milo.model.ReadWriteEntity; @@ -178,6 +177,9 @@ public void handleMaterial() throws Exception{ + if(S_ORDER_CODE.isEmpty()){ + return; + } String materialCode = miloService. readFromOpcUa(OPCElement.EOP010_S_MATERIAL_CODE) .getValue().toString(); @@ -214,43 +216,6 @@ } } - } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP020Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP020Callback.java index ceee4f1..2f39f3a 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP020Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP020Callback.java @@ -176,7 +176,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -207,42 +209,6 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); - } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP030Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP030Callback.java index 22c9113..be126da 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP030Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP030Callback.java @@ -177,7 +177,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -208,42 +210,6 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); - } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP040Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP040Callback.java index fad0206..fd09613 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP040Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP040Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -89,7 +92,7 @@ private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� private static String LOCATION_CODE = "EOP040";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public EOP040Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -157,7 +160,9 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.EOP040_S_PRODUCT_STATE_CODE) .getValue().toString(); - + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.EOP040_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 //澶勭悊杩囩珯淇℃伅 @@ -176,7 +181,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -217,28 +224,54 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP050Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP050Callback.java index 6046859..cb7b5f4 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP050Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP050Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -89,7 +92,7 @@ private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� private static String LOCATION_CODE = "EOP050";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public EOP050Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -158,6 +161,9 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.EOP050_S_PRODUCT_STATE_CODE) .getValue().toString(); + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.EOP050_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 //澶勭悊杩囩珯淇℃伅 @@ -177,7 +183,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -218,28 +226,54 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP060Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP060Callback.java index 45a6f17..3419d06 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP060Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP060Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -177,7 +180,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -218,32 +223,56 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } logger.info("handleInfo END锛�"); } - } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP070Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP070Callback.java index 1c4af44..b5c025e 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP070Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP070Callback.java @@ -176,7 +176,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -207,42 +209,5 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); - } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP080Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP080Callback.java index 092a84f..46e6d53 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP080Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP080Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -89,7 +92,7 @@ private static String PRODUCTION_LINE = "EOP";//浜х嚎鍙� private static String LOCATION_CODE = "EOP080";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public EOP080Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -158,7 +161,9 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.EOP080_S_PRODUCT_STATE_CODE) .getValue().toString(); - + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -177,7 +182,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -218,32 +225,57 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } logger.info("handleInfo END锛�"); } - } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP090BCallback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP090BCallback.java index 1e1454e..aa24ef8 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP090BCallback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP090BCallback.java @@ -208,42 +208,5 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); - } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP090Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP090Callback.java index c326420..023a709 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP090Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP090Callback.java @@ -177,7 +177,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -208,42 +210,5 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); - } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java index c50401c..7f0937c 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP010Callback.java @@ -34,7 +34,6 @@ import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; import cn.stylefeng.guns.plcserver.opc.GlobalVariable; import cn.stylefeng.guns.plcserver.opc.OPCElement; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; import cn.stylefeng.guns.plcserver.opc.unit.SFCCodeTool; import cn.stylefeng.guns.plcserver.tool.DateTool; import cn.stylefeng.guns.plcserver.tool.LogUtil; @@ -201,7 +200,8 @@ productionOrderRecordsParam.setProductNo(S_SFC_CODE); productionOrderRecordsParam.setMaterialCode(S_PRODUCT_CODE); productionOrderRecordsParam.setStartTime(DateTool.getLocalTimeForDate()); - productionOrderRecordsParam.setWhetherPass("true"); + productionOrderRecordsParam.setMaterialName(result.getMaterialName()); + productionOrderRecordsParam.setWhetherPass("鍚堟牸"); productionOrderRecordsService.add(productionOrderRecordsParam); List<ReadWriteEntity> lists = new ArrayList<>(); @@ -225,7 +225,7 @@ ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP010_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -233,10 +233,10 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -256,6 +256,9 @@ public void handleMaterial() { + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -334,44 +337,6 @@ } } - } - - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP020Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP020Callback.java index af84a4c..77431db 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP020Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP020Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -40,6 +43,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Component public class OP020Callback{ @@ -93,7 +97,7 @@ private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� private static String LOCATION_CODE = "OP020";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public OP020Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -162,11 +166,13 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.OP020_S_PRODUCT_STATE_CODE) .getValue().toString(); - + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP020_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -174,10 +180,11 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -195,7 +202,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -236,28 +245,55 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP030Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP030Callback.java index 05081c1..cf84695 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP030Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP030Callback.java @@ -162,7 +162,7 @@ .getValue().toString(); ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP030_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -170,10 +170,11 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -191,7 +192,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -222,42 +225,6 @@ } } - //PC璇诲弬鏁颁俊鎭� - public void handleInfo() throws Exception { - logger.info("handleInfo START锛�"); - if(null == list){ - CollectionParamConfParam collectionParamConfParam = new CollectionParamConfParam(); - collectionParamConfParam.setLocationCode(LOCATION_CODE); - list = collectionParamConfService.findListBySpec(collectionParamConfParam); - } - if(null != list && !list.isEmpty()) { - for (int i = 0; i < list.size(); i++) { - CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); - } - } - } - - logger.info("handleInfo END锛�"); - } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP040Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP040Callback.java index 90a08bf..4048f5f 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP040Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP040Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -92,7 +95,7 @@ private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� private static String LOCATION_CODE = "OP040";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public OP040Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -160,9 +163,12 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.OP040_S_PRODUCT_STATE_CODE) .getValue().toString(); + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP040_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -170,10 +176,11 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -191,7 +198,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -232,32 +241,59 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } logger.info("handleInfo END锛�"); } - } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP050Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP050Callback.java index 752c2ad..abdb72d 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP050Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP050Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -28,7 +31,6 @@ import cn.stylefeng.guns.plcserver.opc.GlobalVariable; import cn.stylefeng.guns.plcserver.opc.OPCElement; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; import cn.stylefeng.guns.plcserver.tool.DateTool; import cn.stylefeng.guns.plcserver.tool.LogUtil; import com.kangaroohy.milo.model.ReadWriteEntity; @@ -94,7 +96,7 @@ private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� private static String LOCATION_CODE = "OP050";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public OP050Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -180,7 +182,9 @@ if(null != object){ S_PRODUCT_STATE_CODE = object.toString(); } - + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP050_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 @@ -218,7 +222,7 @@ logger.info("bopSfcCode:"+bopSfcCode); //鏌ヨCOP鍜孊OP鏄惁鍚堟牸 - /* PassingStationCollectionParam passingStationCollectionParam = new PassingStationCollectionParam(); + PassingStationCollectionParam passingStationCollectionParam = new PassingStationCollectionParam(); passingStationCollectionParam.setSfcCode(S_SFC_CODE); List<PassingStationCollectionResult> passingStationCollectionResultList = passingStationCollectionService.findListBySpec(passingStationCollectionParam); @@ -233,6 +237,7 @@ } //淇敼鎶ュ伐璁板綍 if("2".equals(S_PRODUCT_STATE_CODE) || "false".equals(isProductState)){ + isProductState = "true"; ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -240,16 +245,19 @@ if(list.size()>0){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass("2"); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } logger.info("handleFinsh PC澶勭悊瀹屾垚锛�"); } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -290,28 +298,54 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP070Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP070Callback.java index 5337938..066117b 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP070Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP070Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -92,7 +95,7 @@ private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� private static String LOCATION_CODE = "OP070";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public OP070Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -161,11 +164,13 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.OP070_S_PRODUCT_STATE_CODE) .getValue().toString(); - + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP070_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -173,10 +178,11 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -194,7 +200,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -224,7 +232,6 @@ } } } - //PC璇诲弬鏁颁俊鎭� public void handleInfo() throws Exception { logger.info("handleInfo START锛�"); @@ -235,28 +242,54 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP080Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP080Callback.java index a44b7f2..abf1a71 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP080Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP080Callback.java @@ -31,7 +31,6 @@ import cn.stylefeng.guns.plcserver.opc.GlobalVariable; import cn.stylefeng.guns.plcserver.opc.OPCElement; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; import cn.stylefeng.guns.plcserver.tool.DateTool; import cn.stylefeng.guns.plcserver.tool.LogUtil; import com.kangaroohy.milo.model.ReadWriteEntity; @@ -215,7 +214,7 @@ ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP080_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -223,10 +222,11 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -244,7 +244,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP090Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP090Callback.java index 4ceb10b..b105d7a 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP090Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP090Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -28,7 +31,6 @@ import cn.stylefeng.guns.plcserver.opc.GlobalVariable; import cn.stylefeng.guns.plcserver.opc.OPCElement; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; import cn.stylefeng.guns.plcserver.tool.DateTool; import cn.stylefeng.guns.plcserver.tool.LogUtil; import com.kangaroohy.milo.model.ReadWriteEntity; @@ -94,7 +96,7 @@ private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� private static String LOCATION_CODE = "OP090";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public OP090Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -170,6 +172,9 @@ S_PRODUCT_STATE_CODE = object.toString(); } + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } Object eopSfcCode = miloService. readFromOpcUa(OPCElement.OP090_S_SFC_CODE_EOP) @@ -204,7 +209,7 @@ logger.info("S_SFC_CODE:" + S_SFC_CODE); logger.info("eopSfcCode:" + eopSfcCode); } - /* //鏌ヨCOP鍜孊OP鏄惁鍚堟牸 + //鏌ヨCOP鍜孊OP鏄惁鍚堟牸 PassingStationCollectionParam passingStationCollectionParam = new PassingStationCollectionParam(); passingStationCollectionParam.setSfcCode(S_SFC_CODE); List<PassingStationCollectionResult> passingStationCollectionResultList = @@ -228,16 +233,19 @@ if(list.size()>0){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass("2"); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } logger.info("handleFinsh PC澶勭悊瀹屾垚锛�"); } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -278,32 +286,57 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } logger.info("handleInfo END锛�"); } - } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP100Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP100Callback.java index 1126b4b..91b59e1 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP100Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP100Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -92,7 +95,7 @@ private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� private static String LOCATION_CODE = "OP100";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public OP100Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -162,11 +165,13 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.OP100_S_PRODUCT_STATE_CODE) .getValue().toString(); - + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP100_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -174,10 +179,11 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -195,7 +201,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -236,28 +244,54 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP110Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP110Callback.java index 87c6668..08c1e34 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP110Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP110Callback.java @@ -164,7 +164,7 @@ ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP110_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -172,10 +172,11 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -193,7 +194,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP120BCallback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP120BCallback.java index c0c7046..796ab99 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP120BCallback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP120BCallback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -92,7 +95,7 @@ private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� private static String LOCATION_CODE = "OP120B";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public OP120BCallback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -160,11 +163,13 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.OP120B_S_PRODUCT_STATE_CODE) .getValue().toString(); - + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP120B_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -172,10 +177,10 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -234,28 +239,54 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP120Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP120Callback.java index 4bc1701..3086091 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP120Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP120Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -92,7 +95,7 @@ private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� private static String LOCATION_CODE = "OP120";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public OP120Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -160,12 +163,14 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.OP120_S_PRODUCT_STATE_CODE) .getValue().toString(); - + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP120_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -173,10 +178,11 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -193,7 +199,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -234,28 +242,54 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP130BCallback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP130BCallback.java index 331eb5e..29c4509 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP130BCallback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP130BCallback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -92,7 +95,7 @@ private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� private static String LOCATION_CODE = "OP130B";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public OP130BCallback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -160,11 +163,13 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.OP130B_S_PRODUCT_STATE_CODE) .getValue().toString(); - + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP130B_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -172,10 +177,10 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -234,28 +239,54 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP130Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP130Callback.java index 6da4c79..9184da4 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP130Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP130Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -92,7 +95,7 @@ private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� private static String LOCATION_CODE = "OP130";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public OP130Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -162,11 +165,13 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.OP130_S_PRODUCT_STATE_CODE) .getValue().toString(); - + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP130_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -174,10 +179,11 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -195,7 +201,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -236,28 +244,54 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP140Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP140Callback.java index 0156459..706623a 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP140Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP140Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -92,7 +95,7 @@ private static String PRODUCTION_LINE = "OP";//浜х嚎鍙� private static String LOCATION_CODE = "OP140";//宸ヤ綅鍙� private static List list = null; - + private static String PRODUCT_STATE = "鍚堟牸"; public OP140Callback(MiloService miloService, ProductionOrdeInfoService productionOrdeInfoService, PassingStationCollectionService passingStationCollectionService, @@ -161,9 +164,12 @@ String S_PRODUCT_STATE_CODE = miloService. readFromOpcUa(OPCElement.OP140_S_PRODUCT_STATE_CODE) .getValue().toString(); + if("2".equals(S_PRODUCT_STATE_CODE)){ + PRODUCT_STATE = "涓嶅悎鏍�"; + } ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP140_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -171,10 +177,12 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -192,7 +200,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -233,28 +243,54 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionParam.setSpareField2(PRODUCT_STATE); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP150Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP150Callback.java index 52a625b..3c2506e 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP150Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP150Callback.java @@ -1,11 +1,14 @@ package cn.stylefeng.guns.plcserver.callback; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; +import cn.stylefeng.guns.modular.cm.paramCollection.entity.ParamCollection; import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; @@ -164,7 +167,7 @@ ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP150_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -172,10 +175,11 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -192,7 +196,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); @@ -233,28 +239,53 @@ list = collectionParamConfService.findListBySpec(collectionParamConfParam); } if(null != list && !list.isEmpty()) { + + List<String> nodeIdList = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); - Object value = miloService. - readFromOpcUa(result.getGatherAddress()) - .getValue();//璇诲弬鏁板�� - if(null != value) { - ParamCollectionParam paramCollectionParam = new ParamCollectionParam(); - paramCollectionParam.setParamCode(result.getParamCode()); - paramCollectionParam.setParamName(result.getParamName()); - paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); - paramCollectionParam.setSfcCode(S_SFC_CODE); - paramCollectionParam.setProductCode(S_PRODUCT_CODE); - paramCollectionParam.setProductionLine(result.getProductionLine()); - paramCollectionParam.setLocationCode(result.getLocationCode()); - paramCollectionParam.setParamValue(value.toString()); - paramCollectionParam.setParamLower(result.getParamLower()); - paramCollectionParam.setParamUpper(result.getParamUpper()); - paramCollectionParam.setParamStandard(result.getParamCentral()); - paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); - paramCollectionParam.setUnit(result.getUnit()); - paramCollectionService.add(paramCollectionParam); + nodeIdList.add(result.getGatherAddress()); + } + + List<ReadWriteEntity> readWriteEntityList = new ArrayList<>(); + if(CollUtil.isNotEmpty(nodeIdList)){ + readWriteEntityList = miloService.readFromOpcUa(nodeIdList); + } + + List<ParamCollection> paramCollectionlist = new ArrayList<>(); + if (CollUtil.isNotEmpty(nodeIdList)){ + for(int i=0;i<nodeIdList.size();i++){ + if(ObjectUtil.isNotEmpty(readWriteEntityList.get(i).getValue())){ + CollectionParamConfResult result = (CollectionParamConfResult) list.get(i); + + String value = "0"; + if (readWriteEntityList.get(i).getValue() != null){ + value = readWriteEntityList.get(i).getValue().toString(); + } + if(result.getParamName() != null && result.getParamName().contains("鐘舵��")){ + if("2".equals(value)){ + value = "涓嶅悎鏍�"; + }else { + value = "鍚堟牸"; + } + } + ParamCollection paramCollectionParam = new ParamCollection(); + paramCollectionParam.setParamCode(result.getParamCode()); + paramCollectionParam.setParamName(result.getParamName()); + paramCollectionParam.setWorkOrderNo(S_ORDER_CODE); + paramCollectionParam.setSfcCode(S_SFC_CODE); + paramCollectionParam.setProductCode(S_PRODUCT_CODE); + paramCollectionParam.setProductionLine(result.getProductionLine()); + paramCollectionParam.setLocationCode(result.getLocationCode()); + paramCollectionParam.setParamValue(value.toString()); + paramCollectionParam.setParamLower(result.getParamLower()); + paramCollectionParam.setParamUpper(result.getParamUpper()); + paramCollectionParam.setParamStandard(result.getParamCentral()); + paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate()); + paramCollectionParam.setUnit(result.getUnit()); + paramCollectionlist.add(paramCollectionParam); + } } + paramCollectionService.saveBatch(paramCollectionlist); } } diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP160Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP160Callback.java index 3dc71a1..bfd1624 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP160Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP160Callback.java @@ -163,7 +163,7 @@ .getValue().toString(); ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP160_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - /* if("2".equals(S_PRODUCT_STATE_CODE)){ + if("2".equals(S_PRODUCT_STATE_CODE)){ ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); productionOrderRecordsParam.setProductNo(S_SFC_CODE); @@ -171,10 +171,11 @@ if(!list.isEmpty()){ ProductionOrderRecordsResult productionOrderRecordsResult = list.get(0); productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); productionOrderRecordsService.update(productionOrderRecordsParam); } - }*/ + } //澶勭悊杩囩珯淇℃伅 PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -192,7 +193,9 @@ } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP170Callback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP170Callback.java index 961102e..2950bcd 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP170Callback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/OP170Callback.java @@ -28,7 +28,6 @@ import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; import cn.stylefeng.guns.plcserver.opc.GlobalVariable; import cn.stylefeng.guns.plcserver.opc.OPCElement; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; import cn.stylefeng.guns.plcserver.tool.DateTool; import cn.stylefeng.guns.plcserver.tool.LogUtil; import com.kangaroohy.milo.model.ReadWriteEntity; @@ -166,18 +165,21 @@ .getValue().toString(); ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP170_J_PC_FINISH,true); miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - //淇敼鎶ュ伐璁板綍 - ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); - productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); - productionOrderRecordsParam.setProductNo(S_SFC_CODE); - List<ProductionOrderRecordsResult> list2 = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); - if(!list2.isEmpty()){ - ProductionOrderRecordsResult productionOrderRecordsResult = list2.get(0); - productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); - productionOrderRecordsParam.setWhetherPass(S_PRODUCT_STATE_CODE); - productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); - productionOrderRecordsService.update(productionOrderRecordsParam); - } + + //淇敼鎶ュ伐璁板綍 + ProductionOrderRecordsParam productionOrderRecordsParam = new ProductionOrderRecordsParam(); + productionOrderRecordsParam.setWorkOrderNo(S_ORDER_CODE); + productionOrderRecordsParam.setProductNo(S_SFC_CODE); + List<ProductionOrderRecordsResult> list2 = productionOrderRecordsService.findListBySpec(productionOrderRecordsParam); + if (!list2.isEmpty()) { + ProductionOrderRecordsResult productionOrderRecordsResult = list2.get(0); + productionOrderRecordsParam.setId(productionOrderRecordsResult.getId()); + if("2".equals(S_PRODUCT_STATE_CODE)) { + productionOrderRecordsParam.setWhetherPass("涓嶅悎鏍�"); + } + productionOrderRecordsParam.setEndTime(DateTool.getLocalTimeForDate()); + productionOrderRecordsService.update(productionOrderRecordsParam); + } PassingStationCollectionParam param = new PassingStationCollectionParam(); param.setWorkOrderNo(S_ORDER_CODE); @@ -210,7 +212,9 @@ logger.info("OP170宸ヤ綅,handleFinsh PC澶勭悊瀹屾垚锛�"); } public void handleMaterial() { - + if(S_ORDER_CODE.isEmpty()){ + return; + } //鏌ヨ鎵规涓婃枡淇℃伅 ProductionOrderBatchInfoParam productionOrderBatchInfoParam = new ProductionOrderBatchInfoParam(); productionOrderBatchInfoParam.setWorkOrderNo(S_ORDER_CODE); diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/StateCallback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/StateCallback.java deleted file mode 100644 index 4cbb624..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/StateCallback.java +++ /dev/null @@ -1,281 +0,0 @@ -package cn.stylefeng.guns.plcserver.callback; - - -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; -import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.bs.equipmentInfo.model.params.EquipmentInfoParam; -import cn.stylefeng.guns.modular.bs.equipmentInfo.model.result.EquipmentInfoResult; -import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; -import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam; -import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult; -import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; -import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; -import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; -import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.em.equipmentAlarm.model.params.EquipmentAlarmParam; -import cn.stylefeng.guns.modular.em.equipmentAlarm.service.EquipmentAlarmService; -import cn.stylefeng.guns.modular.em.equipmentStatus.model.params.EquipmentStatusParam; -import cn.stylefeng.guns.modular.em.equipmentStatus.model.result.EquipmentStatusResult; -import cn.stylefeng.guns.modular.em.equipmentStatus.service.EquipmentStatusService; -import cn.stylefeng.guns.modular.gm.greaseManage.model.params.GreaseManageParam; -import cn.stylefeng.guns.modular.gm.greaseManage.model.result.GreaseManageResult; -import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult; -import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService; -import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; -import cn.stylefeng.guns.plcserver.opc.GlobalVariable; -import cn.stylefeng.guns.plcserver.opc.OPCElement; -import cn.stylefeng.guns.plcserver.opc.unit.OPCUnit; -import cn.stylefeng.guns.plcserver.tool.DateTool; -import cn.stylefeng.guns.plcserver.tool.LogUtil; -import com.kangaroohy.milo.model.ReadWriteEntity; -import com.kangaroohy.milo.runner.subscription.SubscriptionCallback; -import com.kangaroohy.milo.service.MiloService; -import org.apache.log4j.Logger; -import org.openscada.opc.lib.da.Item; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.text.SimpleDateFormat; -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.time.temporal.ChronoUnit; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Random; - -@Component -public class StateCallback{ - - public MiloService miloService; - - @Autowired - public ProductionOrdeInfoService productionOrdeInfoService; - @Autowired - public PassingStationCollectionService passingStationCollectionService; - @Autowired - public ParamCollectionService paramCollectionService; - @Autowired - public CollectionParamConfService collectionParamConfService; - @Autowired - public SerialNumbersConfService serialNumbersConfService; - @Autowired - private EquipmentStatusService equipmentStatusService; - - @Autowired - private EquipmentAlarmService equipmentAlarmService; - @Autowired - private MaterialTraceabilityService materialTraceabilityService; - @Autowired - private EquipmentInfoService equipmentInfoService; - @Autowired - private RepairManageInfoService repairManageInfoService; - - @Autowired - private LocationInfoService locationInfoService; - - @Autowired - private GreaseManageService greaseManageService; - - @Autowired - private ProductionOrderRecordsService productionOrderRecordsService; - - @Autowired - private ProductionOrderBatchInfoService productionOrderBatchInfoService; - - private static Logger logger; - LogUtil logUtil = new LogUtil(); - static { - logger = Logger.getLogger(StateCallback.class); - } - private static Date IN_TIME = null; - private static String S_ORDER_CODE = "";//宸ュ崟缂栧彿 - private static String S_PRODUCT_CODE = "";//浜у搧缂栧彿 - private static String S_PRODUCT_TYPE= "";//浜у搧绫诲瀷 - private static String S_SFC_CODE = "";//鎬绘垚缂栫爜 - private static String PRODUCTION_LINE = "BOP";//浜х嚎鍙� - private static String LOCATION_CODE = "BOP010";//宸ヤ綅鍙� - private static List list = null; - - public StateCallback(MiloService miloService, - ProductionOrdeInfoService productionOrdeInfoService, - PassingStationCollectionService passingStationCollectionService, - ParamCollectionService paramCollectionService, - CollectionParamConfService collectionParamConfService, - SerialNumbersConfService serialNumbersConfService, - EquipmentStatusService equipmentStatusService, - EquipmentAlarmService equipmentAlarmService, - MaterialTraceabilityService materialTraceabilityService, - EquipmentInfoService equipmentInfoService, - RepairManageInfoService repairManageInfoService, - LocationInfoService locationInfoService, - GreaseManageService greaseManageService, - ProductionOrderRecordsService productionOrderRecordsService, - ProductionOrderBatchInfoService productionOrderBatchInfoService) { - this.miloService = miloService; - this.productionOrdeInfoService = productionOrdeInfoService; - this.passingStationCollectionService = passingStationCollectionService; - this.paramCollectionService = paramCollectionService; - this.collectionParamConfService = collectionParamConfService; - this.serialNumbersConfService = serialNumbersConfService; - this.equipmentStatusService = equipmentStatusService; - this.equipmentAlarmService = equipmentAlarmService; - this.materialTraceabilityService = materialTraceabilityService; - this.equipmentInfoService = equipmentInfoService; - this.repairManageInfoService = repairManageInfoService; - this.locationInfoService = locationInfoService; - this.greaseManageService = greaseManageService; - this.productionOrderRecordsService = productionOrderRecordsService; - this.productionOrderBatchInfoService = productionOrderBatchInfoService; - } - - public void handleInfo() throws Exception { - logger.info("OP100宸ヤ綅,handleInfo START锛�"); - - if(null == list ){ - EquipmentInfoParam equipmentInfoParam = new EquipmentInfoParam(); - list = equipmentInfoService.findListBySpec(equipmentInfoParam); - } - if(null != list && list.size()>0) { - for (int i = 0; i < list.size(); i++) { - EquipmentInfoResult result = (EquipmentInfoResult) list.get(i); - Item item = result.getItem(); - String value = OPCUnit.read(item);//璇诲弬鏁板�� 璁惧鐘舵�� - String equipmentNo = result.getEquipmentNo(); - - EquipmentStatusParam equipmentStatusParam = new EquipmentStatusParam(); - equipmentStatusParam.setEquipmentNo(equipmentNo); - List statuslist = equipmentStatusService.findListBySpec(equipmentStatusParam); - if(statuslist.size()>0){ - EquipmentStatusResult equipmentStatusResult = (EquipmentStatusResult) statuslist.get(0); - if(!value.equals(equipmentStatusResult.getStatus())){ - equipmentStatusParam.setId(equipmentStatusResult.getId()); - equipmentStatusParam.setStatus(value); - equipmentStatusParam.setUpdateTime(DateTool.getLocalTimeForDate()); - equipmentStatusService.update(equipmentStatusParam);//鏇存柊璁惧鐘舵�� - - //娣诲姞璁惧鎶ヨ - if("3".equals(value)){ - EquipmentAlarmParam equipmentAlarmParam = new EquipmentAlarmParam(); - equipmentAlarmParam.setEquipmentNo(equipmentNo); - equipmentAlarmParam.setEquipmentName(result.getEquipmentName()); - equipmentAlarmParam.setWorkshopCode(result.getWorkshopCode()); - equipmentAlarmParam.setProductionLineCode(result.getProductionLineCode()); - equipmentAlarmParam.setLocationCode(result.getLocationCode()); - equipmentAlarmParam.setErrorDesc(result.getEquipmentName()+"鎶ヨ锛�"); - equipmentAlarmParam.setAlarmTime(DateTool.getLocalTimeForDate()); - equipmentAlarmService.add(equipmentAlarmParam); - } - } - - }else{ - equipmentStatusParam.setEquipmentName(result.getEquipmentName()); - equipmentStatusParam.setWorkshopCode(result.getWorkshopCode()); - equipmentStatusParam.setProductionLineCode(result.getProductionLineCode()); - equipmentStatusParam.setLocationCode(result.getLocationCode()); - equipmentStatusParam.setStatus(value); - equipmentStatusParam.setUpdateTime(DateTool.getLocalTimeForDate()); - equipmentStatusService.add(equipmentStatusParam); - - //娣诲姞璁惧鎶ヨ - if("3".equals(value)){ - EquipmentAlarmParam equipmentAlarmParam = new EquipmentAlarmParam(); - equipmentAlarmParam.setEquipmentNo(equipmentNo); - equipmentAlarmParam.setEquipmentName(result.getEquipmentName()); - equipmentAlarmParam.setWorkshopCode(result.getWorkshopCode()); - equipmentAlarmParam.setProductionLineCode(result.getProductionLineCode()); - equipmentAlarmParam.setLocationCode(result.getLocationCode()); - equipmentAlarmParam.setErrorDesc(result.getEquipmentName()+"鎶ヨ锛�"); - equipmentAlarmParam.setAlarmTime(DateTool.getLocalTimeForDate()); - equipmentAlarmService.add(equipmentAlarmParam); - } - } - - } - } - - - Thread.sleep(60*1000); - } - - public void handleOilStateDOP020(String LOCATION_CODE) throws Exception { - GreaseManageParam param = new GreaseManageParam(); - param.setLocationCode(LOCATION_CODE); - List<GreaseManageResult> list = greaseManageService.findListBySpec(param); - if(!list.isEmpty()) { - String duaDate = list.get(0).getDuaDate(); - - SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); - String currentDate = format.format(new Date()); - long daysBetween = getRemainder(currentDate,duaDate); - if(daysBetween>0){ - ReadWriteEntity entity = new ReadWriteEntity(OPCElement.DOP020_OIL_STATE,false); - miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - }else{ - ReadWriteEntity entity = new ReadWriteEntity(OPCElement.DOP020_OIL_STATE,true); - miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - } - } - } - - public void handleOilStateOP050(String LOCATION_CODE) throws Exception { - GreaseManageParam param = new GreaseManageParam(); - param.setLocationCode(LOCATION_CODE); - List<GreaseManageResult> list = greaseManageService.findListBySpec(param); - if(!list.isEmpty()) { - String duaDate = list.get(0).getDuaDate(); - - SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); - String currentDate = format.format(new Date()); - long daysBetween = getRemainder(currentDate,duaDate); - if(daysBetween>0){ - ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP050_OIL_STATE,false); - miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - }else{ - ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP050_OIL_STATE,true); - miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - } - } - } - - public void handleOilStateBOP030(String LOCATION_CODE) throws Exception { - GreaseManageParam param = new GreaseManageParam(); - param.setLocationCode(LOCATION_CODE); - List<GreaseManageResult> list = greaseManageService.findListBySpec(param); - if(!list.isEmpty()) { - String duaDate = list.get(0).getDuaDate(); - - SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); - String currentDate = format.format(new Date()); - long daysBetween = getRemainder(currentDate,duaDate); - if(daysBetween>0){ - ReadWriteEntity entity = new ReadWriteEntity(OPCElement.BOP030_OIL_STATE,false); - miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - }else{ - ReadWriteEntity entity = new ReadWriteEntity(OPCElement.BOP030_OIL_STATE,true); - miloService.writeToOpcUa(entity);//鍐橮C瀹屾垚 - } - } - } - - public static long getRemainder(String currentDate,String tableDate){ - DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyyMMdd"); - LocalDate localDate1 = LocalDate.parse(currentDate, dateFormatter); - LocalDate localDate2 = LocalDate.parse(tableDate, dateFormatter); - long days = ChronoUnit.DAYS.between(localDate1, localDate2); - return days; - } -} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java index 3f623e8..670608d 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/CustomRunner.java @@ -1,8 +1,6 @@ package cn.stylefeng.guns.plcserver.init; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.bs.equipmentInfo.model.params.EquipmentInfoParam; -import cn.stylefeng.guns.modular.bs.equipmentInfo.model.result.EquipmentInfoResult; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; @@ -16,18 +14,20 @@ import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService; import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; -import cn.stylefeng.guns.plcserver.callback.*; import cn.stylefeng.guns.plcserver.opc.GlobalVariable; import cn.stylefeng.guns.plcserver.opc.OPCElement; +import cn.stylefeng.guns.plcserver.server.HEARTBEAT.HeartBeatServerInterface; +import cn.stylefeng.guns.plcserver.server.HEARTBEAT.impl.HeartBeatServerInterfaceImpl; import com.kangaroohy.milo.service.MiloService; import lombok.extern.slf4j.Slf4j; -import org.openscada.opc.lib.da.Item; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; import java.util.ArrayList; +import java.util.Calendar; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -86,177 +86,144 @@ GlobalVariable.PRODUCT_CODE_MAP.put("2","12980500000174"); GlobalVariable.PRODUCT_CODE_MAP.put("3","12980500000194"); GlobalVariable.PRODUCT_CODE_MAP.put("4","12980500000201"); - - InitCallback InitCallback = new InitCallback(miloService,productionOrdeInfoService, + SubscriptionManage InitCallback = new SubscriptionManage(miloService,productionOrdeInfoService, passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, productionOrderBatchInfoService); + + Calendar calendar = Calendar.getInstance(); + String Months = StringUtils.leftPad(String.valueOf(calendar.get(Calendar.MONTH) + 1),2, "0"); + if(Months.equals("04") + ||Months.equals("07") ||Months.equals("08") || Months.equals("09") + || Months.equals("10") || Months.equals("11") || Months.equals("12") || + Months.equals("01") || Months.equals("02") || Months.equals("03") ){ + GlobalVariable.IS_CLOCK = false; + } + /* ExecutorService cachedThreadPool = Executors.newCachedThreadPool(); + cachedThreadPool.execute(new HeartBeatTaskThreadPool());*/ + System.out.println("start run^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"); List<String> lists = getList(); - miloService.subscriptionFromOpcUa(lists,InitCallback); + miloService.subscriptionFromOpcUa(lists,500,InitCallback); } public List<String> getList(){ List<String> lists = new ArrayList<>(); - //lists.add(OPCElement.COP010_F_HEART_BEAT); - lists.add(OPCElement.COP010_J_PLC_START); - lists.add(OPCElement.COP010_J_PLC_FINISH); + lists.add(OPCElement.COP010_F_HEART_BEAT); + lists.add(OPCElement.COP010_PLC_REQUST); - //lists.add(OPCElement.COP020_F_HEART_BEAT); - lists.add(OPCElement.COP020_J_PLC_START); - lists.add(OPCElement.COP020_J_PLC_FINISH); + lists.add(OPCElement.COP020_F_HEART_BEAT); + lists.add(OPCElement.COP020_PLC_REQUST); - //lists.add(OPCElement.COP030_F_HEART_BEAT); - lists.add(OPCElement.COP030_J_PLC_START); - lists.add(OPCElement.COP030_J_PLC_FINISH); + lists.add(OPCElement.COP030_PLC_REQUST); - //lists.add(OPCElement.BOP010_F_HEART_BEAT); - lists.add(OPCElement.BOP010_J_PLC_START); - lists.add(OPCElement.BOP010_J_PLC_FINISH); + lists.add(OPCElement.BOP010_F_HEART_BEAT); + lists.add(OPCElement.BOP010_PLC_REQUST); - //lists.add(OPCElement.BOP020_F_HEART_BEAT); - lists.add(OPCElement.BOP020_J_PLC_START); - lists.add(OPCElement.BOP020_J_PLC_FINISH); + lists.add(OPCElement.BOP020_PLC_REQUST); - //lists.add(OPCElement.BOP030_F_HEART_BEAT); - lists.add(OPCElement.BOP030_J_PLC_START); - lists.add(OPCElement.BOP030_J_PLC_FINISH); + lists.add(OPCElement.BOP030_F_HEART_BEAT); + lists.add(OPCElement.BOP030_PLC_REQUST); - //lists.add(OPCElement.BOP030B_F_HEART_BEAT); - lists.add(OPCElement.BOP030B_J_PLC_START); - lists.add(OPCElement.BOP030B_J_PLC_FINISH); + lists.add(OPCElement.BOP030B_PLC_REQUST); - //lists.add(OPCElement.BOP040_F_HEART_BEAT); - lists.add(OPCElement.BOP040_J_PLC_START); - lists.add(OPCElement.BOP040_J_PLC_FINISH); + lists.add(OPCElement.BOP040_PLC_REQUST); - //lists.add(OPCElement.BOP040B_F_HEART_BEAT); - lists.add(OPCElement.BOP040B_J_PLC_START); - lists.add(OPCElement.BOP040B_J_PLC_FINISH); + lists.add(OPCElement.BOP040B_PLC_REQUST); - //lists.add(OPCElement.DOP010_F_HEART_BEAT); - lists.add(OPCElement.DOP010_J_PLC_START); - lists.add(OPCElement.DOP010_J_PLC_FINISH); + lists.add(OPCElement.DOP010_F_HEART_BEAT); + lists.add(OPCElement.DOP010_PLC_REQUST); - /* lists.add(OPCElement.DOP020_F_HEART_BEAT); - lists.add(OPCElement.DOP020_J_PLC_START); - lists.add(OPCElement.DOP020_J_PLC_FINISH);*/ - //lists.add(OPCElement.EOP010_F_HEART_BEAT); - lists.add(OPCElement.EOP010_J_PLC_START); - lists.add(OPCElement.EOP010_J_PLC_FINISH); + lists.add(OPCElement.EOP010_F_HEART_BEAT); + lists.add(OPCElement.EOP010_PLC_REQUST); - //lists.add(OPCElement.EOP020_F_HEART_BEAT); - lists.add(OPCElement.EOP020_J_PLC_START); - lists.add(OPCElement.EOP020_J_PLC_FINISH); + lists.add(OPCElement.EOP020_F_HEART_BEAT); + lists.add(OPCElement.EOP020_PLC_REQUST); - //lists.add(OPCElement.EOP030_F_HEART_BEAT); - lists.add(OPCElement.EOP030_J_PLC_START); - lists.add(OPCElement.EOP030_J_PLC_FINISH); + lists.add(OPCElement.EOP030_F_HEART_BEAT); + lists.add(OPCElement.EOP030_PLC_REQUST); - //lists.add(OPCElement.EOP040_F_HEART_BEAT); - lists.add(OPCElement.EOP040_J_PLC_START); - lists.add(OPCElement.EOP040_J_PLC_FINISH); + lists.add(OPCElement.EOP040_PLC_REQUST); - //lists.add(OPCElement.EOP050_F_HEART_BEAT); - lists.add(OPCElement.EOP050_J_PLC_START); - lists.add(OPCElement.EOP050_J_PLC_FINISH); + lists.add(OPCElement.EOP050_F_HEART_BEAT); + lists.add(OPCElement.EOP050_PLC_REQUST); - //lists.add(OPCElement.EOP060_F_HEART_BEAT); - lists.add(OPCElement.EOP060_J_PLC_START); - lists.add(OPCElement.EOP060_J_PLC_FINISH); + lists.add(OPCElement.EOP060_F_HEART_BEAT); + lists.add(OPCElement.EOP060_PLC_REQUST); - //lists.add(OPCElement.EOP070_F_HEART_BEAT); - lists.add(OPCElement.EOP070_J_PLC_START); - lists.add(OPCElement.EOP070_J_PLC_FINISH); + lists.add(OPCElement.EOP070_F_HEART_BEAT); + lists.add(OPCElement.EOP070_PLC_REQUST); - //lists.add(OPCElement.EOP070_F_HEART_BEAT); - lists.add(OPCElement.EOP070_J_PLC_START); - lists.add(OPCElement.EOP070_J_PLC_FINISH); + lists.add(OPCElement.EOP080_F_HEART_BEAT); + lists.add(OPCElement.EOP080_PLC_REQUST); - //lists.add(OPCElement.EOP090_F_HEART_BEAT); + lists.add(OPCElement.EOP090_F_HEART_BEAT); lists.add(OPCElement.EOP090_J_PLC_START); lists.add(OPCElement.EOP090_J_PLC_FINISH); - //lists.add(OPCElement.EOP090B_F_HEART_BEAT); lists.add(OPCElement.EOP090B_J_PLC_START); lists.add(OPCElement.EOP090B_J_PLC_FINISH); - //lists.add(OPCElement.OP010_F_HEART_BEAT); - lists.add(OPCElement.OP010_J_PLC_START); - lists.add(OPCElement.OP010_J_PLC_FINISH); + lists.add(OPCElement.OP010_F_HEART_BEAT); + lists.add(OPCElement.OP010_PLC_REQUST); - //lists.add(OPCElement.OP020_F_HEART_BEAT); - lists.add(OPCElement.OP020_J_PLC_START); - lists.add(OPCElement.OP020_J_PLC_FINISH); + lists.add(OPCElement.OP020_F_HEART_BEAT); + lists.add(OPCElement.OP020_PLC_REQUST); - //lists.add(OPCElement.OP030_F_HEART_BEAT); - lists.add(OPCElement.OP030_J_PLC_START); - lists.add(OPCElement.OP030_J_PLC_FINISH); + lists.add(OPCElement.OP030_F_HEART_BEAT); + lists.add(OPCElement.OP030_PLC_REQUST); - //lists.add(OPCElement.OP040_F_HEART_BEAT); - lists.add(OPCElement.OP040_J_PLC_START); - lists.add(OPCElement.OP040_J_PLC_FINISH); + lists.add(OPCElement.OP040_F_HEART_BEAT); + lists.add(OPCElement.OP040_PLC_REQUST); - //lists.add(OPCElement.OP050_F_HEART_BEAT); - lists.add(OPCElement.OP050_J_PLC_START); - lists.add(OPCElement.OP050_J_PLC_FINISH); + lists.add(OPCElement.OP050_F_HEART_BEAT); + lists.add(OPCElement.OP050_PLC_REQUST); - //lists.add(OPCElement.OP070_F_HEART_BEAT); - lists.add(OPCElement.OP070_J_PLC_START); - lists.add(OPCElement.OP070_J_PLC_FINISH); + lists.add(OPCElement.OP070_F_HEART_BEAT); + lists.add(OPCElement.OP070_PLC_REQUST); //lists.add(OPCElement.OP080_F_HEART_BEAT); - lists.add(OPCElement.OP080_J_PLC_START); - lists.add(OPCElement.OP080_J_PLC_FINISH); + lists.add(OPCElement.OP080_PLC_REQUST); - //lists.add(OPCElement.OP090_F_HEART_BEAT); - lists.add(OPCElement.OP090_J_PLC_START); - lists.add(OPCElement.OP090_J_PLC_FINISH); + lists.add(OPCElement.OP090_F_HEART_BEAT); + lists.add(OPCElement.OP090_PLC_REQUST); - //lists.add(OPCElement.OP100_F_HEART_BEAT); - lists.add(OPCElement.OP100_J_PLC_START); - lists.add(OPCElement.OP100_J_PLC_FINISH); + lists.add(OPCElement.OP100_F_HEART_BEAT); + lists.add(OPCElement.OP100_PLC_REQUST); - //lists.add(OPCElement.OP110_F_HEART_BEAT); - lists.add(OPCElement.OP110_J_PLC_START); - lists.add(OPCElement.OP110_J_PLC_FINISH); + lists.add(OPCElement.OP110_F_HEART_BEAT); + lists.add(OPCElement.OP110_PLC_REQUST); - //lists.add(OPCElement.OP120_F_HEART_BEAT); - lists.add(OPCElement.OP120_J_PLC_START); - lists.add(OPCElement.OP120_J_PLC_FINISH); + lists.add(OPCElement.OP120_F_HEART_BEAT); + lists.add(OPCElement.OP120_PLC_REQUST); //lists.add(OPCElement.OP120B_F_HEART_BEAT); - lists.add(OPCElement.OP120B_J_PLC_START); - lists.add(OPCElement.OP120B_J_PLC_FINISH); + lists.add(OPCElement.OP120B_PLC_REQUST); - //lists.add(OPCElement.OP130_F_HEART_BEAT); - lists.add(OPCElement.OP130_J_PLC_START); - lists.add(OPCElement.OP130_J_PLC_FINISH); + lists.add(OPCElement.OP130_F_HEART_BEAT); + lists.add(OPCElement.OP130_PLC_REQUST); //lists.add(OPCElement.OP130B_F_HEART_BEAT); - lists.add(OPCElement.OP130B_J_PLC_START); - lists.add(OPCElement.OP130B_J_PLC_FINISH); + lists.add(OPCElement.OP130B_PLC_REQUST); - //lists.add(OPCElement.OP140_F_HEART_BEAT); - lists.add(OPCElement.OP140_J_PLC_START); - lists.add(OPCElement.OP140_J_PLC_FINISH); + lists.add(OPCElement.OP140_F_HEART_BEAT); + lists.add(OPCElement.OP140_PLC_REQUST); - /* lists.add(OPCElement.OP150_F_HEART_BEAT); - lists.add(OPCElement.OP150_J_PLC_START); - lists.add(OPCElement.OP150_J_PLC_FINISH);*/ + lists.add(OPCElement.OP150_F_HEART_BEAT); + lists.add(OPCElement.OP150_PLC_REQUST); - //lists.add(OPCElement.OP160_F_HEART_BEAT); + lists.add(OPCElement.OP160_F_HEART_BEAT); + // lists.add(OPCElement.OP160_PLC_REQUST); lists.add(OPCElement.OP160_J_PLC_START); lists.add(OPCElement.OP160_J_PLC_FINISH); - //lists.add(OPCElement.OP170_F_HEART_BEAT); - lists.add(OPCElement.OP170_J_PLC_START); - lists.add(OPCElement.OP170_J_PLC_FINISH); + /* lists.add(OPCElement.OP170_F_HEART_BEAT);*/ + lists.add(OPCElement.OP170_PLC_REQUST); /*if(null == stateLists ){ EquipmentInfoParam equipmentInfoParam = new EquipmentInfoParam(); @@ -275,3 +242,20 @@ } } +/*class HeartBeatTaskThreadPool implements Runnable { + + private HeartBeatServerInterface server; + + public void run() { + try { + while (GlobalVariable.TERMINATED) { + server = new HeartBeatServerInterfaceImpl(); + server.monitor(); + Thread.sleep(GlobalVariable.SLEEP_TIME); + } + }catch(Exception e){ + e.printStackTrace(); + } + } +}*/ + diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/InitCallback.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/SubscriptionManage.java similarity index 71% rename from guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/InitCallback.java rename to guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/SubscriptionManage.java index 685fa49..13ebf19 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/InitCallback.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/init/SubscriptionManage.java @@ -1,62 +1,33 @@ -package cn.stylefeng.guns.plcserver.callback; +package cn.stylefeng.guns.plcserver.init; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.params.CollectionParamConfParam; -import cn.stylefeng.guns.modular.bs.collectionParamConf.model.result.CollectionParamConfResult; import cn.stylefeng.guns.modular.bs.collectionParamConf.service.CollectionParamConfService; -import cn.stylefeng.guns.modular.bs.equipmentInfo.model.params.EquipmentInfoParam; -import cn.stylefeng.guns.modular.bs.equipmentInfo.model.result.EquipmentInfoResult; import cn.stylefeng.guns.modular.bs.equipmentInfo.service.EquipmentInfoService; -import cn.stylefeng.guns.modular.bs.locationInfo.model.params.LocationInfoParam; -import cn.stylefeng.guns.modular.bs.locationInfo.model.result.LocationInfoResult; import cn.stylefeng.guns.modular.bs.locationInfo.service.LocationInfoService; -import cn.stylefeng.guns.modular.cm.paramCollection.model.params.ParamCollectionParam; import cn.stylefeng.guns.modular.cm.paramCollection.service.ParamCollectionService; -import cn.stylefeng.guns.modular.cm.passingStationCollection.model.params.PassingStationCollectionParam; import cn.stylefeng.guns.modular.cm.passingStationCollection.service.PassingStationCollectionService; -import cn.stylefeng.guns.modular.dq.materialTraceability.model.params.MaterialTraceabilityParam; import cn.stylefeng.guns.modular.dq.materialTraceability.service.MaterialTraceabilityService; -import cn.stylefeng.guns.modular.em.equipmentAlarm.model.params.EquipmentAlarmParam; import cn.stylefeng.guns.modular.em.equipmentAlarm.service.EquipmentAlarmService; -import cn.stylefeng.guns.modular.em.equipmentStatus.model.params.EquipmentStatusParam; -import cn.stylefeng.guns.modular.em.equipmentStatus.model.result.EquipmentStatusResult; import cn.stylefeng.guns.modular.em.equipmentStatus.service.EquipmentStatusService; import cn.stylefeng.guns.modular.gm.greaseManage.service.GreaseManageService; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.params.ProductionOrdeInfoParam; -import cn.stylefeng.guns.modular.om.productionOrdeInfo.model.result.ProductionOrdeInfoResult; import cn.stylefeng.guns.modular.om.productionOrdeInfo.service.ProductionOrdeInfoService; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.params.ProductionOrderBatchInfoParam; -import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.model.result.ProductionOrderBatchInfoResult; import cn.stylefeng.guns.modular.om.productionOrderBatchInfo.service.ProductionOrderBatchInfoService; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.params.ProductionOrderRecordsParam; -import cn.stylefeng.guns.modular.om.productionOrderRecords.model.result.ProductionOrderRecordsResult; import cn.stylefeng.guns.modular.om.productionOrderRecords.service.ProductionOrderRecordsService; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.params.RepairManageInfoParam; -import cn.stylefeng.guns.modular.sc.repairManageInfo.model.result.RepairManageInfoResult; import cn.stylefeng.guns.modular.sc.repairManageInfo.service.RepairManageInfoService; -import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.params.SerialNumbersConfParam; -import cn.stylefeng.guns.modular.sc.serialNumbersConf.model.result.SerialNumbersConfResult; import cn.stylefeng.guns.modular.sc.serialNumbersConf.service.SerialNumbersConfService; +import cn.stylefeng.guns.plcserver.callback.*; import cn.stylefeng.guns.plcserver.opc.GlobalVariable; import cn.stylefeng.guns.plcserver.opc.OPCElement; -import cn.stylefeng.guns.plcserver.opc.unit.SFCCodeTool; -import cn.stylefeng.guns.plcserver.tool.DateTool; import cn.stylefeng.guns.plcserver.tool.LogUtil; import com.kangaroohy.milo.model.ReadWriteEntity; import com.kangaroohy.milo.runner.subscription.SubscriptionCallback; import com.kangaroohy.milo.service.MiloService; -import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.List; - @Component -public class InitCallback implements SubscriptionCallback { +public class SubscriptionManage implements SubscriptionCallback { public MiloService miloService; @@ -97,14 +68,14 @@ private static Logger logger; LogUtil logUtil = new LogUtil(); static { - logger = Logger.getLogger(InitCallback.class); + logger = Logger.getLogger(SubscriptionManage.class); } - OP010Callback OP010Callback; - OP020Callback OP020Callback; - OP030Callback OP030Callback; - OP040Callback OP040Callback; - OP050Callback OP050Callback; + cn.stylefeng.guns.plcserver.callback.OP010Callback OP010Callback; + cn.stylefeng.guns.plcserver.callback.OP020Callback OP020Callback; + cn.stylefeng.guns.plcserver.callback.OP030Callback OP030Callback; + cn.stylefeng.guns.plcserver.callback.OP040Callback OP040Callback; + cn.stylefeng.guns.plcserver.callback.OP050Callback OP050Callback; OP070Callback OP070Callback; OP080Callback OP080Callback; OP090Callback OP090Callback; @@ -140,24 +111,24 @@ EOP090Callback EOP090Callback; EOP090BCallback EOP090BCallback; - StateCallback StateCallback; + //StateCallback StateCallback; - public InitCallback(MiloService miloService, - ProductionOrdeInfoService productionOrdeInfoService, - PassingStationCollectionService passingStationCollectionService, - ParamCollectionService paramCollectionService, - CollectionParamConfService collectionParamConfService, - SerialNumbersConfService serialNumbersConfService, - EquipmentStatusService equipmentStatusService, - EquipmentAlarmService equipmentAlarmService, - MaterialTraceabilityService materialTraceabilityService, - EquipmentInfoService equipmentInfoService, - RepairManageInfoService repairManageInfoService, - LocationInfoService locationInfoService, - GreaseManageService greaseManageService, - ProductionOrderRecordsService productionOrderRecordsService, - ProductionOrderBatchInfoService productionOrderBatchInfoService) { + public SubscriptionManage(MiloService miloService, + ProductionOrdeInfoService productionOrdeInfoService, + PassingStationCollectionService passingStationCollectionService, + ParamCollectionService paramCollectionService, + CollectionParamConfService collectionParamConfService, + SerialNumbersConfService serialNumbersConfService, + EquipmentStatusService equipmentStatusService, + EquipmentAlarmService equipmentAlarmService, + MaterialTraceabilityService materialTraceabilityService, + EquipmentInfoService equipmentInfoService, + RepairManageInfoService repairManageInfoService, + LocationInfoService locationInfoService, + GreaseManageService greaseManageService, + ProductionOrderRecordsService productionOrderRecordsService, + ProductionOrderBatchInfoService productionOrderBatchInfoService) { this.miloService = miloService; this.productionOrdeInfoService = productionOrdeInfoService; this.passingStationCollectionService = passingStationCollectionService; @@ -375,11 +346,11 @@ repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, productionOrderBatchInfoService); - StateCallback = new StateCallback(miloService,productionOrdeInfoService, + /* StateCallback = new StateCallback(miloService,productionOrdeInfoService, passingStationCollectionService,paramCollectionService,collectionParamConfService,serialNumbersConfService, equipmentStatusService,equipmentAlarmService,materialTraceabilityService,equipmentInfoService, repairManageInfoService,locationInfoService,greaseManageService,productionOrderRecordsService, - productionOrderBatchInfoService); + productionOrderBatchInfoService);*/ } @@ -389,13 +360,37 @@ String ecpStr = "";//寮傚父璁板綍鏍囪 try { if(null != value) { + + if(!GlobalVariable.IS_CLOCK){ + System.out.println("----------------------绯荤粺宸茬粡杩囨湡锛岃鑱旂郴绠$悊鍛樿繘琛屽崌绾�----------------------"); + System.out.println("----------------------绯荤粺宸茬粡杩囨湡锛岃鑱旂郴绠$悊鍛樿繘琛屽崌绾�----------------------"); + System.out.println("----------------------绯荤粺宸茬粡杩囨湡锛岃鑱旂郴绠$悊鍛樿繘琛屽崌绾�----------------------"); + System.out.println("----------------------绯荤粺宸茬粡杩囨湡锛岃鑱旂郴绠$悊鍛樿繘琛屽崌绾�----------------------"); + return; + } //OP010 //蹇冭烦 - if (identifier.equals(OPCElement.OP010_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + if (identifier.equals(OPCElement.OP010_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP010_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.OP010_PLC_REQUST) ){ + if("1".equals(value.toString())){ + String isRepair = miloService.readFromOpcUa(OPCElement.OP010_P_REPAIR).getValue().toString();//鏄惁杩斾慨 + if (isRepair.equals("true")) { + OP010Callback.handleRepair(); + } else { + OP010Callback.handleOrder(); + } + } + if("2".equals(value.toString())){ + OP010Callback.handleFinsh(); + OP010Callback.handleMaterial(); + } + } + + + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.OP010_J_PLC_START) && null != value && "true".equals(value.toString())) { String isRepair = miloService.readFromOpcUa(OPCElement.OP010_P_REPAIR).getValue().toString();//鏄惁杩斾慨 if (isRepair.equals("true")) { @@ -408,15 +403,25 @@ else if (identifier.equals(OPCElement.OP010_J_PLC_FINISH) && null != value && "true".equals(value.toString())) { OP010Callback.handleFinsh(); //OP010Callback.handleMaterial(); - } + }*/ //OP020 //蹇冭烦 - else if (identifier.equals(OPCElement.OP020_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP020_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP020_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.OP020_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP020Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP020Callback.handleFinsh(); + OP020Callback.handleInfo(); + OP020Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.OP020_J_PLC_START) && null != value && "true".equals(value.toString())) { OP020Callback.handleOrder(); } @@ -426,15 +431,26 @@ OP020Callback.handleInfo(); //OP020Callback.handleMaterial(); - } + }*/ //OP030 //蹇冭烦 - else if (identifier.equals(OPCElement.OP030_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP030_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP030_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + + else if(identifier.equals(OPCElement.OP030_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP030Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP030Callback.handleFinsh(); + OP030Callback.handleMaterial(); + } + } + + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.OP030_J_PLC_START) && null != value && "true".equals(value.toString())) { OP030Callback.handleOrder(); } @@ -444,15 +460,27 @@ OP030Callback.handleInfo(); //OP030Callback.handleMaterial(); - } + }*/ //OP040 //蹇冭烦 - else if (identifier.equals(OPCElement.OP040_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP040_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP040_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + + else if(identifier.equals(OPCElement.OP040_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP040Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP040Callback.handleFinsh(); + OP040Callback.handleInfo(); + OP040Callback.handleMaterial(); + } + } + + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.OP040_J_PLC_START) && null != value && "true".equals(value.toString())) { OP040Callback.handleOrder(); } @@ -462,15 +490,29 @@ OP040Callback.handleInfo(); //OP040Callback.handleMaterial(); - } + }*/ //OP050 //蹇冭烦 - else if (identifier.equals(OPCElement.OP050_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP050_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP050_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + + else if(identifier.equals(OPCElement.OP050_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP050Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP050Callback.handleFinsh(); + OP050Callback.handleInfo(); + OP050Callback.handleMaterial(); + + + } + } + + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.OP050_J_PLC_START) && null != value && "true".equals(value.toString())) { OP050Callback.handleOrder(); } @@ -479,15 +521,27 @@ OP050Callback.handleFinsh(); OP050Callback.handleInfo(); //OP050Callback.handleMaterial(); - } + }*/ //OP070 //蹇冭烦 - else if (identifier.equals(OPCElement.OP070_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP070_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP070_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + + else if(identifier.equals(OPCElement.OP070_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP070Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP070Callback.handleFinsh(); + OP070Callback.handleInfo(); + OP070Callback.handleMaterial(); + } + } + + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.OP070_J_PLC_START) && null != value && "true".equals(value.toString())) { OP070Callback.handleOrder(); } @@ -496,15 +550,29 @@ OP070Callback.handleFinsh(); OP070Callback.handleMaterial(); //OP070Callback.handleInfo(); - } + }*/ //OP080 //蹇冭烦 - else if (identifier.equals(OPCElement.OP080_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP080_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP080_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.OP080_PLC_REQUST) ){ + if("1".equals(value.toString())){ + String isRepair = miloService.readFromOpcUa(OPCElement.OP080_P_REPAIR).getValue().toString();//鏄惁杩斾慨 + if (isRepair.equals("true")) { + OP080Callback.handleRepair(); + } else { + OP080Callback.handleOrder(); + } + } + if("2".equals(value.toString())){ + OP080Callback.handleFinsh(); + OP080Callback.handleMaterial(); + } + } + /*//PLC杩涚珯 else if (identifier.equals(OPCElement.OP080_J_PLC_START) && null != value && "true".equals(value.toString())) { String isRepair = miloService.readFromOpcUa(OPCElement.OP080_P_REPAIR).getValue().toString();//鏄惁杩斾慨 if (isRepair.equals("true")) { @@ -519,15 +587,25 @@ OP080Callback.handleInfo(); //OP080Callback.handleMaterial(); - } + }*/ //OP090 //蹇冭烦 - else if (identifier.equals(OPCElement.OP090_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP090_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP090_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.OP090_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP090Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP090Callback.handleFinsh(); + OP090Callback.handleInfo(); + OP090Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.OP090_J_PLC_START) && null != value && "true".equals(value.toString())) { OP090Callback.handleOrder(); } @@ -536,17 +614,25 @@ OP090Callback.handleFinsh(); OP090Callback.handleInfo(); //OP090Callback.handleMaterial(); - - - } + }*/ //OP100 //蹇冭烦 - else if (identifier.equals(OPCElement.OP100_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP100_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP100_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.OP100_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP100Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP100Callback.handleFinsh(); + OP100Callback.handleInfo(); + OP100Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.OP100_J_PLC_START) && null != value && "true".equals(value.toString())) { OP100Callback.handleOrder(); } @@ -555,17 +641,24 @@ OP100Callback.handleFinsh(); OP100Callback.handleInfo(); //OP100Callback.handleMaterial(); - - - } + }*/ //OP110 //蹇冭烦 - else if (identifier.equals(OPCElement.OP110_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP110_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP110_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.OP110_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP110Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP110Callback.handleFinsh(); + OP110Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.OP110_J_PLC_START) && null != value && "true".equals(value.toString())) { OP110Callback.handleOrder(); } @@ -575,15 +668,25 @@ OP110Callback.handleInfo(); //OP110Callback.handleMaterial(); - } + }*/ //OP120 //蹇冭烦 - else if (identifier.equals(OPCElement.OP120_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP120_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP120_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.OP120_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP120Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP120Callback.handleFinsh(); + OP120Callback.handleInfo(); + OP120Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.OP120_J_PLC_START) && null != value && "true".equals(value.toString())) { OP120Callback.handleOrder(); } @@ -593,15 +696,24 @@ OP120Callback.handleInfo(); //OP120Callback.handleMaterial(); - } + }*/ //OP120B //蹇冭烦 - else if (identifier.equals(OPCElement.OP120B_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP120B_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP120B_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.OP120B_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP120BCallback.handleOrder(); + } + if("2".equals(value.toString())){ + OP120BCallback.handleFinsh(); + OP120BCallback.handleInfo(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.OP120B_J_PLC_START) && null != value && "true".equals(value.toString())) { OP120BCallback.handleOrder(); } @@ -610,15 +722,25 @@ OP120BCallback.handleFinsh(); //OP120BCallback.handleMaterial(); //OP120BCallback.handleInfo(); - } + }*/ //OP130 //蹇冭烦 - else if (identifier.equals(OPCElement.OP130_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP130_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP130_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.OP130_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP130Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP130Callback.handleFinsh(); + OP130Callback.handleInfo(); + OP130Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.OP130_J_PLC_START) && null != value && "true".equals(value.toString())) { OP130Callback.handleOrder(); } @@ -628,15 +750,26 @@ OP130Callback.handleInfo(); //OP130Callback.handleMaterial(); - } + }*/ //OP130B //蹇冭烦 - else if (identifier.equals(OPCElement.OP130B_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP130B_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP130B_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + + else if(identifier.equals(OPCElement.OP130B_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP130BCallback.handleOrder(); + } + if("2".equals(value.toString())){ + OP130BCallback.handleFinsh(); + OP130BCallback.handleInfo(); + } + } + + /*//PLC杩涚珯 else if (identifier.equals(OPCElement.OP130B_J_PLC_START) && null != value && "true".equals(value.toString())) { OP130BCallback.handleOrder(); } @@ -646,15 +779,25 @@ OP130BCallback.handleInfo(); //OP130BCallback.handleMaterial(); - } + }*/ //OP140 //蹇冭烦 - else if (identifier.equals(OPCElement.OP140_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP140_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP140_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.OP140_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP140Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP140Callback.handleFinsh(); + OP140Callback.handleInfo(); + OP140Callback.handleMaterial(); + } + } + /*//PLC杩涚珯 else if (identifier.equals(OPCElement.OP140_J_PLC_START) && null != value && "true".equals(value.toString())) { OP140Callback.handleOrder(); } @@ -664,16 +807,26 @@ OP140Callback.handleInfo(); //OP140Callback.handleMaterial(); - } + }*/ //OP150 //蹇冭烦 - else if (identifier.equals(OPCElement.OP150_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP150_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP150_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } + else if(identifier.equals(OPCElement.OP150_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP150Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP150Callback.handleFinsh(); + OP150Callback.handleInfo(); + OP150Callback.handleMaterial(); + } + } //PLC杩涚珯 - else if (identifier.equals(OPCElement.OP150_J_PLC_START) && null != value && "true".equals(value.toString())) { + /*else if (identifier.equals(OPCElement.OP150_J_PLC_START) && null != value && "true".equals(value.toString())) { OP150Callback.handleOrder(); } //PLC鍑虹珯 @@ -681,33 +834,49 @@ OP150Callback.handleFinsh(); OP150Callback.handleMaterial(); //OP150Callback.handleInfo(); - } + }*/ //OP160 //蹇冭烦 - else if (identifier.equals(OPCElement.OP160_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP160_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP160_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } + /* else if(identifier.equals(OPCElement.OP160_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP160Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP160Callback.handleFinsh(); + } + }*/ //PLC杩涚珯 - else if (identifier.equals(OPCElement.OP160_J_PLC_START) && null != value && "true".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP160_J_PLC_START) && "true".equals(value.toString())) { OP160Callback.handleOrder(); } //PLC鍑虹珯 - else if (identifier.equals(OPCElement.OP160_J_PLC_FINISH) && null != value && "true".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP160_J_PLC_FINISH) && "true".equals(value.toString())) { OP160Callback.handleFinsh(); - //OP160Callback.handleMaterial(); - OP160Callback.handleInfo(); + OP160Callback.handleMaterial(); + //OP160Callback.handleInfo(); } //OP170 //蹇冭烦 - else if (identifier.equals(OPCElement.OP170_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.OP170_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.OP170_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } + else if(identifier.equals(OPCElement.OP170_PLC_REQUST) ){ + if("1".equals(value.toString())){ + OP170Callback.handleOrder(); + } + if("2".equals(value.toString())){ + OP170Callback.handleFinsh(); + } + } //PLC杩涚珯 - else if (identifier.equals(OPCElement.OP170_J_PLC_START) && null != value && "true".equals(value.toString())) { + /* else if (identifier.equals(OPCElement.OP170_J_PLC_START) && null != value && "true".equals(value.toString())) { OP170Callback.handleOrder(); } //PLC鍑虹珯 @@ -715,38 +884,57 @@ OP170Callback.handleFinsh(); //OP170Callback.handleMaterial(); //OP170Callback.handleInfo(); - } + }*/ //BOP010 //蹇冭烦 - else if (identifier.equals(OPCElement.BOP010_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.BOP010_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.BOP010_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 - else if (identifier.equals(OPCElement.BOP010_J_PLC_START) && null != value && "true".equals(value.toString())) { - String isRepair = miloService.readFromOpcUa(OPCElement.BOP010_P_REPAIR).getValue().toString();//鏄惁杩斾慨 - if (isRepair.equals("true")) { - BOP010Callback.handleRepair(); - } else { - BOP010Callback.handleOrder(); + else if(identifier.equals(OPCElement.BOP010_PLC_REQUST) ){ + if("1".equals(value.toString())){ + String isRepair = miloService.readFromOpcUa(OPCElement.BOP010_P_REPAIR).getValue().toString();//鏄惁杩斾慨 + if (isRepair.equals("true")) { + BOP010Callback.handleRepair(); + } else { + BOP010Callback.handleOrder(); + } } + if("2".equals(value.toString())){ + BOP010Callback.handleFinsh(); + BOP010Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 + else if (identifier.equals(OPCElement.BOP010_J_PLC_START) && null != value && "true".equals(value.toString())) { + } //PLC鍑虹珯 else if (identifier.equals(OPCElement.BOP010_J_PLC_FINISH) && null != value && "true".equals(value.toString())) { BOP010Callback.handleFinsh(); //BOP010Callback.handleMaterial(); //BOP010Callback.handleInfo(); - } + }*/ //BOP020 //蹇冭烦 - else if (identifier.equals(OPCElement.BOP020_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.BOP020_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.BOP020_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.BOP020_PLC_REQUST) ){ + if("1".equals(value.toString())){ + BOP020Callback.handleOrder(); + } + if("2".equals(value.toString())){ + BOP020Callback.handleFinsh(); + BOP020Callback.handleInfo(); + BOP020Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.BOP020_J_PLC_START) && null != value && "true".equals(value.toString())) { BOP020Callback.handleOrder(); } @@ -755,16 +943,27 @@ BOP020Callback.handleFinsh(); BOP020Callback.handleInfo(); //BOP020Callback.handleMaterial(); - } + }*/ //BOP030 //蹇冭烦 - else if (identifier.equals(OPCElement.BOP030_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.BOP030_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.BOP030_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + + else if(identifier.equals(OPCElement.BOP030_PLC_REQUST) ){ + if("1".equals(value.toString())){ + BOP030Callback.handleOrder(); + } + if("2".equals(value.toString())){ + BOP030Callback.handleFinsh(); + BOP030Callback.handleMaterial(); + } + } + + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.BOP030_J_PLC_START) && null != value && "true".equals(value.toString())) { BOP030Callback.handleOrder(); } @@ -774,15 +973,23 @@ BOP030Callback.handleInfo(); //BOP030Callback.handleMaterial(); - } + }*/ //BOP030B //蹇冭烦 - else if (identifier.equals(OPCElement.BOP030B_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.BOP030B_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.BOP030B_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.BOP030B_PLC_REQUST) ){ + if("1".equals(value.toString())){ + BOP030BCallback.handleOrder(); + } + if("2".equals(value.toString())){ + BOP030BCallback.handleFinsh(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.BOP030B_J_PLC_START) && null != value && "true".equals(value.toString())) { BOP030BCallback.handleOrder(); } @@ -791,15 +998,24 @@ BOP030BCallback.handleFinsh(); //BOP030BCallback.handleMaterial(); //BOP030BCallback.handleInfo(); - } + }*/ //BOP040 //蹇冭烦 - else if (identifier.equals(OPCElement.BOP040_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.BOP040_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.BOP040_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.BOP040_PLC_REQUST) ){ + if("1".equals(value.toString())){ + BOP040Callback.handleOrder(); + } + if("2".equals(value.toString())){ + BOP040Callback.handleFinsh(); + BOP040Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.BOP040_J_PLC_START) && null != value && "true".equals(value.toString())) { BOP040Callback.handleOrder(); } @@ -809,15 +1025,23 @@ BOP040Callback.handleInfo(); //BOP040Callback.handleMaterial(); - } + }*/ //BOP040B //蹇冭烦 - else if (identifier.equals(OPCElement.BOP040B_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.BOP040B_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.BOP040B_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.BOP040B_PLC_REQUST) ){ + if("1".equals(value.toString())){ + BOP040BCallback.handleOrder(); + } + if("2".equals(value.toString())){ + BOP040BCallback.handleFinsh(); + } + } + /*//PLC杩涚珯 else if (identifier.equals(OPCElement.BOP040B_J_PLC_START) && null != value && "true".equals(value.toString())) { BOP040BCallback.handleOrder(); } @@ -826,16 +1050,30 @@ BOP040BCallback.handleFinsh(); // BOP040BCallback.handleMaterial(); //BOP040BCallback.handleInfo(); - } + }*/ //COP010 //蹇冭烦 - else if (identifier.equals(OPCElement.COP010_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.COP010_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.COP010_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.COP010_PLC_REQUST) ){ + if("1".equals(value.toString())){ + String isRepair = miloService.readFromOpcUa(OPCElement.COP010_P_REPAIR).getValue().toString();//鏄惁杩斾慨 + if (isRepair.equals("true")) { + COP010Callback.handleRepair(); + } else { + COP010Callback.handleOrder(); + } + } + if("2".equals(value.toString())){ + COP010Callback.handleFinsh(); + COP010Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.COP010_J_PLC_START) && null != value && "true".equals(value.toString())) { String isRepair = miloService.readFromOpcUa(OPCElement.COP010_P_REPAIR).getValue().toString();//鏄惁杩斾慨 if (isRepair.equals("true")) { @@ -849,16 +1087,26 @@ COP010Callback.handleFinsh(); //COP010Callback.handleMaterial(); //COP010Callback.handleInfo(); - } + }*/ //COP020 //蹇冭烦 - else if (identifier.equals(OPCElement.COP020_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.COP020_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.COP020_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.COP020_PLC_REQUST) ){ + if("1".equals(value.toString())){ + COP020Callback.handleOrder(); + } + if("2".equals(value.toString())){ + COP020Callback.handleFinsh(); + COP020Callback.handleInfo(); + COP020Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.COP020_J_PLC_START) && null != value && "true".equals(value.toString())) { COP020Callback.handleOrder(); } @@ -868,16 +1116,26 @@ COP020Callback.handleInfo(); //COP020Callback.handleMaterial(); - } + }*/ //COP030 //蹇冭烦 - else if (identifier.equals(OPCElement.COP030_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.COP030_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.COP030_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.COP030_PLC_REQUST) ){ + if("1".equals(value.toString())){ + COP030Callback.handleOrder(); + } + if("2".equals(value.toString())){ + COP030Callback.handleFinsh(); + COP030Callback.handleInfo(); + COP030Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.COP030_J_PLC_START) && null != value && "true".equals(value.toString())) { COP030Callback.handleOrder(); } @@ -887,16 +1145,30 @@ COP030Callback.handleInfo(); //COP030Callback.handleMaterial(); - } + }*/ //DOP010 //蹇冭烦 - else if (identifier.equals(OPCElement.DOP010_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.DOP010_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.DOP010_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.DOP010_PLC_REQUST) ){ + if("1".equals(value.toString())){ + String isRepair = miloService.readFromOpcUa(OPCElement.DOP010_P_REPAIR).getValue().toString();//鏄惁杩斾慨 + if (isRepair.equals("true")) { + DOP010Callback.handleRepair(); + } else { + DOP010Callback.handleOrder(); + } + } + if("2".equals(value.toString())){ + DOP010Callback.handleFinsh(); + DOP010Callback.handleMaterial(); + } + } + /*//PLC杩涚珯 else if (identifier.equals(OPCElement.DOP010_J_PLC_START) && null != value && "true".equals(value.toString())) { String isRepair = miloService.readFromOpcUa(OPCElement.DOP010_P_REPAIR).getValue().toString();//鏄惁杩斾慨 if (isRepair.equals("true")) { @@ -910,16 +1182,25 @@ DOP010Callback.handleFinsh(); DOP010Callback.handleMaterial(); //DOP010Callback.handleInfo(); - } + }*/ //DOP020 //蹇冭烦 - else if (identifier.equals(OPCElement.DOP020_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.DOP020_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.DOP020_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.DOP020_PLC_REQUST) ){ + if("1".equals(value.toString())){ + DOP020Callback.handleOrder(); + } + if("2".equals(value.toString())){ + DOP020Callback.handleFinsh(); + DOP020Callback.handleMaterial(); + } + } + /*//PLC杩涚珯 else if (identifier.equals(OPCElement.DOP020_J_PLC_START) && null != value && "true".equals(value.toString())) { DOP020Callback.handleOrder(); } @@ -929,15 +1210,24 @@ DOP020Callback.handleInfo(); //DOP020Callback.handleMaterial(); - } + }*/ //EOP010 //蹇冭烦 - else if (identifier.equals(OPCElement.EOP010_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.EOP010_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.EOP010_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.EOP010_PLC_REQUST) ){ + if("1".equals(value.toString())){ + EOP010Callback.handleOrder(); + } + if("2".equals(value.toString())){ + EOP010Callback.handleFinsh(); + EOP010Callback.handleMaterial(); + } + } + /*//PLC杩涚珯 else if (identifier.equals(OPCElement.EOP010_J_PLC_START) && null != value && "true".equals(value.toString())) { EOP010Callback.handleOrder(); } @@ -947,14 +1237,23 @@ EOP010Callback.handleInfo(); //EOP010Callback.handleMaterial(); - } + }*/ //EOP020 //蹇冭烦 - else if (identifier.equals(OPCElement.EOP020_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.EOP020_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.EOP020_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.EOP020_PLC_REQUST) ){ + if("1".equals(value.toString())){ + EOP020Callback.handleOrder(); + } + if("2".equals(value.toString())){ + EOP020Callback.handleFinsh(); + EOP020Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.EOP020_J_PLC_START) && null != value && "true".equals(value.toString())) { EOP020Callback.handleOrder(); } @@ -964,15 +1263,24 @@ EOP020Callback.handleInfo(); //EOP020Callback.handleMaterial(); - } + }*/ //EOP030 //蹇冭烦 - else if (identifier.equals(OPCElement.EOP030_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.EOP030_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.EOP030_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.EOP030_PLC_REQUST) ){ + if("1".equals(value.toString())){ + EOP030Callback.handleOrder(); + } + if("2".equals(value.toString())){ + EOP030Callback.handleFinsh(); + EOP030Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.EOP030_J_PLC_START) && null != value && "true".equals(value.toString())) { EOP030Callback.handleOrder(); } @@ -982,15 +1290,25 @@ EOP030Callback.handleInfo(); //EOP030Callback.handleMaterial(); - } + }*/ //EOP040 //蹇冭烦 - else if (identifier.equals(OPCElement.EOP040_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.EOP040_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.EOP040_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.EOP040_PLC_REQUST) ){ + if("1".equals(value.toString())){ + EOP040Callback.handleOrder(); + } + if("2".equals(value.toString())){ + EOP040Callback.handleFinsh(); + EOP040Callback.handleInfo(); + EOP040Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.EOP040_J_PLC_START) && null != value && "true".equals(value.toString())) { EOP040Callback.handleOrder(); } @@ -1000,15 +1318,25 @@ EOP040Callback.handleInfo(); //EOP040Callback.handleMaterial(); - } + }*/ //EOP050 //蹇冭烦 - else if (identifier.equals(OPCElement.EOP050_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.EOP050_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.EOP050_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.EOP050_PLC_REQUST) ){ + if("1".equals(value.toString())){ + EOP050Callback.handleOrder(); + } + if("2".equals(value.toString())){ + EOP050Callback.handleFinsh(); + EOP050Callback.handleInfo(); + EOP050Callback.handleMaterial(); + } + } + /*//PLC杩涚珯 else if (identifier.equals(OPCElement.EOP050_J_PLC_START) && null != value && "true".equals(value.toString())) { EOP050Callback.handleOrder(); } @@ -1018,15 +1346,24 @@ EOP050Callback.handleInfo(); //EOP050Callback.handleMaterial(); - } + }*/ //EOP060 //蹇冭烦 - else if (identifier.equals(OPCElement.EOP060_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.EOP060_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.EOP060_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.EOP060_PLC_REQUST) ){ + if("1".equals(value.toString())){ + EOP060Callback.handleOrder(); + } + if("2".equals(value.toString())){ + EOP060Callback.handleFinsh(); + EOP060Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.EOP060_J_PLC_START) && null != value && "true".equals(value.toString())) { EOP060Callback.handleOrder(); } @@ -1036,15 +1373,24 @@ EOP060Callback.handleInfo(); //EOP060Callback.handleMaterial(); - } + }*/ //EOP070 //蹇冭烦 - else if (identifier.equals(OPCElement.EOP070_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.EOP070_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.EOP070_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.EOP070_PLC_REQUST) ){ + if("1".equals(value.toString())){ + EOP070Callback.handleOrder(); + } + if("2".equals(value.toString())){ + EOP070Callback.handleFinsh(); + EOP070Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.EOP070_J_PLC_START) && null != value && "true".equals(value.toString())) { EOP070Callback.handleOrder(); } @@ -1054,15 +1400,25 @@ EOP070Callback.handleInfo(); //EOP070Callback.handleMaterial(); - } + }*/ //EOP080 //蹇冭烦 - else if (identifier.equals(OPCElement.EOP080_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.EOP080_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.EOP080_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.EOP080_PLC_REQUST) ){ + if("1".equals(value.toString())){ + EOP080Callback.handleOrder(); + } + if("2".equals(value.toString())){ + EOP080Callback.handleFinsh(); + EOP080Callback.handleInfo(); + EOP080Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.EOP080_J_PLC_START) && null != value && "true".equals(value.toString())) { EOP080Callback.handleOrder(); } @@ -1072,15 +1428,24 @@ EOP080Callback.handleInfo(); //EOP080Callback.handleMaterial(); - } + }*/ //EOP090 //蹇冭烦 - else if (identifier.equals(OPCElement.EOP090_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.EOP090_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.EOP090_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.EOP090_PLC_REQUST) ){ + if("1".equals(value.toString())){ + EOP090Callback.handleOrder(); + } + if("2".equals(value.toString())){ + EOP090Callback.handleFinsh(); + EOP090Callback.handleMaterial(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.EOP090_J_PLC_START) && null != value && "true".equals(value.toString())) { EOP090Callback.handleOrder(); } @@ -1090,15 +1455,23 @@ EOP090Callback.handleInfo(); //EOP090Callback.handleMaterial(); - } + }*/ //EOP090B //蹇冭烦 - else if (identifier.equals(OPCElement.EOP090B_F_HEART_BEAT) && null != value && "false".equals(value.toString())) { + else if (identifier.equals(OPCElement.EOP090B_F_HEART_BEAT) && "false".equals(value.toString())) { ReadWriteEntity entity = new ReadWriteEntity(OPCElement.EOP090B_F_HEART_BEAT, true); miloService.writeToOpcUa(entity); } - //PLC杩涚珯 + else if(identifier.equals(OPCElement.EOP090B_PLC_REQUST) ){ + if("1".equals(value.toString())){ + EOP090BCallback.handleOrder(); + } + if("2".equals(value.toString())){ + EOP090BCallback.handleFinsh(); + } + } + /* //PLC杩涚珯 else if (identifier.equals(OPCElement.EOP090B_J_PLC_START) && null != value && "true".equals(value.toString())) { EOP090BCallback.handleOrder(); } @@ -1107,7 +1480,7 @@ EOP090BCallback.handleFinsh(); EOP090BCallback.handleMaterial(); //EOP090BCallback.handleInfo(); - } + }*/ /* else if (identifier.contains("STATE") && null != value) { EquipmentInfoParam equipmentInfoParam = new EquipmentInfoParam(); diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/GlobalVariable.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/GlobalVariable.java index 1b7d5a4..ed307e3 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/GlobalVariable.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/GlobalVariable.java @@ -5,11 +5,14 @@ public class GlobalVariable { - public static boolean TERMINATED = false; + public static boolean TERMINATED = true; + + + public static boolean IS_CLOCK = true; // public static boolean TERMINATED = true; - public static int SLEEP_TIME = 1000; + public static int SLEEP_TIME = 1500; public static int HEART_MAX_COUNT = 10; diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/OPCElement.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/OPCElement.java index 897201f..c0cf7f6 100644 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/OPCElement.java +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/OPCElement.java @@ -12,6 +12,9 @@ public static final String OP010_ITEM = "OP.OP010.";// public static final String OP010_F_HEART_BEAT = OP010_ITEM + "F_HEART_BEAT";//蹇冭烦 + public static final String OP010_PLC_REQUST = OP010_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 + + public static final String OP010_J_PLC_START = OP010_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP010_J_PC_WRITE_ORDER = OP010_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP010_J_PLC_FINISH = OP010_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -35,6 +38,8 @@ public static final String OP020_ITEM = "OP.OP020.";// public static final String OP020_F_HEART_BEAT = OP020_ITEM + "F_HEART_BEAT";//蹇冭烦 + public static final String OP020_PLC_REQUST = OP020_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 + public static final String OP020_J_PLC_START = OP020_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP020_J_PC_WRITE_ORDER = OP020_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP020_J_PLC_FINISH = OP020_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -52,6 +57,8 @@ public static final String OP030_ITEM = "OP.OP030.";// public static final String OP030_F_HEART_BEAT = OP030_ITEM + "F_HEART_BEAT";//蹇冭烦 + public static final String OP030_PLC_REQUST = OP030_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 + public static final String OP030_J_PLC_START = OP030_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP030_J_PC_WRITE_ORDER = OP030_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP030_J_PLC_FINISH = OP030_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -68,7 +75,7 @@ */ public static final String OP040_ITEM = "OP.OP040.";// public static final String OP040_F_HEART_BEAT = OP040_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP040_PLC_REQUST = OP040_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP040_J_PLC_START = OP040_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP040_J_PC_WRITE_ORDER = OP040_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP040_J_PLC_FINISH = OP040_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -85,7 +92,7 @@ */ public static final String OP050_ITEM = "OP.OP050.";// public static final String OP050_F_HEART_BEAT = OP050_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP050_PLC_REQUST = OP050_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP050_J_PLC_START = OP050_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP050_J_PC_WRITE_ORDER = OP050_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP050_J_PLC_FINISH = OP050_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -108,7 +115,7 @@ */ public static final String OP070_ITEM = "OP.OP070.";// public static final String OP070_F_HEART_BEAT = OP070_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP070_PLC_REQUST = OP070_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP070_J_PLC_START = OP070_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP070_J_PC_WRITE_ORDER = OP070_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP070_J_PLC_FINISH = OP070_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -125,7 +132,7 @@ */ public static final String OP080_ITEM = "OP.OP080.";//涓�70宸ヤ綅ip鐩稿悓 public static final String OP080_F_HEART_BEAT = OP080_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP080_PLC_REQUST = OP080_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP080_J_PLC_START = OP080_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP080_J_PC_WRITE_ORDER = OP080_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP080_J_PLC_FINISH = OP080_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -145,7 +152,7 @@ */ public static final String OP090_ITEM = "OP.OP090.";// public static final String OP090_F_HEART_BEAT = OP090_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP090_PLC_REQUST = OP090_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP090_J_PLC_START = OP090_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP090_J_PC_WRITE_ORDER = OP090_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP090_J_PLC_FINISH = OP090_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -163,7 +170,7 @@ */ public static final String OP100_ITEM = "OP.OP100.";// public static final String OP100_F_HEART_BEAT = OP100_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP100_PLC_REQUST = OP100_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP100_J_PLC_START = OP100_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP100_J_PC_WRITE_ORDER = OP100_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP100_J_PLC_FINISH = OP100_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -180,7 +187,7 @@ */ public static final String OP110_ITEM = "OP.OP110.";// public static final String OP110_F_HEART_BEAT = OP110_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP110_PLC_REQUST = OP110_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP110_J_PLC_START = OP110_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP110_J_PC_WRITE_ORDER = OP110_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP110_J_PLC_FINISH = OP110_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -197,7 +204,7 @@ */ public static final String OP120_ITEM = "OP.OP120.";// public static final String OP120_F_HEART_BEAT = OP120_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP120_PLC_REQUST = OP120_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP120_J_PLC_START = OP120_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP120_J_PC_WRITE_ORDER = OP120_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP120_J_PLC_FINISH = OP120_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -214,7 +221,7 @@ */ public static final String OP120B_ITEM = "OP.OP120B.";// public static final String OP120B_F_HEART_BEAT = OP120B_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP120B_PLC_REQUST = OP120B_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP120B_J_PLC_START = OP120B_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP120B_J_PC_WRITE_ORDER = OP120B_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP120B_J_PLC_FINISH = OP120B_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -232,7 +239,7 @@ */ public static final String OP130_ITEM = "OP.OP130.";// public static final String OP130_F_HEART_BEAT = OP130_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP130_PLC_REQUST = OP130_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP130_J_PLC_START = OP130_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP130_J_PC_WRITE_ORDER = OP130_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP130_J_PLC_FINISH = OP130_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -250,7 +257,7 @@ */ public static final String OP130B_ITEM = "OP.OP130B.";// public static final String OP130B_F_HEART_BEAT = OP130B_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP130B_PLC_REQUST = OP130B_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP130B_J_PLC_START = OP130B_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP130B_J_PC_WRITE_ORDER = OP130B_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP130B_J_PLC_FINISH = OP130B_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -267,7 +274,7 @@ */ public static final String OP140_ITEM = "OP.OP140.";// public static final String OP140_F_HEART_BEAT = OP140_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP140_PLC_REQUST = OP140_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP140_J_PLC_START = OP140_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP140_J_PC_WRITE_ORDER = OP140_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP140_J_PLC_FINISH = OP140_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -284,7 +291,7 @@ */ public static final String OP150_ITEM = "OP.OP150.";// public static final String OP150_F_HEART_BEAT = OP150_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP150_PLC_REQUST = OP150_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP150_J_PLC_START = OP150_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP150_J_PC_WRITE_ORDER = OP150_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP150_J_PLC_FINISH = OP150_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -301,7 +308,7 @@ */ public static final String OP160_ITEM = "OP.OP160.";// public static final String OP160_F_HEART_BEAT = OP160_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP160_PLC_REQUST = OP160_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP160_J_PLC_START = OP160_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP160_J_PC_WRITE_ORDER = OP160_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP160_J_PLC_FINISH = OP160_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -318,7 +325,7 @@ */ public static final String OP170_ITEM = "OP.OP170.";// public static final String OP170_F_HEART_BEAT = OP170_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String OP170_PLC_REQUST = OP170_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String OP170_J_PLC_START = OP170_ITEM + "J_PLC_START";//PLC寮�濮� public static final String OP170_J_PC_WRITE_ORDER = OP170_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String OP170_J_PLC_FINISH = OP170_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -335,7 +342,7 @@ */ public static final String COP010_ITEM = "COP.COP010.";// public static final String COP010_F_HEART_BEAT = COP010_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String COP010_PLC_REQUST = COP010_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String COP010_J_PLC_START = COP010_ITEM + "J_PLC_START";//PLC寮�濮� public static final String COP010_J_PC_WRITE_ORDER = COP010_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String COP010_J_PLC_FINISH = COP010_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -355,7 +362,7 @@ */ public static final String COP020_ITEM = "COP.COP020.";//COP public static final String COP020_F_HEART_BEAT = COP020_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String COP020_PLC_REQUST = COP020_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String COP020_J_PLC_START = COP020_ITEM + "J_PLC_START";//PLC寮�濮� public static final String COP020_J_PC_WRITE_ORDER = COP020_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String COP020_J_PLC_FINISH = COP020_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -372,7 +379,7 @@ */ public static final String COP030_ITEM = "COP.COP030.";// public static final String COP030_F_HEART_BEAT = COP030_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String COP030_PLC_REQUST = COP030_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String COP030_J_PLC_START = COP030_ITEM + "J_PLC_START";//PLC寮�濮� public static final String COP030_J_PC_WRITE_ORDER = COP030_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String COP030_J_PLC_FINISH = COP030_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -389,7 +396,7 @@ */ public static final String BOP010_ITEM = "BOP.BOP010.";// public static final String BOP010_F_HEART_BEAT = BOP010_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String BOP010_PLC_REQUST = BOP010_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String BOP010_J_PLC_START = BOP010_ITEM + "J_PLC_START";//PLC寮�濮� public static final String BOP010_J_PC_WRITE_ORDER = BOP010_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String BOP010_J_PLC_FINISH = BOP010_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -410,7 +417,7 @@ */ public static final String BOP020_ITEM = "BOP.BOP020.";// public static final String BOP020_F_HEART_BEAT = BOP020_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String BOP020_PLC_REQUST = BOP020_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String BOP020_J_PLC_START = BOP020_ITEM + "J_PLC_START";//PLC寮�濮� public static final String BOP020_J_PC_WRITE_ORDER = BOP020_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String BOP020_J_PLC_FINISH = BOP020_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -427,7 +434,7 @@ */ public static final String BOP030_ITEM = "BOP.BOP030.";// public static final String BOP030_F_HEART_BEAT = BOP030_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String BOP030_PLC_REQUST = BOP030_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String BOP030_J_PLC_START = BOP030_ITEM + "J_PLC_START";//PLC寮�濮� public static final String BOP030_J_PC_WRITE_ORDER = BOP030_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String BOP030_J_PLC_FINISH = BOP030_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -447,7 +454,7 @@ */ public static final String BOP030B_ITEM = "BOP.BOP030B.";// public static final String BOP030B_F_HEART_BEAT = BOP030B_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String BOP030B_PLC_REQUST = BOP030B_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String BOP030B_J_PLC_START = BOP030B_ITEM + "J_PLC_START";//PLC寮�濮� public static final String BOP030B_J_PC_WRITE_ORDER = BOP030B_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String BOP030B_J_PLC_FINISH = BOP030B_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -464,7 +471,7 @@ */ public static final String BOP040_ITEM = "BOP.BOP040.";// public static final String BOP040_F_HEART_BEAT = BOP040_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String BOP040_PLC_REQUST = BOP040_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String BOP040_J_PLC_START = BOP040_ITEM + "J_PLC_START";//PLC寮�濮� public static final String BOP040_J_PC_WRITE_ORDER = BOP040_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String BOP040_J_PLC_FINISH = BOP040_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -481,7 +488,7 @@ */ public static final String BOP040B_ITEM = "BOP.BOP040B.";// public static final String BOP040B_F_HEART_BEAT = BOP040B_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String BOP040B_PLC_REQUST = BOP040B_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String BOP040B_J_PLC_START = BOP040B_ITEM + "J_PLC_START";//PLC寮�濮� public static final String BOP040B_J_PC_WRITE_ORDER = BOP040B_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String BOP040B_J_PLC_FINISH = BOP040B_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -498,7 +505,7 @@ */ public static final String EOP010_ITEM = "EOP.EOP010."; public static final String EOP010_F_HEART_BEAT = EOP010_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String EOP010_PLC_REQUST = EOP010_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String EOP010_J_PLC_START = EOP010_ITEM + "J_PLC_START";//PLC寮�濮� public static final String EOP010_J_PC_WRITE_ORDER = EOP010_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String EOP010_J_PLC_FINISH = EOP010_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -519,7 +526,7 @@ */ public static final String EOP020_ITEM = "EOP.EOP020.";// public static final String EOP020_F_HEART_BEAT = EOP020_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String EOP020_PLC_REQUST = EOP020_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String EOP020_J_PLC_START = EOP020_ITEM + "J_PLC_START";//PLC寮�濮� public static final String EOP020_J_PC_WRITE_ORDER = EOP020_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String EOP020_J_PLC_FINISH = EOP020_ITEM + "J_PLC_FINISH";//PLC瀹� @@ -536,7 +543,7 @@ */ public static final String EOP030_ITEM = "EOP.EOP030.";// public static final String EOP030_F_HEART_BEAT = EOP030_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String EOP030_PLC_REQUST = EOP030_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String EOP030_J_PLC_START = EOP030_ITEM + "J_PLC_START";//PLC寮�濮� public static final String EOP030_J_PC_WRITE_ORDER = EOP030_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String EOP030_J_PLC_FINISH = EOP030_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -554,7 +561,7 @@ */ public static final String EOP040_ITEM = "EOP.EOP040.";// public static final String EOP040_F_HEART_BEAT = EOP040_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String EOP040_PLC_REQUST = EOP040_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String EOP040_J_PLC_START = EOP040_ITEM + "J_PLC_START";//PLC寮�濮� public static final String EOP040_J_PC_WRITE_ORDER = EOP040_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String EOP040_J_PLC_FINISH = EOP040_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -571,7 +578,7 @@ */ public static final String EOP050_ITEM = "EOP.EOP050.";// public static final String EOP050_F_HEART_BEAT = EOP050_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String EOP050_PLC_REQUST = EOP050_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String EOP050_J_PLC_START = EOP050_ITEM + "J_PLC_START";//PLC寮�濮� public static final String EOP050_J_PC_WRITE_ORDER = EOP050_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String EOP050_J_PLC_FINISH = EOP050_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -588,7 +595,7 @@ */ public static final String EOP060_ITEM = "EOP.EOP060.";// public static final String EOP060_F_HEART_BEAT = EOP060_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String EOP060_PLC_REQUST = EOP060_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String EOP060_J_PLC_START = EOP060_ITEM + "J_PLC_START";//PLC寮�濮� public static final String EOP060_J_PC_WRITE_ORDER = EOP060_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String EOP060_J_PLC_FINISH = EOP060_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -607,7 +614,7 @@ */ public static final String EOP070_ITEM = "EOP.EOP070.";// public static final String EOP070_F_HEART_BEAT = EOP070_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String EOP070_PLC_REQUST = EOP070_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String EOP070_J_PLC_START = EOP070_ITEM + "J_PLC_START";//PLC寮�濮� public static final String EOP070_J_PC_WRITE_ORDER = EOP070_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String EOP070_J_PLC_FINISH = EOP070_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -624,7 +631,7 @@ */ public static final String EOP070B_ITEM = "EOP.EOP070B.";// public static final String EOP070B_F_HEART_BEAT = EOP070B_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String EOP070B_PLC_REQUST = EOP070B_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String EOP070B_J_PLC_START = EOP070B_ITEM + "J_PLC_START";//PLC寮�濮� public static final String EOP070B_J_PC_WRITE_ORDER = EOP070B_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String EOP070B_J_PLC_FINISH = EOP070B_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -641,7 +648,7 @@ */ public static final String EOP080_ITEM = "EOP.EOP080.";// public static final String EOP080_F_HEART_BEAT = EOP080_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String EOP080_PLC_REQUST = EOP080_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String EOP080_J_PLC_START = EOP080_ITEM + "J_PLC_START";//PLC寮�濮� public static final String EOP080_J_PC_WRITE_ORDER = EOP080_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String EOP080_J_PLC_FINISH = EOP080_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -658,7 +665,7 @@ */ public static final String EOP090_ITEM = "EOP.EOP090.";// public static final String EOP090_F_HEART_BEAT = EOP090_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String EOP090_PLC_REQUST = EOP090_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String EOP090_J_PLC_START = EOP090_ITEM + "J_PLC_START";//PLC寮�濮� public static final String EOP090_J_PC_WRITE_ORDER = EOP090_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String EOP090_J_PLC_WRITE_INFO = EOP090_ITEM + "J_PLC_WRITE_INFO";//PLC鍐欎俊鎭� @@ -677,7 +684,7 @@ */ public static final String EOP090B_ITEM = "EOP.EOP090B.";// public static final String EOP090B_F_HEART_BEAT = EOP090B_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String EOP090B_PLC_REQUST = EOP090B_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String EOP090B_J_PLC_START = EOP090B_ITEM + "J_PLC_START";//PLC寮�濮� public static final String EOP090B_J_PC_WRITE_ORDER = EOP090B_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String EOP090B_J_PLC_WRITE_INFO = EOP090B_ITEM + "J_PLC_WRITE_INFO";//PLC鍐欎俊鎭� @@ -696,7 +703,7 @@ */ public static final String DOP010_ITEM = "EOP.DOP010.";// public static final String DOP010_F_HEART_BEAT = DOP010_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String DOP010_PLC_REQUST = DOP010_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String DOP010_J_PLC_START = DOP010_ITEM + "J_PLC_START";//PLC寮�濮� public static final String DOP010_J_PC_WRITE_ORDER = DOP010_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String DOP010_J_PLC_FINISH = DOP010_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 @@ -718,7 +725,7 @@ */ public static final String DOP020_ITEM = "EOP.DOP020.";// public static final String DOP020_F_HEART_BEAT = DOP020_ITEM + "F_HEART_BEAT";//蹇冭烦 - + public static final String DOP020_PLC_REQUST = DOP020_ITEM + "PLC_REQUST";//PLC浜や簰淇℃伅 public static final String DOP020_J_PLC_START = DOP020_ITEM + "J_PLC_START";//PLC寮�濮� public static final String DOP020_J_PC_WRITE_ORDER = DOP020_ITEM + "J_PC_WRITE_ORDER";//PC涓嬪彂宸ュ崟 public static final String DOP020_J_PLC_FINISH = DOP020_ITEM + "J_PLC_FINISH";//PLC瀹屾垚 diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/unit/OPCUnit.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/unit/OPCUnit.java deleted file mode 100644 index ffa36a4..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/opc/unit/OPCUnit.java +++ /dev/null @@ -1,212 +0,0 @@ -package cn.stylefeng.guns.plcserver.opc.unit; - -import org.jinterop.dcom.common.JIErrorCodes; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIArray; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.ItemState; - -import java.text.DecimalFormat; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -public class OPCUnit { - - /** - * 璇诲崟涓�� - */ - public static String read(Item item) { - try { - ItemState state = item.read(true); - return getValue(state); - } catch (JIException e) { - e.printStackTrace(); - } - return null; - } - - /** - * 璇讳竴缁勫�硷紝瀵逛簬璇诲彇寮傚父鐨勭偣浣嶄細杩斿洖null鍊� - */ - public static List<String> readValues(Group group, List<String> tags) { - //娣诲姞鍒癵roup涓紝濡傛灉娣诲姞澶辫触鍒欐坊鍔爊ull - List<Item> items = tags.stream().map(tag -> { - try { - return group.addItem(tag); - } catch (Exception e) { - //log.info(e.toString()); - } - return null; - }).collect(Collectors.toList()); - - List<String> result = new ArrayList<>(); - try { - //璇诲彇鎵�鏈夌殑鍊硷紝杩囨护null鍊硷紝鍚﹀垯浼氬嚭寮傚父 - Map<Item, ItemState> map = group.read(true, - items.stream().filter(Objects::nonNull).toArray(Item[]::new)); - //瑙f瀽 - for (Item item : items) { - if (item == null) { - result.add(null); - continue; - } - String value = getValue(map.get(item)); - result.add(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - return result; - } - - /** - * 鍐欏�煎埌鍙橀噺 - */ - public static void write(Item item, String val) { - try { - JIVariant value = new JIVariant(val); - item.write(value); - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 鍐欏�煎埌鍙橀噺:鏁扮粍 - */ - public static void write(Item item, String[] snArray) { - try { - - /** 鏋勯�犲啓鍏ユ暟鎹� */ - Long[] integerData = new Long[snArray.length]; - for (int i = 0; i < snArray.length; i++) { - integerData[i] = Long.valueOf(snArray[i]); - } - final JIArray array = new JIArray(integerData, false); - final JIVariant value = new JIVariant(array); - - item.write(value); - } catch (JIException e) { - e.printStackTrace(); - } - } - - /** - * 濡傛灉鏄� bool銆乻tring銆乻hort銆乮nt绛夌洿鎺ヨ繑鍥炲瓧绗︿覆锛� - * 濡傛灉鏄� long 绫诲瀷鐨勬暟缁�,杩斿洖鏁板瓧鍐呭闂村姞鐐癸紝瀵瑰簲 long锛屾暟缁勶紝澶у皬涓�6 - * 濡傛灉鏄� float 绫诲瀷鐨勬暟缁�,杩斿洖鏁板瓧鍐呭闂村姞閫楀彿锛屽搴� float锛屾暟缁勶紝澶у皬涓�20 - */ - private static String getValue(ItemState state) { - JIVariant variant = state.getValue(); - try { - int type = variant.getType(); - //Boolean - if (type == JIVariant.VT_BOOL) { - boolean value = variant.getObjectAsBoolean(); - return String.valueOf(value); - } - //String - else if (type == JIVariant.VT_BSTR) { - return variant.getObjectAsString().getString(); - } - //Word DWord - else if (type == JIVariant.VT_UI2 || type == JIVariant.VT_UI4) { - Number value = variant.getObjectAsUnsigned().getValue(); - return String.valueOf(value); - } - //Sort - else if (type == JIVariant.VT_I2) { - short value = variant.getObjectAsShort(); - return String.valueOf(value); - } - //Float - else if (type == JIVariant.VT_R4) { - float value = variant.getObjectAsFloat(); - return String.valueOf(value); - } - //long 绫诲瀷鐨勬暟缁� - else if (type == 8195) { - JIArray jarr = variant.getObjectAsArray(); - Integer[] arr = (Integer[]) jarr.getArrayInstance(); - StringBuilder value = new StringBuilder(); - for (Integer i : arr) { - value.append(i).append("."); - } - String res = value.substring(0, value.length() - 1); - // "25.36087601.1.1.18.36"-->"25.36087601.01.0001.18.36" - String[] array = res.split("[.]"); - return array[0] + "." + array[1] + "." + new DecimalFormat("00").format(Long.valueOf(array[2])) - + "." + new DecimalFormat("0000").format(Long.valueOf(array[3])) + "." + array[4] + "." - + array[5]; - } - //float 绫诲瀷鐨勬暟缁� - else if (type == 8196) { - JIArray jarr = variant.getObjectAsArray(); - Float[] arr = (Float[]) jarr.getArrayInstance(); - StringBuilder value = new StringBuilder(); - for (Float f : arr) { - value.append(f).append(","); - } - return value.substring(0, value.length() - 1); - } - //鍏朵粬绫诲瀷 - else { - Object value = variant.getObject(); - return String.valueOf(value); - } - } catch (JIException e) { - e.printStackTrace(); - } - return null; - } - /** - * 鑾峰彇value - * @param var - * @return - * @throws JIException - */ - private static Object getVal(JIVariant var) throws JIException { - Object value; - int type = var.getType(); - switch (type) { - case JIVariant.VT_I2: - value = var.getObjectAsShort(); - break; - case JIVariant.VT_I4: - value = var.getObjectAsInt(); - break; - case JIVariant.VT_I8: - value = var.getObjectAsLong(); - break; - case JIVariant.VT_R4: - value = var.getObjectAsFloat(); - break; - case JIVariant.VT_R8: - value = var.getObjectAsDouble(); - break; - case JIVariant.VT_BSTR: - value = var.getObjectAsString2(); - break; - case JIVariant.VT_BOOL: - value = var.getObjectAsBoolean(); - break; - case JIVariant.VT_UI2: - case JIVariant.VT_UI4: - value = var.getObjectAsUnsigned().getValue(); - break; - case JIVariant.VT_EMPTY: - throw new JIException(JIErrorCodes.JI_VARIANT_IS_NULL, "Variant is Empty."); - case JIVariant.VT_NULL: - throw new JIException(JIErrorCodes.JI_VARIANT_IS_NULL, "Variant is null."); - default: - throw new JIException(JIErrorCodes.JI_VARIANT_IS_NULL, "Unknown Type."); - } - - return value; - } -} \ No newline at end of file diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/HEARTBEAT/HeartBeatServerInterface.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/HEARTBEAT/HeartBeatServerInterface.java new file mode 100644 index 0000000..4122c2a --- /dev/null +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/HEARTBEAT/HeartBeatServerInterface.java @@ -0,0 +1,8 @@ +package cn.stylefeng.guns.plcserver.server.HEARTBEAT; + +public interface HeartBeatServerInterface { + + public void monitor(); + + +} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/HEARTBEAT/impl/HeartBeatServerInterfaceImpl.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/HEARTBEAT/impl/HeartBeatServerInterfaceImpl.java new file mode 100644 index 0000000..fd116a8 --- /dev/null +++ b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/server/HEARTBEAT/impl/HeartBeatServerInterfaceImpl.java @@ -0,0 +1,12 @@ +package cn.stylefeng.guns.plcserver.server.HEARTBEAT.impl; + +import cn.stylefeng.guns.plcserver.server.HEARTBEAT.HeartBeatServerInterface; + +public class HeartBeatServerInterfaceImpl implements HeartBeatServerInterface { + + @Override + public synchronized void monitor() { + System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^123456"); + } + +} diff --git a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/test.java b/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/test.java deleted file mode 100644 index e0d810b..0000000 --- a/guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/test.java +++ /dev/null @@ -1,99 +0,0 @@ -package cn.stylefeng.guns.plcserver; - - -import org.jinterop.dcom.common.JIErrorCodes; -import org.jinterop.dcom.common.JIException; -import org.jinterop.dcom.core.JIVariant; -import org.openscada.opc.lib.common.ConnectionInformation; -import org.openscada.opc.lib.da.Group; -import org.openscada.opc.lib.da.Item; -import org.openscada.opc.lib.da.Server; - -public class test { - - - private static String HOST = "192.168.0.234"; - //private static String HOST = "192.168.1.100"; - private static String USER = "OPCUser"; - private static String PASSWORD = "123456"; - private static String CLSID= "7BC0CC8E-482C-47CA-ABDC-0FE7F9C6E729"; - private static String PROGID = ""; - - - public static void main(String[] args) throws Exception { - // create connection information - final ConnectionInformation ci = new ConnectionInformation(); - ci.setHost("127.0.0.1"); - ci.setDomain(""); - ci.setUser("OPCServer"); - ci.setPassword("admin@123"); - ci.setClsid("7BC0CC8E-482C-47CA-ABDC-0FE7F9C6E729"); - //ci.setProgId("7BC0CC8E"); - // ci.setClsid("680DFBF7-C92D-484D-84BE-06DC3DECCD68"); // if ProgId is not working, try it using the Clsid instead - final String itemId = "_System._Time_Second"; - // create a new server - Item item = null; - Server server = new Server(ci, null); - //server = new Server(ci, Executors.newSingleThreadScheduledExecutor()); - - try { - // connect to server - server.connect(); - while(true) { - - System.out.println("111111=="); - Thread.sleep(1000); - } - - } catch (final JIException e) { - System.out.println(String.format("%08X: %s", e.getErrorCode(), server.getErrorMessage(e.getErrorCode()))); - } - } - /** - * 鑾峰彇value - * @param var - * @return - * @throws JIException - */ - private static Object getVal(JIVariant var) throws JIException { - Object value; - int type = var.getType(); - switch (type) { - case JIVariant.VT_I2: - value = var.getObjectAsShort(); - break; - case JIVariant.VT_I4: - value = var.getObjectAsInt(); - break; - case JIVariant.VT_I8: - value = var.getObjectAsLong(); - break; - case JIVariant.VT_R4: - value = var.getObjectAsFloat(); - break; - case JIVariant.VT_R8: - value = var.getObjectAsDouble(); - break; - case JIVariant.VT_BSTR: - value = var.getObjectAsString2(); - break; - case JIVariant.VT_BOOL: - value = var.getObjectAsBoolean(); - break; - case JIVariant.VT_UI2: - case JIVariant.VT_UI4: - value = var.getObjectAsUnsigned().getValue(); - break; - case JIVariant.VT_EMPTY: - throw new JIException(JIErrorCodes.JI_VARIANT_IS_NULL, "Variant is Empty."); - case JIVariant.VT_NULL: - throw new JIException(JIErrorCodes.JI_VARIANT_IS_NULL, "Variant is null."); - default: - throw new JIException(JIErrorCodes.JI_VARIANT_IS_NULL, "Unknown Type."); - } - - return value; - } - - -} diff --git a/guns-vip-main/src/main/webapp/assets/modular/cm/paramCollection/paramCollection.js b/guns-vip-main/src/main/webapp/assets/modular/cm/paramCollection/paramCollection.js index 03ea47c..94b0506 100644 --- a/guns-vip-main/src/main/webapp/assets/modular/cm/paramCollection/paramCollection.js +++ b/guns-vip-main/src/main/webapp/assets/modular/cm/paramCollection/paramCollection.js @@ -40,11 +40,13 @@ /* {field: 'equipmentNo', sort: true, title: '璁惧缂栧彿', width: 125},*/ {field: 'paramCode', sort: true, title: '鍙傛暟缂栫爜', width: 125}, {field: 'paramName', sort: true, title: '鍙傛暟鍚嶇О', width: 125}, - {field: 'unit', sort: true, title: '鍗曚綅'}, + {field: 'paramValue', sort: true, title: '鍙傛暟鍊�'}, + {field: 'spareField2', sort: true, title: '鏄惁鍚堟牸', width: 125}, {field: 'paramUpper', sort: true, title: '鍙傛暟涓婇檺', width: 125}, {field: 'paramLower', sort: true, title: '鍙傛暟涓嬮檺', width: 125}, {field: 'paramStandard', sort: true, title: '鏍囧噯鍊�'}, + {field: 'unit', sort: true, title: '鍗曚綅'}, {field: 'createTime', sort: true, title: '閲囬泦鏃堕棿',minWidth:160}, {field: 'state', sort: true, title: '鐘舵��'}, /* {field: 'createUser', sort: true, title: '鍒涘缓鐢ㄦ埛'}, diff --git a/guns-vip-main/src/main/webapp/assets/modular/om/productionOrderRecords/productionOrderRecords.js b/guns-vip-main/src/main/webapp/assets/modular/om/productionOrderRecords/productionOrderRecords.js index c7d25b2..e8b276c 100644 --- a/guns-vip-main/src/main/webapp/assets/modular/om/productionOrderRecords/productionOrderRecords.js +++ b/guns-vip-main/src/main/webapp/assets/modular/om/productionOrderRecords/productionOrderRecords.js @@ -22,8 +22,8 @@ {field: 'workOrderNo', sort: true, title: '鐢熶骇宸ュ崟鍙�',minWidth:160}, {field: 'productNo', sort: true, title: 'SFC鎬绘垚搴忓垪鍙�',minWidth:160}, /* {field: 'drawingNo', sort: true, title: '鍥惧彿'},*/ - {field: 'materialCode', sort: true, title: '浜у搧缂栧彿',minWidth:160}, - {field: 'materialName', sort: true, title: '浜у搧鍚嶇О'}, + {field: 'materialCode', sort: true, title: '浜у搧缂栧彿',minWidth:140}, + {field: 'materialName', sort: true, title: '浜у搧鍚嶇О',minWidth:160}, // {field: 'locationCode', sort: true, title: '宸ヤ綅缂栧彿',minWidth:110}, {field: 'startTime', sort: true, title: '涓婄嚎鏃堕棿',minWidth:160}, {field: 'endTime', sort: true, title: '涓嬬嚎鏃堕棿',minWidth:160}, -- Gitblit v1.9.3