22
33import app .enums .WareTransactionType ;
44import app .model .WareTransactionDetail ;
5- import app .projection .StockProjection ;
65import org .springframework .data .jpa .repository .JpaRepository ;
76import org .springframework .data .jpa .repository .Query ;
87import org .springframework .data .repository .query .Param ;
98
10- import java .time .LocalDateTime ;
119import java .util .List ;
1210import java .util .Optional ;
1311
@@ -26,21 +24,4 @@ Optional<Long> findTotalQuantityByProductAndShelfAndWareTransactionType(
2624 @ Param ("shelfId" ) Long shelfId ,
2725 @ Param ("wareTransactionType" ) WareTransactionType wareTransactionType );
2826
29-
30- @ Query ("SELECT NEW app.projection.StockProjection(" +
31- "wh.description, " +
32- "shelf.code, " +
33- "product.code, " +
34- "SUM(CASE WHEN tx.wareTransactionType='IMPORT' " +
35- "THEN detail.quantity " +
36- "ELSE -detail.quantity END)) " +
37- "FROM WareTransactionDetail detail " +
38- "INNER JOIN WareTransaction tx ON detail.wareTransaction.id=tx.id " +
39- "INNER JOIN Product product ON detail.product.id=product.id " +
40- "INNER JOIN Shelf shelf ON detail.shelf.id=shelf.id " +
41- "INNER JOIN Warehouse wh ON shelf.warehouse.id=wh.id " +
42- "WHERE product.code=:productCode AND tx.transactionDate<=:date " +
43- "GROUP BY wh.description, shelf.code " )
44- List <StockProjection > findStockByProductAndDate (@ Param ("productCode" ) String productCode , @ Param ("date" ) LocalDateTime date );
45-
4627}
0 commit comments