From aeeb329815f85856af920c6d24debd7075ee7ef9 Mon Sep 17 00:00:00 2001 From: "usama.jameel" Date: Thu, 10 Jul 2025 11:45:13 +0500 Subject: [PATCH] add filter fields sku, status in master bundles sidebar --- .../controller/CuttingController.java | 4 ++- .../ctp/MasterBundleQueryBuilder.java | 25 ++++++++++++++----- .../service/BundleService.java | 8 +++--- .../cutting/_master-bundle-sidebar.html | 21 +++++++++------- .../templates/cutting/master-bundles.html | 9 +++++-- 5 files changed, 45 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/utopiaindustries/controller/CuttingController.java b/src/main/java/com/utopiaindustries/controller/CuttingController.java index 36111d6..5d09870 100644 --- a/src/main/java/com/utopiaindustries/controller/CuttingController.java +++ b/src/main/java/com/utopiaindustries/controller/CuttingController.java @@ -130,6 +130,8 @@ public class CuttingController { @GetMapping( "/master-bundles") public String showMasterBundles( @RequestParam(value = "id" , required = false) String id, @RequestParam(value = "jc-id", required = false ) String jobCardId, + @RequestParam(value = "sku", required = false ) String sku, + @RequestParam(value = "status", required = false ) String status, @RequestParam(value = "start-date", required = false) String startDate, @RequestParam(value = "end-date", required = false) String endDate, @RequestParam(value = "count", required = false) Long count, @@ -138,7 +140,7 @@ public class CuttingController { LocalDate endDate1 = StringUtils.isNullOrEmpty(endDate) ? LocalDate.now() : LocalDate.parse(endDate); model.addAttribute("startDate", startDate1); model.addAttribute("endDate", endDate1); - model.addAttribute("masterBundles", bundleService.getMasterBundles( id, jobCardId, startDate1.toString(), endDate1.toString(), count ) ); + model.addAttribute("masterBundles", bundleService.getMasterBundles( id, sku, status, jobCardId, startDate1.toString(), endDate1.toString(), count ) ); return "/cutting/master-bundles"; } diff --git a/src/main/java/com/utopiaindustries/querybuilder/ctp/MasterBundleQueryBuilder.java b/src/main/java/com/utopiaindustries/querybuilder/ctp/MasterBundleQueryBuilder.java index 2bba50b..2a85fbf 100644 --- a/src/main/java/com/utopiaindustries/querybuilder/ctp/MasterBundleQueryBuilder.java +++ b/src/main/java/com/utopiaindustries/querybuilder/ctp/MasterBundleQueryBuilder.java @@ -9,7 +9,7 @@ import java.time.LocalDate; public class MasterBundleQueryBuilder { - public static String buildQuery( String id, String jobCardId, String startDate, String endDate, Long count ){ + public static String buildQuery( String id, String sku, String status, String jobCardId, String startDate, String endDate, Long count ){ // format date String formattedDate; String formattedEndDate; @@ -26,8 +26,7 @@ public class MasterBundleQueryBuilder { endDate1 = String.format("'%s 23:59:59'", LocalDate.now() ); } } - - return ( new QueryBuilder() ) + QueryBuilder queryBuilder = new QueryBuilder() .setTable( "cut_to_pack.master_bundle" ) .setColumns( "*" ) .where() @@ -35,10 +34,24 @@ public class MasterBundleQueryBuilder { .and() .columnEquals( "job_card_id", jobCardId ) .and() + .columnEquals( "sku", sku ) + .and() .columnEqualToOrGreaterThan("created_at" , startDate1 ) .and() - .columnEqualToOrLessThan( "created_at", endDate1 ) - .limit( count.intValue() ) - .build(); + .columnEqualToOrLessThan( "created_at", endDate1 ); + + + if (! StringUtils.isNullOrEmpty( status ) ) { + if (status.equalsIgnoreCase("1")) { + queryBuilder.and() + .columnGreaterThan("is_received", "0"); + } else { + queryBuilder.and() + .columnEquals("is_received", "0"); + } + } + queryBuilder.limit( count.intValue() ); + + return queryBuilder.build(); } } diff --git a/src/main/java/com/utopiaindustries/service/BundleService.java b/src/main/java/com/utopiaindustries/service/BundleService.java index a401dff..0682982 100644 --- a/src/main/java/com/utopiaindustries/service/BundleService.java +++ b/src/main/java/com/utopiaindustries/service/BundleService.java @@ -88,13 +88,13 @@ public class BundleService { /* * find master bundles by params * */ - public List getMasterBundles( String id, String jobCardId, String startDate, String endDate, Long count ){ - List bundles = new ArrayList<>(); + public List getMasterBundles( String id, String sku, String status, String jobCardId, String startDate, String endDate, Long count ){ + List bundles; if( count == null ){ count = 100L; } - if( StringUtils.isAnyNotNullOrEmpty(id, jobCardId, startDate, endDate ) ){ - String query = MasterBundleQueryBuilder.buildQuery( id, jobCardId, startDate, endDate , count ); + if( StringUtils.isAnyNotNullOrEmpty(id, jobCardId, startDate, endDate, sku, status) ){ + String query = MasterBundleQueryBuilder.buildQuery( id, sku, status, jobCardId, startDate, endDate , count ); System.out.println( query ); bundles = masterBundleDAO.findByQuery( query ); } else { diff --git a/src/main/resources/templates/cutting/_master-bundle-sidebar.html b/src/main/resources/templates/cutting/_master-bundle-sidebar.html index 1eb3cbd..a653036 100644 --- a/src/main/resources/templates/cutting/_master-bundle-sidebar.html +++ b/src/main/resources/templates/cutting/_master-bundle-sidebar.html @@ -11,20 +11,23 @@ - - - - - - - - - +
+ + +
+
+ + +
diff --git a/src/main/resources/templates/cutting/master-bundles.html b/src/main/resources/templates/cutting/master-bundles.html index bf775ae..af064b5 100644 --- a/src/main/resources/templates/cutting/master-bundles.html +++ b/src/main/resources/templates/cutting/master-bundles.html @@ -29,7 +29,7 @@ Sku Created By Created At - Received + Status