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/OP050Callback.java | 86 ++++++++++++++++++++++++++++++------------- 1 files changed, 60 insertions(+), 26 deletions(-) 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); } } -- Gitblit v1.9.3