From 21194519e634cb63a86d9647bf4e130e8630d292 Mon Sep 17 00:00:00 2001 From: "usama.jameel" Date: Thu, 19 Jun 2025 09:50:00 +0500 Subject: [PATCH] add searching field for avs integration --- .../java/com/utopiaindustries/dao/ctp/JobCardDAO.java | 8 ++++++++ .../restcontroller/JobCardRestController.java | 7 +++++++ .../java/com/utopiaindustries/service/JobCardService.java | 7 +++++++ 3 files changed, 22 insertions(+) diff --git a/src/main/java/com/utopiaindustries/dao/ctp/JobCardDAO.java b/src/main/java/com/utopiaindustries/dao/ctp/JobCardDAO.java index 80028df..9223638 100644 --- a/src/main/java/com/utopiaindustries/dao/ctp/JobCardDAO.java +++ b/src/main/java/com/utopiaindustries/dao/ctp/JobCardDAO.java @@ -26,6 +26,7 @@ public class JobCardDAO { private final String INSERT_QUERY = String.format( "INSERT INTO %s (id, code, job_order_id, created_at, created_by, status, inventory_status, customer, lot_number, purchase_order_id, location_site_id, description, poQuantity, articleName) VALUES (:id, :code, :job_order_id, :created_at, :created_by, :status, :inventory_status, :customer, :lot_number, :purchase_order_id, :location_site_id, :description, :poQuantity, :articleName) ON DUPLICATE KEY UPDATE code = VALUES(code), job_order_id = VALUES(job_order_id), created_at = VALUES(created_at), created_by = VALUES(created_by), status = VALUES(status), inventory_status = VALUES(inventory_status), customer = VALUES(customer), lot_number = VALUES(lot_number), purchase_order_id = VALUES(purchase_order_id), location_site_id = VALUES(location_site_id), description = VALUES(description), poQuantity = VALUES(poQuantity), articleName = VALUES(articleName) ", TABLE_NAME ); private final String SELECT_BY_LIKE_CODE_AND_INV_STATUS_AND_STATUS = String.format( "SELECT * FROM %s WHERE code like :code AND status = :status AND inventory_status = :inventory_status", TABLE_NAME ); private final String SELECT_BY_LIKE_CODE = String.format( "SELECT * FROM %s WHERE code like :code", TABLE_NAME ); + private final String SELECT_BY_LIKE_CODE_AND_PO_ID = String.format( "SELECT * FROM %s WHERE code like :code AND purchase_order_id = :purchase_order_id", TABLE_NAME ); private final String SELECT_BY_LIMIT = String.format( "SELECT * FROM %s WHERE created_by = :created_by ORDER BY id ASC limit :limit", TABLE_NAME ); // prepare query params @@ -95,6 +96,13 @@ public class JobCardDAO { return namedParameterJdbcTemplate.query(SELECT_BY_LIKE_CODE, params, new JobCardRowMapper()); } + public List findLikeCodeAndPoID( String code, long poID ) { + MapSqlParameterSource params = new MapSqlParameterSource(); + params.addValue("code", "%" + code + "%"); + params.addValue("purchase_order_id", poID); + return namedParameterJdbcTemplate.query(SELECT_BY_LIKE_CODE_AND_PO_ID, params, new JobCardRowMapper()); + } + public List findLikeCode( String code , String inventoryStatus, String status ){ MapSqlParameterSource params = new MapSqlParameterSource(); params.addValue( "code", "%" + code + "%" ); diff --git a/src/main/java/com/utopiaindustries/restcontroller/JobCardRestController.java b/src/main/java/com/utopiaindustries/restcontroller/JobCardRestController.java index 49cb9cf..fe29ae6 100644 --- a/src/main/java/com/utopiaindustries/restcontroller/JobCardRestController.java +++ b/src/main/java/com/utopiaindustries/restcontroller/JobCardRestController.java @@ -23,6 +23,13 @@ public class JobCardRestController { return jobCardService.searchJobCards( term , filter ); } + //search job card for avs integration + @GetMapping( "/search-avs-jobcard" ) + public List searchJobCardByTermAndPOId( @RequestParam(value = "term", required = false) String term, + @RequestParam(value = "poId") long poID){ + return jobCardService.searchJobCardsByTermAndPoId( term , poID ); + } + @GetMapping ( "/{id}/items" ) public List getJobCardItems( @PathVariable( "id" ) long jobCardId ){ return jobCardService.getJobCardItems( jobCardId ); diff --git a/src/main/java/com/utopiaindustries/service/JobCardService.java b/src/main/java/com/utopiaindustries/service/JobCardService.java index 42a0eb0..7df8e76 100644 --- a/src/main/java/com/utopiaindustries/service/JobCardService.java +++ b/src/main/java/com/utopiaindustries/service/JobCardService.java @@ -78,6 +78,13 @@ public class JobCardService { return cards; } + /* + * search by code and po id + * */ + public List searchJobCardsByTermAndPoId( String term, long id ){ + return jobCardDAO.findLikeCodeAndPoID( term, id ); + } + /* * get cards