protected void dealDetailFlt(
      AirlineQueryModel aqm,
      List<Map<String, Object>> thisYearDateResult,
      List<String> segResult,
      BaseFlagConfig fc,
      Map<String, String> tableField,
      List<Map<String, Object>> result)
      throws Exception, IllegalAccessException, InvocationTargetException {
    String selectedAirline = segResult.get(0);
    String selectedAirlineRef = segResult.get(1);
    // 获取父表名字 e0301_flt 或者 E0401_AIRLINE
    String tableName = tableField.get("tableName");
    params.clear();

    // 年份 航线中文翻译。
    StringBuffer sql = new StringBuffer("select '" + aqm.getYears() + "' YEAR,");
    sql.append(" '" + selectedAirlineRef + "' AIRLINEREF,");
    sql.append("c.DT,");
    sql.append("c.FLTNO,");
    sql.append("c.FLTTM,");
    sql.append(" (case when sum(c.STOP) = 1 then 'Y' else 'N' end) STOP,");
    // sum string (" sum(c.A) A,");
    sql.append(fieldJoint("c", true, true, fc));

    // 开始拼接子表 。 年份 ,航线中文翻译。
    sql.append(" from (select ");

    // 获取日期维度DT字段。
    sql.append(switchDateTypeToSqlString(thisYearDateResult, tableField.get("flightDate")));
    // 航班号、航班时间、经停标志
    sql.append(" t.cmp_2cd||t.flt_nbr||t.flt_nbr_sfx FLTNO,");
    sql.append(" to_char(t.lcl_dpt_tm,'hh:mm') FLTTM,");
    sql.append(" t.air_stop_flag STOP,");
    // 拼接指标表字段。.(" tableAlias.fieldName Alias,");
    sql.append(fieldJoint(fc.tableAlias, false, false, fc));

    // 连接指标表和父表
    sql.append(" from " + tableName + " t inner join " + fc.tableName + " " + fc.tableAlias);

    // 条件 子句拼接。
    // 日期、周、公司、机型限定。
    sql.append(limitSqlString(aqm, thisYearDateResult, tableField, params));
    // 经停航线
    if (selectedAirline.length() == 11) {
      // 限定航线 air_line 限定air_seg_nbr为0.
      sql.append(" and t.air_line = '" + selectedAirline + "' and t.air_seg_nbr = 0");
    }
    // 直达航线。
    else {
      sql.append(" and t.dpt_airpt_cd||'-'||t.arrv_airpt_cd = '" + selectedAirline + "'");
      // 是从航段列表过来的请求
      if (StringUtils.equals(aqm.getAirlineType(), "2"))
        sql.append(
            " and t.air_stop_flag in ('"
                + aqm.getIncludeGoto()
                + "','"
                + aqm.getIncludeStop()
                + "')");
    }
    sql.append(" and t.id = " + fc.tableAlias + "." + fc.foreignFieldName);
    // 年份(已被日期限定。)、时间维度分组、航班号、航班时间。
    sql.append(" ) c group by c.DT,c.FLTNO,c.FLTTM");

    result.addAll(super.executeSql(sql.toString(), params));
  }