| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.billion.main.bs.domain.BsBomChildInfo; |
| | | import com.billion.main.bs.domain.BsLineInfo; |
| | | import com.billion.main.bs.service.IBsBomChildInfoService; |
| | | import com.billion.main.bs.service.IBsLineInfoService; |
| | | import com.billion.main.constant.Constants; |
| | | import com.billion.main.da.domain.DaCollectionParamConf; |
| | | import com.billion.main.da.domain.DaMaterialCollection; |
| | |
| | | public IDaCollectionParamConfService daCollectionParamConfService; |
| | | public IDaMaterialCollectionService daMaterialCollectionService; |
| | | public ISysCountService sysCountService; |
| | | public IBsLineInfoService bsLineInfoService; |
| | | |
| | | |
| | | public OPCUaSubscription(MiloService miloService, |
| | |
| | | IBsBomChildInfoService bsBomChildInfoService, |
| | | IDaCollectionParamConfService daCollectionParamConfService, |
| | | IDaMaterialCollectionService daMaterialCollectionService, |
| | | ISysCountService sysCountService |
| | | ISysCountService sysCountService, |
| | | IBsLineInfoService bsLineInfoService |
| | | ) { |
| | | OPCUaSubscription.miloService = miloService; |
| | | this.daParamCollectionService = daParamCollectionService; |
| | |
| | | this.daCollectionParamConfService = daCollectionParamConfService; |
| | | this.daMaterialCollectionService = daMaterialCollectionService; |
| | | this.sysCountService = sysCountService; |
| | | this.bsLineInfoService = bsLineInfoService; |
| | | } |
| | | |
| | | @Override |
| | | public void onSubscribe(String identifier, Object value) { |
| | | log.info("å°åï¼"+identifier+"å¼ï¼"+value); |
| | |
| | | } |
| | | //1.2//é¤é¦å·¥ç«ææå·¥ç« |
| | | else if( |
| | | Constants.TEST.contains(device) || |
| | | Constants.PLC1.contains(device) || |
| | | Constants.PLC2.contains(device) || |
| | | Constants.PLC3.contains(device) || |
| | |
| | | Object SFCCode = miloService.readFromOpcUa(thoroughfare + "." + device + ".SFCCode").getValue(); |
| | | if (SFCCode == null ) { |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(13).build()); |
| | | log.info( "è¿ç«å¤±è´¥ï¼å°åSFCCode为空"); |
| | | } else { |
| | | OmOrderScheduling omOrderScheduling = new OmOrderScheduling(); |
| | | omOrderScheduling.setSfcCode(SFCCode.toString()); |
| | | List<OmOrderScheduling> resultList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling); |
| | | if(resultList != null){ |
| | | if(Constants.OP010.equals(device)||Constants.OP310.equals(device)){ |
| | | String EngineType =resultList.get(0).getProductCode(); |
| | | String SerialNumber = SFCCode.toString().substring(EngineType.length()); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".EngineType").value(EngineType).build()); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SerialNumber").value(SerialNumber).build()); |
| | | } |
| | | |
| | | //9Lå卿ºæ¶è¶è½¨è¿¹ä¸å |
| | | else if(Constants.OP080.equals(device) && Constants.PLC_4.equals(thoroughfare)){ |
| | | // 1. åå§åå·¥å对象并æ¥è¯¢å·¥åä¿¡æ¯ |
| | | String workOrderNo = resultList.get(0).getWorkOrderNo(); |
| | | OmProductionOrderInfo queryOrder = new OmProductionOrderInfo(); |
| | | queryOrder.setWorkOrderNo(workOrderNo); |
| | | List<OmProductionOrderInfo> orderList = omProductionOrderInfoService.selectOmProductionOrderInfoList(queryOrder); |
| | | // 2. å¤æç±»å忝é»è¾ |
| | | String engineName = orderList.get(0).getEngineName(); |
| | | if (!"9L".equals(engineName)) { |
| | | // é9Lç´æ¥å0 |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".GlueType").value(0).build()); |
| | | } else { |
| | | // 3. æ¥è¯¢äº§çº¿é
ç½®ç两æ¡é¢ç½®æ°æ® |
| | | BsLineInfo lineQuery = new BsLineInfo(); |
| | | lineQuery.setLineCode(engineName); // å设éè¿lineCode=9Lè·åä¸¤æ¡æ°æ® |
| | | List<BsLineInfo> configuredLines = bsLineInfoService.selectBsLineInfoList(lineQuery); |
| | | // ç¬¬ä¸æ¡é
ç½®æ°æ®çæ ¡éª |
| | | BsLineInfo firstLine = configuredLines.get(0); |
| | | BsBomChildInfo checkFirst = new BsBomChildInfo(); |
| | | checkFirst.setMaterialCode(firstLine.getLineName()); |
| | | checkFirst.setBomCode(workOrderNo); |
| | | List<BsBomChildInfo> firstCheckList = bsBomChildInfoService.selectBsBomChildInfoList(checkFirst); |
| | | if (firstCheckList.size() == 1) { |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".GlueType").value(1).build()); |
| | | } else { |
| | | // ç¬¬äºæ¡é
ç½®æ°æ®çæ ¡éª |
| | | BsLineInfo secondLine = configuredLines.get(1); |
| | | BsBomChildInfo checkSecond = new BsBomChildInfo(); |
| | | checkSecond.setMaterialCode(secondLine.getLineName()); |
| | | checkSecond.setBomCode(workOrderNo); |
| | | List<BsBomChildInfo> secondCheckList = bsBomChildInfoService.selectBsBomChildInfoList(checkSecond); |
| | | if (secondCheckList.size() == 1) { |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".GlueType").value(2).build()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | String getWorkOrderNo = resultList.get(0).getWorkOrderNo(); |
| | | BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); |
| | | bsbomChildInfo.setLocationCode(device); |
| | |
| | | formula(thoroughfare, device, bsbomChildInfo); |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build()); |
| | | }else { |
| | | log.info( "è¿ç«å¤±è´¥ï¼æªæ£ç´¢å°SFCCode:{}对åºå·¥å" ,SFCCode); |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(13).build()); |
| | | } |
| | | } |
| | |
| | | OmOrderScheduling omOrderScheduling = new OmOrderScheduling(); |
| | | Object SFCCode = miloService.readFromOpcUa(thoroughfare + "." + device + ".SFCCode").getValue(); |
| | | //ä¸çº¿å·¥ä½ |
| | | // if(Constants.ONLINE.contains(device) || Constants.TEST.equals(device) ){ |
| | | if(Constants.ONLINE.contains(device)){ |
| | | Object workOrderNumber = miloService.readFromOpcUa(thoroughfare + "." + device + ".WorkOrderNumber").getValue(); |
| | | Object nowQty = miloService.readFromOpcUa(thoroughfare + "." + device + ".PalletID").getValue(); |
| | | Object nowQty = miloService.readFromOpcUa(thoroughfare + "." + device + ".PalletID").getValue().toString(); |
| | | Object EngineType = miloService.readFromOpcUa(thoroughfare + "." + device + ".EngineType").getValue().toString(); |
| | | omOrderScheduling.setWorkOrderNo(workOrderNumber.toString()); |
| | | omOrderScheduling.setNowQty(nowQty.toString()); |
| | | omOrderScheduling.setSfcCode(SFCCode.toString()); |
| | | omOrderScheduling.setProductCode(EngineType.toString()); |
| | | omOrderScheduling.setStatus("1"); |
| | | Date Time = new Date(); |
| | | ReadWriteEntity TimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StartTime"); |
| | | Time = format.parse(TimeUtil.test(TimeUtil.stringProcessing(TimeRead.getValue().toString()))); |
| | | omOrderScheduling.setOnlineTime(Time); |
| | | omOrderScheduling.setStatus("1"); |
| | | //æçç»å®SFCCodeåå·¥åå产线 |
| | | if(Constants.OP005.equals(device)){ |
| | | omProductionOrderInfoService.updateBodyStatus1(); |
| | | omOrderScheduling.setRemarks("Body"); |
| | | sysCountService.updateSerialNumber(); |
| | | OmProductionOrderInfo getBodyOrder2 = omProductionOrderInfoService.getBodyOrder(); |
| | | if (Objects.equals(getBodyOrder2.getBodyQty(), getBodyOrder2.getPlanQty())){ |
| | | if (Objects.equals(nowQty, getBodyOrder2.getPlanQty().toString())){ |
| | | omProductionOrderInfoService.updateBodyStatus2(); |
| | | } |
| | | } |
| | |
| | | omOrderScheduling.setRemarks("Head"); |
| | | sysCountService.updateHeadNumber(); |
| | | OmProductionOrderInfo getHeadOrder2 = omProductionOrderInfoService.getHeadOrder(); |
| | | if (Objects.equals(getHeadOrder2.getHeadQty(), getHeadOrder2.getPlanQty())){ |
| | | if (Objects.equals(nowQty, getHeadOrder2.getPlanQty().toString())){ |
| | | omProductionOrderInfoService.updateHeadStatus2(); |
| | | } |
| | | } |
| | |
| | | omOrderScheduling.setRemarks("Head"); |
| | | omOrderScheduling.setSfcCode(SFCCode.toString()); |
| | | List<OmOrderScheduling> omOrderSchedulingList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling); |
| | | Object nowQty = omOrderSchedulingList.get(0).getNowQty(); |
| | | String nowQty = omOrderSchedulingList.get(0).getNowQty(); |
| | | Object WorkOrderNumber = omOrderSchedulingList.get(0).getWorkOrderNo(); |
| | | omProductionOrderInfo.setWorkOrderNo(WorkOrderNumber.toString()); |
| | | List<OmProductionOrderInfo> omProductionOrderInfoList = omProductionOrderInfoService.selectOmProductionOrderInfoList(omProductionOrderInfo); |
| | | Object headQty = omProductionOrderInfoList.get(0).getHeadQty(); |
| | | if (nowQty == headQty){ |
| | | if (Objects.equals(nowQty, headQty.toString())){ |
| | | UpdateWrapper<OmProductionOrderInfo> updateWrapper = new UpdateWrapper<>(); |
| | | updateWrapper.eq("work_order_no", omProductionOrderInfoList.get(0).getWorkOrderNo()); |
| | | updateWrapper.set("head_status", "2"); |
| | | omProductionOrderInfoService.update(new OmProductionOrderInfo(),updateWrapper); |
| | | } |
| | | } else if (Constants.OP300.equals(device)) { |
| | | } else if (Constants.OP310.equals(device)) { |
| | | omOrderScheduling.setRemarks("Body"); |
| | | omOrderScheduling.setSfcCode(SFCCode.toString()); |
| | | List<OmOrderScheduling> omOrderSchedulingList = omOrderSchedulingService.selectOmOrderSchedulingList(omOrderScheduling); |
| | | Object nowQty = omOrderSchedulingList.get(0).getNowQty(); |
| | | String nowQty = omOrderSchedulingList.get(0).getNowQty(); |
| | | Object WorkOrderNumber = omOrderSchedulingList.get(0).getWorkOrderNo(); |
| | | omProductionOrderInfo.setWorkOrderNo(WorkOrderNumber.toString()); |
| | | List<OmProductionOrderInfo> omProductionOrderInfoList = omProductionOrderInfoService.selectOmProductionOrderInfoList(omProductionOrderInfo); |
| | | Object bodyQty = omProductionOrderInfoList.get(0).getBodyQty(); |
| | | if (nowQty == bodyQty){ |
| | | if (Objects.equals(nowQty, bodyQty.toString())){ |
| | | UpdateWrapper<OmProductionOrderInfo> updateWrapper = new UpdateWrapper<>(); |
| | | updateWrapper.eq("work_order_no", omProductionOrderInfoList.get(0).getWorkOrderNo()); |
| | | updateWrapper.set("body_status", "2"); |
| | |
| | | omProductionOrderInfo.setWorkOrderNo(WorkOrderNumber.toString()); |
| | | List<OmProductionOrderInfo> omProductionOrderInfoList = omProductionOrderInfoService.selectOmProductionOrderInfoList(omProductionOrderInfo); |
| | | Object preQty = omProductionOrderInfoList.get(0).getPreQty(); |
| | | if (nowQty == preQty){ |
| | | if (nowQty == preQty.toString()){ |
| | | UpdateWrapper<OmProductionOrderInfo> updateWrapper = new UpdateWrapper<>(); |
| | | updateWrapper.eq("work_order_no", omProductionOrderInfoList.get(0).getWorkOrderNo()); |
| | | updateWrapper.set("pre_status", "2"); |
| | |
| | | sysCountService.updatePreNumber(); |
| | | omProductionOrderInfoService.updatePreStatus1(); |
| | | OmProductionOrderInfo getPreOrder2 = omProductionOrderInfoService.getPreOrder(); |
| | | if (Objects.equals(getPreOrder2.getPreQty(), getPreOrder2.getPlanQty())){ |
| | | if (Objects.equals(nowQty, getPreOrder2.getPlanQty().toString())){ |
| | | omProductionOrderInfoService.updatePreStatus2(); |
| | | } |
| | | }else if (Constants.OP020.equals(device)){ |
| | | final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | // éå MaterialCode35 å° MaterialCode40 å
±6ç»æ°æ® |
| | | for (int i = 35; i <= 40; i++) { // ä¿®æ¹å¾ªç¯èå´ |
| | | // æå»ºOPC UAèç¹å°åï¼ä¾å¦ï¼PLC1.OP020.MaterialCode35ï¼ |
| | | String nodeId = "PLC1." + device + ".MaterialCode" + i; |
| | | // å建éé对象 |
| | | DaMaterialCollection materialCollection = new DaMaterialCollection(); |
| | | materialCollection.setSfcCode(SFCCode.toString()); |
| | | materialCollection.setLocationCode(device); |
| | | // è®¾ç½®åæ°åç§°ï¼æ´»å¡1å°æ´»å¡6ï¼ |
| | | int pistonNumber = i - 34; // 35â1, 36â2...40â6 |
| | | materialCollection.setParamName("æ´»å¡" + pistonNumber); |
| | | // éè¿OPC UA读ååæ°å¼ |
| | | ReadWriteEntity dataRead = miloService.readFromOpcUa(nodeId); |
| | | if (dataRead != null && dataRead.getValue() != null) { |
| | | materialCollection.setParamValue(dataRead.getValue().toString()); |
| | | } else { |
| | | materialCollection.setParamValue("N/A"); // å¤çç©ºå¼æ
åµ |
| | | } |
| | | Date collectTime = new Date(); |
| | | ReadWriteEntity collectTimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime");//è¿ç«æ¶é´ |
| | | collectTime = format.parse(TimeUtil.test(TimeUtil.stringProcessing(collectTimeRead.getValue().toString()))); |
| | | materialCollection.setCollectTime( collectTime); |
| | | // æå
¥æ°æ®åº |
| | | daMaterialCollectionService.insertDaMaterialCollection(materialCollection); |
| | | } |
| | | }else if (Constants.OP130.equals(device)){ |
| | | final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | // éå MaterialCode35 å° MaterialCode40 å
±6ç»æ°æ® |
| | | String nodeId = "PLC1." + device + ".MaterialCode35" ; |
| | | // å建éé对象 |
| | | DaMaterialCollection materialCollection = new DaMaterialCollection(); |
| | | materialCollection.setSfcCode(SFCCode.toString()); |
| | | materialCollection.setLocationCode(device); |
| | | materialCollection.setParamName("缸çç "); |
| | | // éè¿OPC UA读ååæ°å¼ |
| | | ReadWriteEntity dataRead = miloService.readFromOpcUa(nodeId); |
| | | if (dataRead != null && dataRead.getValue() != null) { |
| | | materialCollection.setParamValue(dataRead.getValue().toString()); |
| | | } else { |
| | | materialCollection.setParamValue("N/A"); // å¤çç©ºå¼æ
åµ |
| | | } |
| | | Date collectTime = new Date(); |
| | | ReadWriteEntity collectTimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime");//è¿ç«æ¶é´ |
| | | collectTime = format.parse(TimeUtil.test(TimeUtil.stringProcessing(collectTimeRead.getValue().toString()))); |
| | | materialCollection.setCollectTime( collectTime); |
| | | // æå
¥æ°æ®åº |
| | | daMaterialCollectionService.insertDaMaterialCollection(materialCollection); |
| | | } |
| | | //åºç«ä¿å |
| | | DaStationCollection daStationCollection = new DaStationCollection(); |
| | |
| | | daMaterialCollectionService.insertDaMaterialCollection(materialCollection); |
| | | } |
| | | else { |
| | | log.debug("éé项为空: {}", gatherAddress); |
| | | log.info("éé项为空: {}", gatherAddress); |
| | | } |
| | | } |
| | | } |
| | |
| | | daParamCollectionService.insertDaParamCollection(paramCollection); |
| | | } |
| | | else { |
| | | log.debug("éé项为空: {}", gatherAddress); |
| | | log.info("éé项为空: {}", gatherAddress); |
| | | } |
| | | } |
| | | } |
| | |
| | | log.error(e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | //é¦å·¥ç«ä¸åå·¥å,å¹¶çæSNç |
| | | private static final String[] MONTH = {"A","B","C","D","E","F","G","H","I","J","K","L"}; |
| | |
| | | String A4 = MONTH[LocalDateTime.now().getMonthValue() - 1];// è·åå½åæä»½ï¼1-12ï¼ |
| | | String A5 = String.format("%05d", serialNumber.getSerialNumber()); |
| | | String SFCCode = A1 + A2 + A3+ A4 + A5; |
| | | String SerialNumber = A2 + A3+ A4 + A5; |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SerialNumber").value(SerialNumber).build()); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); |
| | | log.info("SFCCodeï¼{}ä¸åæå",SFCCode); |
| | | }else{ |
| | | sysCountService.clean(); |
| | | sysCountService.updateYear(); |
| | |
| | | String A4 = MONTH[LocalDateTime.now().getMonthValue() - 1];// è·åå½åæä»½ï¼1-12ï¼ |
| | | String A5 = String.format("%05d", sysCountService.getSerialNumber().getSerialNumber()); |
| | | String SFCCode = A1 + A2 + newA3+ A4 + A5; |
| | | String SerialNumber = A2 + newA3+ A4 + A5; |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SerialNumber").value(SerialNumber).build()); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); |
| | | log.info("SFCCodeï¼{}ä¸åæå",SFCCode); |
| | | } |
| | | // æ´æ° WorkOrderRequestDone å°åå |
| | | BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); |
| | |
| | | String PalletID = String.valueOf(getBodyOrder.getBodyQty() + 1); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(PalletID).build()); |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(11).build()); |
| | | log.info("å·¥ä½{}请æ±å·¥åæå",device); |
| | | } |
| | | else{ |
| | | log.info("请æ±å·¥åå¤±è´¥ï¼æªæ£ç´¢å°å·¥å"); |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(12).build()); |
| | | } |
| | | } else if (Constants.C005.equals(device)) { |
| | |
| | | String SFCCode = A1 + A2 + A3+ A4 + A5; |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); |
| | | log.info("SFCCodeï¼{}ä¸åæå",SFCCode); |
| | | }else{ |
| | | sysCountService.clean(); |
| | | sysCountService.updateYear(); |
| | |
| | | String SFCCode = A1 + A2 + newA3+ A4 + A5; |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); |
| | | log.info("SFCCodeï¼{}ä¸åæå",SFCCode); |
| | | } |
| | | // æ´æ° WorkOrderRequestDone å°åå |
| | | BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); |
| | |
| | | String PalletID = String.valueOf(getHeadOrder.getHeadQty() + 1); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(PalletID).build()); |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(11).build()); |
| | | log.info("å·¥ä½{}请æ±å·¥åæå",device); |
| | | } |
| | | else{ |
| | | log.info("请æ±å·¥åå¤±è´¥ï¼æªæ£ç´¢å°å¯¹åºå·¥å"); |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(12).build()); |
| | | } |
| | | } else if (Constants.P010.equals(device)) { |
| | |
| | | String SFCCode = A1 + A2 + A3+ A4 + A5; |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); |
| | | log.info("SFCCodeï¼{}ä¸åæå",SFCCode); |
| | | }else{ |
| | | sysCountService.clean(); |
| | | sysCountService.updateYear(); |
| | |
| | | String SFCCode = A1 + A2 + newA3+ A4 + A5; |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".SFCCode").value(SFCCode).build()); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MESSFCCode").value(SFCCode).build()); |
| | | log.info("SFCCodeï¼{}ä¸åæå",SFCCode); |
| | | } |
| | | // æ´æ° WorkOrderRequestDone å°åå |
| | | BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); |
| | |
| | | String PalletID = String.valueOf(getPreOrder.getPreQty() + 1); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(PalletID).build()); |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(11).build()); |
| | | log.info("å·¥ä½{}请æ±å·¥åæå",device); |
| | | } |
| | | else{ |
| | | log.info("请æ±å·¥åå¤±è´¥ï¼æªæ£ç´¢å°å¯¹åºå·¥å"); |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderRequestDone").value(12).build()); |
| | | } |
| | | } |