From b8f94705d388c8817f7a5c063cd7c2af9c0e3cd2 Mon Sep 17 00:00:00 2001 From: "usama.jameel" Date: Mon, 14 Jul 2025 14:33:31 +0500 Subject: [PATCH] add inline-received flag in stitch item for check bundles received or not --- .../dao/ctp/StitchingOfflineItemDAO.java | 7 ++++--- .../dao/ctp/StitchingOfflineItemRowMapper.java | 1 + .../model/ctp/StitchingOfflineItem.java | 10 ++++++++++ .../com/utopiaindustries/service/InventoryService.java | 7 +++++++ 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/utopiaindustries/dao/ctp/StitchingOfflineItemDAO.java b/src/main/java/com/utopiaindustries/dao/ctp/StitchingOfflineItemDAO.java index 94c11e4..fc5fc94 100644 --- a/src/main/java/com/utopiaindustries/dao/ctp/StitchingOfflineItemDAO.java +++ b/src/main/java/com/utopiaindustries/dao/ctp/StitchingOfflineItemDAO.java @@ -24,11 +24,11 @@ public class StitchingOfflineItemDAO { private final String SELECT_ALL_QUERY = String.format( "SELECT * FROM %s ORDER BY id DESC", 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, qa_remarks, qa_status,bundle_id, qc_done_at) VALUES (:id, :item_id, :sku, :barcode, :created_at, :created_by, :job_card_id, :is_qa, :qa_remarks, :qa_status, :bundle_id, :qc_done_at) 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), qa_remarks = VALUES(qa_remarks), qa_status = VALUES(qa_status), bundle_id = VALUES(bundle_id), qc_done_at = VALUES(qc_done_at)", 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, qa_remarks, qa_status,bundle_id, qc_done_at, inline_received) VALUES (:id, :item_id, :sku, :barcode, :created_at, :created_by, :job_card_id, :is_qa, :qa_remarks, :qa_status, :bundle_id, :qc_done_at, :inline_received) 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), qa_remarks = VALUES(qa_remarks), qa_status = VALUES(qa_status), bundle_id = VALUES(bundle_id), qc_done_at = VALUES(qc_done_at), inline_received = VALUES(inline_received)", TABLE_NAME ); private final String SELECT_BY_LIMIT = String.format("SELECT * FROM %s ORDER BY id DESC LIMIT :limit", 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_IDS = String.format( "SELECT * FROM %s WHERE id IN (:ids)", TABLE_NAME ); - private final String SELECT_BY_TERM = String.format( "SELECT * FROM %s WHERE barcode LIKE :term ORDER BY ID DESC", TABLE_NAME ); + private final String SELECT_BY_TERM = String.format( "SELECT * FROM %s WHERE barcode LIKE :term AND inline_received = TRUE ORDER BY ID DESC", TABLE_NAME ); private final String SELECT_BY_BUNDLE_ID = String.format( "SELECT * FROM %s WHERE bundle_id = :bundle_id", TABLE_NAME ); private final String COUNT_TOTAL_QA_ITEMS= String.format("SELECT COUNT(*) FROM %s WHERE job_card_id = :job_card_id AND is_qa IS TRUE",TABLE_NAME); private final String SELECT_BY_TIME_AND_CARD_ID= String.format("SELECT * FROM %s WHERE job_card_id = :job_card_id ORDER BY created_at DESC LIMIT 1;",TABLE_NAME); @@ -54,7 +54,8 @@ public class StitchingOfflineItemDAO { .addValue("is_qa", stitchingOfflineItem.getIsQa() ) .addValue("qa_remarks", stitchingOfflineItem.getQaRemarks() ) .addValue("qc_done_at", stitchingOfflineItem.getQcDoneAt() ) - .addValue("qa_status", stitchingOfflineItem.getQaStatus() ); + .addValue("qa_status", stitchingOfflineItem.getQaStatus() ) + .addValue("inline_received", stitchingOfflineItem.isInlineReceived() ); return params; } diff --git a/src/main/java/com/utopiaindustries/dao/ctp/StitchingOfflineItemRowMapper.java b/src/main/java/com/utopiaindustries/dao/ctp/StitchingOfflineItemRowMapper.java index 895d178..408e141 100644 --- a/src/main/java/com/utopiaindustries/dao/ctp/StitchingOfflineItemRowMapper.java +++ b/src/main/java/com/utopiaindustries/dao/ctp/StitchingOfflineItemRowMapper.java @@ -25,6 +25,7 @@ public class StitchingOfflineItemRowMapper implements RowMapper stitchingOfflineItems = stitchingOfflineItemDAO.findByBundleId(subBundle.getId()); // create IN Transactions of Finished Items into account createTransactions(stitchingOfflineItems, accountId, InventoryArtifactType.STITCHING_OFFLINE.name()); + + List updatedItems = stitchingOfflineItems.stream().map(e-> { + e.setInlineReceived(true); + return e; + }).collect(Collectors.toList()); + + stitchingOfflineItemDAO.saveAll(updatedItems); } }