X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fdao%2FTransactionDAO.java;h=001976d3b1ee08393c2ac48d6fbc5d634566a403;hp=4032602c741abe4bd97396ead3535809315fb337;hb=833544eb24cb630dc1ce221e4aa3dedb3f6341e3;hpb=860e0419d619210bb59bcae1b64d8c5db90eef70 diff --git a/app/src/main/java/net/ktnx/mobileledger/dao/TransactionDAO.java b/app/src/main/java/net/ktnx/mobileledger/dao/TransactionDAO.java index 4032602c..001976d3 100644 --- a/app/src/main/java/net/ktnx/mobileledger/dao/TransactionDAO.java +++ b/app/src/main/java/net/ktnx/mobileledger/dao/TransactionDAO.java @@ -17,7 +17,6 @@ package net.ktnx.mobileledger.dao; - import androidx.annotation.NonNull; import androidx.lifecycle.LiveData; import androidx.room.ColumnInfo; @@ -67,6 +66,9 @@ public abstract class TransactionDAO extends BaseDAO { @Delete public abstract void deleteSync(List items); + @Query("DELETE FROM transactions") + public abstract void deleteAllSync(); + @Query("SELECT * FROM transactions WHERE id = :id") public abstract LiveData getById(long id); @@ -91,9 +93,9 @@ public abstract class TransactionDAO extends BaseDAO { public abstract TransactionWithAccounts getFirstByDescriptionSync(@NonNull String description); @androidx.room.Transaction - @Query("SELECT tr.id, tr.profile_id, tr.ledger_id, tr.description, tr.data_hash, tr.comment, " + - "tr.year, tr.month, tr.day, tr.generation from transactions tr JOIN " + - "transaction_accounts t_a ON t_a.transaction_id = tr.id WHERE tr.description = " + + @Query("SELECT tr.id, tr.profile_id, tr.ledger_id, tr.description, tr.description_uc, tr" + + ".data_hash, tr.comment, tr.year, tr.month, tr.day, tr.generation from transactions tr" + + " JOIN transaction_accounts t_a ON t_a.transaction_id = tr.id WHERE tr.description = " + ":description AND t_a.account_name LIKE '%'||:accountTerm||'%' ORDER BY year desc, " + "month desc, day desc, tr.ledger_id desc LIMIT 1") public abstract TransactionWithAccounts getFirstByDescriptionHavingAccountSync( @@ -112,10 +114,10 @@ public abstract class TransactionDAO extends BaseDAO { @androidx.room.Transaction @Query("SELECT distinct(tr.id), tr.ledger_id, tr.profile_id, tr.data_hash, tr.year, tr.month," + - " tr.day, tr.description, tr.comment, tr.generation FROM transactions tr JOIN " + - "transaction_accounts ta ON ta.transaction_id=tr.id WHERE ta.account_name LIKE " + - ":accountName||'%' AND ta.amount <> 0 AND tr.profile_id = :profileId ORDER BY tr.year " + - "asc, tr.month asc, tr.day asc, tr.ledger_id asc") + " tr.day, tr.description, tr.description_uc, tr.comment, tr.generation FROM " + + "transactions tr JOIN transaction_accounts ta ON ta.transaction_id=tr.id WHERE ta" + + ".account_name LIKE :accountName||'%' AND ta.amount <> 0 AND tr.profile_id = " + + ":profileId ORDER BY tr.year asc, tr.month asc, tr.day asc, tr.ledger_id asc") public abstract LiveData> getAllWithAccountsFiltered( long profileId, String accountName);