cl
2024-02-23 73bc0656dc15cd9cc95c6f4f51949ef0437088ce
guns-vip-main/src/main/java/cn/stylefeng/guns/plcserver/callback/EOP090BCallback.java
@@ -38,7 +38,7 @@
import java.util.List;
@Component
public class EOP090BCallback implements SubscriptionCallback {
public class EOP090BCallback {
    public MiloService miloService;
@@ -121,42 +121,7 @@
        this.productionOrderRecordsService = productionOrderRecordsService;
        this.productionOrderBatchInfoService = productionOrderBatchInfoService;
    }
    @Override
    public void onSubscribe(String identifier, Object value) {
        String ecpStr = "";//异常记录标记
        try {
            //心跳
            if(null != value && identifier.equals(OPCElement.EOP090B_F_HEART_BEAT)){
                if( "false".equals(value.toString()))
                {
                    ReadWriteEntity entity = new ReadWriteEntity(OPCElement.EOP090B_F_HEART_BEAT,true);
                    miloService.writeToOpcUa(entity);
                }
            }
            //PLC进站
            else if(null != value && identifier.equals(OPCElement.EOP090B_J_PLC_START)){
                if("true".equals(value.toString())){
                    handleOrder();
                }
            }
            //PLC出站
            else if(null != value && identifier.equals(OPCElement.EOP090B_J_PLC_FINISH)){
                if("true".equals(value.toString())){
                    handleFinsh();
                    handleInfo();
                    handleMaterial();
                }
            }else{
                System.out.println("值没有变");
            }
        } catch (Exception e) {
            ecpStr ="出现异常:" + logUtil.getTrace(e);
        }finally {
            if(!"".equals(ecpStr)){
                logger.info(ecpStr+"\r\n");
            }
        }
    }
    //PC读工单
    public void handleOrder() throws Exception {
@@ -255,24 +220,26 @@
        if(null != list && !list.isEmpty()) {
            for (int i = 0; i < list.size(); i++) {
                CollectionParamConfResult result = (CollectionParamConfResult) list.get(i);
                String value = miloService.
                Object value = miloService.
                        readFromOpcUa(result.getGatherAddress())
                        .getValue().toString();//读参数值
                ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
                paramCollectionParam.setParamCode(result.getParamCode());
                paramCollectionParam.setParamName(result.getParamName());
                paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
                paramCollectionParam.setSfcCode(S_SFC_CODE);
                paramCollectionParam.setProductCode(S_PRODUCT_CODE);
                paramCollectionParam.setProductionLine(result.getProductionLine());
                paramCollectionParam.setLocationCode(result.getLocationCode());
                paramCollectionParam.setParamValue(value);
                paramCollectionParam.setParamLower(result.getParamLower());
                paramCollectionParam.setParamUpper(result.getParamUpper());
                paramCollectionParam.setParamStandard(result.getParamCentral());
                paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
                paramCollectionParam.setUnit(result.getUnit());
                paramCollectionService.add(paramCollectionParam);
                        .getValue();//读参数值
                if(null != value) {
                    ParamCollectionParam paramCollectionParam = new ParamCollectionParam();
                    paramCollectionParam.setParamCode(result.getParamCode());
                    paramCollectionParam.setParamName(result.getParamName());
                    paramCollectionParam.setWorkOrderNo(S_ORDER_CODE);
                    paramCollectionParam.setSfcCode(S_SFC_CODE);
                    paramCollectionParam.setProductCode(S_PRODUCT_CODE);
                    paramCollectionParam.setProductionLine(result.getProductionLine());
                    paramCollectionParam.setLocationCode(result.getLocationCode());
                    paramCollectionParam.setParamValue(value.toString());
                    paramCollectionParam.setParamLower(result.getParamLower());
                    paramCollectionParam.setParamUpper(result.getParamUpper());
                    paramCollectionParam.setParamStandard(result.getParamCentral());
                    paramCollectionParam.setCollectionTime(DateTool.getLocalTimeForDate());
                    paramCollectionParam.setUnit(result.getUnit());
                    paramCollectionService.add(paramCollectionParam);
                }
            }
        }