示例#1
0
  /**
   * Difference from getInternalCSV: Joins with CHARGE_BOX and OCPP_TAG tables, selects
   * CHARGE_BOX_PK and OCPP_TAG_PK additionally
   */
  @SuppressWarnings("unchecked")
  private SelectQuery<
          Record10<
              Integer,
              String,
              Integer,
              String,
              DateTime,
              String,
              DateTime,
              String,
              Integer,
              Integer>>
      getInternal(TransactionQueryForm form) {

    SelectQuery selectQuery = ctx.selectQuery();
    selectQuery.addFrom(TRANSACTION);
    selectQuery.addJoin(CONNECTOR, TRANSACTION.CONNECTOR_PK.eq(CONNECTOR.CONNECTOR_PK));
    selectQuery.addJoin(CHARGE_BOX, CHARGE_BOX.CHARGE_BOX_ID.eq(CONNECTOR.CHARGE_BOX_ID));
    selectQuery.addJoin(OCPP_TAG, OCPP_TAG.ID_TAG.eq(TRANSACTION.ID_TAG));
    selectQuery.addSelect(
        TRANSACTION.TRANSACTION_PK,
        CONNECTOR.CHARGE_BOX_ID,
        CONNECTOR.CONNECTOR_ID,
        TRANSACTION.ID_TAG,
        TRANSACTION.START_TIMESTAMP,
        TRANSACTION.START_VALUE,
        TRANSACTION.STOP_TIMESTAMP,
        TRANSACTION.STOP_VALUE,
        CHARGE_BOX.CHARGE_BOX_PK,
        OCPP_TAG.OCPP_TAG_PK);

    return addConditions(selectQuery, form);
  }
示例#2
0
 @Override
 public List<Integer> getActiveTransactionIds(String chargeBoxId) {
   return ctx.select(TRANSACTION.TRANSACTION_PK)
       .from(TRANSACTION)
       .join(CONNECTOR)
       .on(TRANSACTION.CONNECTOR_PK.equal(CONNECTOR.CONNECTOR_PK))
       .and(CONNECTOR.CHARGE_BOX_ID.equal(chargeBoxId))
       .where(TRANSACTION.STOP_TIMESTAMP.isNull())
       .fetch(TRANSACTION.TRANSACTION_PK);
 }