Create report service untuk slip gaji
This commit is contained in:
parent
709b4e9c75
commit
12a046ea25
@ -125,6 +125,11 @@ public class Master {
|
||||
public static final Integer[] DIRUT = { 137, 896, 1172 };
|
||||
public static final Integer[] LEVEL_KEPALA = { 3, 4 };
|
||||
}
|
||||
|
||||
public static final class JenisKomponenGaji {
|
||||
public static final Integer PENERIMAAN = 1;
|
||||
public static final Integer PEMOTONGAN = 2;
|
||||
}
|
||||
|
||||
public static final class JenisPegawai {
|
||||
public static final int DOKTER = 1;
|
||||
@ -211,6 +216,27 @@ public class Master {
|
||||
public static final class KelompokUser {
|
||||
public static final Integer DEFAULT = 0;
|
||||
}
|
||||
|
||||
public static final class KomponenGaji {
|
||||
public static final Integer GAJI = 1;
|
||||
public static final Integer REMUNERASI_KINERJA = 2;
|
||||
public static final Integer REMUNERASI_TAMBAHAN = 3;
|
||||
public static final Integer FEE_FOR_SERVICE = 4;
|
||||
public static final Integer FEE_FOR_ONSITE = 5;
|
||||
public static final Integer UANG_MAKAN = 6;
|
||||
public static final Integer UANG_LEMBUR = 7;
|
||||
public static final Integer PPH_GAJI = 8;
|
||||
public static final Integer PPH_REMUNERASI = 9;
|
||||
public static final Integer PPH_FEE_FOR_SERVICE = 10;
|
||||
public static final Integer PPH_FEE_FOR_ONSITE = 11;
|
||||
public static final Integer PPH_UANG_MAKAN = 12;
|
||||
public static final Integer PPH_UANG_LEMBUR = 13;
|
||||
public static final Integer IURAN_WAJIB_KOPERASI = 14;
|
||||
public static final Integer PINJAMAN_KOPERASI = 15;
|
||||
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 class KomponenHarga {
|
||||
public static final Integer JASA_ASISTEN_SPESIALIS = 22;
|
||||
|
||||
@ -131,4 +131,5 @@ public interface ReportService extends BaseVoService<Pasien, PasienVO, Integer>
|
||||
public List<Map<String, Object>> getHistoriUsulanRincianKegiatan(Integer idPelaksanaanTugas,
|
||||
Integer idRincianKegiatan);
|
||||
|
||||
Map<String, Object> defineSlipGajiDataSource(Integer pegawaiId, Long bulan);
|
||||
}
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
package com.jasamedika.medifirst2000.service.impl;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DateFormat;
|
||||
import java.text.NumberFormat;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
@ -60,6 +62,8 @@ 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.SuratPesananSementaraDto;
|
||||
import com.jasamedika.medifirst2000.entities.Jabatan;
|
||||
import com.jasamedika.medifirst2000.entities.JenisLimbahB3Masuk;
|
||||
@ -75,6 +79,7 @@ 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;
|
||||
@ -126,6 +131,9 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
|
||||
@Autowired
|
||||
private PermohonanStatusPegawaiService permohonanStatusPegawaiService;
|
||||
|
||||
@Autowired
|
||||
private SlipGajiService slipGajiService;
|
||||
|
||||
@Autowired
|
||||
private StatusPegawaiDao statusPegawaiDao;
|
||||
|
||||
@ -3429,4 +3437,88 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> defineSlipGajiDataSource(Integer pegawaiId, Long bulan) {
|
||||
Locale indonesia = new Locale("in", "ID");
|
||||
NumberFormat nf = NumberFormat.getCurrencyInstance(indonesia);
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
SlipGajiDto dto = slipGajiService.get(pegawaiId, bulan);
|
||||
result.put("namaPegawai", dto.getNamaPegawai());
|
||||
result.put("nip", dto.getNip());
|
||||
result.put("jabatan", dto.getJabatan());
|
||||
result.put("unitKerja", dto.getJabatan());
|
||||
result.put("subUnitKerja", dto.getSubUnitKerja());
|
||||
result.put("gaji", "-");
|
||||
result.put("remunerasiKinerja", "-");
|
||||
result.put("remunerasiTambahan", "-");
|
||||
result.put("feeForService", "-");
|
||||
result.put("feeForOnSite", "-");
|
||||
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", "-");
|
||||
BigDecimal jumlahPenerimaan = BigDecimal.ZERO;
|
||||
BigDecimal jumlahPemotongan = BigDecimal.ZERO;
|
||||
BigDecimal jumlahPenerimaanBersih = BigDecimal.ZERO;
|
||||
List<SlipGajiKomponenDto> komponenDto = dto.getKomponen();
|
||||
for (SlipGajiKomponenDto k : komponenDto) {
|
||||
if (Master.JenisKomponenGaji.PENERIMAAN == k.getIdJenisKomponen()) {
|
||||
jumlahPenerimaan = jumlahPenerimaan.add(new BigDecimal(k.getNominal().doubleValue()));
|
||||
} else if (Master.JenisKomponenGaji.PEMOTONGAN == k.getIdJenisKomponen()) {
|
||||
jumlahPemotongan = jumlahPemotongan.add(new BigDecimal(k.getNominal().doubleValue()));
|
||||
}
|
||||
if (Master.KomponenGaji.GAJI == k.getIdKomponen()) {
|
||||
result.put("gaji", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.REMUNERASI_KINERJA == k.getIdKomponen()) {
|
||||
result.put("remunerasiKinerja", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.REMUNERASI_TAMBAHAN == k.getIdKomponen()) {
|
||||
result.put("remunerasiTambahan", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.FEE_FOR_SERVICE == k.getIdKomponen()) {
|
||||
result.put("feeForService", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.FEE_FOR_ONSITE == k.getIdKomponen()) {
|
||||
result.put("feeForOnSite", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.UANG_MAKAN == k.getIdKomponen()) {
|
||||
result.put("uangMakan", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.UANG_LEMBUR == k.getIdKomponen()) {
|
||||
result.put("uangLembur", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.PPH_GAJI == k.getIdKomponen()) {
|
||||
result.put("pphGaji", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.PPH_REMUNERASI == k.getIdKomponen()) {
|
||||
result.put("pphRemunerasi", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.PPH_FEE_FOR_SERVICE == k.getIdKomponen()) {
|
||||
result.put("pphFeeForService", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.PPH_FEE_FOR_ONSITE == k.getIdKomponen()) {
|
||||
result.put("pphFeeForOnSite", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.PPH_UANG_MAKAN == k.getIdKomponen()) {
|
||||
result.put("pphUangMakan", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.PPH_UANG_LEMBUR == k.getIdKomponen()) {
|
||||
result.put("pphUangLembur", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.IURAN_WAJIB_KOPERASI == k.getIdKomponen()) {
|
||||
result.put("iuranWajibKoperasi", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.PINJAMAN_KOPERASI == k.getIdKomponen()) {
|
||||
result.put("pinjamanKoperasi", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.BIAYA_OBAT_ALKES == k.getIdKomponen()) {
|
||||
result.put("biayaObatAlkes", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.BIAYA_RAWAT_INAP == k.getIdKomponen()) {
|
||||
result.put("biayaRawatInap", nf.format(k.getNominal()));
|
||||
} else if (Master.KomponenGaji.BIAYA_RAWAT_JALAN == k.getIdKomponen()) {
|
||||
result.put("biayaRawatJalan", nf.format(k.getNominal()));
|
||||
}
|
||||
}
|
||||
result.put("jumlahPenerimaan", nf.format(jumlahPenerimaan));
|
||||
result.put("jumlahPemotongan", nf.format(jumlahPemotongan));
|
||||
jumlahPenerimaanBersih = jumlahPenerimaan.subtract(new BigDecimal(jumlahPemotongan.doubleValue()));
|
||||
result.put("jumlahPenerimaanBersih", nf.format(jumlahPenerimaanBersih));
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@ -7839,4 +7840,18 @@ public class ReportingController extends LocaleController<RegistrasiPelayananVO>
|
||||
return m;
|
||||
}
|
||||
|
||||
@RequestMapping("/slipGaji")
|
||||
public ModelAndView getSlipGaji(ModelAndView m, @RequestParam(value = "format", required = false) String format,
|
||||
@RequestParam(value = "idPegawai", required = true) Integer pegawaiId,
|
||||
@RequestParam(value = "bulan", required = true) Long bulan) {
|
||||
Map<String, Object> data = reportService.defineSlipGajiDataSource(pegawaiId, bulan);
|
||||
List<Map<String, Object>> dataSource = new ArrayList<>();
|
||||
dataSource.add(data);
|
||||
m.addObject("dataSource", dataSource);
|
||||
m.addObject("format", "pdf");
|
||||
if (format != null && !format.isEmpty())
|
||||
m.addObject("format", format);
|
||||
return m;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -576,4 +576,8 @@ reporting/tarifLayananRuangan.url=/WEB-INF/templates/jrxml/tarifLayananRuangan.j
|
||||
|
||||
#tarifLayananLamaRuangan
|
||||
reporting/tarifLayananLamaRuangan.(class)=org.springframework.web.servlet.view.jasperreports.JasperReportsMultiFormatView
|
||||
reporting/tarifLayananLamaRuangan.url=/WEB-INF/templates/jrxml/tarifLayananRuangan.jrxml
|
||||
reporting/tarifLayananLamaRuangan.url=/WEB-INF/templates/jrxml/tarifLayananRuangan.jrxml
|
||||
|
||||
#slipGaji
|
||||
reporting/slipGaji.(class)=org.springframework.web.servlet.view.jasperreports.JasperReportsMultiFormatView
|
||||
reporting/slipGaji.url=/WEB-INF/templates/jrxml/slipGaji.jrxml
|
||||
@ -1,8 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Jaspersoft Studio version 6.20.1.final using JasperReports Library version 6.20.1-7584acb244139816654f64e2fd57a00d3e31921e -->
|
||||
<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" columnWidth="672" leftMargin="85" rightMargin="85" topMargin="85" bottomMargin="85" uuid="b004215b-da52-4c09-b65d-f2feeeb72d32">
|
||||
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
|
||||
<property name="com.jaspersoft.studio.unit.rightMargin" value="cm"/>
|
||||
<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" isIgnorePagination="true" uuid="b004215b-da52-4c09-b65d-f2feeeb72d32">
|
||||
<queryString>
|
||||
<![CDATA[]]>
|
||||
</queryString>
|
||||
@ -72,7 +70,7 @@
|
||||
</band>
|
||||
</title>
|
||||
<summary>
|
||||
<band height="356" splitType="Stretch">
|
||||
<band height="373" splitType="Stretch">
|
||||
<elementGroup>
|
||||
<staticText>
|
||||
<reportElement stretchType="ElementGroupHeight" x="0" y="0" width="100" height="20" uuid="057ed757-3d6b-4918-adbc-376c8110efde">
|
||||
@ -772,11 +770,11 @@
|
||||
</elementGroup>
|
||||
<elementGroup>
|
||||
<textField>
|
||||
<reportElement stretchType="ElementGroupHeight" x="0" y="339" width="672" height="17" uuid="55f384c5-07ec-45cc-9ff0-77df6c0b0368">
|
||||
<reportElement stretchType="ElementGroupHeight" x="0" y="339" width="672" height="20" uuid="55f384c5-07ec-45cc-9ff0-77df6c0b0368">
|
||||
<property name="com.jaspersoft.studio.unit.height" value="px"/>
|
||||
</reportElement>
|
||||
<textElement textAlignment="Right">
|
||||
<font isItalic="true"/>
|
||||
<textElement textAlignment="Right" verticalAlignment="Bottom">
|
||||
<font size="8" isItalic="true"/>
|
||||
</textElement>
|
||||
<textFieldExpression><![CDATA["dicetak melalui aplikasi SMART pada " + new SimpleDateFormat("dd MMMM yyyy", new java.util.Locale("id")).format(new Date())]]></textFieldExpression>
|
||||
</textField>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user