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 2891cae5..8ea78b57 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 @@ -197,30 +197,28 @@ public final class Master { } public static final class KomponenGaji { - public static final Integer FEE_FOR_ON_SITE = 5; public static final Integer FEE_FOR_SERVICE = 4; public static final Integer GAJI_POKOK = 1; public static final Integer SIMPANAN_WAJIB_KOPERASI_GAJI = 14; public static final Integer SIMPANAN_WAJIB_KOPERASI_REMUNERASI = 38; + public static final Integer KELEBIHAN_JAM_KERJA = 43; public static final Integer KELEBIHAN_TUNJANGAN = 40; + public static final Integer PEMBULATAN = 42; public static final Integer PINJAMAN_KOPERASI_GAJI = 15; public static final Integer PINJAMAN_KOPERASI_REMUNERASI = 35; public static final Integer POTONGAN_BPJSK = 20; public static final Integer POTONGAN_BPJSTK = 21; public static final Integer POTONGAN_LAIN = 33; public static final Integer POTONGAN_OBAT = 16; - public static final Integer POTONGAN_PPH_21_REMUNERASI = 36; - public static final Integer POTONGAN_PPH_21_REMUNERASI_OPERASIONAL = 37; - public static final Integer POTONGAN_PPH_21_UANG_MAKAN = 12; + public static final Integer POTONGAN_PPH = 8; + public static final Integer POTONGAN_PPH_REMUNERASI = 36; + public static final Integer POTONGAN_PPH_REMUNERASI_OPERASIONAL = 37; public static final Integer POTONGAN_RAWAT_INAP = 17; public static final Integer POTONGAN_RAWAT_JALAN = 18; - public static final Integer PFK = 31; - public static final Integer PPH = 8; - public static final Integer PPH_FEE_FOR_ON_SITE = 11; - public static final Integer PPH_FEE_FOR_SERVICE = 10; - public static final Integer PPH_REMUNERASI = 9; - public static final Integer PPH_UANG_LEMBUR = 13; - public static final Integer REMUNERASI = 2; + public static final Integer POTONGAN_UANG_MAKAN = 12; + public static final Integer POTONGAN_PFK = 31; + public static final Integer REMUNERASI_KINERJA = 2; + public static final Integer REMUNERASI_MANAJERIAL = 44; public static final Integer REMUNERASI_OPERASIONAL = 3; public static final Integer REMUNERASI_TAMBAHAN_DIKLITJAR = 22; public static final Integer REMUNERASI_TAMBAHAN_LAIN = 23; @@ -231,10 +229,10 @@ public final class Master { public static final Integer TUNJANGAN_BERAS = 29; public static final Integer TUNJANGAN_FUNGSIONAL = 28; public static final Integer TUNJANGAN_ISTRI_SUAMI = 24; - public static final Integer TUNJANGAN_PNS = 26; + public static final Integer TUNJANGAN_KOMPENSASI = 41; public static final Integer TUNJANGAN_PPH = 30; public static final Integer TUNJANGAN_STRUKTURAL = 27; - public static final Integer UANG_LEMBUR = 7; + public static final Integer TUNJANGAN_UMUM = 26; public static final Integer UANG_MAKAN = 6; public static final Integer WAKAF_DLL = 39; } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/KategoryPegawaiDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/KategoryPegawaiDao.java index 48a5fdb8..dd9facea 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/KategoryPegawaiDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/KategoryPegawaiDao.java @@ -1,18 +1,14 @@ package com.jasamedika.medifirst2000.dao; +import com.jasamedika.medifirst2000.entities.KategoryPegawai; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; + import java.util.Map; -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.KategoryPegawai; - -@Repository("KategoryPegawaiDao") -public interface KategoryPegawaiDao extends PagingAndSortingRepository { - - @Query("select new Map(model.id as id, model.kategoryPegawai as kategoryPegawai) from KategoryPegawai model where model.id = :kategoryPegawaiId and model.statusEnabled is true") - public Map getKategoryPegawaiById(@Param("kategoryPegawaiId") Integer kategoryPegawaiId); - +public interface KategoryPegawaiDao extends JpaRepository { + @Query("select new Map(model.id as id, model.kategoryPegawai as kategoryPegawai) " + "from KategoryPegawai model " + + "where model.id = :kategoryPegawaiId " + "and model.statusEnabled is true") + Map getKategoryPegawaiById(@Param("kategoryPegawaiId") Integer kategoryPegawaiId); } 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 06d41df8..045bd8a1 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 @@ -26,7 +26,8 @@ public interface SlipGajiDao extends JpaRepository { 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," - + "coalesce(pg.nipPns,'-') as nip) " + "from SlipGaji sg " + "inner join sg.pegawai pg " + + "coalesce(pg.nipPns,'-') as nip," + "coalesce(kp.kategoryPegawai,'-') as statusKepegawaian) " + + "from SlipGaji sg " + "inner join sg.pegawai pg " + "left join pg.kategoryPegawai kp " + "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 613dac78..bfa1e99a 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 @@ -3207,29 +3207,38 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic result.put("periode", df.format(new Date(bulan))); result.put("unitKerja", CommonUtil.isNotNullOrEmpty(dto.getUnitKerja()) ? dto.getUnitKerja() : "-"); result.put("subUnitKerja", CommonUtil.isNotNullOrEmpty(dto.getSubUnitKerja()) ? dto.getSubUnitKerja() : "-"); + result.put("statusKepegawaian", + CommonUtil.isNotNullOrEmpty(dto.getStatusKepegawaian()) ? dto.getStatusKepegawaian() : "-"); result.put("gajiPokok", "-"); result.put("tunjanganIstriSuami", "-"); result.put("tunjanganAnak", "-"); - result.put("tunjanganPns", "-"); + result.put("tunjanganUmum", "-"); result.put("tunjanganStruktural", "-"); result.put("tunjanganFungsional", "-"); result.put("tunjanganBeras", "-"); result.put("tunjanganPph", "-"); - result.put("remunerasi", "-"); + result.put("tunjanganKompensasi", "-"); + result.put("pembulatan", "-"); + result.put("remunerasiKinerja", "-"); + result.put("feeForService", "-"); result.put("remunerasiOperasional", "-"); + result.put("kelebihanJamKerja", "-"); + result.put("remunerasiManajerial", "-"); + result.put("remunerasiTambahanDiklitjar", "-"); + result.put("remunerasiTambahanLain", "-"); result.put("uangMakan", "-"); - result.put("pfk", "-"); - result.put("pph", "-"); + result.put("potonganPfk", "-"); + result.put("potonganPph", "-"); + result.put("potonganBpjsKetenagakerjaan", "-"); + result.put("potonganBpjsKesehatan", "-"); result.put("sewaRumah", "-"); result.put("kelebihanTunjangan", "-"); result.put("potonganLain", "-"); result.put("tabunganRumah", "-"); - result.put("potonganBpjsKetenagakerjaan", "-"); - result.put("potonganBpjsKesehatan", "-"); result.put("simpananWajibKoperasiGaji", "-"); result.put("pinjamanKoperasiGaji", "-"); - result.put("potonganPph21Remunerasi", "-"); - result.put("potonganPph21RemunerasiOperasional", "-"); + result.put("potonganPphRemunerasi", "-"); + result.put("potonganPphRemunerasiOperasional", "-"); result.put("potonganObat", "-"); result.put("potonganRawatInap", "-"); result.put("potonganRawatJalan", "-"); @@ -3237,7 +3246,7 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic result.put("pinjamanKoperasiRemunerasi", "-"); result.put("tokoKoperasi", "-"); result.put("wakafDanLainLain", "-"); - result.put("potonganPph21UangMakan", "-"); + result.put("potonganUangMakan", "-"); BigDecimal jumlahGaji = ZERO; BigDecimal jumlahRemunerasi = ZERO; BigDecimal jumlahUangMakan = ZERO; @@ -3274,8 +3283,8 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic result.put("tunjanganIstriSuami", nf.format(k.getNominal())); } else if (Master.KomponenGaji.TUNJANGAN_ANAK.equals(k.getIdKomponen())) { result.put("tunjanganAnak", nf.format(k.getNominal())); - } else if (Master.KomponenGaji.TUNJANGAN_PNS.equals(k.getIdKomponen())) { - result.put("tunjanganPns", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.TUNJANGAN_UMUM.equals(k.getIdKomponen())) { + result.put("tunjanganUmum", nf.format(k.getNominal())); } else if (Master.KomponenGaji.TUNJANGAN_STRUKTURAL.equals(k.getIdKomponen())) { result.put("tunjanganStruktural", nf.format(k.getNominal())); } else if (Master.KomponenGaji.TUNJANGAN_FUNGSIONAL.equals(k.getIdKomponen())) { @@ -3284,16 +3293,34 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic result.put("tunjanganBeras", nf.format(k.getNominal())); } else if (Master.KomponenGaji.TUNJANGAN_PPH.equals(k.getIdKomponen())) { result.put("tunjanganPph", nf.format(k.getNominal())); - } else if (Master.KomponenGaji.REMUNERASI.equals(k.getIdKomponen())) { - result.put("remunerasi", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.TUNJANGAN_KOMPENSASI.equals(k.getIdKomponen())) { + result.put("tunjanganKompensasi", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.PEMBULATAN.equals(k.getIdKomponen())) { + result.put("pembulatan", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.REMUNERASI_KINERJA.equals(k.getIdKomponen())) { + result.put("remunerasiKinerja", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.FEE_FOR_SERVICE.equals(k.getIdKomponen())) { + result.put("feeForService", nf.format(k.getNominal())); } else if (Master.KomponenGaji.REMUNERASI_OPERASIONAL.equals(k.getIdKomponen())) { result.put("remunerasiOperasional", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.KELEBIHAN_JAM_KERJA.equals(k.getIdKomponen())) { + result.put("kelebihanJamKerja", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.REMUNERASI_MANAJERIAL.equals(k.getIdKomponen())) { + result.put("remunerasiManajerial", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.REMUNERASI_TAMBAHAN_DIKLITJAR.equals(k.getIdKomponen())) { + result.put("remunerasiTambahanDiklitjar", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.REMUNERASI_TAMBAHAN_LAIN.equals(k.getIdKomponen())) { + result.put("remunerasiTambahanLain", nf.format(k.getNominal())); } else if (Master.KomponenGaji.UANG_MAKAN.equals(k.getIdKomponen())) { result.put("uangMakan", nf.format(k.getNominal())); - } else if (Master.KomponenGaji.PFK.equals(k.getIdKomponen())) { - result.put("pfk", nf.format(k.getNominal())); - } else if (Master.KomponenGaji.PPH.equals(k.getIdKomponen())) { - result.put("pph", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_PFK.equals(k.getIdKomponen())) { + result.put("potonganPfk", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_PPH.equals(k.getIdKomponen())) { + result.put("potonganPph", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_BPJSTK.equals(k.getIdKomponen())) { + result.put("potonganBpjsKetenagakerjaan", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_BPJSK.equals(k.getIdKomponen())) { + result.put("potonganBpjsKesehatan", nf.format(k.getNominal())); } else if (Master.KomponenGaji.SEWA_RUMAH.equals(k.getIdKomponen())) { result.put("sewaRumah", nf.format(k.getNominal())); } else if (Master.KomponenGaji.KELEBIHAN_TUNJANGAN.equals(k.getIdKomponen())) { @@ -3302,18 +3329,14 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic result.put("potonganLain", nf.format(k.getNominal())); } else if (Master.KomponenGaji.TABUNGAN_RUMAH.equals(k.getIdKomponen())) { result.put("tabunganRumah", nf.format(k.getNominal())); - } else if (Master.KomponenGaji.POTONGAN_BPJSTK.equals(k.getIdKomponen())) { - result.put("potonganBpjsKetenagakerjaan", nf.format(k.getNominal())); - } else if (Master.KomponenGaji.POTONGAN_BPJSK.equals(k.getIdKomponen())) { - result.put("potonganBpjsKesehatan", nf.format(k.getNominal())); } else if (Master.KomponenGaji.SIMPANAN_WAJIB_KOPERASI_GAJI.equals(k.getIdKomponen())) { result.put("simpananWajibKoperasiGaji", nf.format(k.getNominal())); } else if (Master.KomponenGaji.PINJAMAN_KOPERASI_GAJI.equals(k.getIdKomponen())) { result.put("pinjamanKoperasiGaji", nf.format(k.getNominal())); - } else if (Master.KomponenGaji.POTONGAN_PPH_21_REMUNERASI.equals(k.getIdKomponen())) { - result.put("potonganPph21Remunerasi", nf.format(k.getNominal())); - } else if (Master.KomponenGaji.POTONGAN_PPH_21_REMUNERASI_OPERASIONAL.equals(k.getIdKomponen())) { - result.put("potonganPph21RemunerasiOperasional", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_PPH_REMUNERASI.equals(k.getIdKomponen())) { + result.put("potonganPphRemunerasi", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_PPH_REMUNERASI_OPERASIONAL.equals(k.getIdKomponen())) { + result.put("potonganPphRemunerasiOperasional", nf.format(k.getNominal())); } else if (Master.KomponenGaji.POTONGAN_OBAT.equals(k.getIdKomponen())) { result.put("potonganObat", nf.format(k.getNominal())); } else if (Master.KomponenGaji.POTONGAN_RAWAT_INAP.equals(k.getIdKomponen())) { @@ -3328,8 +3351,8 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic result.put("tokoKoperasi", nf.format(k.getNominal())); } else if (Master.KomponenGaji.WAKAF_DLL.equals(k.getIdKomponen())) { result.put("wakafDanLainLain", nf.format(k.getNominal())); - } else if (Master.KomponenGaji.POTONGAN_PPH_21_UANG_MAKAN.equals(k.getIdKomponen())) { - result.put("potonganPph21UangMakan", nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_UANG_MAKAN.equals(k.getIdKomponen())) { + result.put("potonganUangMakan", nf.format(k.getNominal())); } } } @@ -3397,6 +3420,8 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic pegawaiDtoBuilder.unitKerja(CommonUtil.isNotNullOrEmpty(dto.getJabatan()) ? dto.getJabatan() : "-"); pegawaiDtoBuilder .subUnitKerja(CommonUtil.isNotNullOrEmpty(dto.getSubUnitKerja()) ? dto.getSubUnitKerja() : "-"); + pegawaiDtoBuilder.statusKepegawaian( + CommonUtil.isNotNullOrEmpty(dto.getStatusKepegawaian()) ? dto.getStatusKepegawaian() : "-"); SlipPenerimaanDto.SlipPenerimaanDtoBuilder penerimaanDtoBuilder = SlipPenerimaanDto.builder(); SlipPotonganDto.SlipPotonganDtoBuilder potonganDtoBuilder = SlipPotonganDto.builder(); SlipJumlahDto.SlipJumlahDtoBuilder jumlahDtoBuilder = SlipJumlahDto.builder(); @@ -3433,8 +3458,8 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic penerimaanDtoBuilder.tunjanganIstriSuami(nf.format(k.getNominal())); } else if (Master.KomponenGaji.TUNJANGAN_ANAK.equals(k.getIdKomponen())) { penerimaanDtoBuilder.tunjanganAnak(nf.format(k.getNominal())); - } else if (Master.KomponenGaji.TUNJANGAN_PNS.equals(k.getIdKomponen())) { - penerimaanDtoBuilder.tunjanganPns(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.TUNJANGAN_UMUM.equals(k.getIdKomponen())) { + penerimaanDtoBuilder.tunjanganUmum(nf.format(k.getNominal())); } else if (Master.KomponenGaji.TUNJANGAN_STRUKTURAL.equals(k.getIdKomponen())) { penerimaanDtoBuilder.tunjanganStruktural(nf.format(k.getNominal())); } else if (Master.KomponenGaji.TUNJANGAN_FUNGSIONAL.equals(k.getIdKomponen())) { @@ -3443,16 +3468,34 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic penerimaanDtoBuilder.tunjanganBeras(nf.format(k.getNominal())); } else if (Master.KomponenGaji.TUNJANGAN_PPH.equals(k.getIdKomponen())) { penerimaanDtoBuilder.tunjanganPph(nf.format(k.getNominal())); - } else if (Master.KomponenGaji.REMUNERASI.equals(k.getIdKomponen())) { - penerimaanDtoBuilder.remunerasi(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.TUNJANGAN_KOMPENSASI.equals(k.getIdKomponen())) { + penerimaanDtoBuilder.tunjanganKompensasi(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.PEMBULATAN.equals(k.getIdKomponen())) { + penerimaanDtoBuilder.pembulatan(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.REMUNERASI_KINERJA.equals(k.getIdKomponen())) { + penerimaanDtoBuilder.remunerasiKinerja(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.FEE_FOR_SERVICE.equals(k.getIdKomponen())) { + penerimaanDtoBuilder.feeForService(nf.format(k.getNominal())); } else if (Master.KomponenGaji.REMUNERASI_OPERASIONAL.equals(k.getIdKomponen())) { penerimaanDtoBuilder.remunerasiOperasional(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.KELEBIHAN_JAM_KERJA.equals(k.getIdKomponen())) { + penerimaanDtoBuilder.kelebihanJamKerja(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.REMUNERASI_MANAJERIAL.equals(k.getIdKomponen())) { + penerimaanDtoBuilder.remunerasiManajerial(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.REMUNERASI_TAMBAHAN_DIKLITJAR.equals(k.getIdKomponen())) { + penerimaanDtoBuilder.remunerasiTambahanDiklitjar(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.REMUNERASI_TAMBAHAN_LAIN.equals(k.getIdKomponen())) { + penerimaanDtoBuilder.remunerasiTambahanLain(nf.format(k.getNominal())); } else if (Master.KomponenGaji.UANG_MAKAN.equals(k.getIdKomponen())) { penerimaanDtoBuilder.uangMakan(nf.format(k.getNominal())); - } else if (Master.KomponenGaji.PFK.equals(k.getIdKomponen())) { - potonganDtoBuilder.pfk(nf.format(k.getNominal())); - } else if (Master.KomponenGaji.PPH.equals(k.getIdKomponen())) { - potonganDtoBuilder.pph(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_PFK.equals(k.getIdKomponen())) { + potonganDtoBuilder.potonganPfk(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_PPH.equals(k.getIdKomponen())) { + potonganDtoBuilder.potonganPph(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_BPJSTK.equals(k.getIdKomponen())) { + potonganDtoBuilder.potonganBpjsKetenagakerjaan(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_BPJSK.equals(k.getIdKomponen())) { + potonganDtoBuilder.potonganBpjsKesehatan(nf.format(k.getNominal())); } else if (Master.KomponenGaji.SEWA_RUMAH.equals(k.getIdKomponen())) { potonganDtoBuilder.sewaRumah(nf.format(k.getNominal())); } else if (Master.KomponenGaji.KELEBIHAN_TUNJANGAN.equals(k.getIdKomponen())) { @@ -3461,18 +3504,14 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic potonganDtoBuilder.potonganLain(nf.format(k.getNominal())); } else if (Master.KomponenGaji.TABUNGAN_RUMAH.equals(k.getIdKomponen())) { potonganDtoBuilder.tabunganRumah(nf.format(k.getNominal())); - } else if (Master.KomponenGaji.POTONGAN_BPJSTK.equals(k.getIdKomponen())) { - potonganDtoBuilder.potonganBpjsKetenagakerjaan(nf.format(k.getNominal())); - } else if (Master.KomponenGaji.POTONGAN_BPJSK.equals(k.getIdKomponen())) { - potonganDtoBuilder.potonganBpjsKesehatan(nf.format(k.getNominal())); } else if (Master.KomponenGaji.SIMPANAN_WAJIB_KOPERASI_GAJI.equals(k.getIdKomponen())) { potonganDtoBuilder.simpananWajibKoperasiGaji(nf.format(k.getNominal())); } else if (Master.KomponenGaji.PINJAMAN_KOPERASI_GAJI.equals(k.getIdKomponen())) { potonganDtoBuilder.pinjamanKoperasiGaji(nf.format(k.getNominal())); - } else if (Master.KomponenGaji.POTONGAN_PPH_21_REMUNERASI.equals(k.getIdKomponen())) { - potonganDtoBuilder.potonganPph21Remunerasi(nf.format(k.getNominal())); - } else if (Master.KomponenGaji.POTONGAN_PPH_21_REMUNERASI_OPERASIONAL.equals(k.getIdKomponen())) { - potonganDtoBuilder.potonganPph21RemunerasiOperasional(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_PPH_REMUNERASI.equals(k.getIdKomponen())) { + potonganDtoBuilder.potonganPphRemunerasi(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_PPH_REMUNERASI_OPERASIONAL.equals(k.getIdKomponen())) { + potonganDtoBuilder.potonganPphRemunerasiOperasional(nf.format(k.getNominal())); } else if (Master.KomponenGaji.POTONGAN_OBAT.equals(k.getIdKomponen())) { potonganDtoBuilder.potonganObat(nf.format(k.getNominal())); } else if (Master.KomponenGaji.POTONGAN_RAWAT_INAP.equals(k.getIdKomponen())) { @@ -3487,8 +3526,8 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic potonganDtoBuilder.tokoKoperasi(nf.format(k.getNominal())); } else if (Master.KomponenGaji.WAKAF_DLL.equals(k.getIdKomponen())) { potonganDtoBuilder.wakafDanLainLain(nf.format(k.getNominal())); - } else if (Master.KomponenGaji.POTONGAN_PPH_21_UANG_MAKAN.equals(k.getIdKomponen())) { - potonganDtoBuilder.potonganPph21UangMakan(nf.format(k.getNominal())); + } else if (Master.KomponenGaji.POTONGAN_UANG_MAKAN.equals(k.getIdKomponen())) { + potonganDtoBuilder.potonganUangMakan(nf.format(k.getNominal())); } } } 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 b957f92c..d3f7e43b 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 @@ -344,6 +344,7 @@ public class SlipGajiServiceImpl implements SlipGajiService { dto.nip(slipGaji.get().getPegawai().getNikIntern()); } dto.bulan(slipGaji.get().getBulan().getTime()); + dto.statusKepegawaian(slipGaji.get().getPegawai().getKategoryPegawai().getKategoryPegawai()); { List listDetail = slipGajiDetailDao.findBySlipGaji(slipGaji.get().getId()); List listNamaJabatan = listDetail.stream() @@ -456,8 +457,11 @@ public class SlipGajiServiceImpl implements SlipGajiService { } } HSSFWorkbook workbook = new HSSFWorkbook(); + CellStyle defaultCellStyle = workbook.createCellStyle(); + defaultCellStyle.setWrapText(true); CellStyle unlockedCellStyle = workbook.createCellStyle(); unlockedCellStyle.setLocked(false); + unlockedCellStyle.setWrapText(true); HSSFSheet sheet = workbook.createSheet(new SimpleDateFormat("MMMM yyyy", new Locale("in", "ID")).format(month)); sheet.protectSheet("Rsa6hk@@"); List row1 = new ArrayList<>(); @@ -466,10 +470,12 @@ public class SlipGajiServiceImpl implements SlipGajiService { row1.add(""); row1.add(String.valueOf(month.getTime())); row1.add(""); + row1.add(""); row2.add(""); row2.add("ID PEGAWAI"); row2.add("NAMA PEGAWAI"); row2.add("NIP / KOMPONEN"); + row2.add("STATUS"); allKomponen.forEach(k -> { row1.add(k.get("id")); row2.add(k.get("namaKomponen")); @@ -484,12 +490,13 @@ 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("nip"), d.get("1"), - d.get("24"), d.get("25"), d.get("26"), d.get("27"), d.get("28"), d.get("29"), d.get("30"), - d.get("2"), d.get("3"), d.get("6"), d.get("31"), d.get("8"), d.get("32"), d.get("40"), - d.get("33"), d.get("34"), d.get("21"), d.get("20"), d.get("14"), d.get("15"), d.get("36"), - d.get("37"), d.get("16"), d.get("17"), d.get("18"), d.get("38"), d.get("35"), d.get("19"), - d.get("39"), d.get("12") }); + new Object[] { d.get("id"), d.get("idPegawai"), d.get("namaPegawai"), d.get("nip"), + d.get("statusKepegawaian"), d.get("1"), d.get("24"), d.get("25"), d.get("26"), d.get("27"), + d.get("28"), d.get("29"), d.get("30"), d.get("41"), d.get("42"), d.get("2"), d.get("4"), + d.get("3"), d.get("43"), d.get("44"), d.get("22"), d.get("23"), d.get("6"), d.get("31"), + d.get("8"), d.get("21"), d.get("20"), d.get("32"), d.get("40"), d.get("33"), d.get("34"), + d.get("14"), d.get("15"), d.get("36"), d.get("37"), d.get("16"), d.get("17"), d.get("18"), + d.get("38"), d.get("35"), d.get("19"), d.get("39"), d.get("12") }); } TreeMap sorted = new TreeMap<>(data); Set keyset = sorted.keySet(); @@ -500,6 +507,8 @@ public class SlipGajiServiceImpl implements SlipGajiService { int cellnum = 0; for (Object obj : objArr) { Cell cell = row.createCell(cellnum++); + if (row.getRowNum() != 0 && cell.getColumnIndex() > 1) + cell.setCellStyle(defaultCellStyle); if (obj instanceof String) cell.setCellValue((String) obj); else if (obj instanceof Integer) diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipGajiDto.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipGajiDto.java index 0286ede9..8e72fb91 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipGajiDto.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipGajiDto.java @@ -38,6 +38,9 @@ public class SlipGajiDto { @Caption(value = "Subunit Kerja") private String subUnitKerja; + @Caption(value = "Status Kepegawaian") + private String statusKepegawaian; + @Caption(value = "Grade") private String grade; diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipPegawaiDto.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipPegawaiDto.java index 7489c00c..d9bbf47f 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipPegawaiDto.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipPegawaiDto.java @@ -47,4 +47,8 @@ public class SlipPegawaiDto { @Caption(value = "Subunit Kerja") @Builder.Default private String subUnitKerja = "-"; + + @Caption(value = "Status Kepegawaian") + @Builder.Default + private String statusKepegawaian = "-"; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipPenerimaanDto.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipPenerimaanDto.java index a77de902..8aa0f018 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipPenerimaanDto.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/SlipPenerimaanDto.java @@ -25,9 +25,9 @@ public class SlipPenerimaanDto { @Builder.Default private String tunjanganAnak = "-"; - @Caption(value = "Tunjangan PNS") + @Caption(value = "Tunjangan Umum") @Builder.Default - private String tunjanganPns = "-"; + private String tunjanganUmum = "-"; @Caption(value = "Tunjangan Struktural") @Builder.Default @@ -45,21 +45,33 @@ public class SlipPenerimaanDto { @Builder.Default private String tunjanganPph = "-"; - @Caption(value = "Remunerasi") + @Caption(value = "Tunjangan Kompensasi") @Builder.Default - private String remunerasi = "-"; + private String tunjanganKompensasi = "-"; - @Caption(value = "Remunerasi Operasional") + @Caption(value = "Pembulatan") @Builder.Default - private String remunerasiOperasional = "-"; + private String pembulatan = "-"; + + @Caption(value = "Remunerasi Kinerja") + @Builder.Default + private String remunerasiKinerja = "-"; @Caption(value = "Fee for Service") @Builder.Default private String feeForService = "-"; - @Caption(value = "Fee for On Site") + @Caption(value = "Remunerasi Operasional") @Builder.Default - private String feeForOnSite = "-"; + private String remunerasiOperasional = "-"; + + @Caption(value = "Kelebihan Jam Kerja") + @Builder.Default + private String kelebihanJamKerja = "-"; + + @Caption(value = "Remunerasi Manajerial") + @Builder.Default + private String remunerasiManajerial = "-"; @Caption(value = "Remunerasi Tambahan Pendidikan/Pelatihan/Pengajaran") @Builder.Default @@ -69,10 +81,6 @@ public class SlipPenerimaanDto { @Builder.Default private String remunerasiTambahanLain = "-"; - @Caption(value = "Uang Lembur") - @Builder.Default - private String uangLembur = "-"; - @Caption(value = "Uang Makan") @Builder.Default private String uangMakan = "-"; 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 d4fa292a..8dddb975 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 @@ -13,13 +13,21 @@ import lombok.*; @NoArgsConstructor @Builder public class SlipPotonganDto { - @Caption(value = "PFK") + @Caption(value = "Potongan PFK") @Builder.Default - private String pfk = "-"; + private String potonganPfk = "-"; - @Caption(value = "PPH") + @Caption(value = "Potongan PPH") @Builder.Default - private String pph = "-"; + private String potonganPph = "-"; + + @Caption(value = "Potongan BPJS Ketenagakerjaan") + @Builder.Default + private String potonganBpjsKetenagakerjaan = "-"; + + @Caption(value = "Potongan BPJS Kesehatan") + @Builder.Default + private String potonganBpjsKesehatan = "-"; @Caption(value = "Sewa Rumah") @Builder.Default @@ -37,14 +45,6 @@ public class SlipPotonganDto { @Builder.Default private String tabunganRumah = "-"; - @Caption(value = "Potongan BPJS Ketenagakerjaan") - @Builder.Default - private String potonganBpjsKetenagakerjaan = "-"; - - @Caption(value = "Potongan BPJS Kesehatan") - @Builder.Default - private String potonganBpjsKesehatan = "-"; - @Caption(value = "Simpanan Wajib Koperasi (Gaji)") @Builder.Default private String simpananWajibKoperasiGaji = "-"; @@ -53,13 +53,13 @@ public class SlipPotonganDto { @Builder.Default private String pinjamanKoperasiGaji = "-"; - @Caption(value = "Potongan PPH 21 Remunerasi") + @Caption(value = "Potongan PPH Remunerasi") @Builder.Default - private String potonganPph21Remunerasi = "-"; + private String potonganPphRemunerasi = "-"; - @Caption(value = "Potongan PPH 21 Remunerasi Operasional") + @Caption(value = "Potongan PPH Remunerasi Operasional") @Builder.Default - private String potonganPph21RemunerasiOperasional = "-"; + private String potonganPphRemunerasiOperasional = "-"; @Caption(value = "Potongan Obat") @Builder.Default @@ -89,23 +89,7 @@ public class SlipPotonganDto { @Builder.Default private String wakafDanLainLain = "-"; - @Caption(value = "PPH Remunerasi") + @Caption(value = "Potongan Uang Makan") @Builder.Default - private String pphRemunerasi = "-"; - - @Caption(value = "PPH Fee for Service") - @Builder.Default - private String pphFeeForService = "-"; - - @Caption(value = "PPH Fee for On Site") - @Builder.Default - private String pphFeeForOnSite = "-"; - - @Caption(value = "PPH Uang Lembur") - @Builder.Default - private String pphUangLembur = "-"; - - @Caption(value = "Potongan PPH 21 Uang Makan") - @Builder.Default - private String potonganPph21UangMakan = "-"; + private String potonganUangMakan = "-"; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KategoryPegawai.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KategoryPegawai.java index 9f0a1c62..117ae72d 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KategoryPegawai.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/KategoryPegawai.java @@ -1,90 +1,39 @@ package com.jasamedika.medifirst2000.entities; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; - import com.jasamedika.medifirst2000.base.BaseMaster; import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.*; + +import static javax.persistence.GenerationType.SEQUENCE; /** * class KategoryPegawai * * @author Generator */ -@Entity // @Audited +@Getter +@Setter +@Entity @Table(name = "KategoryPegawai_M") public class KategoryPegawai extends BaseMaster { - @NotNull(message = "Kategory Pegawai tidak boleh kosong") - @Column(name = "KategoryPegawai", nullable = false, length = 30) - @Caption(value = "Kategory Pegawai") - private String kategoryPegawai; - - public void setKategoryPegawai(String kategoryPegawai) { - this.kategoryPegawai = kategoryPegawai; - } - - public String getKategoryPegawai() { - return this.kategoryPegawai; - } - - @NotNull(message = "Kd Kategory Pegawai tidak boleh kosong") - @Column(name = "KdKategoryPegawai", nullable = false, length = 1) - @Caption(value = "Kode Kategory Pegawai") - private String kdKategoryPegawai; - - public void setKdKategoryPegawai(String kdKategoryPegawai) { - this.kdKategoryPegawai = kdKategoryPegawai; - } - - public String getKdKategoryPegawai() { - return this.kdKategoryPegawai; - } - - @NotNull(message = "QKategory Pegawai tidak boleh kosong") - @Column(name = "QKategoryPegawai", nullable = false) - @Caption(value = "QKategory Pegawai") - private Byte qKategoryPegawai; - - public void setqKategoryPegawai(Byte qKategoryPegawai) { - this.qKategoryPegawai = qKategoryPegawai; - } - - public Byte getqKategoryPegawai() { - return this.qKategoryPegawai; - } - - /* - * @JsonManagedReference - * - * @OneToMany(fetch=FetchType.LAZY, cascade = CascadeType.ALL, - * mappedBy="kdkategorypegawai") private Set - * DetailKategoryPegawaiSet = new HashSet(); - * - * public Set getDetailKategoryPegawaiSet() { return - * DetailKategoryPegawaiSet; } - * - * public void setDetailKategoryPegawaiSet(Set - * detailKategoryPegawaiSet) { DetailKategoryPegawaiSet = - * detailKategoryPegawaiSet; } - */ - @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.kategorypegawai_m_id_seq") - @javax.persistence.SequenceGenerator(name = "public.kategorypegawai_m_id_seq", sequenceName = "public.kategorypegawai_m_id_seq", allocationSize = 1) + @GeneratedValue(strategy = SEQUENCE, generator = "public.kategorypegawai_m_id_seq") + @SequenceGenerator(name = "public.kategorypegawai_m_id_seq", sequenceName = "public.kategorypegawai_m_id_seq", allocationSize = 1) @Column(name = "id") protected Integer id; - public Integer getId() { + @Column(name = "KategoryPegawai") + @Caption(value = "Kategory Pegawai") + private String kategoryPegawai; - return id; - } + @Column(name = "KdKategoryPegawai") + @Caption(value = "Kode Kategory Pegawai") + private String kdKategoryPegawai; - public void setId(Integer id) { - this.id = id; - } + @Column(name = "QKategoryPegawai") + @Caption(value = "QKategory Pegawai") + private Byte qKategoryPegawai; } \ No newline at end of file diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/KategoryPegawaiVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/KategoryPegawaiVO.java index fc479933..ea6c7958 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/KategoryPegawaiVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/KategoryPegawaiVO.java @@ -1,77 +1,24 @@ package com.jasamedika.medifirst2000.vo; -import java.io.Serializable; -import java.util.HashSet; -import java.util.Set; - -import javax.persistence.*; -import java.util.Date; -import org.hibernate.validator.constraints.NotEmpty; - -import com.jasamedika.medifirst2000.base.vo.BaseMasterVO; -import javax.validation.constraints.NotNull; -import org.hibernate.validator.constraints.Length; -import org.hibernate.validator.internal.util.logging.Messages; - -import com.fasterxml.jackson.annotation.JsonManagedReference; import com.jasamedika.medifirst2000.base.vo.BaseMasterVO; import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; /** - * class KategoryPegawai + * class KategoryPegawai * * @author Generator */ -//@Entity -//@Table(name = "KategoryPegawai_M") +@Getter +@Setter public class KategoryPegawaiVO extends BaseMasterVO { - @Caption(value="Kategory Pegawai") + @Caption(value = "Kategory Pegawai") private String kategoryPegawai; - public void setKategoryPegawai(String kategoryPegawai) { - this.kategoryPegawai = kategoryPegawai; - } - - @Column(name = "KategoryPegawai", nullable = false , length = 30) - public String getKategoryPegawai(){ - return this.kategoryPegawai; - } - - @Caption(value="Kode Kategory Pegawai") + @Caption(value = "Kode Kategory Pegawai") private String kdKategoryPegawai; - public void setKdKategoryPegawai(String kdKategoryPegawai) { - this.kdKategoryPegawai = kdKategoryPegawai; - } - - @Column(name = "KdKategoryPegawai", nullable = false , length = 1) - public String getKdKategoryPegawai(){ - return this.kdKategoryPegawai; - } - - @Caption(value="QKategory Pegawai") + @Caption(value = "QKategory Pegawai") private Byte qKategoryPegawai; - - public void setqKategoryPegawai(Byte qKategoryPegawai) { - this.qKategoryPegawai = qKategoryPegawai; - } - - @Column(name = "QKategoryPegawai", nullable = false ) - public Byte getqKategoryPegawai(){ - return this.qKategoryPegawai; - } - -/* // - @OneToMany(fetch=FetchType.LAZY, cascade = CascadeType.ALL, mappedBy="kdkategorypegawai") - private Set DetailKategoryPegawaiSet = new HashSet(); - - public Set getDetailKategoryPegawaiSet() { - return DetailKategoryPegawaiSet; - } - - public void setDetailKategoryPegawaiSet(Set detailKategoryPegawaiSet) { - DetailKategoryPegawaiSet = detailKategoryPegawaiSet; - }*/ - } - 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 94582df8..7ad5ab64 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 @@ -14,12 +14,12 @@ - + - - - - + + + + @@ -34,14 +34,14 @@ - + - + @@ -53,11 +53,19 @@ + + + + + + + + - + @@ -272,7 +280,59 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -284,7 +344,7 @@ - + @@ -299,65 +359,40 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + + + - + - + + + @@ -370,7 +405,7 @@ - + @@ -390,7 +425,7 @@ - + @@ -400,7 +435,7 @@ - + @@ -430,7 +465,7 @@ - + @@ -440,7 +475,7 @@ - + @@ -477,7 +512,7 @@ - + @@ -487,7 +522,7 @@ - + @@ -505,7 +540,7 @@ - + @@ -521,10 +556,10 @@ - + - + @@ -534,7 +569,7 @@ - + @@ -571,7 +606,7 @@ - + @@ -581,7 +616,7 @@ - + @@ -616,7 +651,7 @@ - + @@ -628,7 +663,7 @@ - + @@ -664,7 +699,7 @@ - + @@ -676,7 +711,7 @@ - + @@ -732,17 +767,6 @@ - - - - - - - - - - - @@ -756,7 +780,7 @@ - + @@ -780,17 +804,6 @@ - - - - - - - - - - - @@ -804,7 +817,7 @@ - + @@ -856,7 +869,7 @@ - + @@ -911,10 +924,10 @@ - + - + @@ -924,7 +937,7 @@ - + @@ -934,7 +947,7 @@ - + @@ -950,20 +963,20 @@ - + - + - + - + @@ -971,10 +984,10 @@ - + - + @@ -982,7 +995,7 @@ - + @@ -995,10 +1008,10 @@ - + - + @@ -1008,7 +1021,7 @@ - + @@ -1019,7 +1032,7 @@ - + @@ -1031,10 +1044,10 @@ - + - + @@ -1044,7 +1057,7 @@ - + @@ -1067,10 +1080,10 @@ - + - + @@ -1080,7 +1093,7 @@ - + @@ -1103,10 +1116,10 @@ - + - + @@ -1118,7 +1131,7 @@ - + @@ -1128,22 +1141,23 @@ - + + - + - + @@ -1155,7 +1169,7 @@ - + @@ -1165,22 +1179,23 @@ - + + - + - + @@ -1190,7 +1205,7 @@ - + @@ -1198,33 +1213,23 @@ - - - - - - - - - - - - + + - + - + @@ -1234,7 +1239,7 @@ - + @@ -1271,7 +1276,7 @@ - + @@ -1284,7 +1289,7 @@ - + @@ -1296,7 +1301,7 @@ - + @@ -1308,7 +1313,7 @@ - + @@ -1320,10 +1325,10 @@ - + - + @@ -1336,7 +1341,7 @@ - + @@ -1351,7 +1356,7 @@ - + @@ -1367,7 +1372,7 @@ - + @@ -1375,10 +1380,10 @@ - + - + @@ -1388,10 +1393,10 @@ - + - + @@ -1401,7 +1406,7 @@ - + @@ -1414,10 +1419,10 @@ - + - + @@ -1430,7 +1435,7 @@ - + @@ -1445,7 +1450,7 @@ - + @@ -1459,7 +1464,7 @@ - + @@ -1474,7 +1479,7 @@ - + @@ -1485,7 +1490,7 @@ - + @@ -1493,10 +1498,10 @@ - + - + @@ -1506,7 +1511,7 @@ - + @@ -1514,10 +1519,10 @@ - + - + @@ -1528,7 +1533,7 @@ - + @@ -1536,10 +1541,10 @@ - + - + @@ -1550,7 +1555,7 @@ - + @@ -1560,7 +1565,7 @@ - + @@ -1570,61 +1575,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1639,7 +1589,7 @@ - + @@ -1652,7 +1602,7 @@ - + @@ -1665,7 +1615,7 @@ - + @@ -1678,6 +1628,182 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +