Exemplo n.º 1
0
  private String generateWhereCause(final ProjectQueryTo queryTo) {
    StringBuilder sb = new StringBuilder();
    if (queryTo.getProjCode() != null && !queryTo.getProjCode().equals("")) {
      String projCodeQueryString =
          getSmartSearchQueryAllLike("pc.PROJ_CODE", queryTo.getProjCode());
      if (projCodeQueryString != null) {
        sb.append(" and (" + projCodeQueryString + " )");
      }
    }

    if (queryTo.getProjName() != null && !queryTo.getProjName().equals("")) {
      String projNameQueryString = getSmartSearchQueryAllLike("p.PROJ_NAME", queryTo.getProjName());
      if (projNameQueryString != null) {
        sb.append(" and (" + projNameQueryString + " )");
      }
    }

    /*
     * if (queryTo.getReleaseTo() != null &&
     * !queryTo.getReleaseTo().equals("")) {
     *
     * String releaseTo = getSmartSearchQueryString("pc.RELEASE_TO",
     * queryTo.getReleaseTo()); if (releaseTo != null) { sb.append(" and (" +
     * releaseTo + ")"); } }
     */

    if (queryTo.getProdCode() != null && !queryTo.getProdCode().equals("")) {
      String prodCode = getSmartSearchQueryAllLike("pc.PROD_CODE", queryTo.getProdCode());
      if (prodCode != null) {
        sb.append(" and (" + prodCode + " )");
      }
    }

    if (queryTo.getFab() != null && !queryTo.getFab().equals("")) {
      sb.append(" and p.FAB = " + getSQLString(queryTo.getFab()) + " ");
    }

    if (queryTo.getProjOption() != null && !queryTo.getProjOption().equals("")) {
      sb.append(" and pc.PROJ_OPTION = " + getSQLString(queryTo.getProjOption()) + " ");
    }

    if (queryTo.getPanelType() != null && !queryTo.getPanelType().equals("")) {
      sb.append(" and p.PANEL_TYPE = " + getSQLString(queryTo.getPanelType()) + " ");
    }

    if (queryTo.getProdFamily() != null && !queryTo.getProdFamily().equals("")) {
      sb.append(" and p.PROD_FAMILY = " + getSQLString(queryTo.getProdFamily()) + " ");
    }

    if (queryTo.getProdLine() != null && !queryTo.getProdLine().equals("")) {
      sb.append(" and p.PROD_LINE = " + getSQLString(queryTo.getProdLine()) + " ");
    }

    if (queryTo.getProcTech() != null && !queryTo.getProcTech().equals("")) {
      sb.append(" and p.PROC_TECH = " + getSQLString(queryTo.getProcTech()) + " ");
    }

    if (queryTo.getCust() != null && !queryTo.getCust().equals("")) {
      String custQueryString = getSmartSearchQueryString("pc.CUST", queryTo.getCust());
      if (custQueryString != null) {
        sb.append(" and (" + custQueryString + " )");
      }
    }

    if (queryTo.getTeamMember() != null && !queryTo.getTeamMember().equals("")) {
      // String teamMember =
      // super.getLikeSQLString(queryTo.getTeamMember());
      String teamMember = queryTo.getTeamMember();
      if (teamMember.startsWith("*")) {
        teamMember = "%" + teamMember.substring(1);
      }

      if (teamMember.endsWith("*")) {
        teamMember = teamMember.substring(0, teamMember.length() - 1) + "%";
      }
      teamMember = getSQLString(teamMember);

      sb.append(" and (");
      sb.append(" p.PROJ_LEADER like " + teamMember + " ");
      sb.append(" or p.DESIGN_ENGR like " + teamMember + " ");
      sb.append(" or p.PROD_ENGR like " + teamMember + " ");
      sb.append(" or p.ESD_ENGR like " + teamMember + " ");
      sb.append(" or p.APR_ENGR like " + teamMember + " ");
      sb.append(" or p.LAYOUT_ENGR like " + teamMember + " ");
      sb.append(" or p.TEST_ENGR like " + teamMember + " ");
      sb.append(" or p.ASSY_ENGR like " + teamMember + " ");
      sb.append(" or p.APP_ENGR like " + teamMember + " ");
      sb.append(" or p.PM like " + teamMember + " ");
      sb.append(" or p.QA_ENGR like " + teamMember + " ");
      sb.append(" or p.SALES_ENGR like " + teamMember + " ");
      sb.append(")");
    }

    if (queryTo.getKickOffDateFrom() != null
        && !queryTo.getKickOffDateFrom().equals("")
        && queryTo.getKickOffDateTo() != null
        && !queryTo.getKickOffDateTo().equals("")) {
      // SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
      String dateFrom =
          getSQLDateString(queryTo.getKickOffDateFrom() + " 00:00:00", "yyyy/MM/dd HH:mm:ss");
      String dateTo =
          getSQLDateString(queryTo.getKickOffDateTo() + " 23:59:59", "yyyy/MM/dd HH:mm:ss");
      sb.append(" and pc.KICK_OFF_DATE between " + dateFrom + " and " + dateTo + " ");
    }

    if (queryTo.getStatus() != null && !queryTo.getStatus().equals("")) {
      sb.append(" and p.STATUS = " + getSQLString(queryTo.getStatus()) + " ");
    }

    if (queryTo.getEstimated() != null && !queryTo.getEstimated().equals("")) {
      sb.append(" and p.ESTIMATED = " + getSQLString(queryTo.getEstimated()) + " ");
    }

    if (queryTo.getNickName() != null && !queryTo.getNickName().equals("")) {
      String nickName = queryTo.getNickName();
      if (nickName.startsWith("*")) {
        nickName = "%" + nickName.substring(1);
      }

      if (nickName.endsWith("*")) {
        nickName = nickName.substring(0, nickName.length() - 1) + "%";
      }
      nickName = getSQLString(nickName);

      sb.append(" and p.NICK_NAME like " + nickName + " ");
    }
    return sb.toString();
  }