Update service slip gaji
Penambahan komponen potongan bpjs
This commit is contained in:
parent
453bcb1885
commit
d3b3266e30
@ -248,6 +248,7 @@ public class Master {
|
|||||||
public static final Integer BIAYA_RAWAT_INAP = 17;
|
public static final Integer BIAYA_RAWAT_INAP = 17;
|
||||||
public static final Integer BIAYA_RAWAT_JALAN = 18;
|
public static final Integer BIAYA_RAWAT_JALAN = 18;
|
||||||
public static final Integer POTONGAN_TOKO_KOPERASI = 19;
|
public static final Integer POTONGAN_TOKO_KOPERASI = 19;
|
||||||
|
public static final Integer POTONGAN_BPJS = 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final class KomponenHarga {
|
public static final class KomponenHarga {
|
||||||
|
|||||||
@ -1,5 +1,27 @@
|
|||||||
package com.jasamedika.medifirst2000.service.impl;
|
package com.jasamedika.medifirst2000.service.impl;
|
||||||
|
|
||||||
|
import com.jasamedika.medifirst2000.constants.Master;
|
||||||
|
import com.jasamedika.medifirst2000.dao.*;
|
||||||
|
import com.jasamedika.medifirst2000.dao.custom.LimbahB3MasukDaoCustom;
|
||||||
|
import com.jasamedika.medifirst2000.dao.custom.ReportPelayananDaoCustom;
|
||||||
|
import com.jasamedika.medifirst2000.dto.*;
|
||||||
|
import com.jasamedika.medifirst2000.entities.*;
|
||||||
|
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||||
|
import com.jasamedika.medifirst2000.service.*;
|
||||||
|
import com.jasamedika.medifirst2000.util.AgeCalculator;
|
||||||
|
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||||
|
import com.jasamedika.medifirst2000.util.CurrencyUtil;
|
||||||
|
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;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.NumberFormat;
|
import java.text.NumberFormat;
|
||||||
@ -9,88 +31,7 @@ import java.time.LocalDate;
|
|||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.apache.commons.lang.time.DurationFormatUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.core.ParameterizedTypeReference;
|
|
||||||
import org.springframework.http.HttpEntity;
|
|
||||||
import org.springframework.http.HttpHeaders;
|
|
||||||
import org.springframework.http.HttpMethod;
|
|
||||||
import org.springframework.http.MediaType;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
import org.springframework.orm.jpa.JpaSystemException;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
import org.springframework.web.client.RestTemplate;
|
|
||||||
|
|
||||||
import com.jasamedika.medifirst2000.constants.Master;
|
|
||||||
import com.jasamedika.medifirst2000.dao.HistoriUsulanRincianKegiatanDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.IkiDanRemunerasiDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.JabatanDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.JenisLimbahB3MasukDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.KalenderDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.LimbahB3KeluarDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.MonitoringAbsenDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.NilaiIndexKinerjaIndividuDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.PegawaiDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.PegawaiHistoriRekapIndexDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.PencatatanSuhuMesinDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.PlanningPegawaiStatusDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.ReportingDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.SettingDataFixedDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.SlipGajiDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.StatusPegawaiDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.UnitKerjaDao;
|
|
||||||
import com.jasamedika.medifirst2000.dao.custom.LimbahB3MasukDaoCustom;
|
|
||||||
import com.jasamedika.medifirst2000.dao.custom.ReportPelayananDaoCustom;
|
|
||||||
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.SlipGajiDto;
|
|
||||||
import com.jasamedika.medifirst2000.dto.SlipGajiKomponenDto;
|
|
||||||
import com.jasamedika.medifirst2000.dto.SlipHeaderDto;
|
|
||||||
import com.jasamedika.medifirst2000.dto.SlipJumlahDto;
|
|
||||||
import com.jasamedika.medifirst2000.dto.SlipPegawaiDto;
|
|
||||||
import com.jasamedika.medifirst2000.dto.SlipPenerimaanDto;
|
|
||||||
import com.jasamedika.medifirst2000.dto.SlipPotonganDto;
|
|
||||||
import com.jasamedika.medifirst2000.dto.SuratPesananSementaraDto;
|
|
||||||
import com.jasamedika.medifirst2000.entities.Jabatan;
|
|
||||||
import com.jasamedika.medifirst2000.entities.JenisLimbahB3Masuk;
|
|
||||||
import com.jasamedika.medifirst2000.entities.LoginUser;
|
|
||||||
import com.jasamedika.medifirst2000.entities.PegawaiHistoriRekapIndex;
|
|
||||||
import com.jasamedika.medifirst2000.entities.PlanningPegawaiStatus;
|
|
||||||
import com.jasamedika.medifirst2000.entities.StatusPegawai;
|
|
||||||
import com.jasamedika.medifirst2000.entities.UnitKerjaPegawai;
|
|
||||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
|
||||||
import com.jasamedika.medifirst2000.service.LoginUserService;
|
|
||||||
import com.jasamedika.medifirst2000.service.MonitoringAbsenService;
|
|
||||||
import com.jasamedika.medifirst2000.service.PegawaiService;
|
|
||||||
import com.jasamedika.medifirst2000.service.PengkajianAwalTransaksiService;
|
|
||||||
import com.jasamedika.medifirst2000.service.PermohonanStatusPegawaiService;
|
|
||||||
import com.jasamedika.medifirst2000.service.ReportService;
|
|
||||||
import com.jasamedika.medifirst2000.service.SlipGajiService;
|
|
||||||
import com.jasamedika.medifirst2000.util.AgeCalculator;
|
|
||||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
|
||||||
import com.jasamedika.medifirst2000.util.CurrencyUtil;
|
|
||||||
import com.jasamedika.medifirst2000.util.DateUtil;
|
|
||||||
import com.jasamedika.medifirst2000.vo.PasienVO;
|
|
||||||
|
|
||||||
@Service("ReportService")
|
@Service("ReportService")
|
||||||
public class ReportServiceImpl extends BaseVoServiceImpl implements ReportService {
|
public class ReportServiceImpl extends BaseVoServiceImpl implements ReportService {
|
||||||
@ -3440,10 +3381,8 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
|
|||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> getHistoriUsulanRincianKegiatan(Integer idPelaksanaanTugas,
|
public List<Map<String, Object>> getHistoriUsulanRincianKegiatan(Integer idPelaksanaanTugas,
|
||||||
Integer idRincianKegiatan) {
|
Integer idRincianKegiatan) {
|
||||||
List<Map<String, Object>> result = historiUsulanRincianKegiatanDao.getHistori(idPelaksanaanTugas,
|
return historiUsulanRincianKegiatanDao.getHistori(idPelaksanaanTugas,
|
||||||
idRincianKegiatan);
|
idRincianKegiatan);
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -3481,61 +3420,64 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
|
|||||||
result.put("biayaRawatInap", "-");
|
result.put("biayaRawatInap", "-");
|
||||||
result.put("biayaRawatJalan", "-");
|
result.put("biayaRawatJalan", "-");
|
||||||
result.put("potonganTokoKoperasi", "-");
|
result.put("potonganTokoKoperasi", "-");
|
||||||
|
result.put("potonganBpjs", "-");
|
||||||
BigDecimal jumlahPenerimaan = BigDecimal.ZERO;
|
BigDecimal jumlahPenerimaan = BigDecimal.ZERO;
|
||||||
BigDecimal jumlahPemotongan = BigDecimal.ZERO;
|
BigDecimal jumlahPemotongan = BigDecimal.ZERO;
|
||||||
BigDecimal jumlahPenerimaanBersih = BigDecimal.ZERO;
|
BigDecimal jumlahPenerimaanBersih;
|
||||||
List<SlipGajiKomponenDto> komponenDto = new ArrayList<>();
|
List<SlipGajiKomponenDto> komponenDto = new ArrayList<>();
|
||||||
if (CommonUtil.isNotNullOrEmpty(dto.getKomponen()))
|
if (CommonUtil.isNotNullOrEmpty(dto.getKomponen()))
|
||||||
komponenDto = dto.getKomponen();
|
komponenDto = dto.getKomponen();
|
||||||
for (SlipGajiKomponenDto k : komponenDto) {
|
for (SlipGajiKomponenDto k : komponenDto) {
|
||||||
if (Master.JenisKomponenGaji.PENERIMAAN == k.getIdJenisKomponen()) {
|
if (Master.JenisKomponenGaji.PENERIMAAN.equals(k.getIdJenisKomponen())) {
|
||||||
jumlahPenerimaan = jumlahPenerimaan.add(new BigDecimal(k.getNominal().doubleValue()));
|
jumlahPenerimaan = jumlahPenerimaan.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
|
||||||
} else if (Master.JenisKomponenGaji.PEMOTONGAN == k.getIdJenisKomponen()) {
|
} else if (Master.JenisKomponenGaji.PEMOTONGAN.equals(k.getIdJenisKomponen())) {
|
||||||
jumlahPemotongan = jumlahPemotongan.add(new BigDecimal(k.getNominal().doubleValue()));
|
jumlahPemotongan = jumlahPemotongan.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
|
||||||
}
|
}
|
||||||
if (Master.KomponenGaji.GAJI == k.getIdKomponen()) {
|
if (Master.KomponenGaji.GAJI.equals(k.getIdKomponen())) {
|
||||||
result.put("gaji", nf.format(k.getNominal()));
|
result.put("gaji", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.REMUNERASI_KINERJA == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.REMUNERASI_KINERJA.equals(k.getIdKomponen())) {
|
||||||
result.put("remunerasiKinerja", nf.format(k.getNominal()));
|
result.put("remunerasiKinerja", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.REMUNERASI_TAMBAHAN == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.REMUNERASI_TAMBAHAN.equals(k.getIdKomponen())) {
|
||||||
result.put("remunerasiTambahan", nf.format(k.getNominal()));
|
result.put("remunerasiTambahan", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.FEE_FOR_SERVICE == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.FEE_FOR_SERVICE.equals(k.getIdKomponen())) {
|
||||||
result.put("feeForService", nf.format(k.getNominal()));
|
result.put("feeForService", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.FEE_FOR_ONSITE == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.FEE_FOR_ONSITE.equals(k.getIdKomponen())) {
|
||||||
result.put("feeForOnSite", nf.format(k.getNominal()));
|
result.put("feeForOnSite", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.UANG_MAKAN == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.UANG_MAKAN.equals(k.getIdKomponen())) {
|
||||||
result.put("uangMakan", nf.format(k.getNominal()));
|
result.put("uangMakan", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.UANG_LEMBUR == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.UANG_LEMBUR.equals(k.getIdKomponen())) {
|
||||||
result.put("uangLembur", nf.format(k.getNominal()));
|
result.put("uangLembur", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PPH_GAJI == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PPH_GAJI.equals(k.getIdKomponen())) {
|
||||||
result.put("pphGaji", nf.format(k.getNominal()));
|
result.put("pphGaji", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PPH_REMUNERASI == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PPH_REMUNERASI.equals(k.getIdKomponen())) {
|
||||||
result.put("pphRemunerasi", nf.format(k.getNominal()));
|
result.put("pphRemunerasi", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PPH_FEE_FOR_SERVICE == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PPH_FEE_FOR_SERVICE.equals(k.getIdKomponen())) {
|
||||||
result.put("pphFeeForService", nf.format(k.getNominal()));
|
result.put("pphFeeForService", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PPH_FEE_FOR_ONSITE == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PPH_FEE_FOR_ONSITE.equals(k.getIdKomponen())) {
|
||||||
result.put("pphFeeForOnSite", nf.format(k.getNominal()));
|
result.put("pphFeeForOnSite", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PPH_UANG_MAKAN == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PPH_UANG_MAKAN.equals(k.getIdKomponen())) {
|
||||||
result.put("pphUangMakan", nf.format(k.getNominal()));
|
result.put("pphUangMakan", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PPH_UANG_LEMBUR == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PPH_UANG_LEMBUR.equals(k.getIdKomponen())) {
|
||||||
result.put("pphUangLembur", nf.format(k.getNominal()));
|
result.put("pphUangLembur", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.IURAN_WAJIB_KOPERASI == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.IURAN_WAJIB_KOPERASI.equals(k.getIdKomponen())) {
|
||||||
result.put("iuranWajibKoperasi", nf.format(k.getNominal()));
|
result.put("iuranWajibKoperasi", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PINJAMAN_KOPERASI == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PINJAMAN_KOPERASI.equals(k.getIdKomponen())) {
|
||||||
result.put("pinjamanKoperasi", nf.format(k.getNominal()));
|
result.put("pinjamanKoperasi", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.BIAYA_OBAT_ALKES == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.BIAYA_OBAT_ALKES.equals(k.getIdKomponen())) {
|
||||||
result.put("biayaObatAlkes", nf.format(k.getNominal()));
|
result.put("biayaObatAlkes", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.BIAYA_RAWAT_INAP == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.BIAYA_RAWAT_INAP.equals(k.getIdKomponen())) {
|
||||||
result.put("biayaRawatInap", nf.format(k.getNominal()));
|
result.put("biayaRawatInap", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.BIAYA_RAWAT_JALAN == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.BIAYA_RAWAT_JALAN.equals(k.getIdKomponen())) {
|
||||||
result.put("biayaRawatJalan", nf.format(k.getNominal()));
|
result.put("biayaRawatJalan", nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.POTONGAN_TOKO_KOPERASI == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.POTONGAN_TOKO_KOPERASI.equals(k.getIdKomponen())) {
|
||||||
result.put("potonganTokoKoperasi", nf.format(k.getNominal()));
|
result.put("potonganTokoKoperasi", nf.format(k.getNominal()));
|
||||||
|
} else if (Master.KomponenGaji.POTONGAN_BPJS.equals(k.getIdKomponen())) {
|
||||||
|
result.put("potonganBpjs", nf.format(k.getNominal()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
result.put("jumlahPenerimaan", nf.format(jumlahPenerimaan));
|
result.put("jumlahPenerimaan", nf.format(jumlahPenerimaan));
|
||||||
result.put("jumlahPemotongan", nf.format(jumlahPemotongan));
|
result.put("jumlahPemotongan", nf.format(jumlahPemotongan));
|
||||||
jumlahPenerimaanBersih = jumlahPenerimaan.subtract(new BigDecimal(jumlahPemotongan.doubleValue()));
|
jumlahPenerimaanBersih = jumlahPenerimaan.subtract(BigDecimal.valueOf(jumlahPemotongan.doubleValue()));
|
||||||
result.put("jumlahPenerimaanBersih", nf.format(jumlahPenerimaanBersih));
|
result.put("jumlahPenerimaanBersih", nf.format(jumlahPenerimaanBersih));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -3584,56 +3526,58 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
|
|||||||
SlipJumlahDto.SlipJumlahDtoBuilder jumlahDtoBuilder = SlipJumlahDto.builder();
|
SlipJumlahDto.SlipJumlahDtoBuilder jumlahDtoBuilder = SlipJumlahDto.builder();
|
||||||
BigDecimal jumlahPenerimaan = BigDecimal.ZERO;
|
BigDecimal jumlahPenerimaan = BigDecimal.ZERO;
|
||||||
BigDecimal jumlahPemotongan = BigDecimal.ZERO;
|
BigDecimal jumlahPemotongan = BigDecimal.ZERO;
|
||||||
BigDecimal jumlahPenerimaanBersih = BigDecimal.ZERO;
|
BigDecimal jumlahPenerimaanBersih;
|
||||||
for (SlipGajiKomponenDto k : komponenDto) {
|
for (SlipGajiKomponenDto k : komponenDto) {
|
||||||
if (Master.JenisKomponenGaji.PENERIMAAN == k.getIdJenisKomponen()) {
|
if (Master.JenisKomponenGaji.PENERIMAAN.equals(k.getIdJenisKomponen())) {
|
||||||
jumlahPenerimaan = jumlahPenerimaan.add(new BigDecimal(k.getNominal().doubleValue()));
|
jumlahPenerimaan = jumlahPenerimaan.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
|
||||||
} else if (Master.JenisKomponenGaji.PEMOTONGAN == k.getIdJenisKomponen()) {
|
} else if (Master.JenisKomponenGaji.PEMOTONGAN.equals(k.getIdJenisKomponen())) {
|
||||||
jumlahPemotongan = jumlahPemotongan.add(new BigDecimal(k.getNominal().doubleValue()));
|
jumlahPemotongan = jumlahPemotongan.add(BigDecimal.valueOf(k.getNominal().doubleValue()));
|
||||||
}
|
}
|
||||||
if (Master.KomponenGaji.GAJI == k.getIdKomponen()) {
|
if (Master.KomponenGaji.GAJI.equals(k.getIdKomponen())) {
|
||||||
penerimaanDtoBuilder.gaji(nf.format(k.getNominal()));
|
penerimaanDtoBuilder.gaji(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.REMUNERASI_KINERJA == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.REMUNERASI_KINERJA.equals(k.getIdKomponen())) {
|
||||||
penerimaanDtoBuilder.remun_kinerja(nf.format(k.getNominal()));
|
penerimaanDtoBuilder.remun_kinerja(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.REMUNERASI_TAMBAHAN == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.REMUNERASI_TAMBAHAN.equals(k.getIdKomponen())) {
|
||||||
penerimaanDtoBuilder.remun_tambahan(nf.format(k.getNominal()));
|
penerimaanDtoBuilder.remun_tambahan(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.FEE_FOR_SERVICE == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.FEE_FOR_SERVICE.equals(k.getIdKomponen())) {
|
||||||
penerimaanDtoBuilder.ffs(nf.format(k.getNominal()));
|
penerimaanDtoBuilder.ffs(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.FEE_FOR_ONSITE == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.FEE_FOR_ONSITE.equals(k.getIdKomponen())) {
|
||||||
penerimaanDtoBuilder.ffo(nf.format(k.getNominal()));
|
penerimaanDtoBuilder.ffo(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.UANG_MAKAN == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.UANG_MAKAN.equals(k.getIdKomponen())) {
|
||||||
penerimaanDtoBuilder.uang_makan(nf.format(k.getNominal()));
|
penerimaanDtoBuilder.uang_makan(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.UANG_LEMBUR == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.UANG_LEMBUR.equals(k.getIdKomponen())) {
|
||||||
penerimaanDtoBuilder.uang_lembur(nf.format(k.getNominal()));
|
penerimaanDtoBuilder.uang_lembur(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PPH_GAJI == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PPH_GAJI.equals(k.getIdKomponen())) {
|
||||||
potonganDtoBuilder.pph_gaji(nf.format(k.getNominal()));
|
potonganDtoBuilder.pph_gaji(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PPH_REMUNERASI == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PPH_REMUNERASI.equals(k.getIdKomponen())) {
|
||||||
potonganDtoBuilder.pph_remun(nf.format(k.getNominal()));
|
potonganDtoBuilder.pph_remun(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PPH_FEE_FOR_SERVICE == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PPH_FEE_FOR_SERVICE.equals(k.getIdKomponen())) {
|
||||||
potonganDtoBuilder.pph_ffs(nf.format(k.getNominal()));
|
potonganDtoBuilder.pph_ffs(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PPH_FEE_FOR_ONSITE == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PPH_FEE_FOR_ONSITE.equals(k.getIdKomponen())) {
|
||||||
potonganDtoBuilder.pph_ffo(nf.format(k.getNominal()));
|
potonganDtoBuilder.pph_ffo(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PPH_UANG_MAKAN == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PPH_UANG_MAKAN.equals(k.getIdKomponen())) {
|
||||||
potonganDtoBuilder.pph_um(nf.format(k.getNominal()));
|
potonganDtoBuilder.pph_um(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PPH_UANG_LEMBUR == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PPH_UANG_LEMBUR.equals(k.getIdKomponen())) {
|
||||||
potonganDtoBuilder.pph_ul(nf.format(k.getNominal()));
|
potonganDtoBuilder.pph_ul(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.IURAN_WAJIB_KOPERASI == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.IURAN_WAJIB_KOPERASI.equals(k.getIdKomponen())) {
|
||||||
potonganDtoBuilder.iuran_koperasi(nf.format(k.getNominal()));
|
potonganDtoBuilder.iuran_koperasi(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.PINJAMAN_KOPERASI == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.PINJAMAN_KOPERASI.equals(k.getIdKomponen())) {
|
||||||
potonganDtoBuilder.pinjam_koperasi(nf.format(k.getNominal()));
|
potonganDtoBuilder.pinjam_koperasi(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.BIAYA_OBAT_ALKES == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.BIAYA_OBAT_ALKES.equals(k.getIdKomponen())) {
|
||||||
potonganDtoBuilder.biaya_obat(nf.format(k.getNominal()));
|
potonganDtoBuilder.biaya_obat(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.BIAYA_RAWAT_INAP == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.BIAYA_RAWAT_INAP.equals(k.getIdKomponen())) {
|
||||||
potonganDtoBuilder.biaya_ri(nf.format(k.getNominal()));
|
potonganDtoBuilder.biaya_ri(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.BIAYA_RAWAT_JALAN == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.BIAYA_RAWAT_JALAN.equals(k.getIdKomponen())) {
|
||||||
potonganDtoBuilder.biaya_rj(nf.format(k.getNominal()));
|
potonganDtoBuilder.biaya_rj(nf.format(k.getNominal()));
|
||||||
} else if (Master.KomponenGaji.POTONGAN_TOKO_KOPERASI == k.getIdKomponen()) {
|
} else if (Master.KomponenGaji.POTONGAN_TOKO_KOPERASI.equals(k.getIdKomponen())) {
|
||||||
|
potonganDtoBuilder.potongan_koperasi(nf.format(k.getNominal()));
|
||||||
|
} else if (Master.KomponenGaji.POTONGAN_BPJS.equals(k.getIdKomponen())) {
|
||||||
potonganDtoBuilder.potongan_koperasi(nf.format(k.getNominal()));
|
potonganDtoBuilder.potongan_koperasi(nf.format(k.getNominal()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
jumlahDtoBuilder.jumlah_gross(nf.format(jumlahPenerimaan));
|
jumlahDtoBuilder.jumlah_gross(nf.format(jumlahPenerimaan));
|
||||||
jumlahDtoBuilder.jumlah_potongan(nf.format(jumlahPemotongan));
|
jumlahDtoBuilder.jumlah_potongan(nf.format(jumlahPemotongan));
|
||||||
jumlahPenerimaanBersih = jumlahPenerimaan.subtract(new BigDecimal(jumlahPemotongan.doubleValue()));
|
jumlahPenerimaanBersih = jumlahPenerimaan.subtract(BigDecimal.valueOf(jumlahPemotongan.doubleValue()));
|
||||||
jumlahDtoBuilder.jumlah_nett(nf.format(jumlahPenerimaanBersih));
|
jumlahDtoBuilder.jumlah_nett(nf.format(jumlahPenerimaanBersih));
|
||||||
resultBuilder.pegawaiDto(pegawaiDtoBuilder.build());
|
resultBuilder.pegawaiDto(pegawaiDtoBuilder.build());
|
||||||
resultBuilder.penerimaanDto(penerimaanDtoBuilder.build());
|
resultBuilder.penerimaanDto(penerimaanDtoBuilder.build());
|
||||||
|
|||||||
@ -23,7 +23,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
@ -371,25 +370,23 @@ public class SlipGajiServiceImpl implements SlipGajiService {
|
|||||||
komponenGajiList.forEach(e -> {
|
komponenGajiList.forEach(e -> {
|
||||||
Optional<Map<String, Object>> first = listKomponen.stream()
|
Optional<Map<String, Object>> first = listKomponen.stream()
|
||||||
.filter(k -> e.getId().equals(k.get("idKomponen"))).findFirst();
|
.filter(k -> e.getId().equals(k.get("idKomponen"))).findFirst();
|
||||||
|
SlipGajiKomponenDto.SlipGajiKomponenDtoBuilder kBuilder = SlipGajiKomponenDto.builder();
|
||||||
if (first.isPresent()) {
|
if (first.isPresent()) {
|
||||||
SlipGajiKomponenDto.SlipGajiKomponenDtoBuilder kBuilder = SlipGajiKomponenDto.builder();
|
|
||||||
kBuilder.id(first.get().get("id").toString());
|
kBuilder.id(first.get().get("id").toString());
|
||||||
kBuilder.idJenisKomponen(Integer.valueOf(first.get().get("idJenisKomponen").toString()));
|
kBuilder.idJenisKomponen(Integer.valueOf(first.get().get("idJenisKomponen").toString()));
|
||||||
kBuilder.jenisKomponen(first.get().get("jenisKomponen").toString());
|
kBuilder.jenisKomponen(first.get().get("jenisKomponen").toString());
|
||||||
kBuilder.idKomponen(Integer.valueOf(first.get().get("idKomponen").toString()));
|
kBuilder.idKomponen(Integer.valueOf(first.get().get("idKomponen").toString()));
|
||||||
kBuilder.namaKomponen(first.get().get("namaKomponen").toString());
|
kBuilder.namaKomponen(first.get().get("namaKomponen").toString());
|
||||||
kBuilder.nominal(new BigDecimal(first.get().get("nominal").toString()));
|
kBuilder.nominal(new BigDecimal(first.get().get("nominal").toString()));
|
||||||
dtoList.add(kBuilder.build());
|
|
||||||
} else {
|
} else {
|
||||||
SlipGajiKomponenDto.SlipGajiKomponenDtoBuilder kBuilder = SlipGajiKomponenDto.builder();
|
|
||||||
kBuilder.id(null);
|
kBuilder.id(null);
|
||||||
kBuilder.idJenisKomponen(e.getJenisKomponen());
|
kBuilder.idJenisKomponen(e.getJenisKomponen());
|
||||||
kBuilder.jenisKomponen(e.getJenisKomponen() == 1 ? "Penerimaan" : "Pemotongan");
|
kBuilder.jenisKomponen(e.getJenisKomponen() == 1 ? "Penerimaan" : "Pemotongan");
|
||||||
kBuilder.idKomponen(e.getId());
|
kBuilder.idKomponen(e.getId());
|
||||||
kBuilder.namaKomponen(e.getNamaKomponen());
|
kBuilder.namaKomponen(e.getNamaKomponen());
|
||||||
kBuilder.nominal(null);
|
kBuilder.nominal(null);
|
||||||
dtoList.add(kBuilder.build());
|
|
||||||
}
|
}
|
||||||
|
dtoList.add(kBuilder.build());
|
||||||
});
|
});
|
||||||
List<SlipGajiKomponenDto> collectDto = dtoList.stream()
|
List<SlipGajiKomponenDto> collectDto = dtoList.stream()
|
||||||
.sorted(Comparator.comparing(SlipGajiKomponenDto::getIdKomponen))
|
.sorted(Comparator.comparing(SlipGajiKomponenDto::getIdKomponen))
|
||||||
@ -401,11 +398,11 @@ public class SlipGajiServiceImpl implements SlipGajiService {
|
|||||||
return dto.build();
|
return dto.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getDirPathSlipGaji(String dirname) {
|
private String getDirPathSlipGaji() {
|
||||||
String osName = System.getProperty("os.name").toLowerCase();
|
String osName = System.getProperty("os.name").toLowerCase();
|
||||||
String path = systemDirectory + dirname + "/";
|
String path = systemDirectory + "slip-gaji" + "/";
|
||||||
if (osName.contains("win"))
|
if (osName.contains("win"))
|
||||||
path = systemDirectory.replace("/", "\\") + dirname + "\\";
|
path = systemDirectory.replace("/", "\\") + "slip-gaji" + "\\";
|
||||||
|
|
||||||
LOGGER.info("Path slip gaji {}", path);
|
LOGGER.info("Path slip gaji {}", path);
|
||||||
|
|
||||||
@ -414,7 +411,7 @@ public class SlipGajiServiceImpl implements SlipGajiService {
|
|||||||
|
|
||||||
@SuppressWarnings("resource")
|
@SuppressWarnings("resource")
|
||||||
@Override
|
@Override
|
||||||
public String writeExcel(Long bulan) throws IOException {
|
public String writeExcel(Long bulan) {
|
||||||
Date month = new Date(bulan);
|
Date month = new Date(bulan);
|
||||||
Date start = DateUtil.startMonth(month);
|
Date start = DateUtil.startMonth(month);
|
||||||
Date end = DateUtil.endMonth(month);
|
Date end = DateUtil.endMonth(month);
|
||||||
@ -468,7 +465,7 @@ public class SlipGajiServiceImpl implements SlipGajiService {
|
|||||||
new Object[] { d.get("id"), d.get("idPegawai"), d.get("namaPegawai"), d.get("nip"), d.get("1"),
|
new Object[] { d.get("id"), d.get("idPegawai"), d.get("namaPegawai"), d.get("nip"), d.get("1"),
|
||||||
d.get("2"), d.get("3"), d.get("4"), d.get("5"), d.get("6"), d.get("7"), d.get("8"),
|
d.get("2"), d.get("3"), d.get("4"), d.get("5"), d.get("6"), d.get("7"), d.get("8"),
|
||||||
d.get("9"), d.get("10"), d.get("11"), d.get("12"), d.get("13"), d.get("14"), d.get("15"),
|
d.get("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("16"), d.get("17"), d.get("18"), d.get("19"), d.get("20") });
|
||||||
}
|
}
|
||||||
TreeMap<Integer, Object[]> sorted = new TreeMap<>(data);
|
TreeMap<Integer, Object[]> sorted = new TreeMap<>(data);
|
||||||
Set<Integer> keyset = sorted.keySet();
|
Set<Integer> keyset = sorted.keySet();
|
||||||
@ -502,7 +499,7 @@ public class SlipGajiServiceImpl implements SlipGajiService {
|
|||||||
String timestampToString = df.format(new Date());
|
String timestampToString = df.format(new Date());
|
||||||
|
|
||||||
String filename = "Template_Slip_Gaji_" + timestampToString + ".xls";
|
String filename = "Template_Slip_Gaji_" + timestampToString + ".xls";
|
||||||
String absoluteFilePath = getDirPathSlipGaji("slip-gaji") + filename;
|
String absoluteFilePath = getDirPathSlipGaji() + filename;
|
||||||
File file = new File(absoluteFilePath);
|
File file = new File(absoluteFilePath);
|
||||||
|
|
||||||
LOGGER.info("Path foto profil {}", file.getAbsolutePath());
|
LOGGER.info("Path foto profil {}", file.getAbsolutePath());
|
||||||
@ -533,9 +530,8 @@ public class SlipGajiServiceImpl implements SlipGajiService {
|
|||||||
List<KomponenGajiDto> result = new ArrayList<>();
|
List<KomponenGajiDto> result = new ArrayList<>();
|
||||||
Sort sort = new Sort(Sort.Direction.ASC, "id");
|
Sort sort = new Sort(Sort.Direction.ASC, "id");
|
||||||
List<KomponenGaji> listKomponenGaji = komponenGajiDao.findAll(sort);
|
List<KomponenGaji> listKomponenGaji = komponenGajiDao.findAll(sort);
|
||||||
listKomponenGaji.forEach(k -> {
|
listKomponenGaji
|
||||||
result.add(new KomponenGajiDto(k.getId(), k.getNamaKomponen(), k.getJenisKomponen()));
|
.forEach(k -> result.add(new KomponenGajiDto(k.getId(), k.getNamaKomponen(), k.getJenisKomponen())));
|
||||||
});
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,12 +46,15 @@ public class SlipPotonganDto {
|
|||||||
@Caption(value = "Potongan Toko Koperasi")
|
@Caption(value = "Potongan Toko Koperasi")
|
||||||
private String potongan_koperasi;
|
private String potongan_koperasi;
|
||||||
|
|
||||||
|
@Caption(value = "Potongan BPJS")
|
||||||
|
private String potongan_bpjs;
|
||||||
|
|
||||||
public SlipPotonganDto() {
|
public SlipPotonganDto() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public SlipPotonganDto(String pph_gaji, String pph_remun, String pph_ffs, String pph_ffo, String pph_um,
|
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 pph_ul, String iuran_koperasi, String pinjam_koperasi, String biaya_obat, String biaya_ri,
|
||||||
String biaya_rj, String potongan_koperasi) {
|
String biaya_rj, String potongan_koperasi, String potongan_bpjs) {
|
||||||
super();
|
super();
|
||||||
this.pph_gaji = pph_gaji;
|
this.pph_gaji = pph_gaji;
|
||||||
this.pph_remun = pph_remun;
|
this.pph_remun = pph_remun;
|
||||||
@ -65,6 +68,7 @@ public class SlipPotonganDto {
|
|||||||
this.biaya_ri = biaya_ri;
|
this.biaya_ri = biaya_ri;
|
||||||
this.biaya_rj = biaya_rj;
|
this.biaya_rj = biaya_rj;
|
||||||
this.potongan_koperasi = potongan_koperasi;
|
this.potongan_koperasi = potongan_koperasi;
|
||||||
|
this.potongan_bpjs = potongan_bpjs;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPph_gaji() {
|
public String getPph_gaji() {
|
||||||
@ -163,6 +167,14 @@ public class SlipPotonganDto {
|
|||||||
this.potongan_koperasi = potongan_koperasi;
|
this.potongan_koperasi = potongan_koperasi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getPotongan_bpjs() {
|
||||||
|
return potongan_bpjs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPotongan_bpjs(String potongan_bpjs) {
|
||||||
|
this.potongan_bpjs = potongan_bpjs;
|
||||||
|
}
|
||||||
|
|
||||||
public static SlipPotonganDtoBuilder builder() {
|
public static SlipPotonganDtoBuilder builder() {
|
||||||
return new SlipPotonganDtoBuilder();
|
return new SlipPotonganDtoBuilder();
|
||||||
}
|
}
|
||||||
@ -180,6 +192,7 @@ public class SlipPotonganDto {
|
|||||||
private String biaya_ri = "-";
|
private String biaya_ri = "-";
|
||||||
private String biaya_rj = "-";
|
private String biaya_rj = "-";
|
||||||
private String potongan_koperasi = "-";
|
private String potongan_koperasi = "-";
|
||||||
|
private String potongan_bpjs = "-";
|
||||||
|
|
||||||
public SlipPotonganDtoBuilder() {
|
public SlipPotonganDtoBuilder() {
|
||||||
}
|
}
|
||||||
@ -244,10 +257,15 @@ public class SlipPotonganDto {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public SlipPotonganDtoBuilder potongan_bpjs(final String potongan_bpjs) {
|
||||||
|
this.potongan_bpjs = potongan_bpjs;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public SlipPotonganDto build() {
|
public SlipPotonganDto build() {
|
||||||
return new SlipPotonganDto(this.pph_gaji, this.pph_remun, this.pph_ffs, this.pph_ffo, this.pph_um,
|
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.pph_ul, this.iuran_koperasi, this.pinjam_koperasi, this.biaya_obat, this.biaya_ri,
|
||||||
this.biaya_rj, this.potongan_koperasi);
|
this.biaya_rj, this.potongan_koperasi, this.potongan_bpjs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!-- Created with Jaspersoft Studio version 6.20.1.final using JasperReports Library version 6.20.1-7584acb244139816654f64e2fd57a00d3e31921e -->
|
<!-- Created with Jaspersoft Studio version 6.20.5.final using JasperReports Library version 6.20.5-3efcf2e67f959db3888d79f73dde2dbd7acb4f8e -->
|
||||||
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="slipGaji" pageWidth="842" pageHeight="595" orientation="Landscape" whenNoDataType="BlankPage" columnWidth="672" leftMargin="85" rightMargin="85" topMargin="85" bottomMargin="85" whenResourceMissingType="Empty" isIgnorePagination="true" uuid="b004215b-da52-4c09-b65d-f2feeeb72d32">
|
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="slipGaji" pageWidth="842" pageHeight="595" orientation="Landscape" whenNoDataType="BlankPage" columnWidth="672" leftMargin="85" rightMargin="85" topMargin="85" bottomMargin="85" whenResourceMissingType="Empty" isIgnorePagination="true" uuid="b004215b-da52-4c09-b65d-f2feeeb72d32">
|
||||||
<queryString>
|
<queryString>
|
||||||
<![CDATA[]]>
|
<![CDATA[]]>
|
||||||
@ -32,6 +32,7 @@
|
|||||||
<field name="jumlahPenerimaanBersih" class="java.lang.String"/>
|
<field name="jumlahPenerimaanBersih" class="java.lang.String"/>
|
||||||
<field name="periode" class="java.lang.String"/>
|
<field name="periode" class="java.lang.String"/>
|
||||||
<field name="potonganTokoKoperasi" class="java.lang.String"/>
|
<field name="potonganTokoKoperasi" class="java.lang.String"/>
|
||||||
|
<field name="potonganBpjs" class="java.lang.String"/>
|
||||||
<background>
|
<background>
|
||||||
<band splitType="Stretch"/>
|
<band splitType="Stretch"/>
|
||||||
</background>
|
</background>
|
||||||
@ -67,7 +68,7 @@
|
|||||||
</band>
|
</band>
|
||||||
</title>
|
</title>
|
||||||
<summary>
|
<summary>
|
||||||
<band height="380" splitType="Stretch">
|
<band height="400" splitType="Stretch">
|
||||||
<elementGroup>
|
<elementGroup>
|
||||||
<staticText>
|
<staticText>
|
||||||
<reportElement stretchType="ElementGroupHeight" x="0" y="0" width="100" height="20" uuid="057ed757-3d6b-4918-adbc-376c8110efde">
|
<reportElement stretchType="ElementGroupHeight" x="0" y="0" width="100" height="20" uuid="057ed757-3d6b-4918-adbc-376c8110efde">
|
||||||
@ -746,7 +747,31 @@
|
|||||||
</elementGroup>
|
</elementGroup>
|
||||||
<elementGroup>
|
<elementGroup>
|
||||||
<staticText>
|
<staticText>
|
||||||
<reportElement stretchType="ElementGroupHeight" x="0" y="320" width="146" height="20" uuid="4203d9f9-f018-4608-927f-107398ec2fd7">
|
<reportElement stretchType="ElementGroupHeight" x="336" y="320" width="146" height="20" uuid="37224f91-c720-491d-8ecf-f99c6ff06eda"/>
|
||||||
|
<textElement textAlignment="Left" verticalAlignment="Middle">
|
||||||
|
<font size="11"/>
|
||||||
|
</textElement>
|
||||||
|
<text><![CDATA[Potongan BPJS]]></text>
|
||||||
|
</staticText>
|
||||||
|
<staticText>
|
||||||
|
<reportElement stretchType="ElementGroupHeight" x="482" y="320" width="10" height="20" uuid="49179092-f36e-46f2-9a26-80dfa14a1d67"/>
|
||||||
|
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||||
|
<font size="11"/>
|
||||||
|
</textElement>
|
||||||
|
<text><![CDATA[:]]></text>
|
||||||
|
</staticText>
|
||||||
|
<textField>
|
||||||
|
<reportElement stretchType="RelativeToBandHeight" x="492" y="320" width="180" height="20" uuid="8e95c8eb-0a7d-4d9b-ac48-4a5e5e8ff566"/>
|
||||||
|
<box rightPadding="10"/>
|
||||||
|
<textElement textAlignment="Right" verticalAlignment="Middle">
|
||||||
|
<font size="11"/>
|
||||||
|
</textElement>
|
||||||
|
<textFieldExpression><![CDATA[$F{potonganBpjs}]]></textFieldExpression>
|
||||||
|
</textField>
|
||||||
|
</elementGroup>
|
||||||
|
<elementGroup>
|
||||||
|
<staticText>
|
||||||
|
<reportElement stretchType="ElementGroupHeight" x="0" y="340" width="146" height="20" uuid="4203d9f9-f018-4608-927f-107398ec2fd7">
|
||||||
<property name="com.jaspersoft.studio.unit.height" value="px"/>
|
<property name="com.jaspersoft.studio.unit.height" value="px"/>
|
||||||
</reportElement>
|
</reportElement>
|
||||||
<box>
|
<box>
|
||||||
@ -761,7 +786,7 @@
|
|||||||
<text><![CDATA[Jumlah Penerimaan]]></text>
|
<text><![CDATA[Jumlah Penerimaan]]></text>
|
||||||
</staticText>
|
</staticText>
|
||||||
<staticText>
|
<staticText>
|
||||||
<reportElement stretchType="ElementGroupHeight" x="146" y="320" width="10" height="20" uuid="fd8a9f3f-9ea6-45ba-a950-169469a82d34">
|
<reportElement stretchType="ElementGroupHeight" x="146" y="340" width="10" height="20" uuid="fd8a9f3f-9ea6-45ba-a950-169469a82d34">
|
||||||
<property name="com.jaspersoft.studio.unit.width" value="px"/>
|
<property name="com.jaspersoft.studio.unit.width" value="px"/>
|
||||||
</reportElement>
|
</reportElement>
|
||||||
<box>
|
<box>
|
||||||
@ -776,7 +801,7 @@
|
|||||||
<text><![CDATA[:]]></text>
|
<text><![CDATA[:]]></text>
|
||||||
</staticText>
|
</staticText>
|
||||||
<textField>
|
<textField>
|
||||||
<reportElement stretchType="ElementGroupHeight" x="156" y="320" width="180" height="20" uuid="96abf5f4-aa4b-450c-b0c5-50fbb556d356">
|
<reportElement stretchType="ElementGroupHeight" x="156" y="340" width="180" height="20" uuid="96abf5f4-aa4b-450c-b0c5-50fbb556d356">
|
||||||
<property name="com.jaspersoft.studio.unit.width" value="px"/>
|
<property name="com.jaspersoft.studio.unit.width" value="px"/>
|
||||||
</reportElement>
|
</reportElement>
|
||||||
<box rightPadding="10">
|
<box rightPadding="10">
|
||||||
@ -791,7 +816,7 @@
|
|||||||
<textFieldExpression><![CDATA[$F{jumlahPenerimaan}]]></textFieldExpression>
|
<textFieldExpression><![CDATA[$F{jumlahPenerimaan}]]></textFieldExpression>
|
||||||
</textField>
|
</textField>
|
||||||
<staticText>
|
<staticText>
|
||||||
<reportElement stretchType="ElementGroupHeight" x="336" y="320" width="146" height="20" uuid="8f603c16-343d-4a69-a1c4-d9a69db5e8a4">
|
<reportElement stretchType="ElementGroupHeight" x="336" y="340" width="146" height="20" uuid="8f603c16-343d-4a69-a1c4-d9a69db5e8a4">
|
||||||
<property name="com.jaspersoft.studio.unit.height" value="px"/>
|
<property name="com.jaspersoft.studio.unit.height" value="px"/>
|
||||||
</reportElement>
|
</reportElement>
|
||||||
<box>
|
<box>
|
||||||
@ -806,7 +831,7 @@
|
|||||||
<text><![CDATA[Jumlah Pemotongan]]></text>
|
<text><![CDATA[Jumlah Pemotongan]]></text>
|
||||||
</staticText>
|
</staticText>
|
||||||
<staticText>
|
<staticText>
|
||||||
<reportElement stretchType="ElementGroupHeight" x="482" y="320" width="10" height="20" uuid="4e913d2b-fde9-40f6-9321-bcb5b61018a1">
|
<reportElement stretchType="ElementGroupHeight" x="482" y="340" width="10" height="20" uuid="4e913d2b-fde9-40f6-9321-bcb5b61018a1">
|
||||||
<property name="com.jaspersoft.studio.unit.width" value="px"/>
|
<property name="com.jaspersoft.studio.unit.width" value="px"/>
|
||||||
</reportElement>
|
</reportElement>
|
||||||
<box>
|
<box>
|
||||||
@ -821,7 +846,7 @@
|
|||||||
<text><![CDATA[:]]></text>
|
<text><![CDATA[:]]></text>
|
||||||
</staticText>
|
</staticText>
|
||||||
<textField>
|
<textField>
|
||||||
<reportElement stretchType="ElementGroupHeight" x="492" y="320" width="180" height="20" uuid="35534177-432a-4aa4-a7e4-a3938b973afa"/>
|
<reportElement stretchType="ElementGroupHeight" x="492" y="340" width="180" height="20" uuid="35534177-432a-4aa4-a7e4-a3938b973afa"/>
|
||||||
<box rightPadding="10">
|
<box rightPadding="10">
|
||||||
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
|
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#000000"/>
|
||||||
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
|
<leftPen lineWidth="0.0" lineStyle="Solid" lineColor="#000000"/>
|
||||||
@ -836,7 +861,7 @@
|
|||||||
</elementGroup>
|
</elementGroup>
|
||||||
<elementGroup>
|
<elementGroup>
|
||||||
<staticText>
|
<staticText>
|
||||||
<reportElement stretchType="ElementGroupHeight" x="336" y="340" width="146" height="20" uuid="7cffaf33-ca8d-4941-81ec-fb726963a9e8">
|
<reportElement stretchType="ElementGroupHeight" x="336" y="360" width="146" height="20" uuid="7cffaf33-ca8d-4941-81ec-fb726963a9e8">
|
||||||
<property name="com.jaspersoft.studio.unit.height" value="px"/>
|
<property name="com.jaspersoft.studio.unit.height" value="px"/>
|
||||||
</reportElement>
|
</reportElement>
|
||||||
<box>
|
<box>
|
||||||
@ -851,7 +876,7 @@
|
|||||||
<text><![CDATA[Jumlah Penerimaan Bersih]]></text>
|
<text><![CDATA[Jumlah Penerimaan Bersih]]></text>
|
||||||
</staticText>
|
</staticText>
|
||||||
<staticText>
|
<staticText>
|
||||||
<reportElement stretchType="ElementGroupHeight" x="482" y="340" width="10" height="20" uuid="82ccfab6-a9f3-4123-82a5-092e62d04098">
|
<reportElement stretchType="ElementGroupHeight" x="482" y="360" width="10" height="20" uuid="82ccfab6-a9f3-4123-82a5-092e62d04098">
|
||||||
<property name="com.jaspersoft.studio.unit.width" value="px"/>
|
<property name="com.jaspersoft.studio.unit.width" value="px"/>
|
||||||
</reportElement>
|
</reportElement>
|
||||||
<box>
|
<box>
|
||||||
@ -866,7 +891,7 @@
|
|||||||
<text><![CDATA[:]]></text>
|
<text><![CDATA[:]]></text>
|
||||||
</staticText>
|
</staticText>
|
||||||
<textField>
|
<textField>
|
||||||
<reportElement stretchType="ElementGroupHeight" x="492" y="340" width="180" height="20" uuid="e43742bc-95ba-4c51-b4bd-8e4c5cf1085e">
|
<reportElement stretchType="ElementGroupHeight" x="492" y="360" width="180" height="20" uuid="e43742bc-95ba-4c51-b4bd-8e4c5cf1085e">
|
||||||
<property name="com.jaspersoft.studio.unit.width" value="px"/>
|
<property name="com.jaspersoft.studio.unit.width" value="px"/>
|
||||||
</reportElement>
|
</reportElement>
|
||||||
<box rightPadding="10">
|
<box rightPadding="10">
|
||||||
@ -883,7 +908,7 @@
|
|||||||
</elementGroup>
|
</elementGroup>
|
||||||
<elementGroup>
|
<elementGroup>
|
||||||
<textField>
|
<textField>
|
||||||
<reportElement stretchType="ElementGroupHeight" x="0" y="360" width="672" height="20" uuid="55f384c5-07ec-45cc-9ff0-77df6c0b0368">
|
<reportElement stretchType="ElementGroupHeight" x="0" y="380" width="672" height="20" uuid="55f384c5-07ec-45cc-9ff0-77df6c0b0368">
|
||||||
<property name="com.jaspersoft.studio.unit.height" value="px"/>
|
<property name="com.jaspersoft.studio.unit.height" value="px"/>
|
||||||
</reportElement>
|
</reportElement>
|
||||||
<textElement textAlignment="Right" verticalAlignment="Bottom">
|
<textElement textAlignment="Right" verticalAlignment="Bottom">
|
||||||
|
|||||||
@ -1,26 +1,5 @@
|
|||||||
package com.jasamedika.medifirst2000.controller;
|
package com.jasamedika.medifirst2000.controller;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
|
||||||
import javax.validation.Valid;
|
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.core.io.Resource;
|
|
||||||
import org.springframework.http.HttpHeaders;
|
|
||||||
import org.springframework.http.HttpStatus;
|
|
||||||
import org.springframework.http.MediaType;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import com.jasamedika.medifirst2000.constants.Constants;
|
import com.jasamedika.medifirst2000.constants.Constants;
|
||||||
import com.jasamedika.medifirst2000.dto.KomponenGajiDto;
|
import com.jasamedika.medifirst2000.dto.KomponenGajiDto;
|
||||||
import com.jasamedika.medifirst2000.dto.SlipGajiDto;
|
import com.jasamedika.medifirst2000.dto.SlipGajiDto;
|
||||||
@ -28,6 +7,20 @@ import com.jasamedika.medifirst2000.service.SlipGajiService;
|
|||||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||||
import com.jasamedika.medifirst2000.util.ResourceUtils;
|
import com.jasamedika.medifirst2000.util.ResourceUtils;
|
||||||
import com.jasamedika.medifirst2000.util.rest.RestUtil;
|
import com.jasamedika.medifirst2000.util.rest.RestUtil;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.core.io.Resource;
|
||||||
|
import org.springframework.http.HttpHeaders;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.http.MediaType;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/slip-gaji")
|
@RequestMapping("/slip-gaji")
|
||||||
@ -102,10 +95,10 @@ public class SlipGajiController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/template/download", method = RequestMethod.GET)
|
@RequestMapping(value = "/template/download", method = RequestMethod.GET)
|
||||||
public ResponseEntity<Resource> downloadTemplate(@RequestParam(value = "filename", required = true) String fileName,
|
public ResponseEntity<Resource> downloadTemplate(@RequestParam(value = "filename") String fileName,
|
||||||
HttpServletRequest request) {
|
HttpServletRequest request) {
|
||||||
Resource resource = null;
|
Resource resource;
|
||||||
Map<String, String> mapHeaderMessage = new HashMap<String, String>();
|
Map<String, String> mapHeaderMessage = new HashMap<>();
|
||||||
if (CommonUtil.isNotNullOrEmpty(fileName)) {
|
if (CommonUtil.isNotNullOrEmpty(fileName)) {
|
||||||
try {
|
try {
|
||||||
resource = ResourceUtils.loadFile(fileName);
|
resource = ResourceUtils.loadFile(fileName);
|
||||||
@ -113,7 +106,7 @@ public class SlipGajiController {
|
|||||||
mapHeaderMessage.put(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage());
|
mapHeaderMessage.put(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage());
|
||||||
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
|
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
|
||||||
}
|
}
|
||||||
String contentType = null;
|
String contentType;
|
||||||
try {
|
try {
|
||||||
contentType = request.getServletContext().getMimeType(resource.getFile().getAbsolutePath());
|
contentType = request.getServletContext().getMimeType(resource.getFile().getAbsolutePath());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user