package com.eksad.masterdata.repository; import com.eksad.masterdata.common.listEnum.ReceiptStatus; import com.eksad.masterdata.common.listEnum.ReceiptType; import com.eksad.masterdata.domain.ReceiptSOBankEntryProjection; import com.eksad.masterdata.domain.ReceiptSOTunaiEntryProjection; import jakarta.transaction.Transactional; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import java.util.List; @Repository @Transactional public interface ReceiptSOTunaiRepository extends ReceiptGenericRepository<ReceiptSOTunaiEntryProjection> { ReceiptSOTunaiEntryProjection findOneById(Long receiptID); ReceiptSOTunaiEntryProjection findOneByRecordID(String recordID); List<ReceiptSOTunaiEntryProjection> findAllByOrderById(); List<ReceiptSOTunaiEntryProjection> findAllByReceiptStatus(ReceiptStatus receiptStatus); ReceiptSOTunaiEntryProjection findOneByReceiptID(String receiptID); ReceiptSOTunaiEntryProjection findOneByReceiptIDAndAhassCode(String receiptID, String ahassCode); ReceiptSOTunaiEntryProjection findOneBySoID(String soID); ReceiptSOTunaiEntryProjection findOneBySoIDAndReceiptType(String soID, ReceiptType receiptType); List<ReceiptSOTunaiEntryProjection> findAllBySoID(String soID); @Query("select rso from " + " ReceiptSOTunaiEntryProjection rso " + " where " + " rso.ahassCode=:ahassCode and " + " rso.receiptStatus=:receiptStatus " + " order by rso.id desc") public List<ReceiptSOTunaiEntryProjection> findAllByReceiptStatusAndAhassCode(@Param("receiptStatus") ReceiptStatus receiptStatus, @Param("ahassCode") String ahassCode); @Query("select rso from " + " ReceiptSOBankEntryProjection rso " + " where " + " rso.ahassCode=:ahassCode and " + " rso.receiptStatus=:receiptStatus " + " order by rso.id desc") public List<ReceiptSOBankEntryProjection> findAllReceiptBankByReceiptStatusAndAhassCode(@Param("receiptStatus") ReceiptStatus receiptStatus, @Param("ahassCode") String ahassCode); }