diff --git a/src/main/java/com/utopiaindustries/controller/FinishingController.java b/src/main/java/com/utopiaindustries/controller/FinishingController.java index ec4983a..ef2c030 100644 --- a/src/main/java/com/utopiaindustries/controller/FinishingController.java +++ b/src/main/java/com/utopiaindustries/controller/FinishingController.java @@ -99,7 +99,7 @@ public class FinishingController { } catch ( Exception e ){ redirectAttributes.addFlashAttribute("error", e.getMessage() ); } - return "redirect:/finishing/finished-items"; + return "redirect:/finishing/segregate-inventory"; } } diff --git a/src/main/java/com/utopiaindustries/controller/PackagingController.java b/src/main/java/com/utopiaindustries/controller/PackagingController.java index b2afda8..fbbeb60 100644 --- a/src/main/java/com/utopiaindustries/controller/PackagingController.java +++ b/src/main/java/com/utopiaindustries/controller/PackagingController.java @@ -50,7 +50,7 @@ public class PackagingController { } catch ( Exception e ){ redirectAttributes.addFlashAttribute("error", e.getMessage() ); } - return "redirect:/finishing/finished-items"; + return "redirect:/packaging/receive-inventory"; } @GetMapping( "/inventory-accounts" ) diff --git a/src/main/java/com/utopiaindustries/controller/QualityControlController.java b/src/main/java/com/utopiaindustries/controller/QualityControlController.java index b1f88dd..4b666ac 100644 --- a/src/main/java/com/utopiaindustries/controller/QualityControlController.java +++ b/src/main/java/com/utopiaindustries/controller/QualityControlController.java @@ -92,6 +92,6 @@ public class QualityControlController { }catch ( Exception ex ){ redirectAttributes.addFlashAttribute("error", ex.getMessage() ); } - return "redirect:/quality-control/qc-finished-items"; + return "redirect:/quality-control/qc-finished-item"; } } diff --git a/src/main/java/com/utopiaindustries/controller/StitchingController.java b/src/main/java/com/utopiaindustries/controller/StitchingController.java index 1bf7e4a..9b7951e 100644 --- a/src/main/java/com/utopiaindustries/controller/StitchingController.java +++ b/src/main/java/com/utopiaindustries/controller/StitchingController.java @@ -122,7 +122,7 @@ public class StitchingController { exception.printStackTrace(); redirectAttributes.addFlashAttribute( "error", exception.getMessage() ); } - return "redirect:/stitching/stitching-offline-items"; + return "redirect:/stitching/create-stitching-items"; } @PostMapping( "/generate-barcodes" ) diff --git a/src/main/java/com/utopiaindustries/dao/ctp/FinishedItemDAO.java b/src/main/java/com/utopiaindustries/dao/ctp/FinishedItemDAO.java index 8addfd6..68f39ab 100644 --- a/src/main/java/com/utopiaindustries/dao/ctp/FinishedItemDAO.java +++ b/src/main/java/com/utopiaindustries/dao/ctp/FinishedItemDAO.java @@ -25,11 +25,12 @@ public class FinishedItemDAO { private final String SELECT_QUERY_BY_BARCODE_QA_STATUS = String.format( "SELECT case when EXISTS ( SELECT * FROM %s WHERE barcode = :barcode AND (qa_status = 'APPROVED' OR qa_status = 'WASHED') ) then true else false End as Result", TABLE_NAME ); private final String SELECT_QUERY_BY_JOB_CARD = String.format( "SELECT * FROM %s WHERE job_card_id = :job_card_id", TABLE_NAME ); private final String DELETE_QUERY = String.format( "DELETE FROM %s WHERE id = :id", TABLE_NAME ); - private final String INSERT_QUERY = String.format( "INSERT INTO %s (id, item_id, sku, barcode, created_at, created_by, job_card_id, is_qa, stitched_item_id, is_segregated, qa_status) VALUES (:id, :item_id, :sku, :barcode, :created_at, :created_by, :job_card_id, :is_qa, :stitched_item_id, :is_segregated, :qa_status) ON DUPLICATE KEY UPDATE item_id = VALUES(item_id), sku = VALUES(sku), barcode = VALUES(barcode), created_at = VALUES(created_at), created_by = VALUES(created_by), job_card_id = VALUES(job_card_id), is_qa = VALUES(is_qa), stitched_item_id = VALUES(stitched_item_id), is_segregated = VALUES(is_segregated), qa_status = VALUES(qa_status)", TABLE_NAME ); + private final String INSERT_QUERY = String.format( "INSERT INTO %s (id, item_id, sku, barcode, created_at, created_by, job_card_id, is_qa, stitched_item_id, is_segregated, qa_status, is_packed) VALUES (:id, :item_id, :sku, :barcode, :created_at, :created_by, :job_card_id, :is_qa, :stitched_item_id, :is_segregated, :qa_status, :is_packed) ON DUPLICATE KEY UPDATE item_id = VALUES(item_id), sku = VALUES(sku), barcode = VALUES(barcode), created_at = VALUES(created_at), created_by = VALUES(created_by), job_card_id = VALUES(job_card_id), is_qa = VALUES(is_qa), stitched_item_id = VALUES(stitched_item_id), is_segregated = VALUES(is_segregated), qa_status = VALUES(qa_status), is_packed = VALUES(is_packed)", TABLE_NAME ); private final String SELECT_BY_LIMIT = String.format("SELECT * FROM %s ORDER BY id DESC LIMIT :limit", TABLE_NAME ); private final String SELECT_BY_IDS = String.format( "SELECT * FROM %s WHERE id IN (:ids)", TABLE_NAME ); private final String FIND_TOTAL_COUNT = String.format("SELECT COUNT(*) FROM %s where job_card_id = :job_card_id And item_id = :item_id", TABLE_NAME ); private final String SELECT_BY_TERM = String.format( "SELECT * FROM %s WHERE barcode LIKE :term AND is_segregated = :is_segregated ORDER BY ID DESC", TABLE_NAME ); + private final String SELECT_BY_TERM_FOR_PACKAGING = String.format( "SELECT * FROM %s WHERE barcode LIKE :term AND is_segregated = :is_segregated AND qa_status = 'APPROVED' AND is_packed = FALSE ORDER BY ID DESC", TABLE_NAME ); private final String SELECT_BY_STITCHED_ITEM_ID = String.format( "SELECT * FROM %s WHERE stitched_item_id = :stitched_item_id", TABLE_NAME ); private final String SELECT_BY_STITCHED_ITEM_IDS = String.format( "SELECT * FROM %s WHERE stitched_item_id IN (:stitched_item_ids)", TABLE_NAME ); private final String COUNT_TOTAL_FINISH_ITEM= String.format("SELECT COUNT(*) FROM %s WHERE job_card_id = :job_card_id AND is_segregated IS TRUE ",TABLE_NAME); @@ -52,7 +53,8 @@ public class FinishedItemDAO { .addValue("is_qa", finishedItem.getIsQa() ) .addValue("stitched_item_id", finishedItem.getStitchedItemId() ) .addValue("is_segregated", finishedItem.getIsSegregated() ) - .addValue("qa_status", finishedItem.getQaStatus() ); + .addValue("qa_status", finishedItem.getQaStatus() ) + .addValue("is_packed",finishedItem.isPackaging()); return params; } @@ -120,6 +122,13 @@ public class FinishedItemDAO { return namedParameterJdbcTemplate.query( SELECT_BY_TERM , params, new FinishedItemRowMapper() ); } + public List findByTermForPackaging( String term , boolean isSegregated ){ + MapSqlParameterSource params = new MapSqlParameterSource(); + params.addValue("term", "%" + term + "%" ); + params.addValue("is_segregated", isSegregated ); + return namedParameterJdbcTemplate.query( SELECT_BY_TERM_FOR_PACKAGING , params, new FinishedItemRowMapper() ); + } + // find By job card Id public List findByJobCardId(long jobCardId ) { MapSqlParameterSource params = new MapSqlParameterSource(); diff --git a/src/main/java/com/utopiaindustries/dao/ctp/FinishedItemRowMapper.java b/src/main/java/com/utopiaindustries/dao/ctp/FinishedItemRowMapper.java index 7520147..0dc7cab 100644 --- a/src/main/java/com/utopiaindustries/dao/ctp/FinishedItemRowMapper.java +++ b/src/main/java/com/utopiaindustries/dao/ctp/FinishedItemRowMapper.java @@ -22,6 +22,7 @@ public class FinishedItemRowMapper implements RowMapper { finishedItem.setStitchedItemId( rs.getLong("stitched_item_id" ) ); finishedItem.setIsSegregated( rs.getBoolean( "is_segregated") ); finishedItem.setQaStatus( rs.getString("qa_status" ) ); + finishedItem.setPackaging( rs.getBoolean("is_packed" ) ); return finishedItem; } } \ No newline at end of file diff --git a/src/main/java/com/utopiaindustries/dao/ctp/PackagingItemsDAO.java b/src/main/java/com/utopiaindustries/dao/ctp/PackagingItemsDAO.java index e748fde..bdded8e 100644 --- a/src/main/java/com/utopiaindustries/dao/ctp/PackagingItemsDAO.java +++ b/src/main/java/com/utopiaindustries/dao/ctp/PackagingItemsDAO.java @@ -1,7 +1,6 @@ package com.utopiaindustries.dao.ctp; import com.utopiaindustries.model.ctp.PackagingItems; -import com.utopiaindustries.model.ctp.PackagingItemsRowMapper; import com.utopiaindustries.util.KeyHolderFunctions; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; diff --git a/src/main/java/com/utopiaindustries/model/ctp/PackagingItemsRowMapper.java b/src/main/java/com/utopiaindustries/dao/ctp/PackagingItemsRowMapper.java similarity index 92% rename from src/main/java/com/utopiaindustries/model/ctp/PackagingItemsRowMapper.java rename to src/main/java/com/utopiaindustries/dao/ctp/PackagingItemsRowMapper.java index aee75bc..212b990 100644 --- a/src/main/java/com/utopiaindustries/model/ctp/PackagingItemsRowMapper.java +++ b/src/main/java/com/utopiaindustries/dao/ctp/PackagingItemsRowMapper.java @@ -1,5 +1,6 @@ -package com.utopiaindustries.model.ctp; +package com.utopiaindustries.dao.ctp; +import com.utopiaindustries.model.ctp.PackagingItems; import org.springframework.jdbc.core.RowMapper; import java.sql.ResultSet; diff --git a/src/main/java/com/utopiaindustries/model/ctp/FinishedItem.java b/src/main/java/com/utopiaindustries/model/ctp/FinishedItem.java index d817f97..b3d4a4c 100644 --- a/src/main/java/com/utopiaindustries/model/ctp/FinishedItem.java +++ b/src/main/java/com/utopiaindustries/model/ctp/FinishedItem.java @@ -23,6 +23,7 @@ public class FinishedItem implements InventoryArtifact { private JobCard jobCard; private long accountId; private String qaStatus; + private boolean isPackaging; public long getId() { @@ -154,6 +155,14 @@ public class FinishedItem implements InventoryArtifact { return 0; } + public boolean isPackaging() { + return isPackaging; + } + + public void setPackaging(boolean packaging) { + isPackaging = packaging; + } + @Override public String toString() { return "FinishedItem{" + diff --git a/src/main/java/com/utopiaindustries/restcontroller/FinishedItemRestController.java b/src/main/java/com/utopiaindustries/restcontroller/FinishedItemRestController.java index 94cb83e..38e37bf 100644 --- a/src/main/java/com/utopiaindustries/restcontroller/FinishedItemRestController.java +++ b/src/main/java/com/utopiaindustries/restcontroller/FinishedItemRestController.java @@ -27,6 +27,6 @@ public class FinishedItemRestController { @GetMapping( "/search-packaging" ) public List searchFinishedItemsForPackaging(@RequestParam( "term") String term, @RequestParam( "is-segregated") boolean isSegregated ){ - return finishedItemDAO.findByTerm( term, true ); + return finishedItemDAO.findByTermForPackaging( term, true ); } } diff --git a/src/main/java/com/utopiaindustries/service/InventoryService.java b/src/main/java/com/utopiaindustries/service/InventoryService.java index bdec62f..7b6702d 100644 --- a/src/main/java/com/utopiaindustries/service/InventoryService.java +++ b/src/main/java/com/utopiaindustries/service/InventoryService.java @@ -656,13 +656,14 @@ public class InventoryService { createInventoryTransactionLeg( transaction, packagingItems1, 8, InventoryTransactionLeg.Type.IN.name( ), InventoryArtifactType.PACKAGING.name( )); } finishedItem.setIsSegregated( true); + finishedItem.setPackaging( true); packagingItems.add(packagingItems1); } updatedItems.add( finishedItem); } // save finish items finishedItemDAO.saveAll( updatedItems); - System.out.println(packagingItems); + packagingItemsDAO.saveAll(packagingItems); } } diff --git a/src/main/resources/templates/packaging/receive-inventory-form.html b/src/main/resources/templates/packaging/receive-inventory-form.html index e47e153..50fb9c2 100644 --- a/src/main/resources/templates/packaging/receive-inventory-form.html +++ b/src/main/resources/templates/packaging/receive-inventory-form.html @@ -1,7 +1,7 @@ - +