Create SlipGajiService

Pembuatan fitur simpan dan get slip gaji per pegawai
This commit is contained in:
salmanoe 2023-01-20 21:14:25 +07:00
parent a7802fb09f
commit e4e5e0dabb
15 changed files with 1648 additions and 43 deletions

View File

@ -45,7 +45,7 @@
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
@ -227,16 +227,16 @@
<artifactId>querydsl-jpa</artifactId>
<version>3.6.0</version>
</dependency>
<!-- Alter syamsu -->
<!-- Alter syamsu -->
<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -->
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>4.1.0</version>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>4.1.0</version>
</dependency>
<!-- Javax Servlet Lib -->
<dependency>
<groupId>javax.servlet</groupId>
@ -244,43 +244,40 @@
<version>${servlet.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.torpedoquery</groupId>
<artifactId>org.torpedoquery</artifactId>
<version>2.3.0</version>
<exclusions>
<exclusion>
<groupId>org.torpedoquery</groupId>
<artifactId>org.torpedoquery</artifactId>
<version>2.3.0</version>
<exclusions>
<exclusion>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
</exclusion>
</exclusions>
</exclusions>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.21.0-GA</version>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.21.0-GA</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.torpedoquery/org.torpedoquery -->
<!-- <dependency>
<groupId>org.torpedoquery</groupId>
<artifactId>org.torpedoquery</artifactId>
<version>1.5.0</version>
</dependency> -->
<!-- <dependency> <groupId>org.torpedoquery</groupId> <artifactId>org.torpedoquery</artifactId>
<version>1.5.0</version> </dependency> -->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.19.3</version>
</dependency>
<!-- Alter syamsu -->
<!-- Alter Lukman -->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.19.3</version>
</dependency>
<!-- Alter syamsu -->
<!-- Alter Lukman -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>

View File

@ -348,6 +348,10 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends CrudRepository<MapPegaw
@Query("select model from MapPegawaiJabatanToUnitKerja model where model.statusEnabled is true")
List<MapPegawaiJabatanToUnitKerja> getAllMapping();
@Query("select model from MapPegawaiJabatanToUnitKerja model " + "where model.statusEnabled is true "
+ "and model.pegawaiId = :pegawaiId")
List<MapPegawaiJabatanToUnitKerja> findByPegawaiId(@Param("pegawaiId") Integer pegawaiId);
@Query("select new Map(mapp.id as idMapping, mapp.pegawaiId as idPegawai, mapp.atasanLangsungId as idAtasan, mapp.pejabatPenilaiId as idPenilai) "
+ "from MapPegawaiJabatanToUnitKerja mapp "
+ "where mapp.statusEnabled is true and mapp.jabatanId is not null and mapp.unitKerjaPegawaiId is not null and mapp.subUnitKerjaPegawaiId is not null "

View File

@ -0,0 +1,18 @@
package com.jasamedika.medifirst2000.dao;
import java.util.UUID;
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.PenerimaanGaji;
/**
* @author salmanoe
* @since Jan 20, 2023
*/
public interface PenerimaanGajiDao extends JpaRepository<PenerimaanGaji, String> {
@Query("select pg from PenerimaanGaji pg where pg.id = :id")
PenerimaanGaji findBySlipGajiId(@Param("id") String id);
}

View File

@ -0,0 +1,18 @@
package com.jasamedika.medifirst2000.dao;
import java.util.UUID;
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.PenguranganGaji;
/**
* @author salmanoe
* @since Jan 20, 2023
*/
public interface PenguranganGajiDao extends JpaRepository<PenguranganGaji, String> {
@Query("select pg from PenguranganGaji pg where pg.id = :id")
PenguranganGaji findBySlipGajiId(@Param("id") String id);
}

View File

@ -0,0 +1,15 @@
package com.jasamedika.medifirst2000.dao;
import java.util.Optional;
import java.util.UUID;
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.SlipGaji;
public interface SlipGajiDao extends JpaRepository<SlipGaji, String> {
@Query("select sg from SlipGaji sg where sg.pegawai.id = :pegawaiId")
Optional<SlipGaji> findByPegawai(@Param("pegawaiId") Integer pegawaiId);
}

View File

@ -0,0 +1,19 @@
package com.jasamedika.medifirst2000.dao;
import java.util.List;
import java.util.UUID;
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.SlipGajiDetail;
/**
* @author salmanoe
* @since Jan 20, 2023
*/
public interface SlipGajiDetailDao extends JpaRepository<SlipGajiDetail, String> {
@Query("select sgd from SlipGajiDetail sgd where sgd.slipGaji.id = :id")
List<SlipGajiDetail> findBySlipGaji(@Param("id") String id);
}

View File

@ -0,0 +1,13 @@
package com.jasamedika.medifirst2000.service;
import com.jasamedika.medifirst2000.dto.SlipGajiDto;
/**
* @author salmanoe
* @since Jan 20, 2023
*/
public interface SlipGajiService {
void save(SlipGajiDto dto);
SlipGajiDto get(Integer pegawaiId);
}

View File

@ -0,0 +1,188 @@
package com.jasamedika.medifirst2000.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.jasamedika.medifirst2000.dao.JabatanDao;
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.NilaiKelompokJabatanDao;
import com.jasamedika.medifirst2000.dao.PegawaiDao;
import com.jasamedika.medifirst2000.dao.PenerimaanGajiDao;
import com.jasamedika.medifirst2000.dao.PenguranganGajiDao;
import com.jasamedika.medifirst2000.dao.SlipGajiDao;
import com.jasamedika.medifirst2000.dao.SlipGajiDetailDao;
import com.jasamedika.medifirst2000.dao.SubUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.UnitKerjaDao;
import com.jasamedika.medifirst2000.dto.SlipGajiDto;
import com.jasamedika.medifirst2000.entities.MapPegawaiJabatanToUnitKerja;
import com.jasamedika.medifirst2000.entities.PenerimaanGaji;
import com.jasamedika.medifirst2000.entities.PenguranganGaji;
import com.jasamedika.medifirst2000.entities.SlipGaji;
import com.jasamedika.medifirst2000.entities.SlipGajiDetail;
import com.jasamedika.medifirst2000.service.SlipGajiService;
import com.jasamedika.medifirst2000.util.CommonUtil;
/**
* @author salmanoe
* @since Jan 20, 2023
*/
@Service
@Transactional
public class SlipGajiServiceImpl implements SlipGajiService {
@Autowired
private SlipGajiDao slipGajiDao;
@Autowired
private SlipGajiDetailDao slipGajiDetailDao;
@Autowired
private PenerimaanGajiDao penerimaanGajiDao;
@Autowired
private PenguranganGajiDao penguranganGajiDao;
@Autowired
private PegawaiDao pegawaiDao;
@Autowired
private MapPegawaiJabatanToUnitKerjaDao mappingJabatanDao;
@Autowired
private JabatanDao jabatanDao;
@Autowired
private UnitKerjaDao unitKerjaDao;
@Autowired
private SubUnitKerjaDao subUnitKerjaDao;
@Autowired
private NilaiKelompokJabatanDao gradeDao;
@Override
public void save(SlipGajiDto dto) {
SlipGaji.SlipGajiBuilder slipGaji = SlipGaji.builder();
slipGaji.pegawai(pegawaiDao.findById(dto.getIdPegawai()));
slipGaji.bulan(new Date(dto.getBulan()));
SlipGaji savedSlip = slipGajiDao.save(slipGaji.build());
if (CommonUtil.isNotNullOrEmpty(savedSlip)) {
{
List<SlipGajiDetail> listDetail = new ArrayList<>();
List<MapPegawaiJabatanToUnitKerja> listMapping = mappingJabatanDao.findByPegawaiId(dto.getIdPegawai());
listMapping.forEach(j -> {
SlipGajiDetail.SlipGajiDetailBuilder detail = SlipGajiDetail.builder();
detail.slipGaji(savedSlip);
// if (CommonUtil.isNotNullOrEmpty(j.getJabatanId()))
// detail.jabatan(jabatanDao.findOne(j.getJabatanId()));
// if (CommonUtil.isNotNullOrEmpty(j.getUnitKerjaPegawaiId()))
// detail.unitKerja(unitKerjaDao.findOne(j.getUnitKerjaPegawaiId()));
// if (CommonUtil.isNotNullOrEmpty(j.getSubUnitKerjaPegawaiId()))
// detail.subUnitKerja(subUnitKerjaDao.findOne(j.getSubUnitKerjaPegawaiId()));
// if (CommonUtil.isNotNullOrEmpty(j.getGradeId()))
// detail.grade(gradeDao.findOne(j.getGradeId()));
if (CommonUtil.isNotNullOrEmpty(j.getJabatan()))
detail.jabatan(j.getJabatan());
if (CommonUtil.isNotNullOrEmpty(j.getUnitKerjaPegawai()))
detail.unitKerja(j.getUnitKerjaPegawai());
if (CommonUtil.isNotNullOrEmpty(j.getSubUnitKerjaPegawai()))
detail.subUnitKerja(j.getSubUnitKerjaPegawai());
if (CommonUtil.isNotNullOrEmpty(j.getGrade()))
detail.grade(j.getGrade());
listDetail.add(detail.build());
});
slipGajiDetailDao.save(listDetail);
}
{
PenerimaanGaji.PenerimaanGajiBuilder penerimaan = PenerimaanGaji.builder();
penerimaan.gaji(dto.getGaji());
penerimaan.remunerasiKinerja(dto.getRemunerasiKinerja());
penerimaan.remunerasiTambahan(dto.getRemunerasiTambahan());
penerimaan.feeForService(dto.getFeeForService());
penerimaan.feeForOnSite(dto.getFeeForOnSite());
penerimaan.uangMakan(dto.getUangMakan());
penerimaan.uangLembur(dto.getUangLembur());
penerimaan.slipGaji(savedSlip);
penerimaanGajiDao.save(penerimaan.build());
}
{
PenguranganGaji.PenguranganGajiBuilder pengurangan = PenguranganGaji.builder();
pengurangan.pphGaji(dto.getPphGaji());
pengurangan.pphRemunerasi(dto.getPphRemunerasi());
pengurangan.pphFeeForService(dto.getPphFeeForService());
pengurangan.pphFeeForOnSite(dto.getFeeForOnSite());
pengurangan.pphUangMakan(dto.getPphUangMakan());
pengurangan.pphUangLembur(dto.getPphUangLembur());
pengurangan.iuranWajibKoperasi(dto.getIuranWajibKoperasi());
pengurangan.potonganPinjamanKoperasi(dto.getPotonganPinjamanKoperasi());
pengurangan.potonganObat(dto.getPotonganObat());
pengurangan.biayaRawatInap(dto.getBiayaRawatInap());
pengurangan.biayaRawatJalan(dto.getBiayaRawatJalan());
pengurangan.slipGaji(savedSlip);
penguranganGajiDao.save(pengurangan.build());
}
}
}
@Override
public SlipGajiDto get(Integer pegawaiId) {
Optional<SlipGaji> slipGaji = slipGajiDao.findByPegawai(pegawaiId);
SlipGajiDto.SlipGajiDtoBuilder dto = SlipGajiDto.builder();
if (slipGaji.isPresent()) {
dto.idPegawai(slipGaji.get().getPegawai().getId());
dto.namaPegawai(slipGaji.get().getPegawai().getNamaLengkap());
dto.bulan(slipGaji.get().getBulan().getTime());
{
List<SlipGajiDetail> listDetail = slipGajiDetailDao.findBySlipGaji(slipGaji.get().getId());
List<String> listNamaJabatan = listDetail.stream()
.map(d -> CommonUtil.isNotNullOrEmpty(d.getJabatan()) ? d.getJabatan().getNamaJabatan() : "-")
.collect(Collectors.toList());
List<String> listNamaUnitKerja = listDetail.stream()
.map(d -> CommonUtil.isNotNullOrEmpty(d.getUnitKerja()) ? d.getUnitKerja().getName() : "-")
.collect(Collectors.toList());
List<String> listNamaSubunitKerja = listDetail.stream().map(
d -> CommonUtil.isNotNullOrEmpty(d.getSubUnitKerja()) ? d.getSubUnitKerja().getName() : "-")
.collect(Collectors.toList());
List<String> listNamaGrade = listDetail.stream()
.map(d -> CommonUtil.isNotNullOrEmpty(d.getGrade()) ? d.getGrade().getGradeDesc() : "-")
.collect(Collectors.toList());
dto.jabatan(String.join("/", listNamaJabatan));
dto.unitKerja(String.join("/", listNamaUnitKerja));
dto.subUnitKerja(String.join("/", listNamaSubunitKerja));
dto.grade(String.join("/", listNamaGrade));
}
{
PenerimaanGaji penerimaan = penerimaanGajiDao.findBySlipGajiId(slipGaji.get().getId());
dto.gaji(penerimaan.getGaji());
dto.remunerasiKinerja(penerimaan.getRemunerasiKinerja());
dto.remunerasiTambahan(penerimaan.getRemunerasiTambahan());
dto.feeForService(penerimaan.getFeeForService());
dto.feeForOnSite(penerimaan.getFeeForOnSite());
dto.uangMakan(penerimaan.getUangMakan());
dto.uangLembur(penerimaan.getUangLembur());
}
{
PenguranganGaji pengurangan = penguranganGajiDao.findBySlipGajiId(slipGaji.get().getId());
dto.pphGaji(pengurangan.getPphGaji());
dto.pphRemunerasi(pengurangan.getPphRemunerasi());
dto.pphFeeForService(pengurangan.getPphFeeForService());
dto.pphFeeForOnSite(pengurangan.getPphFeeForOnSite());
dto.pphUangMakan(pengurangan.getPphUangMakan());
dto.pphUangLembur(pengurangan.getPphUangLembur());
dto.iuranWajibKoperasi(pengurangan.getIuranWajibKoperasi());
dto.potonganPinjamanKoperasi(pengurangan.getPotonganPinjamanKoperasi());
dto.potonganObat(pengurangan.getPotonganObat());
dto.biayaRawatInap(pengurangan.getBiayaRawatInap());
dto.biayaRawatJalan(pengurangan.getBiayaRawatJalan());
}
}
return dto.build();
}
}

View File

@ -9,11 +9,11 @@
<relativePath>../Medifirst2000/pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-envers</artifactId>
<version>${org.hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-envers</artifactId>
<version>${org.hibernate.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
@ -40,8 +40,6 @@
<version>${jackson2.version}</version>
</dependency>
</dependencies>
<organization>
<name>Jasa Medika</name>

View File

@ -0,0 +1,495 @@
package com.jasamedika.medifirst2000.dto;
import java.math.BigDecimal;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.helper.Caption;
/**
* @author salmanoe
* @since Jan 20, 2023
*/
public class SlipGajiDto {
@NotNull(message = "ID Pegawai must not be null")
@Caption(value = "ID Pegawai")
private Integer idPegawai;
@Caption(value = "Nama Pegawai")
private String namaPegawai;
@Caption(value = "Jabatan")
private String jabatan;
@Caption(value = "Unit Kerja")
private String unitKerja;
@Caption(value = "Subunit Kerja")
private String subUnitKerja;
@Caption(value = "Grade")
private String grade;
@Caption(value = "Bulan")
private Long bulan;
@Caption(value = "Gaji")
private BigDecimal gaji;
@Caption(value = "Remunerasi Kinerja")
private BigDecimal remunerasiKinerja;
@Caption(value = "Remunerasi Tambahan")
private BigDecimal remunerasiTambahan;
@Caption(value = "Fee For Service")
private BigDecimal feeForService;
@Caption(value = "Fee for on Site")
private BigDecimal feeForOnSite;
@Caption(value = "Uang Makan")
private BigDecimal uangMakan;
@Caption(value = "Uang Lembur")
private BigDecimal uangLembur;
@Caption(value = "PPH Gaji")
private BigDecimal pphGaji;
@Caption(value = "PPH Remunerasi")
private BigDecimal pphRemunerasi;
@Caption(value = "PPH Fee for Service")
private BigDecimal pphFeeForService;
@Caption(value = "PPH Fee for On Site")
private BigDecimal pphFeeForOnSite;
@Caption(value = "PPH Uang Makan")
private BigDecimal pphUangMakan;
@Caption(value = "PPH Uang Lembur")
private BigDecimal pphUangLembur;
@Caption(value = "Iuran Wajib Koperasi")
private BigDecimal iuranWajibKoperasi;
@Caption(value = "Potongan Pinjaman Koperasi")
private BigDecimal potonganPinjamanKoperasi;
@Caption(value = "Potongan Obat")
private BigDecimal potonganObat;
@Caption(value = "Biaya Rawat Inap")
private BigDecimal biayaRawatInap;
@Caption(value = "Biaya Rawat Jalan")
private BigDecimal biayaRawatJalan;
public SlipGajiDto() {
}
public SlipGajiDto(Integer idPegawai, String namaPegawai, String jabatan, String unitKerja, String subUnitKerja,
String grade, Long bulan, BigDecimal gaji, BigDecimal remunerasiKinerja, BigDecimal remunerasiTambahan,
BigDecimal feeForService, BigDecimal feeForOnSite, BigDecimal uangMakan, BigDecimal uangLembur,
BigDecimal pphGaji, BigDecimal pphRemunerasi, BigDecimal pphFeeForService, BigDecimal pphFeeForOnSite,
BigDecimal pphUangMakan, BigDecimal pphUangLembur, BigDecimal iuranWajibKoperasi,
BigDecimal potonganPinjamanKoperasi, BigDecimal potonganObat, BigDecimal biayaRawatInap,
BigDecimal biayaRawatJalan) {
this.idPegawai = idPegawai;
this.namaPegawai = namaPegawai;
this.jabatan = jabatan;
this.unitKerja = unitKerja;
this.subUnitKerja = subUnitKerja;
this.grade = grade;
this.bulan = bulan;
this.gaji = gaji;
this.remunerasiKinerja = remunerasiKinerja;
this.remunerasiTambahan = remunerasiTambahan;
this.feeForService = feeForService;
this.feeForOnSite = feeForOnSite;
this.uangMakan = uangMakan;
this.uangLembur = uangLembur;
this.pphGaji = pphGaji;
this.pphRemunerasi = pphRemunerasi;
this.pphFeeForService = pphFeeForService;
this.pphFeeForOnSite = pphFeeForOnSite;
this.pphUangMakan = pphUangMakan;
this.pphUangLembur = pphUangLembur;
this.iuranWajibKoperasi = iuranWajibKoperasi;
this.potonganPinjamanKoperasi = potonganPinjamanKoperasi;
this.potonganObat = potonganObat;
this.biayaRawatInap = biayaRawatInap;
this.biayaRawatJalan = biayaRawatJalan;
}
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 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 BigDecimal getGaji() {
return gaji;
}
public void setGaji(BigDecimal gaji) {
this.gaji = gaji;
}
public BigDecimal getRemunerasiKinerja() {
return remunerasiKinerja;
}
public void setRemunerasiKinerja(BigDecimal remunerasiKinerja) {
this.remunerasiKinerja = remunerasiKinerja;
}
public BigDecimal getRemunerasiTambahan() {
return remunerasiTambahan;
}
public void setRemunerasiTambahan(BigDecimal remunerasiTambahan) {
this.remunerasiTambahan = remunerasiTambahan;
}
public BigDecimal getFeeForService() {
return feeForService;
}
public void setFeeForService(BigDecimal feeForService) {
this.feeForService = feeForService;
}
public BigDecimal getFeeForOnSite() {
return feeForOnSite;
}
public void setFeeForOnSite(BigDecimal feeForOnSite) {
this.feeForOnSite = feeForOnSite;
}
public BigDecimal getUangMakan() {
return uangMakan;
}
public void setUangMakan(BigDecimal uangMakan) {
this.uangMakan = uangMakan;
}
public BigDecimal getUangLembur() {
return uangLembur;
}
public void setUangLembur(BigDecimal uangLembur) {
this.uangLembur = uangLembur;
}
public BigDecimal getPphGaji() {
return pphGaji;
}
public void setPphGaji(BigDecimal pphGaji) {
this.pphGaji = pphGaji;
}
public BigDecimal getPphRemunerasi() {
return pphRemunerasi;
}
public void setPphRemunerasi(BigDecimal pphRemunerasi) {
this.pphRemunerasi = pphRemunerasi;
}
public BigDecimal getPphFeeForService() {
return pphFeeForService;
}
public void setPphFeeForService(BigDecimal pphFeeForService) {
this.pphFeeForService = pphFeeForService;
}
public BigDecimal getPphFeeForOnSite() {
return pphFeeForOnSite;
}
public void setPphFeeForOnSite(BigDecimal pphFeeForOnSite) {
this.pphFeeForOnSite = pphFeeForOnSite;
}
public BigDecimal getPphUangMakan() {
return pphUangMakan;
}
public void setPphUangMakan(BigDecimal pphUangMakan) {
this.pphUangMakan = pphUangMakan;
}
public BigDecimal getPphUangLembur() {
return pphUangLembur;
}
public void setPphUangLembur(BigDecimal pphUangLembur) {
this.pphUangLembur = pphUangLembur;
}
public BigDecimal getIuranWajibKoperasi() {
return iuranWajibKoperasi;
}
public void setIuranWajibKoperasi(BigDecimal iuranWajibKoperasi) {
this.iuranWajibKoperasi = iuranWajibKoperasi;
}
public BigDecimal getPotonganPinjamanKoperasi() {
return potonganPinjamanKoperasi;
}
public void setPotonganPinjamanKoperasi(BigDecimal potonganPinjamanKoperasi) {
this.potonganPinjamanKoperasi = potonganPinjamanKoperasi;
}
public BigDecimal getPotonganObat() {
return potonganObat;
}
public void setPotonganObat(BigDecimal potonganObat) {
this.potonganObat = potonganObat;
}
public BigDecimal getBiayaRawatInap() {
return biayaRawatInap;
}
public void setBiayaRawatInap(BigDecimal biayaRawatInap) {
this.biayaRawatInap = biayaRawatInap;
}
public BigDecimal getBiayaRawatJalan() {
return biayaRawatJalan;
}
public void setBiayaRawatJalan(BigDecimal biayaRawatJalan) {
this.biayaRawatJalan = biayaRawatJalan;
}
public static SlipGajiDtoBuilder builder() {
return new SlipGajiDtoBuilder();
}
public static class SlipGajiDtoBuilder {
private Integer idPegawai;
private String namaPegawai;
private String jabatan;
private String unitKerja;
private String subUnitKerja;
private String grade;
private Long bulan;
private BigDecimal gaji;
private BigDecimal remunerasiKinerja;
private BigDecimal remunerasiTambahan;
private BigDecimal feeForService;
private BigDecimal feeForOnSite;
private BigDecimal uangMakan;
private BigDecimal uangLembur;
private BigDecimal pphGaji;
private BigDecimal pphRemunerasi;
private BigDecimal pphFeeForService;
private BigDecimal pphFeeForOnSite;
private BigDecimal pphUangMakan;
private BigDecimal pphUangLembur;
private BigDecimal iuranWajibKoperasi;
private BigDecimal potonganPinjamanKoperasi;
private BigDecimal potonganObat;
private BigDecimal biayaRawatInap;
private BigDecimal biayaRawatJalan;
public SlipGajiDtoBuilder() {
}
public SlipGajiDtoBuilder idPegawai(final Integer idPegawai) {
this.idPegawai = idPegawai;
return this;
}
public SlipGajiDtoBuilder namaPegawai(final String namaPegawai) {
this.namaPegawai = namaPegawai;
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 gaji(final BigDecimal gaji) {
this.gaji = gaji;
return this;
}
public SlipGajiDtoBuilder remunerasiKinerja(final BigDecimal remunerasiKinerja) {
this.remunerasiKinerja = remunerasiKinerja;
return this;
}
public SlipGajiDtoBuilder remunerasiTambahan(final BigDecimal remunerasiTambahan) {
this.remunerasiTambahan = remunerasiTambahan;
return this;
}
public SlipGajiDtoBuilder feeForService(final BigDecimal feeForService) {
this.feeForService = feeForService;
return this;
}
public SlipGajiDtoBuilder feeForOnSite(final BigDecimal feeForOnSite) {
this.feeForOnSite = feeForOnSite;
return this;
}
public SlipGajiDtoBuilder uangMakan(final BigDecimal uangMakan) {
this.uangMakan = uangMakan;
return this;
}
public SlipGajiDtoBuilder uangLembur(final BigDecimal uangLembur) {
this.uangLembur = uangLembur;
return this;
}
public SlipGajiDtoBuilder pphGaji(final BigDecimal pphGaji) {
this.pphGaji = pphGaji;
return this;
}
public SlipGajiDtoBuilder pphRemunerasi(final BigDecimal pphRemunerasi) {
this.pphRemunerasi = pphRemunerasi;
return this;
}
public SlipGajiDtoBuilder pphFeeForService(final BigDecimal pphFeeForService) {
this.pphFeeForService = pphFeeForService;
return this;
}
public SlipGajiDtoBuilder pphFeeForOnSite(final BigDecimal pphFeeForOnSite) {
this.pphFeeForOnSite = pphFeeForOnSite;
return this;
}
public SlipGajiDtoBuilder pphUangMakan(final BigDecimal pphUangMakan) {
this.pphUangMakan = pphUangMakan;
return this;
}
public SlipGajiDtoBuilder pphUangLembur(final BigDecimal pphUangLembur) {
this.pphUangLembur = pphUangLembur;
return this;
}
public SlipGajiDtoBuilder iuranWajibKoperasi(final BigDecimal iuranWajibKoperasi) {
this.iuranWajibKoperasi = iuranWajibKoperasi;
return this;
}
public SlipGajiDtoBuilder potonganPinjamanKoperasi(final BigDecimal potonganPinjamanKoperasi) {
this.potonganPinjamanKoperasi = potonganPinjamanKoperasi;
return this;
}
public SlipGajiDtoBuilder potonganObat(final BigDecimal potonganObat) {
this.potonganObat = potonganObat;
return this;
}
public SlipGajiDtoBuilder biayaRawatInap(final BigDecimal biayaRawatInap) {
this.biayaRawatInap = biayaRawatInap;
return this;
}
public SlipGajiDtoBuilder biayaRawatJalan(final BigDecimal biayaRawatJalan) {
this.biayaRawatJalan = biayaRawatJalan;
return this;
}
public SlipGajiDto build() {
return new SlipGajiDto(this.idPegawai, this.namaPegawai, this.jabatan, this.unitKerja, this.subUnitKerja,
this.grade, this.bulan, this.gaji, this.remunerasiKinerja, this.remunerasiTambahan,
this.feeForService, this.feeForOnSite, this.uangMakan, this.uangLembur, this.pphGaji,
this.pphRemunerasi, this.pphFeeForService, this.pphFeeForOnSite, this.pphUangMakan,
this.pphUangLembur, this.iuranWajibKoperasi, this.potonganPinjamanKoperasi, this.potonganObat,
this.biayaRawatInap, this.biayaRawatJalan);
}
}
}

View File

@ -0,0 +1,223 @@
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.MapsId;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import com.jasamedika.medifirst2000.helper.Caption;
/**
* @author salmanoe
* @since Jan 19, 2023
*/
@Entity
@Table(name = "sdm_penerimaangaji_t")
public class PenerimaanGaji implements Serializable {
private static final long serialVersionUID = -5897315713394140347L;
@Id
@GenericGenerator(name = "uuid", strategy = "uuid")
@GeneratedValue(generator = "uuid")
@Column(columnDefinition = "CHAR(32)", unique = true)
@Caption(value = "ID")
protected String id;
@OneToOne
@MapsId
@JoinColumn(name = "id", columnDefinition = "CHAR(32)")
@Caption(value = "Slip Gaji")
private SlipGaji slipGaji;
@Column(name = "gaji")
@Caption(value = "Gaji")
private BigDecimal gaji;
@Column(name = "remunkinerja")
@Caption(value = "Remunerasi Kinerja")
private BigDecimal remunerasiKinerja;
@Column(name = "remuntambahan")
@Caption(value = "Remunerasi Tambahan")
private BigDecimal remunerasiTambahan;
@Column(name = "feeforservice")
@Caption(value = "Fee For Service")
private BigDecimal feeForService;
@Column(name = "feeforonsite")
@Caption(value = "Fee for on Site")
private BigDecimal feeForOnSite;
@Column(name = "uangmakan")
@Caption(value = "Uang Makan")
private BigDecimal uangMakan;
@Column(name = "uanglembur")
@Caption(value = "Uang Lembur")
private BigDecimal uangLembur;
public PenerimaanGaji() {
}
public PenerimaanGaji(SlipGaji slipGaji, BigDecimal gaji, BigDecimal remunerasiKinerja,
BigDecimal remunerasiTambahan, BigDecimal feeForService, BigDecimal feeForOnSite, BigDecimal uangMakan,
BigDecimal uangLembur) {
this.slipGaji = slipGaji;
this.gaji = gaji;
this.remunerasiKinerja = remunerasiKinerja;
this.remunerasiTambahan = remunerasiTambahan;
this.feeForService = feeForService;
this.feeForOnSite = feeForOnSite;
this.uangMakan = uangMakan;
this.uangLembur = uangLembur;
}
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 BigDecimal getGaji() {
return gaji;
}
public void setGaji(BigDecimal gaji) {
this.gaji = gaji;
}
public BigDecimal getRemunerasiKinerja() {
return remunerasiKinerja;
}
public void setRemunerasiKinerja(BigDecimal remunerasiKinerja) {
this.remunerasiKinerja = remunerasiKinerja;
}
public BigDecimal getRemunerasiTambahan() {
return remunerasiTambahan;
}
public void setRemunerasiTambahan(BigDecimal remunerasiTambahan) {
this.remunerasiTambahan = remunerasiTambahan;
}
public BigDecimal getFeeForService() {
return feeForService;
}
public void setFeeForService(BigDecimal feeForService) {
this.feeForService = feeForService;
}
public BigDecimal getFeeForOnSite() {
return feeForOnSite;
}
public void setFeeForOnSite(BigDecimal feeForOnSite) {
this.feeForOnSite = feeForOnSite;
}
public BigDecimal getUangMakan() {
return uangMakan;
}
public void setUangMakan(BigDecimal uangMakan) {
this.uangMakan = uangMakan;
}
public BigDecimal getUangLembur() {
return uangLembur;
}
public void setUangLembur(BigDecimal uangLembur) {
this.uangLembur = uangLembur;
}
public static PenerimaanGajiBuilder builder() {
return new PenerimaanGajiBuilder();
}
public static class PenerimaanGajiBuilder {
private SlipGaji slipGaji;
private BigDecimal gaji;
private BigDecimal remunerasiKinerja;
private BigDecimal remunerasiTambahan;
private BigDecimal feeForService;
private BigDecimal feeForOnSite;
private BigDecimal uangMakan;
private BigDecimal uangLembur;
public PenerimaanGajiBuilder() {
}
public PenerimaanGajiBuilder slipGaji(final SlipGaji slipGaji) {
this.slipGaji = slipGaji;
return this;
}
public PenerimaanGajiBuilder gaji(final BigDecimal gaji) {
this.gaji = gaji;
return this;
}
public PenerimaanGajiBuilder remunerasiKinerja(final BigDecimal remunerasiKinerja) {
this.remunerasiKinerja = remunerasiKinerja;
return this;
}
public PenerimaanGajiBuilder remunerasiTambahan(final BigDecimal remunerasiTambahan) {
this.remunerasiTambahan = remunerasiTambahan;
return this;
}
public PenerimaanGajiBuilder feeForService(final BigDecimal feeForService) {
this.feeForService = feeForService;
return this;
}
public PenerimaanGajiBuilder feeForOnSite(final BigDecimal feeForOnSite) {
this.feeForOnSite = feeForOnSite;
return this;
}
public PenerimaanGajiBuilder uangMakan(final BigDecimal uangMakan) {
this.uangMakan = uangMakan;
return this;
}
public PenerimaanGajiBuilder uangLembur(final BigDecimal uangLembur) {
this.uangLembur = uangLembur;
return this;
}
public PenerimaanGaji build() {
return new PenerimaanGaji(this.slipGaji, this.gaji, this.remunerasiKinerja, this.remunerasiTambahan,
this.feeForService, this.feeForOnSite, this.uangMakan, this.uangLembur);
}
}
}

View File

@ -0,0 +1,301 @@
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.MapsId;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import com.jasamedika.medifirst2000.helper.Caption;
/**
* @author salmanoe
* @since Jan 19, 2023
*/
@Entity
@Table(name = "sdm_pengurangangaji_t")
public class PenguranganGaji implements Serializable {
private static final long serialVersionUID = 7469410072144636675L;
@Id
@GenericGenerator(name = "uuid", strategy = "uuid")
@GeneratedValue(generator = "uuid")
@Column(columnDefinition = "CHAR(32)", unique = true)
@Caption(value = "ID")
private String id;
@OneToOne
@MapsId
@JoinColumn(name = "id", columnDefinition = "CHAR(32)")
@Caption(value = "Slip Gaji")
private SlipGaji slipGaji;
@Column(name = "pphgaji")
@Caption(value = "PPH Gaji")
private BigDecimal pphGaji;
@Column(name = "pphremun")
@Caption(value = "PPH Remunerasi")
private BigDecimal pphRemunerasi;
@Column(name = "pphfeeforservice")
@Caption(value = "PPH Fee for Service")
private BigDecimal pphFeeForService;
@Column(name = "pphfeeforonsite")
@Caption(value = "PPH Fee for On Site")
private BigDecimal pphFeeForOnSite;
@Column(name = "pphuangmakan")
@Caption(value = "PPH Uang Makan")
private BigDecimal pphUangMakan;
@Column(name = "pphuanglembur")
@Caption(value = "PPH Uang Lembur")
private BigDecimal pphUangLembur;
@Column(name = "iuranwajibkoperasi")
@Caption(value = "Iuran Wajib Koperasi")
private BigDecimal iuranWajibKoperasi;
@Column(name = "potonganpinjamankoperasi")
@Caption(value = "Potongan Pinjaman Koperasi")
private BigDecimal potonganPinjamanKoperasi;
@Column(name = "potonganobat")
@Caption(value = "Potongan Obat")
private BigDecimal potonganObat;
@Column(name = "biayarawatinap")
@Caption(value = "Biaya Rawat Inap")
private BigDecimal biayaRawatInap;
@Column(name = "biayarawatjalan")
@Caption(value = "Biaya Rawat Jalan")
private BigDecimal biayaRawatJalan;
public PenguranganGaji() {
}
public PenguranganGaji(SlipGaji slipGaji, BigDecimal pphGaji, BigDecimal pphRemunerasi, BigDecimal pphFeeForService,
BigDecimal pphFeeForOnSite, BigDecimal pphUangMakan, BigDecimal pphUangLembur,
BigDecimal iuranWajibKoperasi, BigDecimal potonganPinjamanKoperasi, BigDecimal potonganObat,
BigDecimal biayaRawatInap, BigDecimal biayaRawatJalan) {
this.slipGaji = slipGaji;
this.pphGaji = pphGaji;
this.pphRemunerasi = pphRemunerasi;
this.pphFeeForService = pphFeeForService;
this.pphFeeForOnSite = pphFeeForOnSite;
this.pphUangMakan = pphUangMakan;
this.pphUangLembur = pphUangLembur;
this.iuranWajibKoperasi = iuranWajibKoperasi;
this.potonganPinjamanKoperasi = potonganPinjamanKoperasi;
this.potonganObat = potonganObat;
this.biayaRawatInap = biayaRawatInap;
this.biayaRawatJalan = biayaRawatJalan;
}
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 BigDecimal getPphGaji() {
return pphGaji;
}
public void setPphGaji(BigDecimal pphGaji) {
this.pphGaji = pphGaji;
}
public BigDecimal getPphRemunerasi() {
return pphRemunerasi;
}
public void setPphRemunerasi(BigDecimal pphRemunerasi) {
this.pphRemunerasi = pphRemunerasi;
}
public BigDecimal getPphFeeForService() {
return pphFeeForService;
}
public void setPphFeeForService(BigDecimal pphFeeForService) {
this.pphFeeForService = pphFeeForService;
}
public BigDecimal getPphFeeForOnSite() {
return pphFeeForOnSite;
}
public void setPphFeeForOnSite(BigDecimal pphFeeForOnSite) {
this.pphFeeForOnSite = pphFeeForOnSite;
}
public BigDecimal getPphUangMakan() {
return pphUangMakan;
}
public void setPphUangMakan(BigDecimal pphUangMakan) {
this.pphUangMakan = pphUangMakan;
}
public BigDecimal getPphUangLembur() {
return pphUangLembur;
}
public void setPphUangLembur(BigDecimal pphUangLembur) {
this.pphUangLembur = pphUangLembur;
}
public BigDecimal getIuranWajibKoperasi() {
return iuranWajibKoperasi;
}
public void setIuranWajibKoperasi(BigDecimal iuranWajibKoperasi) {
this.iuranWajibKoperasi = iuranWajibKoperasi;
}
public BigDecimal getPotonganPinjamanKoperasi() {
return potonganPinjamanKoperasi;
}
public void setPotonganPinjamanKoperasi(BigDecimal potonganPinjamanKoperasi) {
this.potonganPinjamanKoperasi = potonganPinjamanKoperasi;
}
public BigDecimal getPotonganObat() {
return potonganObat;
}
public void setPotonganObat(BigDecimal potonganObat) {
this.potonganObat = potonganObat;
}
public BigDecimal getBiayaRawatInap() {
return biayaRawatInap;
}
public void setBiayaRawatInap(BigDecimal biayaRawatInap) {
this.biayaRawatInap = biayaRawatInap;
}
public BigDecimal getBiayaRawatJalan() {
return biayaRawatJalan;
}
public void setBiayaRawatJalan(BigDecimal biayaRawatJalan) {
this.biayaRawatJalan = biayaRawatJalan;
}
public static PenguranganGajiBuilder builder() {
return new PenguranganGajiBuilder();
}
public static class PenguranganGajiBuilder {
private SlipGaji slipGaji;
private BigDecimal pphGaji;
private BigDecimal pphRemunerasi;
private BigDecimal pphFeeForService;
private BigDecimal pphFeeForOnSite;
private BigDecimal pphUangMakan;
private BigDecimal pphUangLembur;
private BigDecimal iuranWajibKoperasi;
private BigDecimal potonganPinjamanKoperasi;
private BigDecimal potonganObat;
private BigDecimal biayaRawatInap;
private BigDecimal biayaRawatJalan;
public PenguranganGajiBuilder() {
}
public PenguranganGajiBuilder slipGaji(final SlipGaji slipGaji) {
this.slipGaji = slipGaji;
return this;
}
public PenguranganGajiBuilder pphGaji(final BigDecimal pphGaji) {
this.pphGaji = pphGaji;
return this;
}
public PenguranganGajiBuilder pphRemunerasi(final BigDecimal pphRemunerasi) {
this.pphRemunerasi = pphRemunerasi;
return this;
}
public PenguranganGajiBuilder pphFeeForService(final BigDecimal pphFeeForService) {
this.pphFeeForService = pphFeeForService;
return this;
}
public PenguranganGajiBuilder pphFeeForOnSite(final BigDecimal pphFeeForOnSite) {
this.pphFeeForOnSite = pphFeeForOnSite;
return this;
}
public PenguranganGajiBuilder pphUangMakan(final BigDecimal pphUangMakan) {
this.pphUangMakan = pphUangMakan;
return this;
}
public PenguranganGajiBuilder biayaRawatInap(final BigDecimal biayaRawatInap) {
this.biayaRawatInap = biayaRawatInap;
return this;
}
public PenguranganGajiBuilder iuranWajibKoperasi(final BigDecimal iuranWajibKoperasi) {
this.iuranWajibKoperasi = iuranWajibKoperasi;
return this;
}
public PenguranganGajiBuilder potonganPinjamanKoperasi(final BigDecimal potonganPinjamanKoperasi) {
this.potonganPinjamanKoperasi = potonganPinjamanKoperasi;
return this;
}
public PenguranganGajiBuilder potonganObat(final BigDecimal potonganObat) {
this.potonganObat = potonganObat;
return this;
}
public PenguranganGajiBuilder pphUangLembur(final BigDecimal pphUangLembur) {
this.pphUangLembur = pphUangLembur;
return this;
}
public PenguranganGajiBuilder biayaRawatJalan(final BigDecimal biayaRawatJalan) {
this.biayaRawatJalan = biayaRawatJalan;
return this;
}
public PenguranganGaji build() {
return new PenguranganGaji(this.slipGaji, this.pphGaji, this.pphRemunerasi, this.pphFeeForService,
this.pphFeeForOnSite, this.pphUangMakan, this.pphUangLembur, this.iuranWajibKoperasi,
this.potonganPinjamanKoperasi, this.potonganObat, this.biayaRawatInap, this.biayaRawatJalan);
}
}
}

View File

@ -0,0 +1,109 @@
package com.jasamedika.medifirst2000.entities;
import java.io.Serializable;
import java.util.Date;
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.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;
import org.hibernate.annotations.GenericGenerator;
import com.jasamedika.medifirst2000.helper.Caption;
/**
* @author salmanoe
* @since Jan 19, 2023
*/
@Entity
@Table(name = "sdm_slipgaji_t")
public class SlipGaji implements Serializable {
private static final long serialVersionUID = 250139146139305450L;
@Id
@GenericGenerator(name = "uuid", strategy = "uuid")
@GeneratedValue(generator = "uuid")
@Column(columnDefinition = "CHAR(32)", unique = true)
@Caption(value = "ID")
protected String id;
@ManyToOne
@NotNull(message = "Pegawai tidak boleh kosong")
@JoinColumn(name = "pegawaifk", nullable = false)
@Caption(value = "Pegawai")
private Pegawai pegawai;
@Temporal(TemporalType.DATE)
@Column(name = "bulan", nullable = false)
@Caption(value = "Bulan")
private Date bulan;
public SlipGaji() {
}
public SlipGaji(Pegawai pegawai, Date bulan) {
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 Pegawai pegawai;
private Date bulan;
public SlipGajiBuilder() {
}
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.pegawai, this.bulan);
}
}
}

View File

@ -0,0 +1,167 @@
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 org.hibernate.annotations.GenericGenerator;
import com.jasamedika.medifirst2000.helper.Caption;
/**
* @author salmanoe
* @since Jan 19, 2023
*/
@Entity
@Table(name = "sdm_slipgajidetail_t")
public class SlipGajiDetail implements Serializable {
private static final long serialVersionUID = -2830163649660148065L;
@Id
@GenericGenerator(name = "uuid", strategy = "uuid")
@GeneratedValue(generator = "uuid")
@Column(columnDefinition = "CHAR(32)", unique = true)
@Caption(value = "ID")
protected String id;
@ManyToOne
@NotNull(message = "Slip Gaji tidak boleh kosong")
@JoinColumn(name = "slipgajifk", columnDefinition = "CHAR(32)", nullable = false)
@Caption(value = "Slip Gaji")
private SlipGaji slipGaji;
@ManyToOne
@JoinColumn(name = "jabatanfk")
@Caption(value = "Jabatan")
private Jabatan jabatan;
@ManyToOne
@JoinColumn(name = "Unitkerjafk")
@Caption(value = "Unit Kerja")
private UnitKerjaPegawai unitKerja;
@ManyToOne
@JoinColumn(name = "subunitkerjafk")
@Caption(value = "Subunit Kerja")
private SubUnitKerjaPegawai subUnitKerja;
@ManyToOne
@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

@ -0,0 +1,40 @@
package com.jasamedika.medifirst2000.controller;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
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.RestController;
import com.jasamedika.medifirst2000.dto.SlipGajiDto;
import com.jasamedika.medifirst2000.service.SlipGajiService;
@RestController
@RequestMapping("/slip-gaji")
public class SlipGajiController {
@Autowired
private SlipGajiService slipGajiService;
@RequestMapping(value = "/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> save(@RequestBody @Valid SlipGajiDto dto) {
try {
slipGajiService.save(dto);
return new ResponseEntity<>(true, HttpStatus.CREATED);
} catch (Exception e) {
e.printStackTrace();
return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR);
}
}
@RequestMapping(value = "/get/{pegawaiId}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> get(@PathVariable Integer pegawaiId) {
SlipGajiDto entity = slipGajiService.get(pegawaiId);
return new ResponseEntity<>(entity, HttpStatus.OK);
}
}