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

50 lines
1.9 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 StichedOfflineItemQueryBuilder {
public static String buildQuery(String id, String itemId, String sku, String createdStartDate, String createdEndDate, Long bundleId, Long count) {
// format date
String formattedDate;
String formattedEndDate;
String startDate1 = "";
String endDate1 = "";
if (!StringUtils.isNullOrEmpty( createdStartDate)) {
formattedDate = CTPDateTimeFormat.getMySQLFormattedDateString(createdStartDate, CTPDateTimeFormat.HTML5_DATE_INPUT_FORMAT);
formattedEndDate = CTPDateTimeFormat.getMySQLFormattedDateString(createdEndDate, CTPDateTimeFormat.HTML5_DATE_INPUT_FORMAT);
startDate1 = String.format("'%s 00:00:01'", formattedDate);
if (!StringUtils.isNullOrEmpty(createdEndDate)) {
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.stitching_offline_item")
.setColumns("*")
.where()
.columnEquals("id", id)
.and()
.columnEquals("sku", sku)
.and()
.columnEquals("item_id", itemId )
.and()
.columnEquals("bundle_id", bundleId )
.and()
.columnEqualToOrGreaterThan("created_at", startDate1)
.and()
.columnEqualToOrLessThan("created_at", endDate1 )
.orderBy("id","DESC")
.limit(count)
.build();
}
}