From d8e6a522964374f72fab85a3f53fc7a8ffa56e04 Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期四, 04 七月 2024 18:58:06 +0800 Subject: [PATCH] 030工位返回ocv测试结果删除方法根据电芯号批量删除 --- jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java | 91 +++++++++++++++++++++++++++++++++++---------- 1 files changed, 71 insertions(+), 20 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java index 81667a1..ee8ec87 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java +++ b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java @@ -93,7 +93,7 @@ if (Constants.RECORD_CHECK_CODE.equals(tab)){//鐢佃姱鏍¢獙 if (Constants.ONE.equals(valueString)){ Integer scanResult = 11; - if (Constants.OP010.equals(device) || Constants.OP030.equals(device)){ + if (Constants.OP010.equals(device)){ //OP010宸ヤ綅鐢佃姱鏉$爜鏍¢獙||OP030宸ヤ綅鐢佃姱鏉$爜鏍¢獙 Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".Scaner").getValue(); if (ObjectUtil.isNotNull(value1)){ @@ -105,6 +105,22 @@ // scanResult = 11; // } } + }else if(Constants.OP030.equals(device)){ + Object value1 = miloService.readFromOpcUa(thoroughfare + "." + device + ".Scaner").getValue(); + if (ObjectUtil.isNotNull(value1)){ + String cellCode = value1.toString(); + //鍙嶉鐢佃姱ocv妫�娴嬬粨鏋� + boolean b = OCVResultFeedBack(thoroughfare, device,cellCode); + //鍥涗釜鐢佃姱鐨勭姸鎬� + if (b){ + scanResult = 11; + }else { + scanResult = 12; + } + }else { + scanResult = 12; + } + } miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ScanerResult1").value(scanResult).build()); log.info("鍐欏叆鍒板伐浣峽}鐨凷canerResult1鏁版嵁锛歿}",device,scanResult); @@ -139,7 +155,7 @@ } }*/ - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordSNDone").value(2).build());//娌℃湁瑕佺敓浜х殑宸ュ崟 + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordSNDone").value(1).build());//娌℃湁瑕佺敓浜х殑宸ュ崟 } }else if (Constants.RECORD_DATA.equals(tab)){//鍑哄叆绔� if (Constants.ONE.equals(valueString)){//鍏ョ珯 @@ -239,11 +255,8 @@ String paramProductNum = ""; try { // 鏌ヨ鏈�鏂扮殑宸ュ崟淇℃伅 - List<OmProductionOrdeInfo> list = omProductionOrdeInfoService.list(new LambdaQueryWrapper<OmProductionOrdeInfo>().orderByAsc(OmProductionOrdeInfo::getCreateTime)); - if(list.size() > 0){ - paramProductNum = list.get(list.size()-1).getProductNum(); - } - String orderJsonString = RestfulService.getProductionWorkOrderRequest(paramProductNum, "OP230"); + OmProductionOrdeInfo lastOrder = omProductionOrdeInfoService.getLastOrder(); + String orderJsonString = RestfulService.getProductionWorkOrderRequest(lastOrder.getProductNum(), "OP230"); JSONObject jsonObject = new JSONObject(orderJsonString); // 浠嶫SONObject涓幏鍙杁ata瀵硅薄 JSONObject dataObject = jsonObject.getJSONObject("data"); @@ -511,8 +524,11 @@ */ private static Integer saveParamCollection(String thoroughfare, String device,List<String> cellCodeList){ Integer result = 21;//杩斿洖缁撴灉 - List<List<ChildVO>> mesList = new ArrayList<>();//瀛樺偍4涓數鑺殑鍙戦�佺粰MES鐨勫�� - + List<ChildVO> mesChildList1 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist1 + List<ChildVO> mesChildList2 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist2 + List<ChildVO> mesChildList3 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist3 + List<ChildVO> mesChildList4 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist4 + List<ChildVO> mesChildList0 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist4 try { //鏌ヨ鍙傛暟閰嶇疆琛� List<DaCollectionParamConf> list = collectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>() @@ -549,7 +565,6 @@ //绗竴涓數鑺殑鏁版嵁 if (CollUtil.isNotEmpty(paramCollectionList1) && !cellCodeList.get(0).isEmpty()) { - List<ChildVO> mesChildList1 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist1 for (int i = 0; i < paramCollectionList1.size(); i++) { DaParamCollection daParamCollection = new DaParamCollection(); daParamCollection.setSfcCode(cellCodeList.get(0));//鐢佃姱鐮� @@ -574,10 +589,9 @@ childVO.setCheckTime(new Date().toString()); mesChildList1.add(childVO); } - mesList.add(0, mesChildList1); + } if (CollUtil.isNotEmpty(paramCollectionList2) && !cellCodeList.get(1).isEmpty()) { - List<ChildVO> mesChildList2 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist2 for (int i = 0; i < paramCollectionList2.size(); i++) { DaParamCollection daParamCollection = new DaParamCollection(); @@ -603,10 +617,8 @@ childVO.setCheckTime(new Date().toString()); mesChildList2.add(childVO); } - mesList.add(1, mesChildList2); } if (CollUtil.isNotEmpty(paramCollectionList3) && !cellCodeList.get(2).isEmpty()) { - List<ChildVO> mesChildList3 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist3 for (int i = 0; i < paramCollectionList3.size(); i++) { DaParamCollection daParamCollection = new DaParamCollection(); daParamCollection.setSfcCode(cellCodeList.get(2));//鐢佃姱鐮� @@ -631,10 +643,8 @@ childVO.setCheckTime(new Date().toString()); mesChildList3.add(childVO); } - mesList.add(2, mesChildList3); } if (CollUtil.isNotEmpty(paramCollectionList4)&& !cellCodeList.get(3).isEmpty()) { - List<ChildVO> mesChildList4 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist4 for (int i = 0; i < paramCollectionList4.size(); i++) { DaParamCollection daParamCollection = new DaParamCollection(); daParamCollection.setSfcCode(cellCodeList.get(3));//鐢佃姱鐮� @@ -659,14 +669,12 @@ childVO.setCheckTime(new Date().toString()); mesChildList4.add(childVO); } - mesList.add(3, mesChildList4); } //鍏叡鍙傛暟 if (CollUtil.isNotEmpty(paramCollectionList0)) { for (int i = 0; i < cellCodeList.size(); i++) {//寰幆4涓數鑺� if(!cellCodeList.get(i).isEmpty()){ - List<ChildVO> mesChildList0 = new ArrayList<>();//灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist0 for (int j = 0; j < paramCollectionList0.size(); j++) { DaParamCollection daParamCollection = new DaParamCollection(); daParamCollection.setSfcCode(cellCodeList.get(i));//鐢佃姱鐮� @@ -694,7 +702,6 @@ childVO.setCheckTime(new Date().toString()); mesChildList0.add(childVO); } - mesList.add(i, mesChildList0); } //mesList.get(i).addAll(mesChildList0); @@ -716,7 +723,24 @@ for (int i = 0; i < cellCodeList.size(); i++) {//寰幆4涓數鑺� if(!cellCodeList.get(i).isEmpty()){ parentVO.setProductNum(cellCodeList.get(i));//鐢佃姱鐮� - parentVO.setCheckList(mesList.get(i));//鍙傛暟 + //灏佽缁欏伐鍘侻ES鍙戦�佺殑childlist4 + List<ChildVO> mesChildList = new ArrayList<>(mesChildList0); + switch (i) { + case 0 : + mesChildList.addAll(mesChildList1); + break; + case 1 : + mesChildList.addAll(mesChildList2); + break; + case 2 : + mesChildList.addAll(mesChildList3); + break; + case 3 : + mesChildList.addAll(mesChildList4); + break; + + } + parentVO.setCheckList(mesChildList);//鍙傛暟 //CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { log.info("鎵ц宸ュ巶MES鏂规硶start锛屼紶鍏ユ暟鎹細{}",parentVO); HttpResponse execute = HttpRequest.post(orderLineUrl).body(JSONUtil.toJsonStr(parentVO)).execute(); @@ -726,6 +750,7 @@ }); } }catch (Exception e) { + log.error(e.getMessage()); throw new RuntimeException(e); } return result; @@ -735,6 +760,32 @@ * 030宸ヤ綅杩斿洖ocv娴嬭瘯缁撴灉 * @param thoroughfare * @param device + * @param cellCode + * @throws Exception + */ + private boolean OCVResultFeedBack(String thoroughfare, String device,String cellCode) throws Exception { + boolean flag = true; + + List<DaTestDeviceInterfaceTemp> list = daTestDeviceInterfaceTempService.list(new LambdaQueryWrapper<DaTestDeviceInterfaceTemp>() + .eq(DaTestDeviceInterfaceTemp::getStationCode, device) + .eq(DaTestDeviceInterfaceTemp::getProductNum,cellCode)); + if (CollUtil.isNotEmpty(list)){ + DaTestDeviceInterfaceTemp daTestDeviceInterfaceTemp = list.get(list.size()-1); + if (Constants.ONE.equals(daTestDeviceInterfaceTemp.getTotalResult())){ + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_1").value(1).build()); + }else { + flag = false; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".CellStatus_1").value(2).build()); + } + daTestDeviceInterfaceTempService.deleteDaTestDeviceInterfaceTempByProductNum(cellCode); + + } + return flag; + } + /** + * 030宸ヤ綅杩斿洖ocv娴嬭瘯缁撴灉 + * @param thoroughfare + * @param device * @throws Exception */ private boolean OCVResultFeedBack(String thoroughfare, String device) throws Exception { -- Gitblit v1.9.3