@@ -119,15 +119,32 @@ Page<Expense> findPersonalExpensesForCombined(
119119 );
120120
121121 // 통합 조회용 - 분담 지출
122- @ Query ("SELECT e FROM Expense e " +
123- "LEFT JOIN FETCH e.originalExpense " +
124- "LEFT JOIN FETCH e.group " +
125- "WHERE e.user = :user " +
126- "AND e.expenseType = 'SHARE' " +
127- "AND YEAR(e.expenseDate) = :year AND MONTH(e.expenseDate) = :month " +
128- "AND (:category IS NULL OR e.category = :category) " +
129- "AND (:search IS NULL OR e.title LIKE %:search% OR e.memo LIKE %:search%) " +
130- "ORDER BY e.expenseDate DESC, e.createdAt DESC" )
122+ @ Query (value = "SELECT e.*, oe.expense_id as original_expense_id, oe.amount as original_expense_amount, " +
123+ "oe.description as original_expense_description, oe.expense_date as original_expense_date, " +
124+ "oe.expense_type as original_expense_type, oe.category as original_expense_category, " +
125+ "oe.memo as original_expense_memo, oe.created_at as original_expense_created_at, " +
126+ "oe.updated_at as original_expense_updated_at, oe.user_id as original_expense_user_id, " +
127+ "oe.group_id as original_expense_group_id, " +
128+ "g.group_id as group_id, g.group_name as group_name, g.invite_code as group_invite_code, " +
129+ "g.owner_id as group_owner_id, g.created_at as group_created_at, g.updated_at as group_updated_at " +
130+ "FROM expense e " +
131+ "LEFT JOIN expense oe ON e.original_expense_id = oe.expense_id " +
132+ "LEFT JOIN groups g ON e.group_id = g.group_id " +
133+ "WHERE e.user_id = :user " +
134+ "AND e.expense_type = 'SHARE' " +
135+ "AND EXTRACT(YEAR FROM e.expense_date) = :year AND EXTRACT(MONTH FROM e.expense_date) = :month " +
136+ "AND (:category IS NULL OR e.category = :category) " +
137+ "AND (:search IS NULL OR e.title LIKE %:search% OR e.memo LIKE %:search%) " +
138+ "ORDER BY e.expense_date DESC, e.created_at DESC" ,
139+ countQuery = "SELECT COUNT(e.expense_id) FROM expense e " +
140+ "LEFT JOIN expense oe ON e.original_expense_id = oe.expense_id " +
141+ "LEFT JOIN groups g ON e.group_id = g.group_id " +
142+ "WHERE e.user_id = :user " +
143+ "AND e.expense_type = 'SHARE' " +
144+ "AND EXTRACT(YEAR FROM e.expense_date) = :year AND EXTRACT(MONTH FROM e.expense_date) = :month " +
145+ "AND (:category IS NULL OR e.category = :category) " +
146+ "AND (:search IS NULL OR e.title LIKE %:search% OR e.memo LIKE %:search%)" ,
147+ nativeQuery = true )
131148 Page <Expense > findShareExpensesForCombined (
132149 @ Param ("user" ) User user ,
133150 @ Param ("year" ) int year ,
0 commit comments