春风项目四线(合箱线、总装线)
yyt
2024-06-03 5030f3d30ccc1bd16db371c6970a48103aff9191
jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
@@ -99,6 +99,31 @@
                        logger.info("-------监听到,{}的扫码枪扫码的CODE_CHECK的信号",identifier);
                        scannerGunMessage();
                    }
                    if (identifier.equals(OPCElement.OP060_HX_CODE_CHECK) && "1".equals(value.toString())){
                        Object SNCodeObject = miloService.readFromOpcUa("CFL4HX.OP060.Code1").getValue();
                        if (null == SNCodeObject){
                            SNCodeObject = miloService.readFromOpcUa("CFL4HX.OP060.Code").getValue();
                        }
                        if (null != SNCodeObject){
                            String XT="";
                            String CZ="";
                            String SNCode = SNCodeObject.toString();
                            DaParamCollection ParamCollection = new DaParamCollection();
                            ParamCollection.setSfcCode(SNCode);
                            List<DaParamCollection> DaParamCollectionlist=daParamCollectionService.selectDaParamCollectionList(ParamCollection);
                            List<DaParamCollection> XTParamCollection = DaParamCollectionlist.stream().filter(x -> "箱体".equals(x.getParamName())).collect(Collectors.toList());
                            if (CollUtil.isNotEmpty(XTParamCollection)){
                                DaParamCollection lastOne = XTParamCollection.get(0);
                                XT = lastOne.getParamValue();
                            }
                            List<DaParamCollection> CZParamCollection = DaParamCollectionlist.stream().filter(x -> "曲轴".equals(x.getParamName())).collect(Collectors.toList());
                            if (CollUtil.isNotEmpty(CZParamCollection)){
                                DaParamCollection lastOne = CZParamCollection.get(0);
                                CZ = lastOne.getParamValue();
                            }
                            passingStationCollectionServiceImpl.sendMessage(XT+"*"+CZ,"OP060");
                        }
                    }
                }
                if (collect2.contains(identifier)){
                    if ("1".equals(value.toString())){
@@ -125,7 +150,7 @@
        }
        if (null != SNCodeObject){
            String SNCode = SNCodeObject.toString();
            passingStationCollectionServiceImpl.sendMessage(SNCode);
            passingStationCollectionServiceImpl.sendMessage(SNCode,"OP120");
        }
    }
@@ -136,7 +161,7 @@
            Object SNCodeObject = miloService.readFromOpcUa(parts[0] + "." + parts[1] + ".Code").getValue();
            if(null != SNCodeObject) {
                String SNCode=SNCodeObject.toString();
//                String a=passingStationCollectionServiceImpl.SelectSN(SNCode,parts[1]);
//              String a=passingStationCollectionServiceImpl.SelectSN(SNCode,parts[1]);
                String a;
                BsOrderScheduling bsOrderSchedulingQuery = new BsOrderScheduling();
                bsOrderSchedulingQuery.setEngineNo(SNCode);
@@ -177,7 +202,7 @@
                if (StrUtil.isNotBlank(a)){
                    int input = Integer.parseInt(a);
                    ReadWriteEntity entity = new ReadWriteEntity(parts[0]+"."+parts[1]+".CodeCheckFeed", input);
                    logger.info("-------监听到,{}的CodeCheck的信号",Node);
                    logger.info("发动机号:{},监听到{}的CodeCheck的信号",SNCode,Node);
                    miloService.writeToOpcByte(entity);
                    logger.info("监听到返回codecheckfeed信号,{}",entity);
                    //首站传输订单号
@@ -198,6 +223,17 @@
                    if (OPCElement.OP465_ZZ_CODE_CHECK.equals(Node) || OPCElement.OP355_ZZ_CODE_CHECK.equals(Node)
                    || OPCElement.OP695_ZZ_CODE_CHECK.equals(Node) || OPCElement.OP755_ZZ_CODE_CHECK.equals(Node)){
                        rework(SNCode,Node,daPassingStationCollections,rmRepairRecords);
                    }
                    if (OPCElement.OP020_HX_CODE_CHECK.equals(Node)) {
                        //激光打码
                        String[] printcode=SNCode.split("\\s+");
                        ReadWriteEntity entity3 = new ReadWriteEntity("CFL4HX.HOP020.PrintCode1", printcode[0]);
                        OPCUaSubscription.miloService.writeToOpcUa(entity3);//写SN
                        ReadWriteEntity entity5 = new ReadWriteEntity("CFL4HX.HOP020.PrintCode2", printcode[1]);
                        OPCUaSubscription.miloService.writeToOpcUa(entity5);//写SN
                        ReadWriteEntity entity6 = new ReadWriteEntity("CFL4HX.HOP020.SNDoor", "1");
                        logger.info("发动机号{},请求打码内容写入成功,返回SNDoor信号信号1",SNCode);
                        miloService.writeToOpcByte(entity6);
                    }
                    System.out.println(entity);
@@ -461,14 +497,15 @@
            //更新工单状态
            if ("OP790".equals(parts[1])) {
                bsOrderScheduling.setReport20("1");
                //bsOrderScheduling.setReport20("0");
                bsOrderScheduling.setProductionStatus("3");
                bsOrderScheduling.setFinalAssemblyOfflineTime(new Date());
            }else if("OP050".equals(parts[1])){
                bsOrderScheduling.setReport10("1");
                bsOrderScheduling.setReport10("0");
                bsOrderScheduling.setProductionStatus("2");
                bsOrderScheduling.setBoxClosingOnlineTime(new Date());
            }else if("OP120".equals(parts[1])){
                bsOrderScheduling.setReport20("0");
                bsOrderScheduling.setFinalAssemblyLaunchTime(new Date());
                bsOrderScheduling.setClosingBoxOfflineTime(new Date());
            }