168 lines
7.6 KiB
Java
168 lines
7.6 KiB
Java
package com.jasamedika.medifirst2000.dao;
|
|
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.data.jpa.repository.Query;
|
|
import org.springframework.data.repository.PagingAndSortingRepository;
|
|
import org.springframework.data.repository.query.Param;
|
|
import org.springframework.stereotype.Repository;
|
|
|
|
import com.jasamedika.medifirst2000.entities.StrukRekapPemenang;
|
|
|
|
|
|
@Repository("StrukRekapPemenangDao")
|
|
public interface StrukRekapPemenangDao extends PagingAndSortingRepository<StrukRekapPemenang, String> {
|
|
|
|
@Query("select new map("
|
|
+ "model.supplierId as supplierId,"
|
|
+ "coalesce(supplier.namaRekanan,'-') as namaSupplier,"
|
|
+ "coalesce(model.noRekap,'-') as noKontrak,"
|
|
+ "coalesce(model.tanggal,null) as tanggal,"
|
|
+ "coalesce(supplier.namaRekanan) as namaSupplier,"
|
|
+ "coalesce(supplier.telepon,'-') as telepon,"
|
|
+ "supplier.alamatLengkap as alamatLengkap) from StrukRekapPemenang model left join model.supplier supplier where model.noRec=:noRec")
|
|
Map<String,Object> findByNoRecSppb(@Param("noRec") String noRec);
|
|
|
|
@Query("select model from StrukRekapPemenang model where model.supplierId=:supplierId and model.kartuPengendali.noRec=:kartuPengendaliId")
|
|
List<StrukRekapPemenang> findBySupplierAndKartuPengendali(@Param("supplierId") Integer supplierId,@Param("kartuPengendaliId") String kartuPengendaliId);
|
|
|
|
@Query("select new Map ( "
|
|
+" strukRekap.noRekap as noKontrak, "
|
|
+" header.nostruk as noPphp, "
|
|
+" header.noRec as noRec, "
|
|
+" supp.namaRekanan as namaSupplier, "
|
|
+" supp.telepon as telepon, "
|
|
+" supp.id as supplierId, "
|
|
+" strukRekap.noRekap as noKontrak, "
|
|
+" str(date(header.tglstruk)) as tanggal ) "
|
|
+" from StrukPelayananDetail detail "
|
|
+" left join detail.nostruk header "
|
|
+" left join detail.kartuPengendaliDetail kartuPengendaliDetail "
|
|
+" left join kartuPengendaliDetail.detailRup rup "
|
|
+" left join rup.detailSpekAnggaran spek "
|
|
+" left join spek.produk produk "
|
|
+" left join kartuPengendaliDetail.strukRekapPemenang strukRekap "
|
|
+" left join kartuPengendaliDetail.kartuPengendali kartuPengendaliHeader "
|
|
+" left join strukRekap.supplier supp "
|
|
+" where detail.kartuPengendaliDetail is not null "
|
|
+" and header.noRec=:noRec ")
|
|
List<Map<String,Object>> findByNoRec(@Param("noRec") String noRec, Pageable topOne);
|
|
|
|
@Query("select new map ( strukRekap.noRec as noRecStrupRekap, "+
|
|
"strukRekap.supplierId as supplierId, "+
|
|
"strukRekap.supplier.namaRekanan as namaRekanan, "+
|
|
"strukRekap.kartuPengendaliId as kartuPengendaliId, "+
|
|
"sum(detail.hargaSupplier*detail.volumeBarang) as totalhargaSupplier, "+
|
|
"strukRekap.noRekap as noRekap ) "+
|
|
"from KartuPengendaliDetail detail "+
|
|
"left join detail.kartuPengendali header "+
|
|
"left join detail.strukRekapPemenang strukRekap "+
|
|
"where header.noRec=:noRec and strukRekap.noRec is not null "+
|
|
"group by strukRekap.supplierId ,strukRekap.supplier.namaRekanan ,strukRekap.kartuPengendaliId ,strukRekap.noRec,strukRekap.noRekap ")
|
|
List<Map<String,Object>> findSupplierByKartuPengendali(@Param("noRec") String noRec);
|
|
|
|
@Query("select new Map( "
|
|
+ "produk.namaProduk as namaProduk, "
|
|
+ "detail.volumeBarang as volume, "
|
|
+ "detail.hargaSupplier as harga, "
|
|
+ "satuanStandar.satuanStandar as satuan, "
|
|
+ "spek.spesifikasi as keterangan, "
|
|
+ "detail.hargaSupplier*detail.volumeBarang as subTotal ) "
|
|
+ "from KartuPengendaliDetail detail "
|
|
+ "left join detail.kartuPengendali header "
|
|
+ "left join detail.strukRekapPemenang strukRekap "
|
|
+ "left join detail.supplier supplier "
|
|
+ "left join detail.detailRup rup "
|
|
+ "left join rup.detailSpekAnggaran spek "
|
|
+ "left join spek.produk as produk "
|
|
+ "left join produk.satuanStandar as satuanStandar "
|
|
+ "where header.noRec=:noRecKartuPengendaliId and strukRekap.noRec is not null and supplier.id=:supplierId ")
|
|
List<Map<String,Object>> findPrdukBySupplier(@Param("supplierId") Integer supplierId, @Param("noRecKartuPengendaliId") String noRecKartuPengendaliId);
|
|
|
|
|
|
@Query("select new Map( "
|
|
+ "sum(detail.hargaSupplier*detail.volumeBarang) as subTotal,"
|
|
+ "sum(detail.ppn) as ppn, "
|
|
+ "sum(detail.hargaSupplier*detail.volumeBarang)+sum(detail.ppn) as total "
|
|
+ ") "
|
|
+ "from KartuPengendaliDetail detail "
|
|
+ "left join detail.kartuPengendali header "
|
|
+ "left join detail.strukRekapPemenang strukRekap "
|
|
+ "left join detail.supplier supplier "
|
|
+ "left join detail.detailRup rup "
|
|
+ "left join rup.detailSpekAnggaran spek "
|
|
+ "left join spek.produk as produk "
|
|
+ "left join produk.satuanStandar as satuanStandar "
|
|
+ "where header.noRec=:noRecKartuPengendaliId and strukRekap.noRec is not null and supplier.id=:supplierId ")
|
|
Map<String,Object> totalProdukBySupplier(@Param("supplierId") Integer supplierId, @Param("noRecKartuPengendaliId") String noRecKartuPengendaliId);
|
|
|
|
@Query("select new Map( "
|
|
+ "strukRekap.noRekap as noKontrak, "
|
|
+ "header.nostruk as noSppb, "
|
|
+ "header.noRec as noRec, "
|
|
+ "header.verifikasi as status, "
|
|
+ "supp.namaRekanan as namaRekanan, "
|
|
+ "str(date(header.tglstruk)) as tanggalSppb, "
|
|
+ "sum(detail.hargasatuan*detail.qtyproduk) as totalSppb, "
|
|
+ "str(date(kartuPengendaliHeader.tanggal)) as tanggalKartuKendali ) "
|
|
+ "from StrukPelayananDetail detail "
|
|
+ "left join detail.nostruk header "
|
|
+ "left join detail.kartuPengendaliDetail kartuPengendaliDetail "
|
|
+ "left join kartuPengendaliDetail.detailRup rup "
|
|
+ "left join rup.detailSpekAnggaran spek "
|
|
+ "left join spek.produk produk "
|
|
+ "left join kartuPengendaliDetail.strukRekapPemenang strukRekap "
|
|
+ "left join kartuPengendaliDetail.kartuPengendali kartuPengendaliHeader "
|
|
+ "left join strukRekap.supplier supp "
|
|
+ "where detail.kartuPengendaliDetail is not null "
|
|
+ "and header.kdkelompoktransaksi.id in (Select cast(s.nilaiField as int) from SettingDataFixed s where s.namaField='kdKelompokTransaksiSppb') "
|
|
+ "and header.noRec=:noRec "
|
|
+ "group by "
|
|
+ "strukRekap.noRekap, "
|
|
+ "header.verifikasi, "
|
|
+ "header.nostruk, "
|
|
+ "supp.namaRekanan, "
|
|
+ "header.tglstruk, "
|
|
+ "header.noRec, "
|
|
+ "kartuPengendaliHeader.tanggal")
|
|
Map<String,Object> findSppbByNoRec(@Param("noRec") String noRec);
|
|
|
|
@Query("select new Map ( "
|
|
+" produk.namaProduk as namaProduk, "
|
|
+" produk.id as idProduk, "
|
|
+" asalProduk.id as idAsaProduk, "
|
|
+" asalProduk.asalProduk as asalProduk, "
|
|
+" spek.spesifikasi as keterangan, "
|
|
+" atas.spesifikasi as spesifikasi, "
|
|
+" kartuPengendaliDetail.volumeBarang as qtyKontrak, "
|
|
+" detail.qtyproduk as qtySppb, "
|
|
+" detail.hargasatuan as hargaSatuan, "
|
|
+" detail.hargadiscount as hargadiscount , "
|
|
+" detail.hargappn as hargaPpn, "
|
|
+" detail.noRec as noRec, "
|
|
+" kartuPengendaliDetail.noRec as noRecKartuPengendaliDetail,"
|
|
+" coalesce(detail.persendiscount,0.0) as diskon, "
|
|
+" coalesce(detail.persenppn,0.0) as ppn, "
|
|
+" satuanStandar.id as idSatuanStandar, "
|
|
+" satuanStandar.satuanStandar as satuanStandar, "
|
|
+" detail.noRec is noRec) "
|
|
+" from StrukPelayananDetail detail "
|
|
+" left join detail.nostruk header "
|
|
+" left join detail.kartuPengendaliDetail kartuPengendaliDetail "
|
|
+" left join kartuPengendaliDetail.detailRup rup "
|
|
+" left join rup.detailSpekAnggaran spek "
|
|
+" left join spek.produk produk "
|
|
+" left join detail.kdasalproduk asalProduk "
|
|
+" left join spek.detailSpekAnggaran atas "
|
|
+" left join kartuPengendaliDetail.strukRekapPemenang strukRekap "
|
|
+" left join kartuPengendaliDetail.kartuPengendali kartuPengendaliHeader "
|
|
+" left join strukRekap.supplier supp "
|
|
+" left join detail.kdsatuanstandar satuanStandar "
|
|
+" where detail.kartuPengendaliDetail is not null "
|
|
+" and header.noRec=:noRec ")
|
|
List<Map<String,Object>> findSppbDetail(@Param("noRec") String noRec);
|
|
|
|
}
|