Update service cetakan slip gaji

Penyesuaian handle data bernilai null dan penambahan field periode pada cetakan slip gaji
This commit is contained in:
Salman Manoe 2023-05-16 12:34:36 +07:00
parent 9bf3c3ae09
commit 897dd221c5
3 changed files with 31 additions and 6 deletions

View File

@ -1086,4 +1086,7 @@ public interface PegawaiDao extends PagingAndSortingRepository<Pegawai, Integer>
+ "order by pg.namaLengkap")
public List<Map<String, Object>> findAllDokter();
@Query("select peg.tglLahir from Pegawai peg where peg.id = :idPegawai")
Date findTglLahirById(@Param("idPegawai") Integer idPegawai);
}

View File

@ -3445,13 +3445,18 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
public Map<String, Object> defineSlipGajiDataSource(Integer pegawaiId, Long bulan) {
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);
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());
Date tglLahirPegawai = pegawaiDao.findTglLahirById(pegawaiId);
result.put("namaPegawai", CommonUtil.isNotNullOrEmpty(dto.getNamaPegawai()) ? dto.getNamaPegawai() : "-");
result.put("nip", CommonUtil.isNotNullOrEmpty(dto.getNip()) ? dto.getNip() : "-");
result.put("tglLahir", CommonUtil.isNotNullOrEmpty(tglLahirPegawai) ? df.format(tglLahirPegawai) : "-");
result.put("jabatan", CommonUtil.isNotNullOrEmpty(dto.getJabatan()) ? dto.getJabatan() : "-");
result.put("periode", df.format(new Date(bulan)));
result.put("unitKerja", CommonUtil.isNotNullOrEmpty(dto.getJabatan()) ? dto.getJabatan() : "-");
result.put("subUnitKerja", CommonUtil.isNotNullOrEmpty(dto.getSubUnitKerja()) ? dto.getSubUnitKerja() : "-");
result.put("gaji", "-");
result.put("remunerasiKinerja", "-");
result.put("remunerasiTambahan", "-");
@ -3473,7 +3478,9 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
BigDecimal jumlahPenerimaan = BigDecimal.ZERO;
BigDecimal jumlahPemotongan = BigDecimal.ZERO;
BigDecimal jumlahPenerimaanBersih = BigDecimal.ZERO;
List<SlipGajiKomponenDto> komponenDto = dto.getKomponen();
List<SlipGajiKomponenDto> komponenDto = new ArrayList<>();
if (CommonUtil.isNotNullOrEmpty(dto.getKomponen()))
komponenDto = dto.getKomponen();
for (SlipGajiKomponenDto k : komponenDto) {
if (Master.JenisKomponenGaji.PENERIMAAN == k.getIdJenisKomponen()) {
jumlahPenerimaan = jumlahPenerimaan.add(new BigDecimal(k.getNominal().doubleValue()));

View File

@ -30,6 +30,7 @@
<field name="jumlahPenerimaan" class="java.lang.String"/>
<field name="jumlahPemotongan" class="java.lang.String"/>
<field name="jumlahPenerimaanBersih" class="java.lang.String"/>
<field name="periode" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
@ -810,6 +811,20 @@
<textFieldExpression><![CDATA["dicetak melalui aplikasi SMART pada " + new SimpleDateFormat("dd MMMM yyyy", new java.util.Locale("id")).format(new Date())]]></textFieldExpression>
</textField>
</elementGroup>
<textField>
<reportElement x="436" y="40" width="236" height="20" uuid="bcd9a255-8b8f-493f-9f1f-2d2263313f8a"/>
<textElement verticalAlignment="Middle">
<font size="11"/>
</textElement>
<textFieldExpression><![CDATA[": " + $F{periode}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="336" y="40" width="100" height="20" uuid="5137cbca-8972-499f-8876-cfe9489b879d"/>
<textElement verticalAlignment="Middle">
<font size="11"/>
</textElement>
<text><![CDATA[Periode]]></text>
</staticText>
</band>
</summary>
</jasperReport>