Merge branch 'dev'

This commit is contained in:
Salman Manoe 2023-11-19 16:52:43 +07:00
commit 69f154fc5d
28 changed files with 2276 additions and 3135 deletions

View File

@ -99,8 +99,12 @@ public final class Master {
}
public static final class JenisKomponenGaji {
public static final Integer PEMOTONGAN = 2;
public static final Integer PENERIMAAN = 1;
public static final Integer GAJI = 1;
public static final Integer REMUNERASI = 2;
public static final Integer UANG_MAKAN = 3;
public static final Integer POTONGAN_GAJI = 4;
public static final Integer POTONGAN_REMUNERASI = 5;
public static final Integer POTONGAN_UANG_MAKAN = 6;
}
public static final class JenisPegawai {
@ -176,29 +180,37 @@ public final class Master {
}
public static final class KomponenGaji {
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 FEE_FOR_ONSITE = 5;
public static final Integer FEE_FOR_SERVICE = 4;
public static final Integer GAJI = 1;
public static final Integer IURAN_WAJIB_KOPERASI = 14;
public static final Integer PINJAMAN_KOPERASI = 15;
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_TUNJANGAN = 40;
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_TOKO_KOPERASI = 19;
public static final Integer PPH_FEE_FOR_ONSITE = 11;
public static final Integer PPH_FEE_FOR_SERVICE = 10;
public static final Integer PPH_GAJI = 8;
public static final Integer PPH_REMUNERASI = 9;
public static final Integer PPH_UANG_MAKAN = 12;
public static final Integer PPH_UANG_LEMBUR = 13;
public static final Integer REMUNERASI_KINERJA = 2;
public static final Integer REMUNERASI_TAMBAHAN_MANAJERIAL = 3;
public static final Integer UANG_LEMBUR = 7;
public static final Integer POTONGAN_LAIN = 33;
public static final Integer POTONGAN_OBAT = 16;
public static final Integer POTONGAN_PPH_21_REMUNERASI = 9;
public static final Integer POTONGAN_PPH_21_REMUNERASI_OPERASIONAL = 10;
public static final Integer POTONGAN_PPH_21_UANG_MAKAN = 12;
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 REMUNERASI = 2;
public static final Integer REMUNERASI_OPERASIONAL = 3;
public static final Integer SEWA_RUMAH = 32;
public static final Integer TABUNGAN_RUMAH = 34;
public static final Integer TOKO_KOPERASI = 19;
public static final Integer TUNJANGAN_ANAK = 25;
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_PPH = 30;
public static final Integer TUNJANGAN_STRUKTURAL = 27;
public static final Integer UANG_MAKAN = 6;
public static final Integer REMUNERASI_TAMBAHAN_DIKLITJAR = 22;
public static final Integer REMUNERASI_TAMBAHAN_LAIN = 23;
public static final Integer WAKAF_DLL = 39;
}
public static final class KomponenHarga {

View File

@ -1,12 +1,11 @@
package com.jasamedika.medifirst2000.dao;
import java.util.List;
import java.util.Map;
import com.jasamedika.medifirst2000.entities.KomponenGaji;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import com.jasamedika.medifirst2000.entities.KomponenGaji;
import java.util.List;
import java.util.Map;
/**
* @author salmanoe
@ -15,6 +14,9 @@ import com.jasamedika.medifirst2000.entities.KomponenGaji;
*/
public interface KomponenGajiDao extends JpaRepository<KomponenGaji, Integer> {
@Query("select new Map(kg.id as id,kg.namaKomponen as namaKomponen) " + "from KomponenGaji kg "
+ "order by kg.jenisKomponen,kg.id")
List<Map<String, Object>> getAll();
+ "where kg.urutan is not null " + "order by kg.urutan")
List<Map<String, Object>> findLabelByUrutan();
@Query("select kg from KomponenGaji kg " + "where kg.urutan is not null " + "order by kg.urutan")
List<KomponenGaji> findByUrutan();
}

View File

@ -1,14 +1,13 @@
package com.jasamedika.medifirst2000.dao;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.jasamedika.medifirst2000.entities.SlipGajiKomponen;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import com.jasamedika.medifirst2000.entities.SlipGajiKomponen;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @author salmanoe
@ -16,8 +15,12 @@ import com.jasamedika.medifirst2000.entities.SlipGajiKomponen;
*/
public interface SlipGajiKomponenDao extends JpaRepository<SlipGajiKomponen, String> {
@Query("select new Map(sgk.id as id," + "sgk.komponen.jenisKomponen as idJenisKomponen,"
+ "case when sgk.komponen.jenisKomponen = 1 then 'Penerimaan' "
+ "when sgk.komponen.jenisKomponen = 2 then 'Pemotongan' end as jenisKomponen,"
+ "case when sgk.komponen.jenisKomponen = 1 then 'Gaji' "
+ "when sgk.komponen.jenisKomponen = 2 then 'Remunerasi' "
+ "when sgk.komponen.jenisKomponen = 3 then 'Uang Makan' "
+ "when sgk.komponen.jenisKomponen = 4 then 'Potongan Gaji' "
+ "when sgk.komponen.jenisKomponen = 5 then 'Potongan Remunerasi' "
+ "when sgk.komponen.jenisKomponen = 6 then 'Potongan Uang Makan' end as jenisKomponen,"
+ "sgk.komponen.id as idKomponen," + "sgk.komponen.namaKomponen as namaKomponen,"
+ "sgk.nominal as nominal) " + "from SlipGajiKomponen sgk " + "where sgk.slipGaji.pegawai.id = :pegawaiId "
+ "and sgk.slipGaji.bulan between :start and :end "

View File

@ -1,12 +0,0 @@
package com.jasamedika.medifirst2000.dao;
import com.jasamedika.medifirst2000.entities.StrukBuktiPenerimaanDetail;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* @author salmanoe
* @version 1.0.0
* @since 16/11/2023
*/
public interface StrukBuktiPenerimaanDetailDao extends JpaRepository<StrukBuktiPenerimaanDetail, String> {
}

View File

@ -1,138 +1,121 @@
package com.jasamedika.medifirst2000.service;
import com.jasamedika.medifirst2000.dto.*;
import com.jasamedika.medifirst2000.entities.Pasien;
import com.jasamedika.medifirst2000.vo.PasienVO;
import java.util.List;
import java.util.Map;
import com.jasamedika.medifirst2000.dto.BuktiPenerimaanBarangDto;
import com.jasamedika.medifirst2000.dto.HPSDto;
import com.jasamedika.medifirst2000.dto.HeadDto;
import com.jasamedika.medifirst2000.dto.HeadKasirDto;
import com.jasamedika.medifirst2000.dto.KartuPengendaliDto;
import com.jasamedika.medifirst2000.dto.KartuPulangPasienDto;
import com.jasamedika.medifirst2000.dto.KwitansiDto;
import com.jasamedika.medifirst2000.dto.LampiranSPPHDto;
import com.jasamedika.medifirst2000.dto.RekapPendapatanHarianPoliklinikDto;
import com.jasamedika.medifirst2000.dto.SlipHeaderDto;
import com.jasamedika.medifirst2000.dto.SuratPesananSementaraDto;
import com.jasamedika.medifirst2000.entities.Pasien;
import com.jasamedika.medifirst2000.vo.PasienVO;
public interface ReportService extends BaseVoService<Pasien, PasienVO, Integer> {
public KwitansiDto generateKwitansi(String noKwitansi, String token);
KwitansiDto generateKwitansi(String noKwitansi, String token);
public KartuPulangPasienDto generateKartuPasienPulang(String noRegistrasi, String token);
KartuPulangPasienDto generateKartuPasienPulang(String noRegistrasi, String token);
public List<RekapPendapatanHarianPoliklinikDto> generateRekapPendapatanHarianPoliklinik(String noRegistrasi);
List<RekapPendapatanHarianPoliklinikDto> generateRekapPendapatanHarianPoliklinik(String noRegistrasi);
public KartuPengendaliDto generateKartuPengendali(String noRec);
KartuPengendaliDto generateKartuPengendali(String noRec);
public HPSDto generateHPS(String noRec);
HPSDto generateHPS(String noRec);
public SuratPesananSementaraDto generateSPS(String noRecKartuPengendaliId, Integer supplierId);
SuratPesananSementaraDto generateSPS(String noRecKartuPengendaliId, Integer supplierId);
public LampiranSPPHDto generateLampiranSPPH(String noRec);
LampiranSPPHDto generateLampiranSPPH(String noRec);
public HeadKasirDto generateBilling(String noRegistrasi, String token);
HeadKasirDto generateBilling(String noRegistrasi, String token);
public BuktiPenerimaanBarangDto generateBuktiPenerimaan(String noRec);
BuktiPenerimaanBarangDto generateBuktiPenerimaan(String noRec);
public BuktiPenerimaanBarangDto generateBuktiPengeluaranBarang(String noRec);
BuktiPenerimaanBarangDto generateBuktiPengeluaranBarang(String noRec);
public HeadDto generateQRCode(String noRec);
HeadDto generateQRCode(String noRec);
public HeadDto generateQRCodeAset(String noRec);
HeadDto generateQRCodeAset(String noRec);
public Map<String, Object> generateSlipPenghasilan(Integer idPegawai, String periode);
Map<String, Object> generateSlipPenghasilan(Integer idPegawai, String periode);
public List<Map<String, Object>> generateLapRekapitulasiKehadiran(Integer idRuangan, String startDate,
String endDate);
List<Map<String, Object>> generateLapRekapitulasiKehadiran(Integer idRuangan, String startDate, String endDate);
public Map<String, Object> generateRekapitulasiStok(Integer kelompokProdukId, Integer produkId,
Integer asalProdukId, Integer ruanganId, Integer jenisProdukId);
Map<String, Object> generateSPMRS(String noRegistrasi);
public Map<String, Object> generateSPMRS(String noRegistrasi);
public Map<String, Object> generateSasaranMutuPoliklinik(String startDate, String endDate, Integer ruanganId,
Map<String, Object> generateSasaranMutuPoliklinik(String startDate, String endDate, Integer ruanganId,
Integer dokterId);
public Map<String, Object> pengkajianAwalNeonatusRawatJalan(String kdPap, String noRec);
Map<String, Object> pengkajianAwalNeonatusRawatJalan(String kdPap, String noRec);
public Map<String, Object> pengkajianAwalNeonatusRawatInap(String kdPap, String noRec);
Map<String, Object> pengkajianAwalNeonatusRawatInap(String kdPap, String noRec);
public Map<String, Object> pengkajianAwalAnakRawatInap(String kdPap, String noRec);
Map<String, Object> pengkajianAwalAnakRawatInap(String kdPap, String noRec);
public Map<String, Object> pengkajianAwalAnakRawatJalan(String kdPap, String noRec);
Map<String, Object> pengkajianAwalAnakRawatJalan(String kdPap, String noRec);
public Map<String, Object> pengkajianAwalDewasaRawatJalan(String kdPap, String noRec);
Map<String, Object> pengkajianAwalDewasaRawatJalan(String kdPap, String noRec);
public Map<String, Object> resumeMedis(String noRec);
Map<String, Object> resumeMedis(String noRec);
public Map<String, Object> tracer(String noRegistrasi);
Map<String, Object> tracer(String noRegistrasi);
public Map<String, Object> ringkasanKeluarMasuk(String noRegistrasi);
Map<String, Object> ringkasanKeluarMasuk(String noRegistrasi);
public Map<String, Object> labelPasien(String noRegistrasi);
Map<String, Object> labelPasien(String noRegistrasi);
public List<Map<String, Object>> generateLapRekapitulasiIndexKehadiran(String periode);
List<Map<String, Object>> generateLapRekapitulasiIndexKehadiran(String periode);
public List<Map<String, Object>> generateSuratPermohonanCuti(String noRec);
public Map<String, Object> generateLapPermohonanCuti(String noRecPlanning, Integer idJabatan, Integer idAtasan1,
Map<String, Object> generateLapPermohonanCuti(String noRecPlanning, Integer idJabatan, Integer idAtasan1,
Integer idAtasan2, Integer kaRu);
public Map<String, Object> generateSuratIzinSementara(String noRecPlanning, Integer idJabatan, Integer idUnitKerja,
Map<String, Object> generateSuratIzinSementara(String noRecPlanning, Integer idJabatan, Integer idUnitKerja,
Integer idAtasan1, Integer idAtasan2, Integer kaRu, Integer idJabatanAtasan1, Integer idJabatanAtasan2);
public Map<String, Object> generateSuratIzinSementara(String noRecPlanning, Integer idJabatan, Integer idUnitKerja,
Map<String, Object> generateSuratIzinSementara(String noRecPlanning, Integer idJabatan, Integer idUnitKerja,
Integer idAtasan1, Integer idJabatanAtasan1);
public Map<String, Object> generateSuratTugas(String noRecPlanning, Integer idJabatan, Integer idUnitKerja,
Map<String, Object> generateSuratTugas(String noRecPlanning, Integer idJabatan, Integer idUnitKerja,
Integer idAtasan1, Integer idAtasan2, Integer kaRu, Integer idJabatanAtasan1, Integer idJabatanAtasan2);
public Map<String, Object> generateLapPermohonanCuti(String noRecPlanning, Integer idJabatan, Integer idUnitKerja,
Map<String, Object> generateLapPermohonanCuti(String noRecPlanning, Integer idJabatan, Integer idUnitKerja,
Integer idAtasan1, Integer idAtasan2, Integer kaRu, Integer idJabatanAtasan1, Integer idJabatanAtasan2,
String atasanDireksi);
public Map<String, Object> generateLapPermohonanCuti(String noRecPlanning, String atasan1, String nipPnsAtasan1,
Map<String, Object> generateLapPermohonanCuti(String noRecPlanning, String atasan1, String nipPnsAtasan1,
String jabatanAtasan1, String atasan2, String nipPnsAtasan2, String jabatanAtasan2, Integer idKaRu);
public Map<String, Object> generateLapSuratIzinCuti(String noRecPlanning, Integer idJabatan, Integer atasanId,
Map<String, Object> generateLapSuratIzinCuti(String noRecPlanning, Integer idJabatan, Integer atasanId,
Integer jabatanAtasanId);
public Map<String, Object> generateLapPelayanan(String startDate, String endDate, Integer idproduk,
Integer idRuangan, Integer jenisPasien);
Map<String, Object> generateLapPelayanan(String startDate, String endDate, Integer idproduk, Integer idRuangan,
Integer jenisPasien);
public Map<String, Object> generateLapPelayananByDokter(String startDate, String endDate, Integer idproduk,
Map<String, Object> generateLapPelayananByDokter(String startDate, String endDate, Integer idproduk,
Integer idRuangan, Integer jenisPasien, Integer idDokter);
public Map<String, Object> generateLapPelayananByDokterWithKarcis(String startDate, String endDate,
Integer idproduk, Integer idRuangan, Integer jenisPasien, Integer idDokter, Integer idDepartemen);
Map<String, Object> generateLapPelayananByDokterWithKarcis(String startDate, String endDate, Integer idproduk,
Integer idRuangan, Integer jenisPasien, Integer idDokter, Integer idDepartemen);
public Map<String, Object> generatelapLogbookLimbahB3Report(String startDate, String endDate);
Map<String, Object> generatelapLogbookLimbahB3Report(String startDate, String endDate);
public Map<String, Object> generateFormulirLaporanKecelakaanKerja(String noRec);
Map<String, Object> generateFormulirLaporanKecelakaanKerja(String noRec);
public Map<String, Object> generateJadwalPerUnitKerja(Integer ruangan, Integer tahun, Integer bulan);
Map<String, Object> generateJadwalPerUnitKerja(Integer ruangan, Integer tahun, Integer bulan);
public Map<String, Object> generateRekapitulasiCorrectiveMaintenance(String startDate, String endDate,
Map<String, Object> generateRekapitulasiCorrectiveMaintenance(String startDate, String endDate,
Integer idJenisProduk);
public Map<String, Object> generateSuratPelimpahanTugas(String noRecPlanning, Integer idPegawaiPelimpah,
Map<String, Object> generateSuratPelimpahanTugas(String noRecPlanning, Integer idPegawaiPelimpah,
Integer idJabatanPelimpah, Integer idPegawaiDilimpah);
public Map<String, Object> generateReportPencatatanSuhuMesin(Integer idMesin, Integer idMappingMesin,
Map<String, Object> generateReportPencatatanSuhuMesin(Integer idMesin, Integer idMappingMesin,
String tglCatSuhuMesin, Integer idSupervisor);
public List<Map<String, Object>> generateReportGrafikSuhuMesin(Integer idMesin, Integer idMappingMesin,
List<Map<String, Object>> generateReportGrafikSuhuMesin(Integer idMesin, Integer idMappingMesin,
String tglCatSuhuMesin);
public Map<String, Object> findDataCetakLuarNegeri(String norec);
Map<String, Object> findDataCetakLuarNegeri(String norec);
public List<Map<String, Object>> getHistoriUsulanRincianKegiatan(Integer idPelaksanaanTugas,
Integer idRincianKegiatan);
List<Map<String, Object>> getHistoriUsulanRincianKegiatan(Integer idPelaksanaanTugas, Integer idRincianKegiatan);
Map<String, Object> defineSlipGajiDataSource(Integer pegawaiId, Long bulan);
List<SlipHeaderDto> allSlipGajiDataSource(Long bulan);
}

View File

@ -1,25 +1,5 @@
package com.jasamedika.medifirst2000.service.impl;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.codec.binary.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.converter.PresensiConverter;
@ -37,6 +17,19 @@ import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.ImageUtil;
import com.jasamedika.medifirst2000.vo.AbsensiPegawaiVO;
import com.jasamedika.medifirst2000.vo.HabsenVO;
import org.apache.commons.codec.binary.Base64;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* Implement class for AbsensiPegawaiService
@ -46,8 +39,6 @@ import com.jasamedika.medifirst2000.vo.HabsenVO;
@Service("absensiPegawaiService")
public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements AbsensiPegawaiService {
private static final Logger LOGGER = LoggerFactory.getLogger(AbsensiPegawaiServiceImpl.class);
@Value("${systemDirectory}")
String systemDirectory;
@ -174,9 +165,6 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse
String path = systemDirectory + "presensi-pegawai/" + dirname + "/";
if (osName.contains("win"))
path = systemDirectory.replace("/", "\\") + "presensi-pegawai\\" + dirname + "\\";
LOGGER.info("Path presensi pegawai {}", path);
return path;
}
@ -194,14 +182,9 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse
byte[] imagedata = Base64.decodeBase64(str.substring(str.indexOf(",") + 1));
try {
File dire = new File(directory);
if (!dire.exists()) {
if (!dire.exists())
dire.mkdirs();
}
File outputFile = new File(filename);
LOGGER.info("Path presensi pegawai {}", outputFile.getAbsolutePath());
OutputStream stream = new FileOutputStream(outputFile);
stream.write(imagedata);
stream.close();
@ -264,8 +247,6 @@ public class AbsensiPegawaiServiceImpl extends BaseVoServiceImpl implements Abse
File file = new File(
getDirPathPresensiPegawai(map.get("trdate").toString()) + map.get("filePath").toString());
LOGGER.info("Path presensi pegawai {}", file.getAbsolutePath());
String encodeRs = ImageUtil.encodeFileToBase64Binary(file);
if (CommonUtil.isNotNullOrEmpty(encodeRs)) {
imageURLData = "data:image/jpg;base64," + encodeRs;

View File

@ -1,5 +1,30 @@
package com.jasamedika.medifirst2000.service.impl;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.*;
import com.jasamedika.medifirst2000.dao.custom.PegawaiDaoCustom;
import com.jasamedika.medifirst2000.entities.*;
import com.jasamedika.medifirst2000.service.PegawaiJadwalKerjaService;
import com.jasamedika.medifirst2000.service.PegawaiService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.DateUtil;
import com.jasamedika.medifirst2000.vo.*;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.joda.time.Chronology;
import org.joda.time.LocalDate;
import org.joda.time.chrono.ISOChronology;
import org.joda.time.chrono.IslamicChronology;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.core.io.UrlResource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
@ -10,72 +35,10 @@ import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.joda.time.Chronology;
import org.joda.time.LocalDate;
import org.joda.time.chrono.ISOChronology;
import org.joda.time.chrono.IslamicChronology;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.core.io.UrlResource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.KalenderDao;
import com.jasamedika.medifirst2000.dao.ListTanggalCutiDao;
import com.jasamedika.medifirst2000.dao.MapKalenderToHariLiburDao;
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.MonitoringAbsenDao;
import com.jasamedika.medifirst2000.dao.PegawaiDao;
import com.jasamedika.medifirst2000.dao.PegawaiJadwalKerjaDao;
import com.jasamedika.medifirst2000.dao.ShiftKerjaDao;
import com.jasamedika.medifirst2000.dao.SubUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.UnitKerjaDao;
import com.jasamedika.medifirst2000.dao.custom.PegawaiDaoCustom;
import com.jasamedika.medifirst2000.entities.Kalender;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.PegawaiJadwalKerja;
import com.jasamedika.medifirst2000.entities.Ruangan;
import com.jasamedika.medifirst2000.entities.ShiftKerja;
import com.jasamedika.medifirst2000.service.PegawaiJadwalKerjaService;
import com.jasamedika.medifirst2000.service.PegawaiService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.DateUtil;
import com.jasamedika.medifirst2000.vo.KalenderVO;
import com.jasamedika.medifirst2000.vo.KelompokShiftVO;
import com.jasamedika.medifirst2000.vo.ListTanggalCutiVO;
import com.jasamedika.medifirst2000.vo.PegawaiJadwalKerjaCustomVO;
import com.jasamedika.medifirst2000.vo.PegawaiJadwalKerjaExcelVO;
import com.jasamedika.medifirst2000.vo.PegawaiJadwalKerjaVO;
import com.jasamedika.medifirst2000.vo.PegawaiVO;
import com.jasamedika.medifirst2000.vo.PlanningPegawaiStatusVO;
import com.jasamedika.medifirst2000.vo.RuanganVO;
import com.jasamedika.medifirst2000.vo.ShiftKerjaVO;
import java.util.*;
@Service("PegawaiJadwalKerjaService")
public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements PegawaiJadwalKerjaService {
private static final Logger LOGGER = LoggerFactory.getLogger(PegawaiJadwalKerjaServiceImpl.class);
@Value("${systemDirectory}")
String systemDirectory;
@ -1026,9 +989,6 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
String path = systemDirectory + "jadwal-pegawai/" + filename + "/";
if (osName.contains("win"))
path = systemDirectory.replace("/", "\\") + "jadwal-pegawai\\" + filename + "\\";
LOGGER.info("Path jadwal pegawai {}", path);
return path;
}
@ -1106,9 +1066,6 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
absoluteFilePath = getDirPathJadwalPegawai(filename);
File file = new File(absoluteFilePath);
LOGGER.info("Path jadwal pegawai {}", file.getAbsolutePath());
FileOutputStream out = new FileOutputStream(file);
workbook.write(out);

View File

@ -15,7 +15,6 @@ import com.jasamedika.medifirst2000.util.DateUtil;
import com.jasamedika.medifirst2000.vo.PasienVO;
import org.apache.commons.lang.time.DurationFormatUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.*;
import org.springframework.orm.jpa.JpaSystemException;
import org.springframework.stereotype.Service;
@ -33,6 +32,8 @@ import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
import static java.math.BigDecimal.ZERO;
@Service("ReportService")
public class ReportServiceImpl extends BaseVoServiceImpl implements ReportService {
@ -376,27 +377,6 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
return listkehadiran;
}
@Override
public Map<String, Object> generateRekapitulasiStok(Integer kelompokProdukId, Integer produkId,
Integer asalProdukId, Integer ruanganId, Integer jenisProdukId) {
String url = getUrlServiceSarPras();
final String uri = url + "stok-produk-global/cetak-list-stok?kelompokProdukId=" + kelompokProdukId
+ "&jenisProdukId=" + jenisProdukId + "&ruanganId=" + ruanganId + "&produkId=" + produkId
+ "&asalProdukId=" + asalProdukId;
RestTemplate template = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("X-AUTH-TOKEN",
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ0b3RvLndpc251In0.sLuqDN6gc1eiOdxgQyEQnYAQvqaaxCxRuOIpXgBW5NRLoP4Q52fu3YuW-FylY8WEbextxHzcu79Egkldyvadyg");
HttpEntity<Map<String, Object>> httpEntity = new HttpEntity<>(headers);
ResponseEntity<Map<String, Object>> data = template.exchange(uri, HttpMethod.GET, httpEntity,
new ParameterizedTypeReference<Map<String, Object>>() {
});
return data.getBody();
}
@Override
public Map<String, Object> generateSPMRS(String noRegistrasi) {
Map<String, Object> result;
@ -984,33 +964,6 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
return result;
}
public List<Map<String, Object>> sortedMap(List<Map<String, Object>> list) {
List<Map<String, Object>> result = new ArrayList<>();
List<Map<String, String>> listMap = new ArrayList<>();
List<Map<String, String>> listMap1 = new ArrayList<>();
// convert into Map<String,String>
for (Map<String, Object> temp : list) {
Map<String, String> newMap = new HashMap<>();
for (Map.Entry<String, Object> entry : temp.entrySet()) {
if (entry.getValue() instanceof String) {
newMap.put(entry.getKey(), entry.getValue().toString());
}
}
listMap.add(newMap);
}
// compare map
Comparator<Map<String, String>> mapComparator = Comparator.comparing(m -> m.get("id"));
listMap.sort(mapComparator);
// convert into Map<String,String>
for (Map<String, String> tempMap : listMap) {
Map<String, Object> newMap = new HashMap<>(tempMap);
result.add(newMap);
}
return result;
}
@SuppressWarnings("unchecked")
public Map<String, Object> resikoJatuh(Map<String, Object> result, String noRecPengkajian) {
// PenilaianResikoJatuh
@ -1218,26 +1171,6 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
return result;
}
@SuppressWarnings("unchecked")
public Map<String, Object> pengkajianKebutuhanDasar(Map<String, Object> result, String noRecPengkajian) {
// pengkajianKebutuhanDasar
StringBuilder pengkajianKebutuhanDasar = new StringBuilder();
StringBuilder pengkajianKebutuhanDasarValue = new StringBuilder();
Map<String, Object> perencanaanPulang = (Map<String, Object>) pengkajianAwalTransaksiService
.loadPengkajianBaru(713, noRecPengkajian).get("pengkajianAwal");
for (Map<String, Object> data : (List<Map<String, Object>>) perencanaanPulang.get("detail")) {
pengkajianKebutuhanDasar.append(" ").append(data.get("nama")).append("\n");
Map<String, Object> dataChild = (Map<String, Object>) pengkajianAwalTransaksiService
.loadPengkajianBaru(Integer.valueOf(String.valueOf(data.get("value"))), noRecPengkajian)
.get("pengkajianAwal");
pengkajianKebutuhanDasarValue.append(" ").append(dataChild.get("nama")).append(", ")
.append(dataChild.get("value")).append("\n");
}
result.put("pengkajianKebutuhanDasar", pengkajianKebutuhanDasar.toString());
result.put("pengkajianKebutuhanDasarValue", pengkajianKebutuhanDasarValue.toString());
return result;
}
@SuppressWarnings("unchecked")
public void riwayatKelahiranRawatInap(Map<String, Object> result, String noRecPengkajian) {
@ -1637,7 +1570,7 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
this.diagnosisKeperawatan(result, noRec);
} catch (Exception e) {
e.printStackTrace();
throw new ServiceVOException(e.getMessage());
}
return result;
}
@ -1656,7 +1589,7 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
this.skriningKekhususanNeonatus(result, noRecPengkajian);
this.diagnosisKeperawatan(result, noRecPengkajian);
} catch (Exception e) {
e.printStackTrace();
throw new ServiceVOException(e.getMessage());
}
return result;
}
@ -1677,7 +1610,7 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
this.resikoJatuh(result, noRecPengkajian);
} catch (Exception e) {
e.printStackTrace();
throw new ServiceVOException(e.getMessage());
}
return result;
}
@ -1697,7 +1630,7 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
this.obstetrikDanGinekologi(result, noRecPengkajian);
this.diagnosisKeperawatan(result, noRec);
} catch (Exception e) {
e.printStackTrace();
throw new ServiceVOException(e.getMessage());
}
return result;
}
@ -1756,7 +1689,7 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
result.put("diagnosaSekunder", diagnosisSekunder.toString());
result.put("tindakanProsedur", tindakanProsedur.toString());
} catch (Exception e) {
e.printStackTrace();
throw new ServiceVOException(e.getMessage());
}
return result;
}
@ -1778,7 +1711,7 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
this.diagnosisKeperawatan(result, noRecPengkajian);
this.perencanaanPulang(result, noRecPengkajian);
} catch (Exception e) {
e.printStackTrace();
throw new ServiceVOException(e.getMessage());
}
return result;
}
@ -1829,12 +1762,6 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
return nilaiIndexKinerjaIndividuDao.findRekapitulasiIndeksKehadiran(periode);
}
@Override
public List<Map<String, Object>> generateSuratPermohonanCuti(String noRec) {
PlanningPegawaiStatus planningPegawaiStatus = planningPegawaiStatusDao.findOne(noRec);
return null;
}
@Override
public Map<String, Object> generateLapPermohonanCuti(String noRecPlanning, Integer idJabatan, Integer idAtasan1,
Integer idAtasan2, Integer idKaRu) {
@ -2002,7 +1929,8 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
if (Master.StatusPegawai.CUTI_TAHUNAN.equals(statusPegawaiId)
|| Master.StatusPegawai.CUTI_SAKIT.equals(statusPegawaiId)
|| Master.StatusPegawai.CUTI_MELAHIRKAN.equals(statusPegawaiId)) {
if (Arrays.asList(Master.GolonganPegawai.JF_AHLI_UTAMA).contains(pegawai.get("idGolongan"))) {
if (Arrays.asList(Master.GolonganPegawai.JF_AHLI_UTAMA)
.contains(Integer.parseInt(pegawai.get("idGolongan").toString()))) {
String cutiA1 = settingDataFixedDao.getSettingDataFixed("cutiA1");
String[] arrCutiA1 = cutiA1.split("_");
labelTtdMenkes = arrCutiA1[0];
@ -2025,7 +1953,8 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
}
} else if (Master.StatusPegawai.CUTI_BESAR.equals(statusPegawaiId)
|| Master.StatusPegawai.CUTI_ALASAN_PENTING.equals(statusPegawaiId)) {
if (Arrays.asList(Master.GolonganPegawai.JF_AHLI_UTAMA).contains(pegawai.get("idGolongan"))) {
if (Arrays.asList(Master.GolonganPegawai.JF_AHLI_UTAMA)
.contains(Integer.parseInt(pegawai.get("idGolongan").toString()))) {
String cutiA1 = settingDataFixedDao.getSettingDataFixed("cutiB1");
String[] arrCutiA1 = cutiA1.split("_");
labelTtdMenkes = arrCutiA1[0];
@ -2209,7 +2138,8 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
if (Master.StatusPegawai.CUTI_TAHUNAN.equals(statusPegawaiId)
|| Master.StatusPegawai.CUTI_SAKIT.equals(statusPegawaiId)
|| Master.StatusPegawai.CUTI_MELAHIRKAN.equals(statusPegawaiId)) {
if (Arrays.asList(Master.GolonganPegawai.JF_AHLI_UTAMA).contains(pegawai.get("idGolongan"))) {
if (Arrays.asList(Master.GolonganPegawai.JF_AHLI_UTAMA)
.contains(Integer.parseInt(pegawai.get("idGolongan").toString()))) {
String cutiA1 = settingDataFixedDao.getSettingDataFixed("cutiA1");
String[] arrCutiA1 = cutiA1.split("_");
labelTtdMenkes = arrCutiA1[0];
@ -2232,7 +2162,8 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
}
} else if (Master.StatusPegawai.CUTI_BESAR.equals(statusPegawaiId)
|| Master.StatusPegawai.CUTI_ALASAN_PENTING.equals(statusPegawaiId)) {
if (Arrays.asList(Master.GolonganPegawai.JF_AHLI_UTAMA).contains(pegawai.get("idGolongan"))) {
if (Arrays.asList(Master.GolonganPegawai.JF_AHLI_UTAMA)
.contains(Integer.parseInt(pegawai.get("idGolongan").toString()))) {
String cutiA1 = settingDataFixedDao.getSettingDataFixed("cutiB1");
String[] arrCutiA1 = cutiA1.split("_");
labelTtdMenkes = arrCutiA1[0];
@ -2866,7 +2797,7 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
c.setTime(sdf.parse(date));
newDate = c.getTime();
} catch (ParseException e) {
e.printStackTrace();
throw new ServiceVOException(e.getMessage());
}
}
return newDate;
@ -2966,7 +2897,7 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
data.put("periode", DateUtil.getIndonesianStringDate(formatter2.parse(startDate)).toUpperCase() + " s/d "
+ DateUtil.getIndonesianStringDate(formatter2.parse(endDate)).toUpperCase());
} catch (ParseException e) {
e.printStackTrace();
throw new ServiceVOException(e.getMessage());
}
return data;
@ -3029,12 +2960,6 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
return result;
}
private String getMonthYearString(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return DateUtil.INDONESIAN_MONTH[cal.get(Calendar.MONTH)] + " " + cal.get(Calendar.YEAR);
}
private String getDayOfWeekString(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
@ -3121,7 +3046,7 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
+ new SimpleDateFormat("dd-MMM-yyyy").format(dEndDate);
result.put("periode", periode);
} catch (ParseException e) {
e.printStackTrace();
throw new ServiceVOException(e.getMessage());
}
result.put("tglCetak", tglCetak);
@ -3221,8 +3146,8 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
}
}
Collections.sort(listTglPeriode);
if (Arrays.asList(Master.StatusPegawai.PERIODIK_PENGAJUAN_KETIDAKHADIRAN).contains(result.get("idPlanning"))
&& countTglCuti == 2) {
if (Arrays.asList(Master.StatusPegawai.PERIODIK_PENGAJUAN_KETIDAKHADIRAN)
.contains(Integer.parseInt(result.get("idPlanning").toString())) && countTglCuti == 2) {
List<Date> listDetailTglPeriode = kalenderDao
.getDateFromPeriodicParameter(sdf.format(listTglPeriode.get(0)), sdf.format(listTglPeriode.get(1)));
Collections.sort(listDetailTglPeriode);
@ -3268,7 +3193,6 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
Locale indonesia = new Locale("in", "ID");
NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia);
SimpleDateFormat df = new SimpleDateFormat("MMMM yyyy", indonesia);
SimpleDateFormat tglLahir = new SimpleDateFormat("dd-MM-yyyy", indonesia);
Map<String, Object> result = new HashMap<>();
SlipGajiDto dto = slipGajiService.get(pegawaiId, bulan);
Date tglLahirPegawai = pegawaiDao.findTglLahirById(pegawaiId);
@ -3279,95 +3203,155 @@ 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("gaji", "-");
result.put("remunerasiKinerja", "-");
result.put("remunerasiTambahanManajerial", "-");
result.put("remunerasiTambahanDiklitjar", "-");
result.put("remunerasiTambahanLain", "-");
result.put("feeForService", "-");
result.put("feeForOnSite", "-");
result.put("gajiPokok", "-");
result.put("tunjanganIstriSuami", "-");
result.put("tunjanganAnak", "-");
result.put("tunjanganPns", "-");
result.put("tunjanganStruktural", "-");
result.put("tunjanganFungsional", "-");
result.put("tunjanganBeras", "-");
result.put("tunjanganPph", "-");
result.put("remunerasi", "-");
result.put("remunerasiOperasional", "-");
result.put("uangMakan", "-");
result.put("uangLembur", "-");
result.put("pphGaji", "-");
result.put("pphRemunerasi", "-");
result.put("pphFeeForService", "-");
result.put("pphFeeForOnSite", "-");
result.put("pphUangMakan", "-");
result.put("pphUangLembur", "-");
result.put("iuranWajibKoperasi", "-");
result.put("pinjamanKoperasi", "-");
result.put("biayaObatAlkes", "-");
result.put("biayaRawatInap", "-");
result.put("biayaRawatJalan", "-");
result.put("potonganTokoKoperasi", "-");
result.put("potonganBpjsK", "-");
result.put("potonganBpjsTK", "-");
BigDecimal jumlahPenerimaan = BigDecimal.ZERO;
BigDecimal jumlahPemotongan = BigDecimal.ZERO;
result.put("pfk", "-");
result.put("pph", "-");
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("potonganObat", "-");
result.put("potonganRawatInap", "-");
result.put("potonganRawatJalan", "-");
result.put("simpananWajibKoperasiRemunerasi", "-");
result.put("pinjamanKoperasiRemunerasi", "-");
result.put("tokoKoperasi", "-");
result.put("wakafDanLainLain", "-");
result.put("potonganPph21UangMakan", "-");
BigDecimal jumlahGaji = ZERO;
BigDecimal jumlahRemunerasi = ZERO;
BigDecimal jumlahUangMakan = ZERO;
BigDecimal jumlahPotonganGaji = ZERO;
BigDecimal jumlahPotonganRemunerasi = ZERO;
BigDecimal jumlahPotonganUangMakan = ZERO;
BigDecimal jumlahGajiBersih;
BigDecimal jumlahRemunerasiBersih;
BigDecimal jumlahUangMakanBersih;
BigDecimal jumlahPenerimaanBersih;
List<SlipGajiKomponenDto> komponenDto = new ArrayList<>();
if (CommonUtil.isNotNullOrEmpty(dto.getKomponen()))
komponenDto = dto.getKomponen();
for (SlipGajiKomponenDto k : komponenDto) {
if (CommonUtil.isNotNullOrEmpty(k.getNominal())) {
if (Master.JenisKomponenGaji.PENERIMAAN.equals(k.getIdJenisKomponen())) {
jumlahPenerimaan = jumlahPenerimaan.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
} else if (Master.JenisKomponenGaji.PEMOTONGAN.equals(k.getIdJenisKomponen())) {
jumlahPemotongan = jumlahPemotongan.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
if (Master.JenisKomponenGaji.GAJI.equals(k.getIdJenisKomponen())) {
jumlahGaji = jumlahGaji.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
} else if (Master.JenisKomponenGaji.REMUNERASI.equals(k.getIdJenisKomponen())) {
jumlahRemunerasi = jumlahRemunerasi.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
} else if (Master.JenisKomponenGaji.UANG_MAKAN.equals(k.getIdJenisKomponen())) {
jumlahUangMakan = jumlahUangMakan.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
} else if (Master.JenisKomponenGaji.POTONGAN_GAJI.equals(k.getIdJenisKomponen())) {
jumlahPotonganGaji = jumlahPotonganGaji.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
} else if (Master.JenisKomponenGaji.POTONGAN_REMUNERASI.equals(k.getIdJenisKomponen())) {
jumlahPotonganRemunerasi = jumlahPotonganRemunerasi
.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
} else if (Master.JenisKomponenGaji.POTONGAN_UANG_MAKAN.equals(k.getIdJenisKomponen())) {
jumlahPotonganUangMakan = jumlahPotonganUangMakan
.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
}
if (Master.KomponenGaji.GAJI.equals(k.getIdKomponen())) {
result.put("gaji", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.REMUNERASI_KINERJA.equals(k.getIdKomponen())) {
result.put("remunerasiKinerja", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.REMUNERASI_TAMBAHAN_MANAJERIAL.equals(k.getIdKomponen())) {
result.put("remunerasiTambahanManajerial", 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.FEE_FOR_SERVICE.equals(k.getIdKomponen())) {
result.put("feeForService", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.FEE_FOR_ONSITE.equals(k.getIdKomponen())) {
result.put("feeForOnSite", nf.format(k.getNominal()));
if (Master.KomponenGaji.GAJI_POKOK.equals(k.getIdKomponen())) {
result.put("gajiPokok", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.TUNJANGAN_ISTRI_SUAMI.equals(k.getIdKomponen())) {
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_STRUKTURAL.equals(k.getIdKomponen())) {
result.put("tunjanganStruktural", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.TUNJANGAN_FUNGSIONAL.equals(k.getIdKomponen())) {
result.put("tunjanganFungsional", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.TUNJANGAN_BERAS.equals(k.getIdKomponen())) {
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.REMUNERASI_OPERASIONAL.equals(k.getIdKomponen())) {
result.put("remunerasiOperasional", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.UANG_MAKAN.equals(k.getIdKomponen())) {
result.put("uangMakan", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.UANG_LEMBUR.equals(k.getIdKomponen())) {
result.put("uangLembur", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PPH_GAJI.equals(k.getIdKomponen())) {
result.put("pphGaji", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PPH_REMUNERASI.equals(k.getIdKomponen())) {
result.put("pphRemunerasi", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PPH_FEE_FOR_SERVICE.equals(k.getIdKomponen())) {
result.put("pphFeeForService", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PPH_FEE_FOR_ONSITE.equals(k.getIdKomponen())) {
result.put("pphFeeForOnSite", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PPH_UANG_MAKAN.equals(k.getIdKomponen())) {
result.put("pphUangMakan", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PPH_UANG_LEMBUR.equals(k.getIdKomponen())) {
result.put("pphUangLembur", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.IURAN_WAJIB_KOPERASI.equals(k.getIdKomponen())) {
result.put("iuranWajibKoperasi", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PINJAMAN_KOPERASI.equals(k.getIdKomponen())) {
result.put("pinjamanKoperasi", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.BIAYA_OBAT_ALKES.equals(k.getIdKomponen())) {
result.put("biayaObatAlkes", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.BIAYA_RAWAT_INAP.equals(k.getIdKomponen())) {
result.put("biayaRawatInap", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.BIAYA_RAWAT_JALAN.equals(k.getIdKomponen())) {
result.put("biayaRawatJalan", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.POTONGAN_TOKO_KOPERASI.equals(k.getIdKomponen())) {
result.put("potonganTokoKoperasi", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.POTONGAN_BPJSK.equals(k.getIdKomponen())) {
result.put("potonganBpjsK", 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.SEWA_RUMAH.equals(k.getIdKomponen())) {
result.put("sewaRumah", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.KELEBIHAN_TUNJANGAN.equals(k.getIdKomponen())) {
result.put("kelebihanTunjangan", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.POTONGAN_LAIN.equals(k.getIdKomponen())) {
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("potonganBpjsTK", nf.format(k.getNominal()));
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_OBAT.equals(k.getIdKomponen())) {
result.put("potonganObat", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.POTONGAN_RAWAT_INAP.equals(k.getIdKomponen())) {
result.put("potonganRawatInap", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.POTONGAN_RAWAT_JALAN.equals(k.getIdKomponen())) {
result.put("potonganRawatJalan", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.SIMPANAN_WAJIB_KOPERASI_REMUNERASI.equals(k.getIdKomponen())) {
result.put("simpananWajibKoperasiRemunerasi", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PINJAMAN_KOPERASI_REMUNERASI.equals(k.getIdKomponen())) {
result.put("pinjamanKoperasiRemunerasi", nf.format(k.getNominal()));
} else if (Master.KomponenGaji.TOKO_KOPERASI.equals(k.getIdKomponen())) {
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()));
}
}
}
result.put("jumlahPenerimaan", nf.format(jumlahPenerimaan));
result.put("jumlahPemotongan", nf.format(jumlahPemotongan));
jumlahPenerimaanBersih = jumlahPenerimaan.subtract(BigDecimal.valueOf(jumlahPemotongan.doubleValue()));
result.put("jumlahPenerimaanBersih", nf.format(jumlahPenerimaanBersih));
{
result.put("jumlahGaji", nf.format(jumlahGaji));
result.put("jumlahPotonganGaji", nf.format(jumlahPotonganGaji));
jumlahGajiBersih = jumlahGaji.subtract(BigDecimal.valueOf(jumlahPotonganGaji.doubleValue()));
result.put("jumlahGajiBersih", nf.format(jumlahGajiBersih));
}
{
result.put("jumlahRemunerasi", nf.format(jumlahRemunerasi));
result.put("jumlahPotonganRemunerasi", nf.format(jumlahPotonganRemunerasi));
jumlahRemunerasiBersih = jumlahRemunerasi
.subtract(BigDecimal.valueOf(jumlahPotonganRemunerasi.doubleValue()));
result.put("jumlahRemunerasiBersih", nf.format(jumlahRemunerasiBersih));
}
{
result.put("jumlahUangMakan", nf.format(jumlahUangMakan));
result.put("jumlahPotonganUangMakan", nf.format(jumlahPotonganUangMakan));
jumlahUangMakanBersih = jumlahUangMakan.subtract(BigDecimal.valueOf(jumlahPotonganUangMakan.doubleValue()));
result.put("jumlahUangMakanBersih", nf.format(jumlahUangMakanBersih));
}
{
jumlahPenerimaanBersih = jumlahGajiBersih.add(jumlahRemunerasiBersih).add(jumlahUangMakanBersih);
result.put("jumlahPenerimaanBersih", nf.format(jumlahPenerimaanBersih));
}
return result;
}
@ -3392,93 +3376,146 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia);
SimpleDateFormat df = new SimpleDateFormat("MMMM-yyyy", indonesia);
SimpleDateFormat tglLahir = new SimpleDateFormat("dd-MM-yyyy", indonesia);
SimpleDateFormat tglPrint = new SimpleDateFormat("dd MMMM yyyy", indonesia);
SlipGajiDto dto = slipGajiService.get(pegawaiId, bulan);
Date tglLahirPegawai = pegawaiDao.findTglLahirById(pegawaiId);
List<SlipGajiKomponenDto> komponenDto = new ArrayList<>();
if (CommonUtil.isNotNullOrEmpty(dto.getKomponen()))
komponenDto = dto.getKomponen();
if (komponenDto.size() > 0) {
if (!komponenDto.isEmpty()) {
SlipPegawaiDto.SlipPegawaiDtoBuilder pegawaiDtoBuilder = SlipPegawaiDto.builder();
pegawaiDtoBuilder.title("Slip Gaji");
pegawaiDtoBuilder.nama(CommonUtil.isNotNullOrEmpty(dto.getNamaPegawai()) ? dto.getNamaPegawai() : "-");
pegawaiDtoBuilder.nip(CommonUtil.isNotNullOrEmpty(dto.getNip()) ? dto.getNip() : "-");
pegawaiDtoBuilder.periode(df.format(new Date(bulan)));
pegawaiDtoBuilder
.tgl_lahir(CommonUtil.isNotNullOrEmpty(tglLahirPegawai) ? tglLahir.format(tglLahirPegawai) : "-");
.tglLahir(CommonUtil.isNotNullOrEmpty(tglLahirPegawai) ? tglLahir.format(tglLahirPegawai) : "-");
pegawaiDtoBuilder.jabatan(CommonUtil.isNotNullOrEmpty(dto.getJabatan()) ? dto.getJabatan() : "-");
pegawaiDtoBuilder.unit_kerja(CommonUtil.isNotNullOrEmpty(dto.getJabatan()) ? dto.getJabatan() : "-");
pegawaiDtoBuilder.unitKerja(CommonUtil.isNotNullOrEmpty(dto.getJabatan()) ? dto.getJabatan() : "-");
pegawaiDtoBuilder
.sub_unit(CommonUtil.isNotNullOrEmpty(dto.getSubUnitKerja()) ? dto.getSubUnitKerja() : "-");
.subUnitKerja(CommonUtil.isNotNullOrEmpty(dto.getSubUnitKerja()) ? dto.getSubUnitKerja() : "-");
SlipPenerimaanDto.SlipPenerimaanDtoBuilder penerimaanDtoBuilder = SlipPenerimaanDto.builder();
SlipPotonganDto.SlipPotonganDtoBuilder potonganDtoBuilder = SlipPotonganDto.builder();
SlipJumlahDto.SlipJumlahDtoBuilder jumlahDtoBuilder = SlipJumlahDto.builder();
BigDecimal jumlahPenerimaan = BigDecimal.ZERO;
BigDecimal jumlahPemotongan = BigDecimal.ZERO;
BigDecimal jumlahGaji = ZERO;
BigDecimal jumlahRemunerasi = ZERO;
BigDecimal jumlahUangMakan = ZERO;
BigDecimal jumlahPotonganGaji = ZERO;
BigDecimal jumlahPotonganRemunerasi = ZERO;
BigDecimal jumlahPotonganUangMakan = ZERO;
BigDecimal jumlahGajiBersih;
BigDecimal jumlahRemunerasiBersih;
BigDecimal jumlahUangMakanBersih;
BigDecimal jumlahPenerimaanBersih;
for (SlipGajiKomponenDto k : komponenDto) {
if (Master.JenisKomponenGaji.PENERIMAAN.equals(k.getIdJenisKomponen())) {
jumlahPenerimaan = jumlahPenerimaan.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
} else if (Master.JenisKomponenGaji.PEMOTONGAN.equals(k.getIdJenisKomponen())) {
jumlahPemotongan = jumlahPemotongan.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
}
if (Master.KomponenGaji.GAJI.equals(k.getIdKomponen())) {
penerimaanDtoBuilder.gaji(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.REMUNERASI_KINERJA.equals(k.getIdKomponen())) {
penerimaanDtoBuilder.remun_kinerja(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.REMUNERASI_TAMBAHAN_MANAJERIAL.equals(k.getIdKomponen())) {
penerimaanDtoBuilder.remun_tambahan_manajerial(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.REMUNERASI_TAMBAHAN_DIKLITJAR.equals(k.getIdKomponen())) {
penerimaanDtoBuilder.remun_tambahan_diklitjar(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.REMUNERASI_TAMBAHAN_LAIN.equals(k.getIdKomponen())) {
penerimaanDtoBuilder.remun_tambahan_lain(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.FEE_FOR_SERVICE.equals(k.getIdKomponen())) {
penerimaanDtoBuilder.ffs(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.FEE_FOR_ONSITE.equals(k.getIdKomponen())) {
penerimaanDtoBuilder.ffo(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.UANG_MAKAN.equals(k.getIdKomponen())) {
penerimaanDtoBuilder.uang_makan(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.UANG_LEMBUR.equals(k.getIdKomponen())) {
penerimaanDtoBuilder.uang_lembur(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PPH_GAJI.equals(k.getIdKomponen())) {
potonganDtoBuilder.pph_gaji(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PPH_REMUNERASI.equals(k.getIdKomponen())) {
potonganDtoBuilder.pph_remun(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PPH_FEE_FOR_SERVICE.equals(k.getIdKomponen())) {
potonganDtoBuilder.pph_ffs(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PPH_FEE_FOR_ONSITE.equals(k.getIdKomponen())) {
potonganDtoBuilder.pph_ffo(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PPH_UANG_MAKAN.equals(k.getIdKomponen())) {
potonganDtoBuilder.pph_um(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PPH_UANG_LEMBUR.equals(k.getIdKomponen())) {
potonganDtoBuilder.pph_ul(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.IURAN_WAJIB_KOPERASI.equals(k.getIdKomponen())) {
potonganDtoBuilder.iuran_koperasi(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PINJAMAN_KOPERASI.equals(k.getIdKomponen())) {
potonganDtoBuilder.pinjam_koperasi(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.BIAYA_OBAT_ALKES.equals(k.getIdKomponen())) {
potonganDtoBuilder.biaya_obat(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.BIAYA_RAWAT_INAP.equals(k.getIdKomponen())) {
potonganDtoBuilder.biaya_ri(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.BIAYA_RAWAT_JALAN.equals(k.getIdKomponen())) {
potonganDtoBuilder.biaya_rj(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.POTONGAN_TOKO_KOPERASI.equals(k.getIdKomponen())) {
potonganDtoBuilder.potongan_koperasi(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.POTONGAN_BPJSK.equals(k.getIdKomponen())) {
potonganDtoBuilder.potongan_bpjsk(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.POTONGAN_BPJSTK.equals(k.getIdKomponen())) {
potonganDtoBuilder.potongan_bpjstk(nf.format(k.getNominal()));
if (CommonUtil.isNotNullOrEmpty(k.getNominal())) {
if (Master.JenisKomponenGaji.GAJI.equals(k.getIdJenisKomponen())) {
jumlahGaji = jumlahGaji.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
} else if (Master.JenisKomponenGaji.REMUNERASI.equals(k.getIdJenisKomponen())) {
jumlahRemunerasi = jumlahRemunerasi.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
} else if (Master.JenisKomponenGaji.UANG_MAKAN.equals(k.getIdJenisKomponen())) {
jumlahUangMakan = jumlahUangMakan.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
} else if (Master.JenisKomponenGaji.POTONGAN_GAJI.equals(k.getIdJenisKomponen())) {
jumlahPotonganGaji = jumlahPotonganGaji.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
} else if (Master.JenisKomponenGaji.POTONGAN_REMUNERASI.equals(k.getIdJenisKomponen())) {
jumlahPotonganRemunerasi = jumlahPotonganRemunerasi
.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
} else if (Master.JenisKomponenGaji.POTONGAN_UANG_MAKAN.equals(k.getIdJenisKomponen())) {
jumlahPotonganUangMakan = jumlahPotonganUangMakan
.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
}
if (Master.KomponenGaji.GAJI_POKOK.equals(k.getIdKomponen())) {
penerimaanDtoBuilder.gajiPokok(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.TUNJANGAN_ISTRI_SUAMI.equals(k.getIdKomponen())) {
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_STRUKTURAL.equals(k.getIdKomponen())) {
penerimaanDtoBuilder.tunjanganStruktural(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.TUNJANGAN_FUNGSIONAL.equals(k.getIdKomponen())) {
penerimaanDtoBuilder.tunjanganFungsional(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.TUNJANGAN_BERAS.equals(k.getIdKomponen())) {
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.REMUNERASI_OPERASIONAL.equals(k.getIdKomponen())) {
penerimaanDtoBuilder.remunerasiOperasional(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.SEWA_RUMAH.equals(k.getIdKomponen())) {
potonganDtoBuilder.sewaRumah(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.KELEBIHAN_TUNJANGAN.equals(k.getIdKomponen())) {
potonganDtoBuilder.kelebihanTunjangan(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.POTONGAN_LAIN.equals(k.getIdKomponen())) {
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_OBAT.equals(k.getIdKomponen())) {
potonganDtoBuilder.potonganObat(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.POTONGAN_RAWAT_INAP.equals(k.getIdKomponen())) {
potonganDtoBuilder.potonganRawatInap(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.POTONGAN_RAWAT_JALAN.equals(k.getIdKomponen())) {
potonganDtoBuilder.potonganRawatJalan(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.SIMPANAN_WAJIB_KOPERASI_REMUNERASI.equals(k.getIdKomponen())) {
potonganDtoBuilder.simpananWajibKoperasiRemunerasi(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.PINJAMAN_KOPERASI_REMUNERASI.equals(k.getIdKomponen())) {
potonganDtoBuilder.pinjamanKoperasiRemunerasi(nf.format(k.getNominal()));
} else if (Master.KomponenGaji.TOKO_KOPERASI.equals(k.getIdKomponen())) {
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()));
}
}
}
jumlahDtoBuilder.jumlah_gross(nf.format(jumlahPenerimaan));
jumlahDtoBuilder.jumlah_potongan(nf.format(jumlahPemotongan));
jumlahPenerimaanBersih = jumlahPenerimaan.subtract(BigDecimal.valueOf(jumlahPemotongan.doubleValue()));
jumlahDtoBuilder.jumlah_nett(nf.format(jumlahPenerimaanBersih));
{
jumlahDtoBuilder.jumlahGaji(nf.format(jumlahGaji));
jumlahDtoBuilder.jumlahPotonganGaji(nf.format(jumlahPotonganGaji));
jumlahGajiBersih = jumlahGaji.subtract(BigDecimal.valueOf(jumlahPotonganGaji.doubleValue()));
jumlahDtoBuilder.jumlahGajiBersih(nf.format(jumlahGajiBersih));
}
{
jumlahDtoBuilder.jumlahRemunerasi(nf.format(jumlahRemunerasi));
jumlahDtoBuilder.jumlahPotonganRemunerasi(nf.format(jumlahPotonganRemunerasi));
jumlahRemunerasiBersih = jumlahRemunerasi
.subtract(BigDecimal.valueOf(jumlahPotonganRemunerasi.doubleValue()));
jumlahDtoBuilder.jumlahRemunerasiBersih(nf.format(jumlahRemunerasiBersih));
}
{
jumlahDtoBuilder.jumlahUangMakan(nf.format(jumlahUangMakan));
jumlahDtoBuilder.jumlahPotonganUangMakan(nf.format(jumlahPotonganUangMakan));
jumlahUangMakanBersih = jumlahUangMakan
.subtract(BigDecimal.valueOf(jumlahPotonganUangMakan.doubleValue()));
jumlahDtoBuilder.jumlahUangMakanBersih(nf.format(jumlahUangMakanBersih));
}
{
jumlahPenerimaanBersih = jumlahGajiBersih.add(jumlahRemunerasiBersih).add(jumlahUangMakanBersih);
jumlahDtoBuilder.jumlahPenerimaanBersih(nf.format(jumlahPenerimaanBersih));
}
resultBuilder.pegawaiDto(pegawaiDtoBuilder.build());
resultBuilder.penerimaanDto(penerimaanDtoBuilder.build());
resultBuilder.potonganDto(potonganDtoBuilder.build());
resultBuilder.jumlahDto(jumlahDtoBuilder.build());
resultBuilder.print("dicetak melalui aplikasi SMART pada " + tglPrint.format(new Date()));
}
SlipHeaderDto result = resultBuilder.build();
if (CommonUtil.isNullOrEmpty(result.getPegawai())) {

View File

@ -13,11 +13,8 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Row;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -37,8 +34,6 @@ import java.util.stream.Collectors;
@Transactional
public class SlipGajiServiceImpl implements SlipGajiService {
private static final Logger LOGGER = LoggerFactory.getLogger(SlipGajiServiceImpl.class);
@Value("${systemDirectory}")
String systemDirectory;
@ -159,33 +154,38 @@ public class SlipGajiServiceImpl implements SlipGajiService {
slipGajiDetailDao.save(listDetail);
}
{
List<SlipGajiKomponen> listKomponen = new ArrayList<>();
List<SlipGajiKomponenDto> dtos = dto.getKomponen();
dtos.forEach(k -> {
if (CommonUtil.isNotNullOrEmpty(k.getNominal())) {
SlipGajiKomponen existedKomponen = slipGajiKomponenDao.findBySlipGajiAndKomponen(dto.getId(),
k.getIdKomponen());
if (CommonUtil.isNotNullOrEmpty(existedKomponen)) {
existedKomponen.setNominal(k.getNominal());
listKomponen.add(existedKomponen);
} else {
SlipGajiKomponen.SlipGajiKomponenBuilder kBuilder = SlipGajiKomponen.builder();
if (CommonUtil.isNotNullOrEmpty(k.getId()))
kBuilder.id(k.getId());
KomponenGaji kGaji = new KomponenGaji();
kGaji.setId(k.getIdKomponen());
kBuilder.komponen(kGaji);
kBuilder.nominal(k.getNominal());
kBuilder.slipGaji(savedSlip);
listKomponen.add(kBuilder.build());
}
}
});
List<SlipGajiKomponen> listKomponen = getSlipGajiKomponen(dto, savedSlip);
slipGajiKomponenDao.save(listKomponen);
}
}
}
private List<SlipGajiKomponen> getSlipGajiKomponen(SlipGajiDto dto, SlipGaji savedSlip) {
List<SlipGajiKomponen> listKomponen = new ArrayList<>();
List<SlipGajiKomponenDto> dtos = dto.getKomponen();
dtos.forEach(k -> {
if (CommonUtil.isNotNullOrEmpty(k.getNominal())) {
SlipGajiKomponen existedKomponen = slipGajiKomponenDao.findBySlipGajiAndKomponen(dto.getId(),
k.getIdKomponen());
if (CommonUtil.isNotNullOrEmpty(existedKomponen)) {
existedKomponen.setNominal(k.getNominal());
listKomponen.add(existedKomponen);
} else {
SlipGajiKomponen.SlipGajiKomponenBuilder kBuilder = SlipGajiKomponen.builder();
if (CommonUtil.isNotNullOrEmpty(k.getId()))
kBuilder.id(k.getId());
KomponenGaji kGaji = new KomponenGaji();
kGaji.setId(k.getIdKomponen());
kBuilder.komponen(kGaji);
kBuilder.nominal(k.getNominal());
kBuilder.slipGaji(savedSlip);
listKomponen.add(kBuilder.build());
}
}
});
return listKomponen;
}
@Override
public void save(List<SlipGajiDto> dtoList) {
List<SlipGaji> listSlip = new ArrayList<>();
@ -365,7 +365,7 @@ public class SlipGajiServiceImpl implements SlipGajiService {
}
{
List<SlipGajiKomponenDto> dtoList = new ArrayList<>();
List<KomponenGaji> komponenGajiList = komponenGajiDao.findAll();
List<KomponenGaji> komponenGajiList = komponenGajiDao.findByUrutan();
List<Map<String, Object>> listKomponen = slipGajiKomponenDao.findAll(pegawaiId, start, end);
komponenGajiList.forEach(e -> {
Optional<Map<String, Object>> first = listKomponen.stream()
@ -381,7 +381,7 @@ public class SlipGajiServiceImpl implements SlipGajiService {
} else {
kBuilder.id(null);
kBuilder.idJenisKomponen(e.getJenisKomponen());
kBuilder.jenisKomponen(e.getJenisKomponen() == 1 ? "Penerimaan" : "Pemotongan");
kBuilder.jenisKomponen(labelJenisKomponeGaji(e.getJenisKomponen()));
kBuilder.idKomponen(e.getId());
kBuilder.namaKomponen(e.getNamaKomponen());
kBuilder.nominal(null);
@ -398,14 +398,36 @@ public class SlipGajiServiceImpl implements SlipGajiService {
return dto.build();
}
private String labelJenisKomponeGaji(Integer idJenisKomponenGaji) {
String label = "";
switch (idJenisKomponenGaji) {
case 1:
label = "Gaji";
break;
case 2:
label = "Remunerasi";
break;
case 3:
label = "Uang Makan";
break;
case 4:
label = "Potongan Gaji";
break;
case 5:
label = "Potongan Remunerasi";
break;
case 6:
label = "Potongan Uang Makan";
break;
}
return label;
}
private String getDirPathSlipGaji() {
String osName = System.getProperty("os.name").toLowerCase();
String path = systemDirectory + "slip-gaji" + "/";
if (osName.contains("win"))
path = systemDirectory.replace("/", "\\") + "slip-gaji" + "\\";
LOGGER.info("Path slip gaji {}", path);
return path;
}
@ -416,7 +438,7 @@ public class SlipGajiServiceImpl implements SlipGajiService {
Date start = DateUtil.startMonth(month);
Date end = DateUtil.endMonth(month);
List<Map<String, Object>> listSlipPegawai = slipGajiDao.findAllByBulan(start, end);
List<Map<String, Object>> allKomponen = komponenGajiDao.getAll();
List<Map<String, Object>> allKomponen = komponenGajiDao.findLabelByUrutan();
List<Map<String, Object>> listAllKomponen = new ArrayList<>();
{
List<Map<String, Object>> listSlipKomponen = slipGajiKomponenDao.findAll(start, end);
@ -463,10 +485,11 @@ public class SlipGajiServiceImpl implements SlipGajiService {
for (Map<String, Object> d : listAllKomponen) {
data.put(i++,
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("22"),
d.get("23"), 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"), d.get("20"),
d.get("21") });
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("9"),
d.get("10"), 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<Integer, Object[]> sorted = new TreeMap<>(data);
Set<Integer> keyset = sorted.keySet();
@ -502,13 +525,9 @@ public class SlipGajiServiceImpl implements SlipGajiService {
String filename = "Template_Slip_Gaji_" + timestampToString + ".xls";
String absoluteFilePath = getDirPathSlipGaji() + filename;
File file = new File(absoluteFilePath);
LOGGER.info("Path foto profil {}", file.getAbsolutePath());
try (FileOutputStream out = new FileOutputStream(file)) {
workbook.write(out);
} catch (Exception e) {
e.printStackTrace();
return absoluteFilePath;
}
return absoluteFilePath;
@ -529,10 +548,9 @@ public class SlipGajiServiceImpl implements SlipGajiService {
@Override
public List<KomponenGajiDto> listKomponen() {
List<KomponenGajiDto> result = new ArrayList<>();
Sort sort = new Sort(Sort.Direction.ASC, "id");
List<KomponenGaji> listKomponenGaji = komponenGajiDao.findAll(sort);
listKomponenGaji
.forEach(k -> result.add(new KomponenGajiDto(k.getId(), k.getNamaKomponen(), k.getJenisKomponen())));
List<KomponenGaji> listKomponenGaji = komponenGajiDao.findByUrutan();
listKomponenGaji.forEach(
k -> result.add(new KomponenGajiDto(k.getId(), k.getNamaKomponen(), k.getJenisKomponen(), null)));
return result;
}
}

View File

@ -1,51 +1,31 @@
package com.jasamedika.medifirst2000.dto;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
/**
* @author Salman
*
*/
@Getter
@Setter
@AllArgsConstructor
public class KomponenGajiDto {
@Caption(value = "ID")
protected Integer id;
@NotNull(message = "Nama komponen tidak boleh kosong")
@Caption(value = "Nama Komponen")
private String namaKomponen;
@NotNull(message = "Jenis komponen tidak boleh kosong")
@Caption(value = "Jenis Komponen")
private Integer jenisKomponen;
public KomponenGajiDto() {
}
public KomponenGajiDto(Integer id, String namaKomponen, Integer jenisKomponen) {
this.id = id;
this.namaKomponen = namaKomponen;
this.jenisKomponen = jenisKomponen;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNamaKomponen() {
return namaKomponen;
}
public void setNamaKomponen(String namaKomponen) {
this.namaKomponen = namaKomponen;
}
public Integer getJenisKomponen() {
return jenisKomponen;
}
public void setJenisKomponen(Integer jenisKomponen) {
this.jenisKomponen = jenisKomponen;
}
@Caption(value = "Urutan")
private Integer urutan;
}

View File

@ -1,15 +1,20 @@
package com.jasamedika.medifirst2000.dto;
import java.util.List;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.*;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.helper.Caption;
import java.util.List;
/**
* @author salmanoe
* @since Jan 20, 2023
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SlipGajiDto {
@Caption(value = "ID Slip Gaji")
private String id;
@ -41,181 +46,4 @@ public class SlipGajiDto {
@Caption(value = "Komponen Gaji")
private List<SlipGajiKomponenDto> komponen;
public SlipGajiDto() {
}
public SlipGajiDto(String id, Integer idPegawai, String namaPegawai, String nip, String jabatan, String unitKerja,
String subUnitKerja, String grade, Long bulan, List<SlipGajiKomponenDto> komponen) {
super();
this.id = id;
this.idPegawai = idPegawai;
this.namaPegawai = namaPegawai;
this.nip = nip;
this.jabatan = jabatan;
this.unitKerja = unitKerja;
this.subUnitKerja = subUnitKerja;
this.grade = grade;
this.bulan = bulan;
this.komponen = komponen;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Integer getIdPegawai() {
return idPegawai;
}
public void setIdPegawai(Integer idPegawai) {
this.idPegawai = idPegawai;
}
public String getNamaPegawai() {
return namaPegawai;
}
public void setNamaPegawai(String namaPegawai) {
this.namaPegawai = namaPegawai;
}
public String getNip() {
return nip;
}
public void setNip(String nip) {
this.nip = nip;
}
public String getJabatan() {
return jabatan;
}
public void setJabatan(String jabatan) {
this.jabatan = jabatan;
}
public String getUnitKerja() {
return unitKerja;
}
public void setUnitKerja(String unitKerja) {
this.unitKerja = unitKerja;
}
public String getSubUnitKerja() {
return subUnitKerja;
}
public void setSubUnitKerja(String subUnitKerja) {
this.subUnitKerja = subUnitKerja;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
public Long getBulan() {
return bulan;
}
public void setBulan(Long bulan) {
this.bulan = bulan;
}
public List<SlipGajiKomponenDto> getKomponen() {
return komponen;
}
public void setKomponen(List<SlipGajiKomponenDto> komponen) {
this.komponen = komponen;
}
public void addKomponen(SlipGajiKomponenDto komponen) {
this.komponen.add(komponen);
}
public static SlipGajiDtoBuilder builder() {
return new SlipGajiDtoBuilder();
}
public static class SlipGajiDtoBuilder {
private String id;
private Integer idPegawai;
private String namaPegawai;
private String nip;
private String jabatan;
private String unitKerja;
private String subUnitKerja;
private String grade;
private Long bulan;
private List<SlipGajiKomponenDto> komponen;
public SlipGajiDtoBuilder() {
}
public SlipGajiDtoBuilder id(final String id) {
this.id = id;
return this;
}
public SlipGajiDtoBuilder idPegawai(final Integer idPegawai) {
this.idPegawai = idPegawai;
return this;
}
public SlipGajiDtoBuilder namaPegawai(final String namaPegawai) {
this.namaPegawai = namaPegawai;
return this;
}
public SlipGajiDtoBuilder nip(final String nip) {
this.nip = nip;
return this;
}
public SlipGajiDtoBuilder jabatan(final String jabatan) {
this.jabatan = jabatan;
return this;
}
public SlipGajiDtoBuilder unitKerja(final String unitKerja) {
this.unitKerja = unitKerja;
return this;
}
public SlipGajiDtoBuilder subUnitKerja(final String subUnitKerja) {
this.subUnitKerja = subUnitKerja;
return this;
}
public SlipGajiDtoBuilder grade(final String grade) {
this.grade = grade;
return this;
}
public SlipGajiDtoBuilder bulan(final Long bulan) {
this.bulan = bulan;
return this;
}
public SlipGajiDtoBuilder komponen(final List<SlipGajiKomponenDto> komponen) {
this.komponen = komponen;
return this;
}
public SlipGajiDto build() {
return new SlipGajiDto(this.id, this.idPegawai, this.namaPegawai, this.nip, this.jabatan, this.unitKerja,
this.subUnitKerja, this.grade, this.bulan, this.komponen);
}
}
}

View File

@ -1,9 +1,15 @@
package com.jasamedika.medifirst2000.dto;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.*;
import java.math.BigDecimal;
import com.jasamedika.medifirst2000.helper.Caption;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SlipGajiKomponenDto {
@Caption(value = "ID")
private String id;
@ -22,116 +28,4 @@ public class SlipGajiKomponenDto {
@Caption(value = "Nominal")
private BigDecimal nominal;
public SlipGajiKomponenDto() {
}
public SlipGajiKomponenDto(String id, Integer idJenisKomponen, String jenisKomponen, Integer idKomponen,
String namaKomponen, BigDecimal nominal) {
this.id = id;
this.idJenisKomponen = idJenisKomponen;
this.jenisKomponen = jenisKomponen;
this.idKomponen = idKomponen;
this.namaKomponen = namaKomponen;
this.nominal = nominal;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Integer getIdJenisKomponen() {
return idJenisKomponen;
}
public void setIdJenisKomponen(Integer idJenisKomponen) {
this.idJenisKomponen = idJenisKomponen;
}
public String getJenisKomponen() {
return jenisKomponen;
}
public void setJenisKomponen(String jenisKomponen) {
this.jenisKomponen = jenisKomponen;
}
public Integer getIdKomponen() {
return idKomponen;
}
public void setIdKomponen(Integer idKomponen) {
this.idKomponen = idKomponen;
}
public String getNamaKomponen() {
return namaKomponen;
}
public void setNamaKomponen(String namaKomponen) {
this.namaKomponen = namaKomponen;
}
public BigDecimal getNominal() {
return nominal;
}
public void setNominal(BigDecimal nominal) {
this.nominal = nominal;
}
public static SlipGajiKomponenDtoBuilder builder() {
return new SlipGajiKomponenDtoBuilder();
}
public static class SlipGajiKomponenDtoBuilder {
private String id;
private Integer idJenisKomponen;
private String jenisKomponen;
private Integer idKomponen;
private String namaKomponen;
private BigDecimal nominal;
public SlipGajiKomponenDtoBuilder() {
}
public SlipGajiKomponenDtoBuilder id(final String id) {
this.id = id;
return this;
}
public SlipGajiKomponenDtoBuilder idJenisKomponen(final Integer idJenisKomponen) {
this.idJenisKomponen = idJenisKomponen;
return this;
}
public SlipGajiKomponenDtoBuilder jenisKomponen(final String jenisKomponen) {
this.jenisKomponen = jenisKomponen;
return this;
}
public SlipGajiKomponenDtoBuilder idKomponen(final Integer idKomponen) {
this.idKomponen = idKomponen;
return this;
}
public SlipGajiKomponenDtoBuilder namaKomponen(final String namaKomponen) {
this.namaKomponen = namaKomponen;
return this;
}
public SlipGajiKomponenDtoBuilder nominal(final BigDecimal nominal) {
this.nominal = nominal;
return this;
}
public SlipGajiKomponenDto build() {
return new SlipGajiKomponenDto(this.id, this.idJenisKomponen, this.jenisKomponen, this.idKomponen,
this.namaKomponen, this.nominal);
}
}
}

View File

@ -4,84 +4,55 @@
package com.jasamedika.medifirst2000.dto;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.*;
/**
* @author Salman
* @since May 16th, 2023
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SlipJumlahDto {
@Caption(value = "Jumlah Gross")
private String jumlah_gross;
@Caption(value = "Jumlah Gaji")
@Builder.Default
private String jumlahGaji = "Rp0,00";
@Caption(value = "Jumlah Potongan")
private String jumlah_potongan;
@Caption(value = "Jumlah Remunerasi")
@Builder.Default
private String jumlahRemunerasi = "Rp0,00";
@Caption(value = "Jumlah Nett")
private String jumlah_nett;
@Caption(value = "Jumlah Uang Makan")
@Builder.Default
private String jumlahUangMakan = "Rp0,00";
public SlipJumlahDto() {
}
@Caption(value = "Jumlah Potongan Gaji")
@Builder.Default
private String jumlahPotonganGaji = "Rp0,00";
public SlipJumlahDto(String jumlah_gross, String jumlah_potongan, String jumlah_nett) {
super();
this.jumlah_gross = jumlah_gross;
this.jumlah_potongan = jumlah_potongan;
this.jumlah_nett = jumlah_nett;
}
@Caption(value = "Jumlah Potongan Remunerasi")
@Builder.Default
private String jumlahPotonganRemunerasi = "Rp0,00";
public String getJumlah_gross() {
return jumlah_gross;
}
@Caption(value = "Jumlah Potongan Uang Makan")
@Builder.Default
private String jumlahPotonganUangMakan = "Rp0,00";
public void setJumlah_gross(String jumlah_gross) {
this.jumlah_gross = jumlah_gross;
}
@Caption(value = "Jumlah Gaji Bersih")
@Builder.Default
private String jumlahGajiBersih = "Rp0,00";
public String getJumlah_potongan() {
return jumlah_potongan;
}
@Caption(value = "Jumlah Remunerasi Bersih")
@Builder.Default
private String jumlahRemunerasiBersih = "Rp0,00";
public void setJumlah_potongan(String jumlah_potongan) {
this.jumlah_potongan = jumlah_potongan;
}
@Caption(value = "Jumlah Uang Makan Bersih")
@Builder.Default
private String jumlahUangMakanBersih = "Rp0,00";
public String getJumlah_nett() {
return jumlah_nett;
}
public void setJumlah_nett(String jumlah_nett) {
this.jumlah_nett = jumlah_nett;
}
public static SlipJumlahDtoBuilder builder() {
return new SlipJumlahDtoBuilder();
}
public static class SlipJumlahDtoBuilder {
private String jumlah_gross = "Rp0,00";
private String jumlah_potongan = "Rp0,00";
private String jumlah_nett = "Rp0,00";
public SlipJumlahDtoBuilder() {
}
public SlipJumlahDtoBuilder jumlah_gross(final String jumlah_gross) {
this.jumlah_gross = jumlah_gross;
return this;
}
public SlipJumlahDtoBuilder jumlah_potongan(final String jumlah_potongan) {
this.jumlah_potongan = jumlah_potongan;
return this;
}
public SlipJumlahDtoBuilder jumlah_nett(final String jumlah_nett) {
this.jumlah_nett = jumlah_nett;
return this;
}
public SlipJumlahDto build() {
return new SlipJumlahDto(this.jumlah_gross, this.jumlah_potongan, this.jumlah_nett);
}
}
@Caption(value = "Jumlah Penerimaan Bersih")
@Builder.Default
private String jumlahPenerimaanBersih = "Rp0,00";
}

View File

@ -4,176 +4,47 @@
package com.jasamedika.medifirst2000.dto;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.*;
/**
* @author Salman
* @since May 16th, 2023
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SlipPegawaiDto {
@Caption(value = "Title")
private String title;
@Builder.Default
private String title = "-";
@Caption(value = "Nama")
private String nama;
@Builder.Default
private String nama = "-";
@Caption(value = "NIP")
private String nip;
@Builder.Default
private String nip = "-";
@Caption(value = "Periode")
private String periode;
@Builder.Default
private String periode = "-";
@Caption(value = "Tanggal Lahir")
private String tgl_lahir;
@Builder.Default
private String tglLahir = "-";
@Caption(value = "Jabatan")
private String jabatan;
@Builder.Default
private String jabatan = "-";
@Caption(value = "Unit Kerja")
private String unit_kerja;
@Builder.Default
private String unitKerja = "-";
@Caption(value = "Subunit Kerja")
private String sub_unit;
public SlipPegawaiDto() {
}
public SlipPegawaiDto(String title, String nama, String nip, String periode, String tgl_lahir, String jabatan,
String unit_kerja, String sub_unit) {
super();
this.title = title;
this.nama = nama;
this.nip = nip;
this.periode = periode;
this.tgl_lahir = tgl_lahir;
this.jabatan = jabatan;
this.unit_kerja = unit_kerja;
this.sub_unit = sub_unit;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getNip() {
return nip;
}
public void setNip(String nip) {
this.nip = nip;
}
public String getPeriode() {
return periode;
}
public void setPeriode(String periode) {
this.periode = periode;
}
public String getTgl_lahir() {
return tgl_lahir;
}
public void setTgl_lahir(String tgl_lahir) {
this.tgl_lahir = tgl_lahir;
}
public String getJabatan() {
return jabatan;
}
public void setJabatan(String jabatan) {
this.jabatan = jabatan;
}
public String getUnit_kerja() {
return unit_kerja;
}
public void setUnit_kerja(String unit_kerja) {
this.unit_kerja = unit_kerja;
}
public String getSub_unit() {
return sub_unit;
}
public void setSub_unit(String sub_unit) {
this.sub_unit = sub_unit;
}
public static SlipPegawaiDtoBuilder builder() {
return new SlipPegawaiDtoBuilder();
}
public static class SlipPegawaiDtoBuilder {
private String title = "-";
private String nama = "-";
private String nip = "-";
private String periode = "-";
private String tgl_lahir = "-";
private String jabatan = "-";
private String unit_kerja = "-";
private String sub_unit = "-";
public SlipPegawaiDtoBuilder() {
}
public SlipPegawaiDtoBuilder title(final String title) {
this.title = title;
return this;
}
public SlipPegawaiDtoBuilder nama(final String nama) {
this.nama = nama;
return this;
}
public SlipPegawaiDtoBuilder nip(final String nip) {
this.nip = nip;
return this;
}
public SlipPegawaiDtoBuilder periode(final String periode) {
this.periode = periode;
return this;
}
public SlipPegawaiDtoBuilder tgl_lahir(final String tgl_lahir) {
this.tgl_lahir = tgl_lahir;
return this;
}
public SlipPegawaiDtoBuilder jabatan(final String jabatan) {
this.jabatan = jabatan;
return this;
}
public SlipPegawaiDtoBuilder unit_kerja(final String unit_kerja) {
this.unit_kerja = unit_kerja;
return this;
}
public SlipPegawaiDtoBuilder sub_unit(final String sub_unit) {
this.sub_unit = sub_unit;
return this;
}
public SlipPegawaiDto build() {
return new SlipPegawaiDto(this.title, this.nama, this.nip, this.periode, this.tgl_lahir, this.jabatan,
this.unit_kerja, this.sub_unit);
}
}
@Builder.Default
private String subUnitKerja = "-";
}

View File

@ -1,197 +1,59 @@
/**
*
*/
package com.jasamedika.medifirst2000.dto;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.*;
/**
* @author Salman
* @since May 16th, 2023
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SlipPenerimaanDto {
@Caption(value = "Gaji")
private String gaji;
@Caption(value = "Gaji Pokok")
@Builder.Default
private String gajiPokok = "-";
@Caption(value = "Remunerasi Kinerja")
private String remun_kinerja;
@Caption(value = "Tunjangan Istri/Suami")
@Builder.Default
private String tunjanganIstriSuami = "-";
@Caption(value = "Remunerasi Tambahan Manajerial")
private String remun_tambahan_manajerial;
@Caption(value = "Tunjangan Anak")
@Builder.Default
private String tunjanganAnak = "-";
@Caption(value = "Remunerasi Tambahan Pendidikan/Pelatihan/Pengajaran")
private String remun_tambahan_diklitjar;
@Caption(value = "Tunjangan PNS")
@Builder.Default
private String tunjanganPns = "-";
@Caption(value = "Remunerasi Tambahan Lain")
private String remun_tambahan_lain;
@Caption(value = "Tunjangan Struktural")
@Builder.Default
private String tunjanganStruktural = "-";
@Caption(value = "Fee for Service")
private String ffs;
@Caption(value = "Tunjangan Fungsional")
@Builder.Default
private String tunjanganFungsional = "-";
@Caption(value = "Fee for On-Site")
private String ffo;
@Caption(value = "Tunjangan Beras")
@Builder.Default
private String tunjanganBeras = "-";
@Caption(value = "Tunjangan PPH")
@Builder.Default
private String tunjanganPph = "-";
@Caption(value = "Remunerasi")
@Builder.Default
private String remunerasi = "-";
@Caption(value = "Remunerasi Operasional")
@Builder.Default
private String remunerasiOperasional = "-";
@Caption(value = "Uang Makan")
private String uang_makan;
@Caption(value = "Uang Lembur")
private String uang_lembur;
public SlipPenerimaanDto() {
}
public SlipPenerimaanDto(String gaji, String remun_kinerja, String remun_tambahan_manajerial, String remun_tambahan_diklitjar, String remun_tambahan_lain, String ffs,
String ffo, String uang_makan, String uang_lembur) {
super();
this.gaji = gaji;
this.remun_kinerja = remun_kinerja;
this.remun_tambahan_manajerial = remun_tambahan_manajerial;
this.remun_tambahan_diklitjar = remun_tambahan_diklitjar;
this.remun_tambahan_lain = remun_tambahan_lain;
this.ffs = ffs;
this.ffo = ffo;
this.uang_makan = uang_makan;
this.uang_lembur = uang_lembur;
}
public String getGaji() {
return gaji;
}
public void setGaji(String gaji) {
this.gaji = gaji;
}
public String getRemun_kinerja() {
return remun_kinerja;
}
public void setRemun_kinerja(String remun_kinerja) {
this.remun_kinerja = remun_kinerja;
}
public String getRemun_tambahan_manajerial() {
return remun_tambahan_manajerial;
}
public void setRemun_tambahan_manajerial(String remun_tambahan_manajerial) {
this.remun_tambahan_manajerial = remun_tambahan_manajerial;
}
public String getRemun_tambahan_diklitjar() {
return remun_tambahan_diklitjar;
}
public void setRemun_tambahan_diklitjar(String remun_tambahan_diklitjar) {
this.remun_tambahan_diklitjar = remun_tambahan_diklitjar;
}
public String getRemun_tambahan_lain() {
return remun_tambahan_lain;
}
public void setRemun_tambahan_lain(String remun_tambahan_lain) {
this.remun_tambahan_lain = remun_tambahan_lain;
}
public String getFfs() {
return ffs;
}
public void setFfs(String ffs) {
this.ffs = ffs;
}
public String getFfo() {
return ffo;
}
public void setFfo(String ffo) {
this.ffo = ffo;
}
public String getUang_makan() {
return uang_makan;
}
public void setUang_makan(String uang_makan) {
this.uang_makan = uang_makan;
}
public String getUang_lembur() {
return uang_lembur;
}
public void setUang_lembur(String uang_lembur) {
this.uang_lembur = uang_lembur;
}
public static SlipPenerimaanDtoBuilder builder() {
return new SlipPenerimaanDtoBuilder();
}
public static class SlipPenerimaanDtoBuilder {
private String gaji = "-";
private String remun_kinerja = "-";
private String remun_tambahan_manajerial = "-";
private String remun_tambahan_diklitjar = "-";
private String remun_tambahan_lain = "-";
private String ffs = "-";
private String ffo = "-";
private String uang_makan = "-";
private String uang_lembur = "-";
public SlipPenerimaanDtoBuilder() {
}
public SlipPenerimaanDtoBuilder gaji(final String gaji) {
this.gaji = gaji;
return this;
}
public SlipPenerimaanDtoBuilder remun_kinerja(final String remun_kinerja) {
this.remun_kinerja = remun_kinerja;
return this;
}
public SlipPenerimaanDtoBuilder remun_tambahan_manajerial(final String remun_tambahan_manajerial) {
this.remun_tambahan_manajerial = remun_tambahan_manajerial;
return this;
}
public SlipPenerimaanDtoBuilder remun_tambahan_diklitjar(final String remun_tambahan_diklitjar) {
this.remun_tambahan_diklitjar = remun_tambahan_diklitjar;
return this;
}
public SlipPenerimaanDtoBuilder remun_tambahan_lain(final String remun_tambahan_lain) {
this.remun_tambahan_lain = remun_tambahan_lain;
return this;
}
public SlipPenerimaanDtoBuilder ffs(final String ffs) {
this.ffs = ffs;
return this;
}
public SlipPenerimaanDtoBuilder ffo(final String ffo) {
this.ffo = ffo;
return this;
}
public SlipPenerimaanDtoBuilder uang_makan(final String uang_makan) {
this.uang_makan = uang_makan;
return this;
}
public SlipPenerimaanDtoBuilder uang_lembur(final String uang_lembur) {
this.uang_lembur = uang_lembur;
return this;
}
public SlipPenerimaanDto build() {
return new SlipPenerimaanDto(this.gaji, this.remun_kinerja, this.remun_tambahan_manajerial, this.remun_tambahan_diklitjar, this.remun_tambahan_lain, this.ffs, this.ffo,
this.uang_makan, this.uang_lembur);
}
}
@Builder.Default
private String uangMakan = "-";
}

View File

@ -1,290 +1,95 @@
/**
*
*/
package com.jasamedika.medifirst2000.dto;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.*;
/**
* @author Salman
* @since May 16th, 2023
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SlipPotonganDto {
@Caption(value = "PPH Gaji")
private String pph_gaji;
@Caption(value = "PFK")
@Builder.Default
private String pfk = "-";
@Caption(value = "PPH Remunerasi")
private String pph_remun;
@Caption(value = "PPH")
@Builder.Default
private String pph = "-";
@Caption(value = "PPH Fee for Service")
private String pph_ffs;
@Caption(value = "Sewa Rumah")
@Builder.Default
private String sewaRumah = "-";
@Caption(value = "PPH Fee for On-Site")
private String pph_ffo;
@Caption(value = "Kelebihan Tunjangan")
@Builder.Default
private String kelebihanTunjangan = "-";
@Caption(value = "PPH Uang Makan")
private String pph_um;
@Caption(value = "Potongan Lain")
@Builder.Default
private String potonganLain = "-";
@Caption(value = "PPH Uang Lembur")
private String pph_ul;
@Caption(value = "Iuran Koperasi")
private String iuran_koperasi;
@Caption(value = "Pinjaman Koperasi")
private String pinjam_koperasi;
@Caption(value = "Biaya Obat")
private String biaya_obat;
@Caption(value = "Biaya Rawat Inap")
private String biaya_ri;
@Caption(value = "Biaya Rawat Jalan")
private String biaya_rj;
@Caption(value = "Potongan Toko Koperasi")
private String potongan_koperasi;
@Caption(value = "Potongan BPJS KESEHATAN")
private String potongan_bpjsk;
@Caption(value = "TabunganRumah")
@Builder.Default
private String tabunganRumah = "-";
@Caption(value = "Potongan BPJS Ketenagakerjaan")
private String potongan_bpjstk;
@Builder.Default
private String potonganBpjsKetenagakerjaan = "-";
public SlipPotonganDto() {
}
@Caption(value = "Potongan BPJS Kesehatan")
@Builder.Default
private String potonganBpjsKesehatan = "-";
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 potongan_koperasi, String potongan_bpjsk, String potongan_bpjstk) {
super();
this.pph_gaji = pph_gaji;
this.pph_remun = pph_remun;
this.pph_ffs = pph_ffs;
this.pph_ffo = pph_ffo;
this.pph_um = pph_um;
this.pph_ul = pph_ul;
this.iuran_koperasi = iuran_koperasi;
this.pinjam_koperasi = pinjam_koperasi;
this.biaya_obat = biaya_obat;
this.biaya_ri = biaya_ri;
this.biaya_rj = biaya_rj;
this.potongan_koperasi = potongan_koperasi;
this.potongan_bpjsk = potongan_bpjsk;
this.potongan_bpjstk = potongan_bpjstk;
}
@Caption(value = "Simpanan Wajib Koperasi (Gaji)")
@Builder.Default
private String simpananWajibKoperasiGaji = "-";
public String getPph_gaji() {
return pph_gaji;
}
@Caption(value = "Pinjaman Koperasi (Gaji)")
@Builder.Default
private String pinjamanKoperasiGaji = "-";
public void setPph_gaji(String pph_gaji) {
this.pph_gaji = pph_gaji;
}
@Caption(value = "Potongan PPH 21 Remunerasi")
@Builder.Default
private String potonganPph21Remunerasi = "-";
public String getPph_remun() {
return pph_remun;
}
@Caption(value = "Potongan PPH 21 Remunerasi Operasional")
@Builder.Default
private String potonganPph21RemunerasiOperasional = "-";
public void setPph_remun(String pph_remun) {
this.pph_remun = pph_remun;
}
@Caption(value = "Potongan Obat")
@Builder.Default
private String potonganObat = "-";
public String getPph_ffs() {
return pph_ffs;
}
@Caption(value = "Potongan Rawat Inap")
@Builder.Default
private String potonganRawatInap = "-";
public void setPph_ffs(String pph_ffs) {
this.pph_ffs = pph_ffs;
}
@Caption(value = "Potongan Rawat Jalan")
@Builder.Default
private String potonganRawatJalan = "-";
public String getPph_ffo() {
return pph_ffo;
}
@Caption(value = "Simpanan Wajib Koperasi (Remunerasi)")
@Builder.Default
private String simpananWajibKoperasiRemunerasi = "-";
public void setPph_ffo(String pph_ffo) {
this.pph_ffo = pph_ffo;
}
@Caption(value = "Pinjaman Koperasi (Remunerasi)")
@Builder.Default
private String pinjamanKoperasiRemunerasi = "-";
public String getPph_um() {
return pph_um;
}
@Caption(value = "Toko Koperasi")
@Builder.Default
private String tokoKoperasi = "-";
public void setPph_um(String pph_um) {
this.pph_um = pph_um;
}
@Caption(value = "Wakap Dan Lain-lain")
@Builder.Default
private String wakafDanLainLain = "-";
public String getPph_ul() {
return pph_ul;
}
public void setPph_ul(String pph_ul) {
this.pph_ul = pph_ul;
}
public String getIuran_koperasi() {
return iuran_koperasi;
}
public void setIuran_koperasi(String iuran_koperasi) {
this.iuran_koperasi = iuran_koperasi;
}
public String getPinjam_koperasi() {
return pinjam_koperasi;
}
public void setPinjam_koperasi(String pinjam_koperasi) {
this.pinjam_koperasi = pinjam_koperasi;
}
public String getBiaya_obat() {
return biaya_obat;
}
public void setBiaya_obat(String biaya_obat) {
this.biaya_obat = biaya_obat;
}
public String getBiaya_ri() {
return biaya_ri;
}
public void setBiaya_ri(String biaya_ri) {
this.biaya_ri = biaya_ri;
}
public String getBiaya_rj() {
return biaya_rj;
}
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 String getPotongan_bpjsk() {
return potongan_bpjsk;
}
public void setPotongan_bpjsk(String potongan_bpjsk) {
this.potongan_bpjsk = potongan_bpjsk;
}
public String getPotongan_bpjstk() {
return potongan_bpjstk;
}
public void setPotongan_bpjstk(String potongan_bpjstk) {
this.potongan_bpjstk = potongan_bpjstk;
}
public static SlipPotonganDtoBuilder builder() {
return new SlipPotonganDtoBuilder();
}
public static class SlipPotonganDtoBuilder {
private String pph_gaji = "-";
private String pph_remun = "-";
private String pph_ffs = "-";
private String pph_ffo = "-";
private String pph_um = "-";
private String pph_ul = "-";
private String iuran_koperasi = "-";
private String pinjam_koperasi = "-";
private String biaya_obat = "-";
private String biaya_ri = "-";
private String biaya_rj = "-";
private String potongan_koperasi = "-";
private String potongan_bpjsk = "-";
private String potongan_bpjstk = "-";
public SlipPotonganDtoBuilder() {
}
public SlipPotonganDtoBuilder pph_gaji(final String pph_gaji) {
this.pph_gaji = pph_gaji;
return this;
}
public SlipPotonganDtoBuilder pph_remun(final String pph_remun) {
this.pph_remun = pph_remun;
return this;
}
public SlipPotonganDtoBuilder pph_ffs(final String pph_ffs) {
this.pph_ffs = pph_ffs;
return this;
}
public SlipPotonganDtoBuilder pph_ffo(final String pph_ffo) {
this.pph_ffo = pph_ffo;
return this;
}
public SlipPotonganDtoBuilder pph_um(final String pph_um) {
this.pph_um = pph_um;
return this;
}
public SlipPotonganDtoBuilder pph_ul(final String pph_ul) {
this.pph_ul = pph_ul;
return this;
}
public SlipPotonganDtoBuilder iuran_koperasi(final String iuran_koperasi) {
this.iuran_koperasi = iuran_koperasi;
return this;
}
public SlipPotonganDtoBuilder pinjam_koperasi(final String pinjam_koperasi) {
this.pinjam_koperasi = pinjam_koperasi;
return this;
}
public SlipPotonganDtoBuilder biaya_obat(final String biaya_obat) {
this.biaya_obat = biaya_obat;
return this;
}
public SlipPotonganDtoBuilder biaya_ri(final String biaya_ri) {
this.biaya_ri = biaya_ri;
return this;
}
public SlipPotonganDtoBuilder biaya_rj(final String biaya_rj) {
this.biaya_rj = biaya_rj;
return this;
}
public SlipPotonganDtoBuilder potongan_koperasi(final String potongan_koperasi) {
this.potongan_koperasi = potongan_koperasi;
return this;
}
public SlipPotonganDtoBuilder potongan_bpjsk(final String potongan_bpjsk) {
this.potongan_bpjsk = potongan_bpjsk;
return this;
}
public SlipPotonganDtoBuilder potongan_bpjstk(final String potongan_bpjstk) {
this.potongan_bpjstk = potongan_bpjstk;
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.potongan_koperasi, this.potongan_bpjsk, this.potongan_bpjstk);
}
}
@Caption(value = "Potongan PPH 21 Uang Makan")
@Builder.Default
private String potonganPph21UangMakan = "-";
}

View File

@ -1,22 +1,20 @@
package com.jasamedika.medifirst2000.entities;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author salmanoe
* @since Jan 30, 2023
*/
@Entity // @Audited
@Getter
@Setter
@Entity
@Table(name = "sdm_komponengaji_m")
public class KomponenGaji implements Serializable {
@Id
@ -24,49 +22,21 @@ public class KomponenGaji implements Serializable {
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sdm_komponengaji_m_gen")
@Caption(value = "ID")
protected Integer id;
@Column(name = "namakomponen", nullable = false)
@NotNull(message = "Nama komponen tidak boleh kosong")
@Caption(value = "Nama Komponen")
private String namaKomponen;
/**
* 1-Penerimaan
* 2-Pemotongan
* 1-Gaji, 2-Remunerasi, 3-Uang Makan, 4-Potongan Gaji, 5-Potongan
* Remunerasi, 6-Potongan Uang Makan
*/
@Column(name = "jeniskomponen", nullable = false)
@Column(name = "jeniskomponen")
@Caption(value = "Jenis Komponen")
private Integer jenisKomponen;
public KomponenGaji() {
}
public KomponenGaji(Integer id, String namaKomponen, Integer jenisKomponen) {
this.id = id;
this.namaKomponen = namaKomponen;
this.jenisKomponen = jenisKomponen;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNamaKomponen() {
return namaKomponen;
}
public void setNamaKomponen(String namaKomponen) {
this.namaKomponen = namaKomponen;
}
public Integer getJenisKomponen() {
return jenisKomponen;
}
public void setJenisKomponen(Integer jenisKomponen) {
this.jenisKomponen = jenisKomponen;
}
@Column(name = "urutan")
@Caption(value = "Urutan")
private Integer urutan;
}

View File

@ -11,8 +11,6 @@ import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import static javax.persistence.FetchType.LAZY;
@Getter
@Setter
@Entity
@ -272,12 +270,4 @@ public class PelayananPasien extends MedicalRecordTransaction {
private String voucherPaketId;
private Boolean isPaket;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "strukbuktipenerimaandetailfk")
@Caption(value = "Struk Bukti Penerimaan Detail")
private StrukBuktiPenerimaanDetail strukBuktiPenerimaanDetail;
@Column(name = "strukbuktipenerimaandetailfk", insertable = false, updatable = false)
private String strukBuktiPenerimaanDetailId;
}

View File

@ -1,28 +1,23 @@
package com.jasamedika.medifirst2000.entities;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.*;
import org.hibernate.annotations.GenericGenerator;
import com.jasamedika.medifirst2000.helper.Caption;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* @author salmanoe
* @since Jan 19, 2023
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity
@Table(name = "sdm_slipgaji_t")
public class SlipGaji implements Serializable {
@ -45,73 +40,4 @@ public class SlipGaji implements Serializable {
@Column(name = "bulan", nullable = false)
@Caption(value = "Bulan")
private Date bulan;
public SlipGaji() {
}
public SlipGaji(String id, Pegawai pegawai, Date bulan) {
this.id = id;
this.pegawai = pegawai;
this.bulan = bulan;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Pegawai getPegawai() {
return pegawai;
}
public void setPegawai(Pegawai pegawai) {
this.pegawai = pegawai;
}
public Date getBulan() {
return bulan;
}
public void setBulan(Date bulan) {
this.bulan = bulan;
}
public static SlipGajiBuilder builder() {
return new SlipGajiBuilder();
}
public static class SlipGajiBuilder {
private String id;
private Pegawai pegawai;
private Date bulan;
public SlipGajiBuilder() {
}
public SlipGajiBuilder id(final String id) {
this.id = id;
return this;
}
public SlipGajiBuilder pegawai(final Pegawai pegawai) {
this.pegawai = pegawai;
return this;
}
public SlipGajiBuilder bulan(final Date bulan) {
this.bulan = bulan;
return this;
}
public SlipGaji build() {
return new SlipGaji(this.id, this.pegawai, this.bulan);
}
}
}

View File

@ -1,24 +1,22 @@
package com.jasamedika.medifirst2000.entities;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.*;
import org.hibernate.annotations.GenericGenerator;
import com.jasamedika.medifirst2000.helper.Caption;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* @author salmanoe
* @since Jan 19, 2023
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity
@Table(name = "sdm_slipgajidetail_t")
public class SlipGajiDetail implements Serializable {
@ -56,112 +54,4 @@ public class SlipGajiDetail implements Serializable {
@JoinColumn(name = "gradefk")
@Caption(value = "Grade")
private NilaiKelompokJabatan grade;
public SlipGajiDetail() {
}
public SlipGajiDetail(SlipGaji slipGaji, Jabatan jabatan, UnitKerjaPegawai unitKerja,
SubUnitKerjaPegawai subUnitKerja, NilaiKelompokJabatan grade) {
this.slipGaji = slipGaji;
this.jabatan = jabatan;
this.unitKerja = unitKerja;
this.subUnitKerja = subUnitKerja;
this.grade = grade;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public SlipGaji getSlipGaji() {
return slipGaji;
}
public void setSlipGaji(SlipGaji slipGaji) {
this.slipGaji = slipGaji;
}
public Jabatan getJabatan() {
return jabatan;
}
public void setJabatan(Jabatan jabatan) {
this.jabatan = jabatan;
}
public UnitKerjaPegawai getUnitKerja() {
return unitKerja;
}
public void setUnitKerja(UnitKerjaPegawai unitKerja) {
this.unitKerja = unitKerja;
}
public SubUnitKerjaPegawai getSubUnitKerja() {
return subUnitKerja;
}
public void setSubUnitKerja(SubUnitKerjaPegawai subUnitKerja) {
this.subUnitKerja = subUnitKerja;
}
public NilaiKelompokJabatan getGrade() {
return grade;
}
public void setGrade(NilaiKelompokJabatan grade) {
this.grade = grade;
}
public static SlipGajiDetailBuilder builder() {
return new SlipGajiDetailBuilder();
}
public static class SlipGajiDetailBuilder {
private SlipGaji slipGaji;
private Jabatan jabatan;
private UnitKerjaPegawai unitKerja;
private SubUnitKerjaPegawai subUnitKerja;
private NilaiKelompokJabatan grade;
public SlipGajiDetailBuilder() {
}
public SlipGajiDetailBuilder slipGaji(final SlipGaji slipGaji) {
this.slipGaji = slipGaji;
return this;
}
public SlipGajiDetailBuilder jabatan(final Jabatan jabatan) {
this.jabatan = jabatan;
return this;
}
public SlipGajiDetailBuilder unitKerja(final UnitKerjaPegawai unitKerja) {
this.unitKerja = unitKerja;
return this;
}
public SlipGajiDetailBuilder subUnitKerja(final SubUnitKerjaPegawai subUnitKerja) {
this.subUnitKerja = subUnitKerja;
return this;
}
public SlipGajiDetailBuilder grade(final NilaiKelompokJabatan grade) {
this.grade = grade;
return this;
}
public SlipGajiDetail build() {
return new SlipGajiDetail(this.slipGaji, this.jabatan, this.unitKerja, this.subUnitKerja, this.grade);
}
}
}

View File

@ -1,25 +1,23 @@
package com.jasamedika.medifirst2000.entities;
import java.io.Serializable;
import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.*;
import org.hibernate.annotations.GenericGenerator;
import com.jasamedika.medifirst2000.helper.Caption;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author salmanoe
* @since Jan 30, 2023
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity
@Table(name = "sdm_slipgajikomponen_t")
public class SlipGajiKomponen implements Serializable {
@ -46,88 +44,4 @@ public class SlipGajiKomponen implements Serializable {
@JoinColumn(name = "slipgajifk", columnDefinition = "CHAR(32)", nullable = false)
@Caption(value = "Slip Gaji")
private SlipGaji slipGaji;
public SlipGajiKomponen() {
}
public SlipGajiKomponen(String id, KomponenGaji komponen, BigDecimal nominal, SlipGaji slipGaji) {
this.id = id;
this.komponen = komponen;
this.nominal = nominal;
this.slipGaji = slipGaji;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public KomponenGaji getKomponen() {
return komponen;
}
public void setKomponen(KomponenGaji komponen) {
this.komponen = komponen;
}
public BigDecimal getNominal() {
return nominal;
}
public void setNominal(BigDecimal nominal) {
this.nominal = nominal;
}
public SlipGaji getSlipGaji() {
return slipGaji;
}
public void setSlipGaji(SlipGaji slipGaji) {
this.slipGaji = slipGaji;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public static SlipGajiKomponenBuilder builder() {
return new SlipGajiKomponenBuilder();
}
public static class SlipGajiKomponenBuilder {
private String id;
private KomponenGaji komponen;
private BigDecimal nominal;
private SlipGaji slipGaji;
public SlipGajiKomponenBuilder() {
}
public SlipGajiKomponenBuilder id(final String id) {
this.id = id;
return this;
}
public SlipGajiKomponenBuilder komponen(final KomponenGaji komponen) {
this.komponen = komponen;
return this;
}
public SlipGajiKomponenBuilder nominal(final BigDecimal nominal) {
this.nominal = nominal;
return this;
}
public SlipGajiKomponenBuilder slipGaji(final SlipGaji slipGaji) {
this.slipGaji = slipGaji;
return this;
}
public SlipGajiKomponen build() {
return new SlipGajiKomponen(this.id, this.komponen, this.nominal, this.slipGaji);
}
}
}

View File

@ -1,210 +0,0 @@
package com.jasamedika.medifirst2000.entities;
import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.Date;
import static javax.persistence.FetchType.LAZY;
/**
* @author salmanoe
* @version 1.0.0
* @since 16/11/2023
*/
@Getter
@Setter
@Entity
@Table(name = "strukbuktipenerimaandetail_t")
public class StrukBuktiPenerimaanDetail extends BaseTransaction {
private static final long serialVersionUID = -769266602610955196L;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "strukheaderfk", nullable = false)
@NotNull(message = "Struk Header tidak boleh kosong")
@Caption(value = "Struk Header")
private StrukBuktiPenerimaan strukBuktiPenerimaan;
@Column(name = "strukheaderfk", insertable = false, updatable = false, nullable = false)
private String strukBuktiPenerimaanId;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "ObjectKelompokPasienFk")
@Caption(value = "Object Kelompok Pasien")
private KelompokPasien kdkelompokpasien;
@Column(name = "ObjectKelompokPasienFk", insertable = false, updatable = false)
private Integer ObjectKelompokPasienId;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "ObjectKelompokTransaksiFk")
@Caption(value = "Object Kelompok Transaksi")
private KelompokTransaksi kdkelompoktransaksi;
@Column(name = "ObjectKelompokTransaksiFk", insertable = false, updatable = false)
private Integer ObjectKelompokTransaksiId;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "ObjectPegawaiPembayarFk")
@Caption(value = "Object Pegawai Pembayar")
private LoginUser kdpegawaipembayar;
@Column(name = "ObjectPegawaiPembayarFk", insertable = false, updatable = false)
private Integer ObjectPegawaiPembayarId;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "ObjectPegawaiPenerimaFk")
@Caption(value = "Object Pegawai Penerima")
private LoginUser kdpegawaipenerima;
@Column(name = "ObjectPegawaiPenerimaFk", insertable = false, updatable = false)
private Integer ObjectPegawaiPenerimaId;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "ObjectPegawaiPJPembebasanFk")
@Caption(value = "Object Pegawai P J Pembebasan")
private LoginUser kdpegawaipjpembebasan;
@Column(name = "ObjectPegawaiPJPembebasanFk", insertable = false, updatable = false)
private Integer ObjectPegawaiPJPembebasanId;
@Caption(value = "Kode Penjamin Pa Rekanan")
@Column(name = "KdPenjaminPaRekanan")
private Short kdpenjaminparekanan;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "ObjectProdukPembayaranToFk")
@Caption(value = "Object Produk Pembayaran To")
private Produk kdprodukpembayaranto;
@Column(name = "ObjectProdukPembayaranToFk", insertable = false, updatable = false)
private Integer ObjectProdukPembayaranToId;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "ObjectRuanganFk")
@Caption(value = "Object Ruangan")
private Ruangan kdruangan;
@Column(name = "ObjectRuanganFk", insertable = false, updatable = false)
private Integer ObjectRuanganId;
@Caption(value = "Keterangan Lainnya")
@Column(name = "KeteranganLainnya", length = 100)
private String keteranganlainnya;
@Caption(value = "Keterangan Pembebasan")
@Column(name = "KeteranganPembebasan", length = 100)
private String keteranganpembebasan;
@Caption(value = "Nama Pegawai Pembayar")
@Column(name = "NamaPegawaiPembayar", length = 40)
private String namapegawaipembayar;
@Caption(value = "Nama Pegawai Penerima")
@Column(name = "NamaPegawaiPenerima", length = 40)
private String namapegawaipenerima;
@Caption(value = "Nama Produk Pembayaran To")
@Column(name = "NamaProdukPembayaranTo", length = 80)
private String namaprodukpembayaranto;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "NoClosingFk")
@Caption(value = "No Closing")
private StrukClosing noclosing;
@Column(name = "NoClosingFk", insertable = false, updatable = false)
private String NoClosingId;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "NoSBK_ReturFk")
@Caption(value = "No S B K_ Retur")
private StrukBuktiPengeluaran nosbk_retur;
@Column(name = "NoSBK_ReturFk", insertable = false, updatable = false)
private String NoSBK_ReturId;
@Caption(value = "No S B M")
@Column(name = "NoSBM", length = 15)
private String nosbm;
@Caption(value = "No S B M_ Intern")
@Column(name = "NoSBM_Intern", length = 15)
private String nosbm_intern;
@Caption(value = "No S B M Before")
@Column(name = "NoSBMBefore", length = 10)
private String nosbmbefore;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "NoStrukFk")
@Caption(value = "No Struk")
private StrukPelayanan nostruk;
@Column(name = "NoStrukFk", insertable = false, updatable = false)
private String NoStrukId;
@Caption(value = "No Urut Login")
@Column(name = "NoUrutLogin", length = 10)
private String nourutlogin;
@Caption(value = "No Urut Ruangan")
@Column(name = "NoUrutRuangan", length = 10)
private String nourutruangan;
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "NoVerifikasiFk")
@Caption(value = "No Verifikasi")
private StrukVerifikasi noverifikasi;
@Column(name = "NoVerifikasiFk", insertable = false, updatable = false)
private String NoVerifikasiId;
@Caption(value = "Pegawai P J Pembebasan")
@Column(name = "PegawaiPJPembebasan", length = 40)
private String pegawaipjpembebasan;
@Caption(value = "Pembayaran Ke")
@Column(name = "PembayaranKe")
private Byte pembayaranke;
@Caption(value = "Tanggal S B M")
@Column(name = "TglSBM")
private Date tglsbm;
@Caption(value = "Total Di Bayar")
@Column(name = "TotalDiBayar")
private Double totaldibayar;
@Caption(value = "Total Di Bayar Before")
@Column(name = "TotalDiBayarBefore")
private Double totaldibayarbefore;
@Caption(value = "Total Di Bayar Cash Out")
@Column(name = "TotalDiBayarCashOut")
private Double totaldibayarcashout;
@Caption(value = "Total Di Bayar Retur")
@Column(name = "TotalDiBayarRetur")
private Double totaldibayarretur;
@Caption(value = "Total Di Bebaskan")
@Column(name = "TotalDiBebaskan")
private Double totaldibebaskan;
@Caption(value = "Total Sisa Piutang")
@Column(name = "TotalSisaPiutang")
private Double totalsisapiutang;
@Caption(value = "Total Sudah Di Bayar")
@Column(name = "TotalSudahDiBayar")
private Double totalsudahdibayar;
@Caption(value = "Total Sudah Di Bebaskan")
@Column(name = "TotalSudahDiBebaskan")
private Double totalsudahdibebaskan;
}

View File

@ -150,9 +150,4 @@ public class PelayananPasienVO extends MedicalRecordTransactionVO {
private String voucherPaketId;
private Boolean isPaket;
@Caption(value = "Struk Bukti Penerimaan Detail")
private StrukBuktiPenerimaanDetailVO strukBuktiPenerimaanDetail;
private String strukBuktiPenerimaanDetailId;
}

View File

@ -1,140 +0,0 @@
package com.jasamedika.medifirst2000.vo;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
import org.joda.time.DateTime;
import javax.validation.constraints.NotNull;
/**
* @author salmanoe
* @version 1.0.0
* @since 16/11/2023
*/
@Getter
@Setter
public class StrukBuktiPenerimaanDetailVO extends BaseTransactionVO {
@NotNull(message = "Struk Header tidak boleh kosong")
@Caption(value = "Struk Header")
private StrukBuktiPenerimaanVO strukBuktiPenerimaan;
private String strukBuktiPenerimaanId;
@Caption(value = "Object Kelompok Pasien")
private KelompokPasienVO kdkelompokpasien;
private Integer ObjectKelompokPasienId;
@Caption(value = "Object Kelompok Transaksi")
private KelompokTransaksiVO kdkelompoktransaksi;
private Integer ObjectKelompokTransaksiId;
@Caption(value = "Object Pegawai Pembayar")
private LoginUserVO kdpegawaipembayar;
private Integer ObjectPegawaiPembayarId;
@Caption(value = "Object Pegawai Penerima")
private LoginUserVO kdpegawaipenerima;
private Integer ObjectPegawaiPenerimaId;
@Caption(value = "Object Pegawai P J Pembebasan")
private LoginUserVO kdpegawaipjpembebasan;
private Integer ObjectPegawaiPJPembebasanId;
@Caption(value = "Kode Penjamin Pa Rekanan")
private Short kdpenjaminparekanan;
@Caption(value = "Object Produk Pembayaran To")
private ProdukVO kdprodukpembayaranto;
private Integer ObjectProdukPembayaranToId;
@Caption(value = "Object Ruangan")
private RuanganVO kdruangan;
private Integer ObjectRuanganId;
@Caption(value = "Keterangan Lainnya")
private String keteranganlainnya;
@Caption(value = "Keterangan Pembebasan")
private String keteranganpembebasan;
@Caption(value = "Nama Pegawai Pembayar")
private String namapegawaipembayar;
@Caption(value = "Nama Pegawai Penerima")
private String namapegawaipenerima;
@Caption(value = "Nama Produk Pembayaran To")
private String namaprodukpembayaranto;
@Caption(value = "No Closing")
private StrukClosingVO noclosing;
private Integer NoClosingId;
@Caption(value = "No S B K_ Retur")
private StrukBuktiPengeluaranVO nosbk_retur;
private Integer NoSBK_ReturId;
@Caption(value = "No S B M")
private String nosbm;
@Caption(value = "No S B M_ Intern")
private String nosbm_intern;
@Caption(value = "No S B M Before")
private String nosbmbefore;
@Caption(value = "No Struk")
private StrukPelayananVO nostruk;
private Integer NoStrukId;
@Caption(value = "No Urut Login")
private String nourutlogin;
@Caption(value = "No Urut Ruangan")
private String nourutruangan;
@Caption(value = "Pegawai P J Pembebasan")
private String pegawaipjpembebasan;
@Caption(value = "Pembayaran Ke")
private Byte pembayaranke;
@Caption(value = "Tanggal S B M")
private DateTime tglsbm;
@Caption(value = "Total Di Bayar")
private Double totaldibayar;
@Caption(value = "Total Di Bayar Before")
private Double totaldibayarbefore;
@Caption(value = "Total Di Bayar Cash Out")
private Double totaldibayarcashout;
@Caption(value = "Total Di Bayar Retur")
private Double totaldibayarretur;
@Caption(value = "Total Di Bebaskan")
private Double totaldibebaskan;
@Caption(value = "Total Sisa Piutang")
private Double totalsisapiutang;
@Caption(value = "Total Sudah Di Bayar")
private Double totalsudahdibayar;
@Caption(value = "Total Sudah Di Bebaskan")
private Double totalsudahdibebaskan;
}

View File

@ -527,8 +527,6 @@
<mapping
class="com.jasamedika.medifirst2000.entities.StrukBuktiPengeluaranCaraBayar" />
<mapping class="com.jasamedika.medifirst2000.entities.StrukBuktiPenerimaan" />
<mapping
class="com.jasamedika.medifirst2000.entities.StrukBuktiPenerimaanDetail" />
<mapping class="com.jasamedika.medifirst2000.entities.SatuanWaktuKesling" />
<mapping class="com.jasamedika.medifirst2000.entities.PeriodeAccount" />
<mapping class="com.jasamedika.medifirst2000.entities.StrukVerifikasi" />

View File

@ -133,12 +133,12 @@ public class LogbookTask {
double jumlah = fixedPay.stream()
.filter(r -> jenisRuangan.equals(r.get("jenisRuangan"))
&& idKelompokPasien.equals(r.get("idKelompokPasien"))
&& bulanIbuPulangRanap.equals(r.get("bulanIbuPulang")))
&& bulanIbuPulangRanap.equals(r.get("bulanPulangIbu")))
.mapToDouble(r -> Double.parseDouble(r.get("jumlah").toString())).sum();
double hargaJasa = fixedPay.stream()
.filter(r -> jenisRuangan.equals(r.get("jenisRuangan"))
&& idKelompokPasien.equals(r.get("idKelompokPasien"))
&& bulanIbuPulangRanap.equals(r.get("bulanIbuPulang")))
&& bulanIbuPulangRanap.equals(r.get("bulanPulangIbu")))
.mapToDouble(r -> Double.parseDouble(r.get("jumlahHargaJasa").toString())).sum();
RekapLogbookDokter rekapLogbookDokter = new RekapLogbookDokter();
rekapLogbookDokter.setKdProfile((short) 0);

View File

@ -34,7 +34,6 @@ public class SlipGajiController {
slipGajiService.init();
return new ResponseEntity<>(true, HttpStatus.CREATED);
} catch (Exception e) {
e.printStackTrace();
return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@ -45,7 +44,6 @@ public class SlipGajiController {
slipGajiService.save(dto);
return new ResponseEntity<>(true, HttpStatus.CREATED);
} catch (Exception e) {
e.printStackTrace();
return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@ -56,7 +54,6 @@ public class SlipGajiController {
slipGajiService.save(dtoList);
return new ResponseEntity<>(true, HttpStatus.CREATED);
} catch (Exception e) {
e.printStackTrace();
return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@ -67,7 +64,6 @@ public class SlipGajiController {
slipGajiService.updateDetail(dto);
return new ResponseEntity<>(true, HttpStatus.CREATED);
} catch (Exception e) {
e.printStackTrace();
return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@ -89,7 +85,6 @@ public class SlipGajiController {
result.put("filename", fileNamePath);
return new ResponseEntity<>(result, HttpStatus.OK);
} catch (Exception e) {
e.printStackTrace();
return new ResponseEntity<>(e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
}
}