Example usage for org.apache.ibatis.jdbc SQL SQL

List of usage examples for org.apache.ibatis.jdbc SQL SQL

Introduction

In this page you can find the example usage for org.apache.ibatis.jdbc SQL SQL.

Prototype

SQL

Source Link

Usage

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * ??//w ww  . ja va  2 s .c  om
 */
public String sumByFlowIdAndTimesAndStatus(Map<String, Object> parameter) {
    List<FlowStatus> flowStatuses = (List<FlowStatus>) parameter.get("status");
    List<String> workflowList = (List<String>) parameter.get("workflowList");
    List<String> workflowList2 = new ArrayList<>();

    Date startDate = (Date) parameter.get("startDate");
    Date endDate = (Date) parameter.get("endDate");

    if (CollectionUtils.isNotEmpty(workflowList)) {
        for (String workflow : workflowList) {
            workflowList2.add("\"" + workflow + "\"");
        }
    }

    List<String> flowStatusStrList = new ArrayList<>();
    if (CollectionUtils.isNotEmpty(flowStatuses)) {
        for (FlowStatus status : flowStatuses) {
            flowStatusStrList.add(String.valueOf(status.ordinal()));
        }
    }

    String where = String.join(",", flowStatusStrList);

    return new SQL() {
        {
            SELECT("count(0)");

            FROM(TABLE_NAME + " e_f");

            JOIN("project_flows p_f on e_f.flow_id = p_f.id");
            JOIN("project p on p_f.project_id = p.id");

            WHERE("p.name = #{projectName}");

            if (CollectionUtils.isNotEmpty(workflowList)) {
                WHERE("p_f.name in (" + String.join(",", workflowList2) + ")");
            }

            if (startDate != null && endDate != null) {
                WHERE("start_time >= #{startDate}");
                WHERE("start_time <= #{endDate}");
            }

            if (CollectionUtils.isNotEmpty(flowStatuses)) {
                WHERE("`status` in (" + where + ") ");
            }
        }
    }.toString();
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * @param parameter//  w  w  w .ja  v  a  2s . c  om
 * @return
 */
public String selectStateByProject(Map<String, Object> parameter) {
    String sql = new SQL() {
        {
            SELECT("str_to_date(DATE_FORMAT(e_f.start_time,'%Y%m%d'),'%Y%m%d') as day,\n"
                    + "SUM(case e_f.status when 0 then 1 else 0 end) as INIT,\n"
                    + "SUM(case e_f.status when 1 then 1 else 0 end) as WAITING_DEP,\n"
                    + "SUM(case e_f.status when 2 then 1 else 0 end) as WAITING_RES,\n"
                    + "SUM(case e_f.status when 3 then 1 else 0 end) as RUNNING,\n"
                    + "SUM(case e_f.status when 4 then 1 else 0 end) as SUCCESS,\n"
                    + "SUM(case e_f.status when 5 then 1 else 0 end) as `KILL`,\n"
                    + "SUM(case e_f.status when 6 then 1 else 0 end) as `FAILED`,\n"
                    + "SUM(case e_f.status when 7 then 1 else 0 end) as `DEP_FAILED`,\n"
                    + "SUM(case e_f.status when 8 then 1 else 0 end) as `INACTIVE`");

            FROM(TABLE_NAME + " e_f");

            JOIN("project_flows p_f on e_f.flow_id = p_f.id");
            WHERE("e_f.start_time >= #{startDate} AND e_f.start_time <= #{endDate}");
            WHERE("p_f.project_id = #{projectId}");

            GROUP_BY("day");
        }
    }.toString();
    return sql;
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * @param parameter//from  w w  w  . jav a2s.  co  m
 * @return
 */
public String selectStateHourByProject(Map<String, Object> parameter) {
    return new SQL() {
        {
            SELECT("CONVERT(DATE_FORMAT(e_f.start_time,'%H'),SIGNED) as hour,\n"
                    + "SUM(case e_f.status when 0 then 1 else 0 end) as INIT,\n"
                    + "SUM(case e_f.status when 1 then 1 else 0 end) as WAITING_DEP,\n"
                    + "SUM(case e_f.status when 2 then 1 else 0 end) as WAITING_RES,\n"
                    + "SUM(case e_f.status when 3 then 1 else 0 end) as RUNNING,\n"
                    + "SUM(case e_f.status when 4 then 1 else 0 end) as SUCCESS,\n"
                    + "SUM(case e_f.status when 5 then 1 else 0 end) as `KILL`,\n"
                    + "SUM(case e_f.status when 6 then 1 else 0 end) as `FAILED`,\n"
                    + "SUM(case e_f.status when 7 then 1 else 0 end) as `DEP_FAILED`,\n"
                    + "SUM(case e_f.status when 8 then 1 else 0 end) as `INACTIVE`");

            FROM(TABLE_NAME + " e_f");

            JOIN("project_flows p_f on e_f.flow_id = p_f.id");

            WHERE("str_to_date(DATE_FORMAT(e_f.start_time,'%Y%m%d'),'%Y%m%d') = #{day}");
            WHERE("p_f.project_id = #{projectId}");

            GROUP_BY("hour");
        }
    }.toString();
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * @param parameter//from   w  w w . ja  v a  2s.c o  m
 * @return
 */
public String selectDurationsByProject(Map<String, Object> parameter) {
    String sql1 = new SQL() {
        {
            SELECT("timestampdiff(SECOND,start_time,if(end_time is null,now(),end_time)) as duration");
            SELECT("p_f.name as flow_name");
            SELECT("u.name as owner_name");
            SELECT("e_f.*");

            FROM(TABLE_NAME + " e_f");

            JOIN("project_flows p_f on e_f.flow_id = p_f.id");
            JOIN("user u on p_f.owner = u.id");

            WHERE("str_to_date(DATE_FORMAT(e_f.start_time,'%Y%m%d'),'%Y%m%d') = #{date}");
            WHERE("p_f.project_id = #{projectId}");

            ORDER_BY("duration DESC");
        }
    }.toString() + " limit #{top}";

    return new SQL() {
        {
            SELECT("s1.*");
            SELECT("u.name as proxyUser");

            FROM("(" + sql1 + ") s1");

            LEFT_OUTER_JOIN("user u on s1.proxy_user = u.id");
        }
    }.toString();
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * @param parameter/*from   w  w w.  j a v a 2s.c  o  m*/
 * @return
 */
public String selectErrorsByProject(Map<String, Object> parameter) {
    return new SQL() {
        {
            SELECT("count(0) as times");
            SELECT("p_f.name as flow_name");
            SELECT("u.name as owner_name");
            SELECT("p.name as projectName");
            SELECT("p_f.proxy_user");

            FROM(TABLE_NAME + " e_f");

            JOIN("project_flows p_f on e_f.flow_id = p_f.id");
            JOIN("user u on p_f.owner = u.id");
            JOIN("project p on p_f.project_id = p.id");

            WHERE("str_to_date(DATE_FORMAT(e_f.start_time,'%Y%m%d'),'%Y%m%d') = #{date}");
            WHERE("e_f.status in (" + FlowStatus.FAILED.ordinal() + "," + FlowStatus.DEP_FAILED.ordinal()
                    + ")");
            WHERE("p.id = #{projectId}");

            GROUP_BY("e_f.flow_id");
            ORDER_BY("times DESC");
        }
    }.toString() + " limit #{top}";
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * @param parameter//from  ww  w  .  j  a v a2 s. c o  m
 * @return
 */
public String selectPreDate(Map<String, Object> parameter) {
    return new SQL() {
        {
            SELECT("*");

            FROM(TABLE_NAME);

            WHERE("schedule_time <= #{date}");
            WHERE("flow_id = #{flowId}");

            ORDER_BY("schedule_time DESC");
        }
    }.toString() + " limit 1";
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * @param parameter//from   ww  w . java2s  .  c  om
 * @return
 */
public String selectPreDate2(Map<String, Object> parameter) {
    return new SQL() {
        {
            SELECT("*");

            FROM(TABLE_NAME);

            WHERE("schedule_time < #{date}");
            WHERE("flow_id = #{flowId}");

            ORDER_BY("schedule_time DESC");
        }
    }.toString() + " limit 1";
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * @param parameter//w  w  w.  ja  va  2 s.c  o  m
 * @return
 */
public String selectPreStartDate(Map<String, Object> parameter) {
    return new SQL() {
        {
            SELECT("*");

            FROM(TABLE_NAME);

            WHERE("start_time <= #{date}");
            WHERE("flow_id = #{flowId}");

            ORDER_BY("start_time DESC");
        }
    }.toString() + " limit 1";
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

public String selectByStartTimeAndScheduleTime(Map<String, Object> parameter) {
    return new SQL() {
        {//from   w  w w. ja  v  a  2 s  .c  om
            SELECT("*");

            FROM(TABLE_NAME);

            WHERE("schedule_time < #{scheduleTime}");
            WHERE("start_time > #{startTime}");
            WHERE("flow_id = #{flowId}");

            ORDER_BY("schedule_time,start_time DESC");
        }
    }.toString() + " limit 1";
}

From source file:com.baifendian.swordfish.dao.mapper.ExecutionFlowMapperProvider.java

License:Apache License

/**
 * ?flowIdScheduleTimeExecutionFlow/* w  w  w.  j  a  va 2 s .co m*/
 */
public String selectExecutionFlowByScheduleTime(Map<String, Object> parameter) {
    return new SQL() {
        {
            SELECT("*");
            FROM(TABLE_NAME);
            WHERE("flow_id = #{flowId}");
            WHERE("schedule_time = #{scheduleTime}");
            ORDER_BY("id desc");
        }
    }.toString() + " limit 0,1";
}