cut-to-pack-service/src/main/java/com/utopiaindustries/querybuilder/ctp/MasterBundleQueryBuilder.java

45 lines
1.7 KiB
Java

package com.utopiaindustries.querybuilder.ctp;
import com.utopiaindustries.querybuilder.QueryBuilder;
import com.utopiaindustries.util.CTPDateTimeFormat;
import com.utopiaindustries.util.StringUtils;
import java.time.LocalDate;
public class MasterBundleQueryBuilder {
public static String buildQuery( String id, String jobCardId, String startDate, String endDate, Long count ){
// format date
String formattedDate;
String formattedEndDate;
String startDate1 = "";
String endDate1 = "";
if ( ! StringUtils.isNullOrEmpty( startDate ) ) {
formattedDate = CTPDateTimeFormat.getMySQLFormattedDateString( startDate, CTPDateTimeFormat.HTML5_DATE_INPUT_FORMAT );
formattedEndDate = CTPDateTimeFormat.getMySQLFormattedDateString( endDate, CTPDateTimeFormat.HTML5_DATE_INPUT_FORMAT );
startDate1 = String.format( "'%s 00:00:01'", formattedDate );
if ( ! StringUtils.isNullOrEmpty( endDate ) ) {
endDate1 = String.format("'%s 23:59:59'", formattedEndDate);
}
else {
endDate1 = String.format("'%s 23:59:59'", LocalDate.now() );
}
}
return ( new QueryBuilder() )
.setTable( "cut_to_pack.master_bundle" )
.setColumns( "*" )
.where()
.columnEquals( "id", id )
.and()
.columnEquals( "job_card_id", jobCardId )
.and()
.columnEqualToOrGreaterThan("created_at" , startDate1 )
.and()
.columnEqualToOrLessThan( "created_at", endDate1 )
.limit( count.intValue() )
.build();
}
}