From 8b43954926db6b4df6a61ab6e04d6cb11189069d Mon Sep 17 00:00:00 2001 From: 吴健 <14790700720@163.com> Date: 星期二, 15 四月 2025 08:54:08 +0800 Subject: [PATCH] add-415 --- jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 102 insertions(+), 17 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 05fb1e6..2cb2892 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 @@ -88,7 +88,7 @@ public void onSubscribe(String identifier, Object value) { String ecpStr = "";//寮傚父璁板綍鏍囪 try { - if(null != value && "1".equals(value.toString())) { + if(null != value && "1".equals(value.toString())) { //1銆佹绱N鍙� //2銆佽繃绔欏弬鏁伴噰闆� //3銆佹壂鐮佹灙鏁版嵁鍥炰紶 @@ -127,6 +127,9 @@ passingStationCollectionServiceImpl.sendMessage(type+"*"+boxCode,"OP030"); } + } else if ("196".equals(type) || "296".equals(type)){ + ReadWriteEntity entity6 = new ReadWriteEntity("CFL4HX.OP030.CodeComplete", 1); + miloService.writeToOpcByte(entity6); } } @@ -169,23 +172,48 @@ Object SNCodeObject = miloService.readFromOpcUa("CFL4HX.OP020.Code").getValue(); if (ObjectUtil.isNotEmpty(SNCodeObject)){ String snCode = SNCodeObject.toString(); - if (snCode.startsWith("380")){ - log.info("enter-380"); - String[] split = snCode.split(StrUtil.SPACE); - if (split.length>1){ - ReadWriteEntity entity = new ReadWriteEntity("CFL4HX.OP020.PrintSN1", split[0]); - OPCUaSubscription.miloService.writeToOpcUa(entity);//鍐欏畬鎴� - ReadWriteEntity entity2 = new ReadWriteEntity("CFL4HX.OP020.PrintSN2", "鈽�"+split[1]+"鈽�"); - OPCUaSubscription.miloService.writeToOpcUa(entity2);//鍐欏畬鎴� - ReadWriteEntity entity3 = new ReadWriteEntity("CFL4HX.OP020.SendSNDone", 1); + DaPassingStationCollection passingStationCollectionCheck = new DaPassingStationCollection(); + passingStationCollectionCheck.setLocationCode("OP020"); + passingStationCollectionCheck.setSfcCode(snCode); + List<DaPassingStationCollection> checkList = passingStationCollectionServiceImpl.selectDaPassingStationCollectionList(passingStationCollectionCheck); + if (CollUtil.isNotEmpty(checkList)){ + if (snCode.startsWith("380")){ + log.info("enter-380"); + String[] split = snCode.split(StrUtil.SPACE); + if (split.length>1){ + ReadWriteEntity entity = new ReadWriteEntity("CFL4HX.OP020.PrintSN1", split[0]); + OPCUaSubscription.miloService.writeToOpcUa(entity);//鍐欏畬鎴� + ReadWriteEntity entity2 = new ReadWriteEntity("CFL4HX.OP020.PrintSN2", "鈽�"+split[1]+"鈽�"); + OPCUaSubscription.miloService.writeToOpcUa(entity2);//鍐欏畬鎴� + ReadWriteEntity entity3 = new ReadWriteEntity("CFL4HX.OP020.SendSNDone", 2); + OPCUaSubscription.miloService.writeToOpcByte(entity3);//鍐欏畬鎴� + } + } else { + ReadWriteEntity entity = new ReadWriteEntity("CFL4HX.OP020.PrintSN1", snCode); + OPCUaSubscription.miloService.writeToOpcByte(entity);//鍐欏畬鎴� + ReadWriteEntity entity3 = new ReadWriteEntity("CFL4HX.OP020.SendSNDone", 2); OPCUaSubscription.miloService.writeToOpcByte(entity3);//鍐欏畬鎴� } } else { - ReadWriteEntity entity = new ReadWriteEntity("CFL4HX.OP020.PrintSN1", snCode); - OPCUaSubscription.miloService.writeToOpcByte(entity);//鍐欏畬鎴� - ReadWriteEntity entity3 = new ReadWriteEntity("CFL4HX.OP020.SendSNDone", 1); - OPCUaSubscription.miloService.writeToOpcByte(entity3);//鍐欏畬鎴� + if (snCode.startsWith("380")){ + log.info("enter-380"); + String[] split = snCode.split(StrUtil.SPACE); + if (split.length>1){ + ReadWriteEntity entity = new ReadWriteEntity("CFL4HX.OP020.PrintSN1", split[0]); + OPCUaSubscription.miloService.writeToOpcUa(entity);//鍐欏畬鎴� + ReadWriteEntity entity2 = new ReadWriteEntity("CFL4HX.OP020.PrintSN2", "鈽�"+split[1]+"鈽�"); + OPCUaSubscription.miloService.writeToOpcUa(entity2);//鍐欏畬鎴� + ReadWriteEntity entity3 = new ReadWriteEntity("CFL4HX.OP020.SendSNDone", 1); + OPCUaSubscription.miloService.writeToOpcByte(entity3);//鍐欏畬鎴� + } + } else { + ReadWriteEntity entity = new ReadWriteEntity("CFL4HX.OP020.PrintSN1", snCode); + OPCUaSubscription.miloService.writeToOpcByte(entity);//鍐欏畬鎴� + ReadWriteEntity entity3 = new ReadWriteEntity("CFL4HX.OP020.SendSNDone", 1); + OPCUaSubscription.miloService.writeToOpcByte(entity3);//鍐欏畬鎴� + } } + } } else if (OPCElement.OP030_SAVE_REQUEST.equals(identifier)) { cleanForm("CFL4HX.OP030.SaveFeed"); @@ -238,6 +266,27 @@ List<BsOrderScheduling> queryOrderList = bsOrderSchedulingService.selectBsOrderSchedulingList(bsOrderSchedulingQuery); if (CollUtil.isNotEmpty(queryOrderList)){ a = "1"; + //濡傛灉鏄�佽溅鍨嬶紝鍒ゆ柇鏄惁閲嶅鎵爜 + if (OPCElement.OP050_CODE_CHECK.equals(Node)){ + String type = productNewFlag(SNCode); + if (!"280".equals(type) && !"380".equals(type) && !"196".equals(type) && !"296".equals(type) ){ + DaPassingStationCollection passCheck = new DaPassingStationCollection(); + passCheck.setSfcCode(SNCode); + passCheck.setLocationCode("OP060"); + List<DaPassingStationCollection> passCheckList = passingStationCollectionServiceImpl.selectDaPassingStationCollectionList(passCheck); + if (CollUtil.isNotEmpty(passCheckList)){ + //鏄惁杩斾慨 + a = "5"; +// RmRepairRecord repairRecordCheck = new RmRepairRecord(); +// repairRecordCheck.setBoxCode(SNCode); +// repairRecordCheck.setProcessesCode("OP050"); +// List<RmRepairRecord> repairCheckList = rmRepairRecordService.selectRmRepairRecordList(repairRecordCheck); +// if (CollUtil.isEmpty(repairCheckList)){ +// +// } + } + } + } }else { a = "4"; } @@ -270,6 +319,23 @@ } logger.info("-----杩斿洖codeCheckFeed-----,{}",a); // String a="1"; + //zz涓婄嚎宸ヤ綅鏌ヨhx绾挎槸鍚﹁繃绔欏悎鏍� + if (OPCElement.OP120_ZZ_CODE_CHECK.equals(Node)){ + //杩囩珯璁板綍 + DaPassingStationCollection PassingStationCollection=new DaPassingStationCollection(); + PassingStationCollection.setSfcCode(SNCode); + PassingStationCollection.setLocationCode("OP160"); + List<DaPassingStationCollection> ZZOP120PassCheck = passingStationCollectionServiceImpl.selectDaPassingStationCollectionList(PassingStationCollection); + if (CollUtil.isEmpty(ZZOP120PassCheck)){ + a = ""; + } else { + DaPassingStationCollection passingStationCollection = ZZOP120PassCheck.get(0); + String outRsSign = passingStationCollection.getOutRsSign(); + if (!OPCElement.QUALIFIED.equals(outRsSign)){ + a = ""; + } + } + } // 1:OK鍙敓浜� 2:NG涓嶅彲鐢熶骇 3:NG鍙繑宸� 4:PC妫�绱㈠け璐ワ紙鏃犺褰曪級5:PC妫�绱㈠け璐ワ紙杞欢锛� if (StrUtil.isNotBlank(a)){ int input = Integer.parseInt(a); @@ -508,7 +574,7 @@ //60鍙噰闆嗚�佽溅鍨� if (OPCElement.OP060_SAVE_REQUEST.equals(Node) || OPCElement.OP060_SAVE_REQUEST_LAST.equals(Node)){ String s = productNewFlag(SNCode); - if ("280".equals(s) || "380".equals(s)){ + if ("280".equals(s) || "380".equals(s) || "196".equals(s) || "296".equals(s)){ list = new ArrayList<>(); } } @@ -519,7 +585,7 @@ || OPCElement.OP100_SAVE_REQUEST_LAST.equals(Node)){ String s = productNewFlag(SNCode); if (StrUtil.isNotEmpty(s)){ - if (!"280".equals(s) && !"380".equals(s)){ + if (!"280".equals(s) && !"380".equals(s) && !"196".equals(s)){ list = new ArrayList<>(); } } @@ -575,7 +641,7 @@ ParamCollection.setParamValue(readWriteEntityList.get(i).getValue().toString()); } ParamCollection.setSfcCode(SNCode); - ParamCollection.setParamName(list.get(i).getCollectParameterName()); + ParamCollection.setParamName(list.get(i).getParameterSetName()); ParamCollection.setParamUpper(list.get(i).getParamUpper()); ParamCollection.setParamLower(list.get(i).getParamLower()); ParamCollection.setUnit(list.get(i).getCollectParameterUnit()); @@ -608,6 +674,7 @@ } DaPassingStationCollection PassingStationCollection=new DaPassingStationCollection(); PassingStationCollection.setSfcCode(SNCode); + PassingStationCollection.setProductCode(bsOrderScheduling.getModel()); PassingStationCollection.setLocationCode(parts[1]); PassingStationCollection.setOutboundTime(new Date()); PassingStationCollection.setInboundTime(new Date(new Date().getTime()-beatTime*1000)); @@ -646,6 +713,10 @@ type = "280"; } else if (SNCode.startsWith("380")){ type = "380"; + } else if (SNCode.startsWith("196")){ + type = "196"; + } else if (SNCode.startsWith("296")){ + type = "296"; }else { type = "oldType"; } @@ -672,6 +743,20 @@ } } else if ("280".equals(productNewFlag)){ + } else if ("196".equals(productNewFlag)){ + ReadWriteEntity entity6 = new ReadWriteEntity("CFL4HX.OP040.CodeComplete", 1); + miloService.writeToOpcByte(entity6); +// ProductNewPassStation passStation = new ProductNewPassStation(); +// passStation.setSfcCode(SNCode); +// List<ProductNewPassStation> productPassStationList = productNewPassStationService.getProductPassStationList(passStation); +// if (CollUtil.isNotEmpty(productPassStationList)){ +// ProductNewPassStation productNewPassStation = productPassStationList.get(0); +// String boxCode = productNewPassStation.getBoxCode(); +// String productType = productNewPassStation.getProductType(); +// log.info("鍙戦�佸埌OP040鐨勯〉闈㈡暟鎹畃roductType,{}",productType); +// log.info("鍙戦�佸埌OP040鐨勯〉闈㈡暟鎹産oxCode,{}",boxCode); +// passingStationCollectionServiceImpl.sendMessage(productType+"*"+boxCode, "OP040"); +// } } } } -- Gitblit v1.9.3