From ae6879a7575f79d814c70781e6efc1b6218f3732 Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期五, 14 三月 2025 14:10:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java | 111 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 68 insertions(+), 43 deletions(-) diff --git a/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java b/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java index da49e78..20c97d0 100644 --- a/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java +++ b/billion-main/src/main/java/com/billion/main/plcServer/sub/OPCUaSubscription.java @@ -134,6 +134,7 @@ 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(); @@ -147,10 +148,22 @@ 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())){ + omProductionOrderInfoService.updateBodyStatus2(); + } } if(Constants.C005.equals(device)){ + omProductionOrderInfoService.updateHeadStatus1(); omOrderScheduling.setRemarks("Head"); + sysCountService.updateHeadNumber(); + OmProductionOrderInfo getHeadOrder2 = omProductionOrderInfoService.getHeadOrder(); + if (Objects.equals(getHeadOrder2.getHeadQty(), getHeadOrder2.getPlanQty())){ + omProductionOrderInfoService.updateHeadStatus2(); + } } omOrderSchedulingService.insertOmOrderScheduling(omOrderScheduling); }else if(Constants.OFFLINE.contains(device)){ @@ -158,7 +171,6 @@ ReadWriteEntity TimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime"); Time = format.parse(TimeUtil.test(TimeUtil.stringProcessing(TimeRead.getValue().toString()))); omOrderScheduling.setOfflineTime(Time); - omOrderScheduling.setStatus("2"); if(Constants.C060.equals(device)){ omOrderScheduling.setRemarks("Head"); omOrderScheduling.setSfcCode(SFCCode.toString()); @@ -171,7 +183,7 @@ if (nowQty == headQty){ UpdateWrapper<OmProductionOrderInfo> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("work_order_no", omProductionOrderInfoList.get(0).getWorkOrderNo()); - updateWrapper.set("head_status", "3"); + updateWrapper.set("head_status", "2"); omProductionOrderInfoService.update(new OmProductionOrderInfo(),updateWrapper); } } else if (Constants.OP310.equals(device)) { @@ -186,7 +198,7 @@ if (nowQty == bodyQty){ UpdateWrapper<OmProductionOrderInfo> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("work_order_no", omProductionOrderInfoList.get(0).getWorkOrderNo()); - updateWrapper.set("body_status", "3"); + updateWrapper.set("body_status", "2"); omProductionOrderInfoService.update(new OmProductionOrderInfo(),updateWrapper); } } @@ -206,8 +218,15 @@ if (nowQty == preQty){ UpdateWrapper<OmProductionOrderInfo> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("work_order_no", omProductionOrderInfoList.get(0).getWorkOrderNo()); - updateWrapper.set("pre_status", "3"); + updateWrapper.set("pre_status", "2"); omProductionOrderInfoService.update(new OmProductionOrderInfo(),updateWrapper); + } + + sysCountService.updatePreNumber(); + omProductionOrderInfoService.updatePreStatus1(); + OmProductionOrderInfo getPreOrder2 = omProductionOrderInfoService.getPreOrder(); + if (Objects.equals(getPreOrder2.getPreQty(), getPreOrder2.getPlanQty())){ + omProductionOrderInfoService.updatePreStatus2(); } } //鏌ヨdescriptive瀛楁绛変簬1鐨勯噰闆嗛」淇濆瓨鍒版壂鐮佷繚瀛樺埌da_material_collection琛ㄩ噷 @@ -217,21 +236,29 @@ List<DaCollectionParamConf> daCollectionParamConfList1 = daCollectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf1); for (DaCollectionParamConf conf : daCollectionParamConfList1) { String gatherAddress = conf.getGatherAddress(); - String valueObj = miloService.readFromOpcUa(gatherAddress).getValue().toString(); // 鑾峰彇鍘熷鍊煎璞♀��:ml-citation{ref="4" data="citationList"} - if (!Objects.equals(valueObj, " ")) { - DaMaterialCollection materialCollection = new DaMaterialCollection(); - materialCollection.setSfcCode(SFCCode.toString()); - materialCollection.setLocationCode(device); - materialCollection.setParamName(conf.getParameterSetName()); - materialCollection.setParamValue(miloService.readFromOpcUa(gatherAddress).getValue().toString()); - Date Time = new Date(); - ReadWriteEntity TimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime"); - Time = format.parse(TimeUtil.test(TimeUtil.stringProcessing(TimeRead.getValue().toString()))); - materialCollection.setCollectTime(Time); - daMaterialCollectionService.insertDaMaterialCollection(materialCollection); - } - else { - log.debug("閲囬泦椤逛负绌�: {}", gatherAddress); + + String valueObj = null; + ReadWriteEntity entity = miloService.readFromOpcUa(gatherAddress); + if (entity != null) { + Object value = entity.getValue(); + if (value != null) { + valueObj = value.toString(); // 鏈�缁堣祴鍊� + if (!Objects.equals(valueObj, " ")) { + DaMaterialCollection materialCollection = new DaMaterialCollection(); + materialCollection.setSfcCode(SFCCode.toString()); + materialCollection.setLocationCode(device); + materialCollection.setParamName(conf.getParameterSetName()); + materialCollection.setParamValue(miloService.readFromOpcUa(gatherAddress).getValue().toString()); + Date Time = new Date(); + ReadWriteEntity TimeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".StopTime"); + Time = format.parse(TimeUtil.test(TimeUtil.stringProcessing(TimeRead.getValue().toString()))); + materialCollection.setCollectTime(Time); + daMaterialCollectionService.insertDaMaterialCollection(materialCollection); + } + else { + log.debug("閲囬泦椤逛负绌�: {}", gatherAddress); + } + } } } // 鏌ヨdescriptive瀛楁绛変簬2鐨勯噰闆嗛」淇濆瓨鍒版壂鐮佷繚瀛樺埌da_param_collection琛ㄩ噷 @@ -280,6 +307,7 @@ log.error(e.getMessage()); } } + //棣栧伐绔欎笅鍙戝伐鍗�,骞剁敓鎴怱N鐮� private static final String[] MONTH = {"A","B","C","D","E","F","G","H","I","J","K","L"}; public void plackWorkOrder(String thoroughfare, String device, String tab, String valueString) { @@ -308,7 +336,6 @@ 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()); - sysCountService.updateSerialNumber(); }else{ sysCountService.clean(); sysCountService.updateYear(); @@ -320,7 +347,6 @@ 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()); - sysCountService.updateSerialNumber(); } // 鏇存柊 WorkOrderRequestDone 鍦板潃鍧� BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); @@ -328,13 +354,14 @@ bsbomChildInfo.setBomCode(getBodyOrder.getWorkOrderNo()); //鍙戜笅宸ヨ壓閰嶆柟 formula(thoroughfare, device, bsbomChildInfo); - omProductionOrderInfoService.updateBodyStatus1(); +// omProductionOrderInfoService.updateBodyStatus1(); //鍒ゆ柇缂镐綋宸ュ崟瀹屾垚 - OmProductionOrderInfo getBodyOrder2 = omProductionOrderInfoService.getBodyOrder(); - if (Objects.equals(getBodyOrder2.getBodyQty(), getBodyOrder2.getPlanQty())){ - omProductionOrderInfoService.updateBodyStatus2(); - } - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(getBodyOrder2.getBodyQty()).build()); +// OmProductionOrderInfo getBodyOrder2 = omProductionOrderInfoService.getBodyOrder(); +// if (Objects.equals(getBodyOrder2.getBodyQty(), getBodyOrder2.getPlanQty())){ +// omProductionOrderInfoService.updateBodyStatus2(); +// } + 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()); } else{ @@ -360,7 +387,6 @@ 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()); - sysCountService.updateHeadNumber(); }else{ sysCountService.clean(); sysCountService.updateYear(); @@ -372,7 +398,6 @@ 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()); - sysCountService.updateHeadNumber(); } // 鏇存柊 WorkOrderRequestDone 鍦板潃鍧� BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); @@ -380,13 +405,14 @@ bsbomChildInfo.setBomCode(getHeadOrder.getWorkOrderNo()); //鍙戜笅宸ヨ壓閰嶆柟 formula(thoroughfare, device, bsbomChildInfo); - omProductionOrderInfoService.updateHeadStatus1(); +// omProductionOrderInfoService.updateHeadStatus1(); //鍒ゆ柇缂镐綋宸ュ崟瀹屾垚 - OmProductionOrderInfo getHeadOrder2 = omProductionOrderInfoService.getHeadOrder(); - if (Objects.equals(getHeadOrder2.getHeadQty(), getHeadOrder2.getPlanQty())){ - omProductionOrderInfoService.updateHeadStatus2(); - } - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(getHeadOrder2.getHeadQty()).build()); +// OmProductionOrderInfo getHeadOrder2 = omProductionOrderInfoService.getHeadOrder(); +// if (Objects.equals(getHeadOrder2.getHeadQty(), getHeadOrder2.getPlanQty())){ +// omProductionOrderInfoService.updateHeadStatus2(); +// } + 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()); } else{ @@ -411,7 +437,6 @@ 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()); - sysCountService.updatePreNumber(); }else{ sysCountService.clean(); sysCountService.updateYear(); @@ -423,7 +448,6 @@ 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()); - sysCountService.updateHeadNumber(); } // 鏇存柊 WorkOrderRequestDone 鍦板潃鍧� BsBomChildInfo bsbomChildInfo= new BsBomChildInfo(); @@ -431,13 +455,14 @@ bsbomChildInfo.setBomCode(getPreOrder.getWorkOrderNo()); //鍙戜笅宸ヨ壓閰嶆柟 formula(thoroughfare, device, bsbomChildInfo); - omProductionOrderInfoService.updatePreStatus1(); +// omProductionOrderInfoService.updatePreStatus1(); //鍒ゆ柇缂镐綋宸ュ崟瀹屾垚 - OmProductionOrderInfo getPreOrder2 = omProductionOrderInfoService.getPreOrder(); - if (Objects.equals(getPreOrder2.getPreQty(), getPreOrder2.getPlanQty())){ - omProductionOrderInfoService.updatePreStatus2(); - } - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".PalletID").value(getPreOrder2.getPreQty()).build()); +// OmProductionOrderInfo getPreOrder2 = omProductionOrderInfoService.getPreOrder(); +// if (Objects.equals(getPreOrder2.getPreQty(), getPreOrder2.getPlanQty())){ +// omProductionOrderInfoService.updatePreStatus2(); +// } + 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()); } else{ -- Gitblit v1.9.3