diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java index 9e5f5502..5d5a8121 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java @@ -247,6 +247,7 @@ public class Master { public static final Integer BIAYA_OBAT_ALKES = 16; public static final Integer BIAYA_RAWAT_INAP = 17; public static final Integer BIAYA_RAWAT_JALAN = 18; + public static final Integer POTONGAN_TOKO_KOPERASI = 19; } public static final class KomponenHarga { diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SlipGajiDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SlipGajiDao.java index c8cc266b..29a7ad4c 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SlipGajiDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/SlipGajiDao.java @@ -23,7 +23,8 @@ public interface SlipGajiDao extends JpaRepository { + "inner join sg.pegawai pg where sg.bulan between :start and :end") List findPegawaiKomponenByBulan(@Param("start") Date start, @Param("end") Date end); - @Query("select new Map(sg.id as id,pg.id as idPegawai,pg.namaLengkap as namaPegawai) " + "from SlipGaji sg " - + "inner join sg.pegawai pg " + "where sg.bulan between :start and :end " + "order by pg.namaLengkap") + @Query("select new Map(sg.id as id,pg.id as idPegawai,pg.namaLengkap as namaPegawai," + + "coalesce(pg.nipPns,'-') as nip) " + "from SlipGaji sg " + "inner join sg.pegawai pg " + + "where sg.bulan between :start and :end " + "order by pg.namaLengkap") List> findAllByBulan(@Param("start") Date start, @Param("end") Date end); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/ReportServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/ReportServiceImpl.java index 1780a909..e72f7e32 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/ReportServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/ReportServiceImpl.java @@ -3480,6 +3480,7 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic result.put("biayaObatAlkes", "-"); result.put("biayaRawatInap", "-"); result.put("biayaRawatJalan", "-"); + result.put("potonganTokoKoperasi", "-"); BigDecimal jumlahPenerimaan = BigDecimal.ZERO; BigDecimal jumlahPemotongan = BigDecimal.ZERO; BigDecimal jumlahPenerimaanBersih = BigDecimal.ZERO; @@ -3528,6 +3529,8 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic result.put("biayaRawatInap", nf.format(k.getNominal())); } else if (Master.KomponenGaji.BIAYA_RAWAT_JALAN == k.getIdKomponen()) { result.put("biayaRawatJalan", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_TOKO_KOPERASI == k.getIdKomponen()) { + result.put("potonganTokoKoperasi", nf.format(k.getNominal())); } } result.put("jumlahPenerimaan", nf.format(jumlahPenerimaan)); @@ -3624,6 +3627,8 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic potonganDtoBuilder.biaya_ri(nf.format(k.getNominal())); } else if (Master.KomponenGaji.BIAYA_RAWAT_JALAN == k.getIdKomponen()) { potonganDtoBuilder.biaya_rj(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_TOKO_KOPERASI == k.getIdKomponen()) { + potonganDtoBuilder.potongan_koperasi(nf.format(k.getNominal())); } } jumlahDtoBuilder.jumlah_gross(nf.format(jumlahPenerimaan)); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SlipGajiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SlipGajiServiceImpl.java index 1915fdbd..d3fd9ac4 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SlipGajiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SlipGajiServiceImpl.java @@ -328,9 +328,11 @@ public class SlipGajiServiceImpl implements SlipGajiService { row1.add("ID"); row1.add(""); row1.add(String.valueOf(month.getTime())); + row1.add(""); row2.add(""); row2.add("ID PEGAWAI"); - row2.add("NAMA PEGAWAI / KOMPONEN"); + row2.add("NAMA PEGAWAI"); + row2.add("NIP / KOMPONEN"); allKomponen.forEach(k -> { row1.add(k.get("id")); row2.add(k.get("namaKomponen")); @@ -345,10 +347,10 @@ public class SlipGajiServiceImpl implements SlipGajiService { data.put(i++, arrkd); for (Map d : listAllKomponen) { data.put(i++, - new Object[] { d.get("id"), d.get("idPegawai"), d.get("namaPegawai"), d.get("1"), d.get("2"), - d.get("3"), d.get("4"), d.get("5"), d.get("6"), d.get("7"), d.get("8"), d.get("9"), - d.get("10"), d.get("11"), d.get("12"), d.get("13"), d.get("14"), d.get("15"), d.get("16"), - d.get("17"), d.get("18") }); + new Object[] { d.get("id"), d.get("idPegawai"), d.get("namaPegawai"), d.get("nip"), d.get("1"), + d.get("2"), d.get("3"), d.get("4"), d.get("5"), d.get("6"), d.get("7"), d.get("8"), + d.get("9"), d.get("10"), d.get("11"), d.get("12"), d.get("13"), d.get("14"), d.get("15"), + d.get("16"), d.get("17"), d.get("18"), d.get("19") }); } TreeMap sorted = new TreeMap<>(); sorted.putAll(data); @@ -376,8 +378,9 @@ public class SlipGajiServiceImpl implements SlipGajiService { sheet.setColumnHidden(0, true); sheet.setColumnHidden(1, true); sheet.autoSizeColumn(2); + sheet.autoSizeColumn(3); sheet.setDefaultColumnWidth(25); - sheet.createFreezePane(3, 2); + sheet.createFreezePane(4, 2); DateFormat df = new SimpleDateFormat("yyyyMMdd_HHmmss"); String timestampToString = df.format(new Date()); String filename = "Template_Slip_Gaji_" + timestampToString + ".xls"; diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipPotonganDto.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipPotonganDto.java index 427f22cd..45f05f03 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipPotonganDto.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipPotonganDto.java @@ -43,12 +43,15 @@ public class SlipPotonganDto { @Caption(value = "Biaya Rawat Jalan") private String biaya_rj; + @Caption(value = "Potongan Toko Koperasi") + private String potongan_koperasi; + public SlipPotonganDto() { } public SlipPotonganDto(String pph_gaji, String pph_remun, String pph_ffs, String pph_ffo, String pph_um, String pph_ul, String iuran_koperasi, String pinjam_koperasi, String biaya_obat, String biaya_ri, - String biaya_rj) { + String biaya_rj, String potongan_koperasi) { super(); this.pph_gaji = pph_gaji; this.pph_remun = pph_remun; @@ -61,6 +64,7 @@ public class SlipPotonganDto { this.biaya_obat = biaya_obat; this.biaya_ri = biaya_ri; this.biaya_rj = biaya_rj; + this.potongan_koperasi = potongan_koperasi; } public String getPph_gaji() { @@ -150,7 +154,15 @@ public class SlipPotonganDto { public void setBiaya_rj(String biaya_rj) { this.biaya_rj = biaya_rj; } - + + public String getPotongan_koperasi() { + return potongan_koperasi; + } + + public void setPotongan_koperasi(String potongan_koperasi) { + this.potongan_koperasi = potongan_koperasi; + } + public static SlipPotonganDtoBuilder builder() { return new SlipPotonganDtoBuilder(); } @@ -167,6 +179,7 @@ public class SlipPotonganDto { private String biaya_obat = "-"; private String biaya_ri = "-"; private String biaya_rj = "-"; + private String potongan_koperasi = "-"; public SlipPotonganDtoBuilder() { } @@ -226,10 +239,15 @@ public class SlipPotonganDto { return this; } + public SlipPotonganDtoBuilder potongan_koperasi(final String potongan_koperasi) { + this.potongan_koperasi = potongan_koperasi; + return this; + } + public SlipPotonganDto build() { return new SlipPotonganDto(this.pph_gaji, this.pph_remun, this.pph_ffs, this.pph_ffo, this.pph_um, this.pph_ul, this.iuran_koperasi, this.pinjam_koperasi, this.biaya_obat, this.biaya_ri, - this.biaya_rj); + this.biaya_rj, this.potongan_koperasi); } } } diff --git a/jasamedika-reporting/src/main/webapp/WEB-INF/templates/jrxml/slipGaji.jrxml b/jasamedika-reporting/src/main/webapp/WEB-INF/templates/jrxml/slipGaji.jrxml index e8c4225a..a7548dd4 100644 --- a/jasamedika-reporting/src/main/webapp/WEB-INF/templates/jrxml/slipGaji.jrxml +++ b/jasamedika-reporting/src/main/webapp/WEB-INF/templates/jrxml/slipGaji.jrxml @@ -31,6 +31,7 @@ + @@ -66,7 +67,7 @@ - + @@ -168,6 +169,20 @@ + + + + + + + + + + + + + + @@ -213,7 +228,9 @@ - + + + @@ -238,7 +255,9 @@ - + + + @@ -266,7 +285,9 @@ - + + + @@ -291,7 +312,9 @@ - + + + @@ -317,7 +340,9 @@ - + + + @@ -342,7 +367,9 @@ - + + + @@ -368,7 +395,9 @@ - + + + @@ -393,7 +422,9 @@ - + + + @@ -420,7 +451,9 @@ - + + + @@ -445,7 +478,9 @@ - + + + @@ -472,7 +507,9 @@ - + + + @@ -497,7 +534,9 @@ - + + + @@ -524,7 +563,9 @@ - + + + @@ -549,7 +590,9 @@ - + + + @@ -576,7 +619,9 @@ - + + + @@ -603,7 +648,9 @@ - + + + @@ -630,7 +677,9 @@ - + + + @@ -657,7 +706,9 @@ - + + + @@ -671,7 +722,31 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -686,7 +761,7 @@ - + @@ -695,11 +770,13 @@ - + + + - + @@ -714,7 +791,7 @@ - + @@ -729,7 +806,7 @@ - + @@ -738,11 +815,13 @@ - + + + - + @@ -757,7 +836,7 @@ - + @@ -772,7 +851,7 @@ - + @@ -781,11 +860,13 @@ - + + + - + @@ -802,7 +883,7 @@ - + @@ -811,20 +892,6 @@ - - - - - - - - - - - - - -