56 lines
2.3 KiB
Java
56 lines
2.3 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 JobCardQueryBuilder {
|
|
|
|
public static String buildQuery( String id, String code, String createdBy, String status, String inventoryStatus, String customer, String lotNumber, String purchaseOrderId, String locationSiteId, 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.job_card" )
|
|
.setColumns( "*" )
|
|
.where()
|
|
.columnEquals( "id", id )
|
|
.and()
|
|
.columnEquals( "code", code )
|
|
.and()
|
|
.columnEquals( "status", status )
|
|
.and()
|
|
.columnEquals( "inventory_status", inventoryStatus )
|
|
.and()
|
|
.columnEquals( "customer", customer )
|
|
.and()
|
|
.columnEquals( "lot_number", lotNumber )
|
|
.and()
|
|
.columnEquals( "purchase_order_id", purchaseOrderId )
|
|
.and()
|
|
.columnEquals( "location_site_id", locationSiteId )
|
|
.and()
|
|
.columnEqualToOrGreaterThan("created_at" , startDate1 )
|
|
.and()
|
|
.columnEqualToOrLessThan( "created_at", endDate1 )
|
|
.limit( count.intValue() )
|
|
.build();
|
|
}
|
|
}
|