| | |
| | | } |
| | | } else if(Constants.OP100_1.equals(device) || Constants.OP100_2.equals(device)){ |
| | | //1、进站PLC给产品类型,MES读取产品类型 |
| | | ReadWriteEntity productTypeRead = miloService.readFromOpcUa(thoroughfare + "." + device + ".ProductType");//产品类型 |
| | | if (ObjectUtil.isNotNull(productTypeRead.getValue())){ |
| | | String productType = productTypeRead.getValue().toString(); |
| | | |
| | | Object productTypeObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".ProductType").getValue();//产品类型 |
| | | if (ObjectUtil.isNotNull(productTypeObjcet)){ |
| | | String productType = productTypeObjcet.toString();//产品类型 |
| | | CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { |
| | | //调用工厂MES,保存到数据库,并且将工单传给PLC (目前临时用该方法) |
| | | receivingWorkOrders(thoroughfare, device); |
| | |
| | | |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(11).build()); |
| | | log.info("写入到工位{}的RecordDataDone数据:{}",device,11); |
| | | |
| | | }else{ |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(12).build()); |
| | | } |
| | |
| | | } |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordDataDone").value(result).build()); |
| | | log.info("写入到工位{}的RecordDataDone数据:{}",device,result); |
| | | } else if (Constants.OP100_1.equals(device) || Constants.OP100_2.equals(device)){ |
| | | |
| | | } else if (Constants.OP100_OP150.contains(device)){//人工工位 |
| | | WebSocketUsers.sendMessageToUserByText(map.get(device), "END"); |
| | | } else { |
| | | Integer result = 21; |
| | | Object productTypeObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".ProductType").getValue();//产品类型 |
| | | Object modulCodeObjcet = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCode").getValue(); |
| | | if (ObjectUtil.isNull(modulCodeObjcet) && modulCodeObjcet.toString().trim().isEmpty()){ |
| | | result = 23; |
| | |
| | | String productNum = orderList.get(0).getProductNum();//模组码 |
| | | String orderNum = orderList.get(0).getWorkOrderNo(); |
| | | //下发产品模组码 |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MES_ModuleCode").value(productNum).build()); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".MES_WorkOrderNumber").value(productNum).build()); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".ModuleCode").value(productNum).build()); |
| | | miloService.writeToOpcUa(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".WorkOrderNumber").value(productNum).build()); |
| | | //miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(thoroughfare + "." + device + ".RecordSNDone").value(1).build()); |
| | | |
| | | //更新工单状态为执行中 |
| | |
| | | String paramValue = ""; |
| | | if (ObjectUtil.isNotNull(readWriteEntityList.get(i).getValue())){ |
| | | paramValue = readWriteEntityList.get(i).getValue().toString();//参数值 |
| | | if("DATE".equals(list.get(i).getCollectParameterType()) && !paramValue.isEmpty()){ |
| | | paramValue = format.parse(TimeUtil.test(TimeUtil.stringProcessing(paramValue))).toString(); |
| | | } |
| | | } |
| | | daParamCollection.setParamValue(paramValue);//参数值 |
| | | daParamCollection.setLocationCode(device);//工位 |
| | |
| | | childVO.setItemValue(paramValue);//参数值 |
| | | childVO.setItemText(list.get(i).getCollectParameterName()); |
| | | childVO.setCheckResult("1"); |
| | | childVO.setCheckTime(new Date().toString()); |
| | | childVO.setCheckTime(format.format(new Date())); |
| | | mesList.add(childVO); |
| | | } |
| | | |
| | |
| | | childVO.setItemValue(paramValue);//参数值 |
| | | childVO.setItemText(confColl1.get(i).getParameterSetName()); |
| | | childVO.setCheckResult("1"); |
| | | childVO.setCheckTime(new Date().toString()); |
| | | childVO.setCheckTime(format.format(new Date())); |
| | | mesChildList1.add(childVO); |
| | | } |
| | | |
| | |
| | | childVO.setItemValue(paramValue);//参数值 |
| | | childVO.setItemText(confColl2.get(i).getParameterSetName()); |
| | | childVO.setCheckResult("1"); |
| | | childVO.setCheckTime(new Date().toString()); |
| | | childVO.setCheckTime(format.format(new Date())); |
| | | mesChildList2.add(childVO); |
| | | } |
| | | } |
| | |
| | | childVO.setItemValue(paramValue);//参数值 |
| | | childVO.setItemText(confColl3.get(i).getParameterSetName()); |
| | | childVO.setCheckResult("1"); |
| | | childVO.setCheckTime(new Date().toString()); |
| | | childVO.setCheckTime(format.format(new Date())); |
| | | mesChildList3.add(childVO); |
| | | } |
| | | } |
| | |
| | | childVO.setItemValue(paramValue);//参数值 |
| | | childVO.setItemText(confColl4.get(i).getParameterSetName()); |
| | | childVO.setCheckResult("1"); |
| | | childVO.setCheckTime(new Date().toString()); |
| | | childVO.setCheckTime(format.format(new Date())); |
| | | mesChildList4.add(childVO); |
| | | } |
| | | } |
| | |
| | | String paramValue = ""; |
| | | if (ObjectUtil.isNotNull(paramCollectionList0.get(j).getValue())) { |
| | | paramValue = paramCollectionList0.get(j).getValue().toString();//参数值 |
| | | } |
| | | if(confColl0.get(j).getCollectParameterName().contains("时间") && !"".equals(paramValue)){ |
| | | paramValue = format.parse(TimeUtil.test(TimeUtil.stringProcessing(paramValue))).toString(); |
| | | if("DATE".equals(confColl0.get(j).getCollectParameterType()) && !paramValue.isEmpty()){ |
| | | paramValue = TimeUtil.test(TimeUtil.stringProcessing(paramValue)); |
| | | } |
| | | } |
| | | daParamCollection.setParamValue(paramValue);//参数值 |
| | | daParamCollection.setLocationCode(device);//工位 |
| | |
| | | childVO.setItemValue(paramValue);//参数值 |
| | | childVO.setItemText(confColl0.get(j).getParameterSetName()); |
| | | childVO.setCheckResult("1"); |
| | | childVO.setCheckTime(new Date().toString()); |
| | | childVO.setCheckTime(format.format(new Date())); |
| | | mesChildList0.add(childVO); |
| | | } |
| | | } |