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/plcserver/callback/OP100Callback.java | 84 +++++++++++++++++++++++++++++------------ 1 files changed, 59 insertions(+), 25 deletions(-) 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); } } -- Gitblit v1.9.3