Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package id.co.sofcograha.gajiidapi.domain.hris.payroll.trx.keloladatapenggajian.services;
- import java.util.Date;
- import java.util.List;
- import java.util.Optional;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import id.co.sofcograha.gajiidapi.base.approval.services.ApprovalLogService;
- import id.co.sofcograha.gajiidapi.base.exceptions.BusinessException;
- import id.co.sofcograha.gajiidapi.base.extendables.BaseTransactionService;
- import id.co.sofcograha.gajiidapi.base.mst.transaction.entities.Transaction;
- import id.co.sofcograha.gajiidapi.base.mst.transaction.services.TransactionService;
- import id.co.sofcograha.gajiidapi.base.search.SearchParameter;
- import id.co.sofcograha.gajiidapi.base.search.SearchResult;
- import id.co.sofcograha.gajiidapi.base.utils.OptionalConsumerUtil;
- import id.co.sofcograha.gajiidapi.base.utils.TimeUtil;
- import id.co.sofcograha.gajiidapi.base.utils.YearMonthUtil;
- import id.co.sofcograha.gajiidapi.domain.hris.admin.employee.employee.services.AdminEmployeeService;
- import id.co.sofcograha.gajiidapi.domain.hris.admin.payroll.periodegaji.entities.AdminPeriodeGaji;
- import id.co.sofcograha.gajiidapi.domain.hris.admin.payroll.periodegaji.services.AdminPeriodeGajiService;
- import id.co.sofcograha.gajiidapi.domain.hris.admin.payroll.periodetunjanganabsensi.services.AdminPeriodeTunjanganAbsensiService;
- import id.co.sofcograha.gajiidapi.domain.hris.bpjs.data.acuangajibpjskesehatan.entities.AcuanGajiBpjsKesehatan;
- import id.co.sofcograha.gajiidapi.domain.hris.bpjs.data.acuangajibpjskesehatan.services.AcuanGajiBpjsKesehatanService;
- import id.co.sofcograha.gajiidapi.domain.hris.bpjs.data.acuangajibpjsketenagakerjaan.entities.AcuanGajiBpjsKetenagakerjaan;
- import id.co.sofcograha.gajiidapi.domain.hris.bpjs.data.acuangajibpjsketenagakerjaan.services.AcuanGajiBpjsKetenagakerjaanService;
- import id.co.sofcograha.gajiidapi.domain.hris.bpjs.data.kepesertaanbpjskesehatan.entities.KepesertaanBpjsKesehatan;
- import id.co.sofcograha.gajiidapi.domain.hris.bpjs.data.kepesertaanbpjskesehatan.services.KepesertaanBpjsKesehatanService;
- import id.co.sofcograha.gajiidapi.domain.hris.bpjs.data.kepesertaanbpjsketenagakerjaan.entities.KepesertaanBpjsKetenagakerjaan;
- import id.co.sofcograha.gajiidapi.domain.hris.bpjs.data.kepesertaanbpjsketenagakerjaan.services.KepesertaanBpjsKetenagakerjaanService;
- import id.co.sofcograha.gajiidapi.domain.hris.employee.data.employee.entities.Employee;
- import id.co.sofcograha.gajiidapi.domain.hris.employee.data.employee.services.EmployeeService;
- import id.co.sofcograha.gajiidapi.domain.hris.employee.data.employeeprobation.entities.EmployeeProbation;
- import id.co.sofcograha.gajiidapi.domain.hris.employee.data.employeeprobation.services.EmployeeProbationService;
- import id.co.sofcograha.gajiidapi.domain.hris.employee.trx.inputkaryawan.entities.TrxInputKaryawan;
- import id.co.sofcograha.gajiidapi.domain.hris.employee.trx.inputkaryawan.services.TrxInputKaryawanService;
- import id.co.sofcograha.gajiidapi.domain.hris.mst.payroll.karyawanpenerimaplantunjanganabsensi.entities.MstKaryawanPenerimaPlanTunjanganAbsensi;
- import id.co.sofcograha.gajiidapi.domain.hris.mst.payroll.karyawanpenerimaplantunjanganabsensi.services.MstKaryawanPenerimaPlanTunjanganAbsensiService;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.data.employeehistorypayrollgroup.entities.EmployeeHistoryPayrollGroup;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.data.employeehistorypayrollgroup.services.EmployeeHistoryPayrollGroupService;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.data.employeehistorypayrollgroupyearmonth.entities.EmployeeHistoryPayrollGroupYearMonth;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.data.employeehistorypayrollgroupyearmonth.services.EmployeeHistoryPayrollGroupYearMonthService;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.data.employeesalary.entities.EmployeeSalary;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.data.employeesalary.services.EmployeeSalaryService;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.data.employeetipesplitthp.entities.EmployeeTipeSplitTHP;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.data.employeetipesplitthp.services.EmployeeTipeSplitTHPService;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.data.tunjanganpotongantetapkaryawan.entities.TunjanganPotonganTetapKaryawan;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.data.tunjanganpotongantetapkaryawan.services.TunjanganPotonganTetapKaryawanService;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.trx.keloladatapenggajian.entities.TrxKelolaDataPenggajian;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.trx.keloladatapenggajian.entities.TrxKelolaDataPenggajianDetailKaryawan;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.trx.keloladatapenggajian.entities.TrxKelolaDataPenggajianDetailTunjangan;
- import id.co.sofcograha.gajiidapi.domain.hris.payroll.trx.keloladatapenggajian.repositories.TrxKelolaDataPenggajianRepository;
- @Service
- public class TrxKelolaDataPenggajianService extends BaseTransactionService<TrxKelolaDataPenggajian, TrxKelolaDataPenggajianRepository> {
- @Autowired
- private ApprovalLogService approvalLogService;
- @Autowired
- private TransactionService transactionService;
- @Autowired
- private TrxKelolaDataPenggajianDetailTunjanganService trxKelolaDataPenggajianDetailTunjanganService;
- @Autowired
- private TrxKelolaDataPenggajianDetailKaryawanService trxKelolaDataPenggajianDetailKaryawanService;
- @Autowired
- private EmployeeService employeeService;
- @Autowired
- private EmployeeProbationService employeeProbationService;
- @Autowired
- private AdminEmployeeService adminEmployeeService;
- @Autowired
- private AdminPeriodeGajiService adminPeriodeGajiService;
- @Autowired
- private MstKaryawanPenerimaPlanTunjanganAbsensiService mstKaryawanPenerimaPlanTunjanganAbsensiService;
- @Autowired
- private AdminPeriodeTunjanganAbsensiService adminPeriodeTunjanganAbsensiService;
- @Autowired
- private TrxInputKaryawanService trxInputKaryawanService;
- @Autowired
- private EmployeeSalaryService employeeSalaryService;
- @Autowired
- private EmployeeTipeSplitTHPService employeeTipeSplitTHPService;
- @Autowired
- private KepesertaanBpjsKetenagakerjaanService kepesertaanBpjsKetenagakerjaanService;
- @Autowired
- private AcuanGajiBpjsKetenagakerjaanService acuanGajiBpjsKetenagakerjaanService;
- @Autowired
- private AcuanGajiBpjsKesehatanService acuanGajiBpjsKesehatanService;
- @Autowired
- private KepesertaanBpjsKesehatanService kepesertaanBpjsKesehatanService;
- @Autowired
- private EmployeeHistoryPayrollGroupService employeeHistoryPayrollGroupService;
- @Autowired
- private EmployeeHistoryPayrollGroupYearMonthService employeeHistoryPayrollGroupYearMonthService;
- @Autowired
- private TunjanganPotonganTetapKaryawanService tunjanganPotonganTetapKaryawanService;
- @Override
- protected void defineDefaultValuesOnAdd(TrxKelolaDataPenggajian entity) {
- }
- @Override
- protected void defineEditableValues(TrxKelolaDataPenggajian newValues, TrxKelolaDataPenggajian toBeSaved) {
- toBeSaved.setTransaction(newValues.getTransaction());
- toBeSaved.setTrxNumber(newValues.getTrxNumber());
- toBeSaved.setTrxDate(newValues.getTrxDate());
- toBeSaved.setApprovalLog(newValues.getApprovalLog());
- toBeSaved.setBulanBerlaku(newValues.getBulanBerlaku());
- toBeSaved.setFlagBerlakuSurut(newValues.getFlagBerlakuSurut());
- toBeSaved.setBulanAwalRapel(newValues.getBulanAwalRapel());
- toBeSaved.setKeterangan(newValues.getKeterangan());
- }
- @Override
- protected void valRequiredValues(TrxKelolaDataPenggajian entity) {
- valRequiredString(entity.getBulanBerlaku(), "trxKelolaDataPenggajian.bulanBerlaku.required");
- valRequiredBoolean(entity.getFlagBerlakuSurut(), "trxKelolaDataPenggajian.flagBerlakuSurut.required");
- }
- @Override
- protected void manageMinMaxValues(TrxKelolaDataPenggajian entity) {
- valMaxString(entity.getBulanBerlaku(), 6, "trxKelolaDataPenggajian.bulanBerlaku.max.length");
- valMaxString(entity.getBulanAwalRapel(), 6, "trxKelolaDataPenggajian.bulanAwalRapel.max.length");
- valMaxString(entity.getKeterangan(), 300, "trxKelolaDataPenggajian.keterangan.max.length");
- }
- @Override
- protected void manageReferences(TrxKelolaDataPenggajian entity) {
- if (entity.getApprovalLog() != null) {
- OptionalConsumerUtil.of(approvalLogService.find(entity.getApprovalLog().getId())).ifPresent(approvalLog -> {
- entity.setApprovalLog(approvalLog);
- });
- }
- OptionalConsumerUtil.of(transactionService.find(entity.getTransaction().getId())).ifPresent(transaction -> {
- entity.setTransaction(transaction);
- }).ifNotPresent(() -> {
- batchError("trxKelolaDataPenggajian.transaction.not.found");
- });
- }
- @Override
- protected void valValid(TrxKelolaDataPenggajian entity) {
- }
- @Override
- protected void valAdd(TrxKelolaDataPenggajian entity) {
- }
- @Override
- protected void valEdit(TrxKelolaDataPenggajian entity, TrxKelolaDataPenggajian fromDb) {
- }
- @Override
- protected void valDelete(TrxKelolaDataPenggajian toBeDeleted) {
- }
- @Override
- protected void valUniquenessOnAdd(TrxKelolaDataPenggajian addedEntity) {
- OptionalConsumerUtil.of(findByBk(addedEntity.getTransaction(), addedEntity.getTrxNumber(), addedEntity.getTrxDate())).ifPresent(fromDb -> {
- throw new BusinessException("trxKelolaDataPenggajian.bk", addedEntity.getTrxNumber(), addedEntity.getTrxNumber(),
- addedEntity.getTrxDate());
- });
- }
- @Override
- protected void valUniquenessOnEdit(TrxKelolaDataPenggajian editedEntity) {
- OptionalConsumerUtil.of(findByBk(editedEntity.getTransaction(), editedEntity.getTrxNumber(), editedEntity.getTrxDate())).ifPresent(fromDb -> {
- if (!editedEntity.getId().equals(fromDb.getId())) {
- throw new BusinessException("trxKelolaDataPenggajian.bk", editedEntity.getTransaction(), editedEntity.getTrxNumber(),
- editedEntity.getTrxDate());
- }
- });
- }
- @Override
- protected void initAdditionalApprovalVariables(TrxKelolaDataPenggajian entity) {
- // TODO Auto-generated method stub
- }
- @Override
- protected void valConfirm(TrxKelolaDataPenggajian entity) {
- // TODO Auto-generated method stub
- }
- @Override
- protected void valCancelConfirm(TrxKelolaDataPenggajian entity) {
- // TODO Auto-generated method stub
- }
- @Override
- protected void valRefuseConfirm(TrxKelolaDataPenggajian entity) {
- // TODO Auto-generated method stub
- }
- @Override
- protected void preConfirm(TrxKelolaDataPenggajian entity) {
- // TODO Auto-generated method stub
- }
- @Override
- protected void postConfirm(TrxKelolaDataPenggajian entity) {
- List<TrxKelolaDataPenggajianDetailKaryawan> kelolaDataPenggajianDetailKaryawanList = trxKelolaDataPenggajianDetailKaryawanService.findByKelolaDataPenggajian(entity);
- for (TrxKelolaDataPenggajianDetailKaryawan kelolaDataPenggajianDetailKaryawan : kelolaDataPenggajianDetailKaryawanList) {
- AdminPeriodeGaji adminPeriodeGaji = adminPeriodeGajiService.getAdminPeriodeGaji(kelolaDataPenggajianDetailKaryawan.getKaryawan(), entity.getBulanBerlaku());
- Date tglAwalBerlaku = adminPeriodeGaji.getBeginDate();
- Date yesterday = TimeUtil.addDays(tglAwalBerlaku, -1);
- Date lastMonth = TimeUtil.addMonths(tglAwalBerlaku, -1);
- String lastMonthPeriod = TimeUtil.convertDateToYearMonth(lastMonth);
- String trxYearMonth = entity.getBulanBerlaku();
- Employee employee = employeeService.get(kelolaDataPenggajianDetailKaryawan.getKaryawan().getId());
- TrxInputKaryawan trxInputKaryawan = trxInputKaryawanService.findByEmployeeId(employee.getEmployeeId()).orElse(null);
- EmployeeSalary employeeSalary = employeeSalaryService.findByEmployeeAndLastData(employee).orElse(null);
- EmployeeTipeSplitTHP employeeTipeSplitTHP = employeeTipeSplitTHPService.findByEmployeeAndLastData(employee).orElse(null);
- KepesertaanBpjsKetenagakerjaan kepesertaanBpjsKetenagakerjaan = kepesertaanBpjsKetenagakerjaanService.findByEmployeeAndLastData(employee).orElse(null);
- AcuanGajiBpjsKetenagakerjaan acuanGajiBpjsKetenagakerjaan = acuanGajiBpjsKetenagakerjaanService.findByEmployeeAndLastData(employee).orElse(null);
- KepesertaanBpjsKesehatan kepesertaanBpjsKesehatan = kepesertaanBpjsKesehatanService.findByEmployeeAndLastData(employee).orElse(null);
- AcuanGajiBpjsKesehatan acuanGajiBpjsKesehatan = acuanGajiBpjsKesehatanService.findByEmployeeAndLastData(employee).orElse(null);
- EmployeeHistoryPayrollGroup employeeHistoryPayrollGroup = employeeHistoryPayrollGroupService.findByEmployeeAndLastData(employee).orElse(null);
- EmployeeHistoryPayrollGroupYearMonth employeeHistoryPayrollGroupYearMonth = employeeHistoryPayrollGroupYearMonthService.findByEmployeeAndLastData(employee).orElse(null);
- if (!employeeSalary.getBasicSalary().equals(kelolaDataPenggajianDetailKaryawan.getGaji())) {
- employeeSalary.setEndDate(yesterday);
- employeeSalaryService.edit(employeeSalary);
- EmployeeSalary newEmployeeSalary = new EmployeeSalary();
- newEmployeeSalary.setEmployee(kelolaDataPenggajianDetailKaryawan.getKaryawan());
- newEmployeeSalary.setBeginDate(tglAwalBerlaku);
- newEmployeeSalary.setEndDate(TimeUtil.getMaxDate());
- newEmployeeSalary.setBasicSalary(kelolaDataPenggajianDetailKaryawan.getGaji());
- newEmployeeSalary.setTransaction(entity.getTransaction());
- newEmployeeSalary.setRefTrxDate(entity.getTrxDate());
- newEmployeeSalary.setRefTrxNumber(entity.getTrxNumber());
- employeeSalaryService.add(newEmployeeSalary);
- }
- if (employee.getProbationFlag() == true) {
- EmployeeProbation oldEmployeeProbation = employeeProbationService.findByEmployeeAndCurrentDate(employee, tglAwalBerlaku).orElse(null);
- if (oldEmployeeProbation != null) {
- oldEmployeeProbation.setGajiSetelahProbation(kelolaDataPenggajianDetailKaryawan.getGajiSetelahProbation());
- employeeProbationService.edit(oldEmployeeProbation);
- }
- EmployeeProbation employeeProbation = new EmployeeProbation();
- employeeProbation.setKaryawan(employee);
- employeeProbation.setTanggalAwal(tglAwalBerlaku);
- employeeProbation.setTanggalAkhir(employee.getEndProbationDate());
- employeeProbation.setTransaction(entity.getTransaction());
- employeeProbation.setTrxNumber(entity.getTrxNumber());
- employeeProbation.setTrxDate(entity.getTrxDate());
- employeeProbation.setStatusSetelahProbation(oldEmployeeProbation);
- employeeProbation.setGajiSetelahProbation(inputKaryawan.getGajiSetelahProbation());
- employeeProbationService.add(employeeProbation);
- }
- MstKaryawanPenerimaPlanTunjanganAbsensi oldKaryawanPenerimaPlanTunjanganAbsensi = mstKaryawanPenerimaPlanTunjanganAbsensiService.findByEmployeeAndCurrentDate(employee.getId(), tglAwalBerlaku).orElse(null);
- if (oldKaryawanPenerimaPlanTunjanganAbsensi == null) {
- if (kelolaDataPenggajianDetailKaryawan.getPlanTunjanganAbsensi() != null) {
- MstKaryawanPenerimaPlanTunjanganAbsensi mstKaryawanPenerimaPlanTunjanganAbsensi = new MstKaryawanPenerimaPlanTunjanganAbsensi();
- mstKaryawanPenerimaPlanTunjanganAbsensi.setKaryawan(employee);
- mstKaryawanPenerimaPlanTunjanganAbsensi.setTanggalAwalBerlaku(tglAwalBerlaku);
- mstKaryawanPenerimaPlanTunjanganAbsensi.setPlanTunjanganAbsensi(kelolaDataPenggajianDetailKaryawan.getPlanTunjanganAbsensi());
- mstKaryawanPenerimaPlanTunjanganAbsensiService.add(mstKaryawanPenerimaPlanTunjanganAbsensi);
- }
- } else {
- if (kelolaDataPenggajianDetailKaryawan.getPlanTunjanganAbsensi() == null) {
- oldKaryawanPenerimaPlanTunjanganAbsensi.setTanggalAkhirBerlaku(yesterday);
- mstKaryawanPenerimaPlanTunjanganAbsensiService.edit(oldKaryawanPenerimaPlanTunjanganAbsensi);
- } else {
- if (!oldKaryawanPenerimaPlanTunjanganAbsensi.getPlanTunjanganAbsensi().getId().equals(kelolaDataPenggajianDetailKaryawan.getPlanTunjanganAbsensi().getId())) {
- oldKaryawanPenerimaPlanTunjanganAbsensi.setTanggalAkhirBerlaku(yesterday);
- mstKaryawanPenerimaPlanTunjanganAbsensiService.edit(oldKaryawanPenerimaPlanTunjanganAbsensi);
- MstKaryawanPenerimaPlanTunjanganAbsensi mstKaryawanPenerimaPlanTunjanganAbsensi = new MstKaryawanPenerimaPlanTunjanganAbsensi();
- mstKaryawanPenerimaPlanTunjanganAbsensi.setKaryawan(employee);
- mstKaryawanPenerimaPlanTunjanganAbsensi.setTanggalAwalBerlaku(tglAwalBerlaku);
- mstKaryawanPenerimaPlanTunjanganAbsensi.setPlanTunjanganAbsensi(kelolaDataPenggajianDetailKaryawan.getPlanTunjanganAbsensi());
- mstKaryawanPenerimaPlanTunjanganAbsensiService.add(mstKaryawanPenerimaPlanTunjanganAbsensi);
- }
- }
- }
- if (!employeeTipeSplitTHP.getTipeSplitTHP().equals(kelolaDataPenggajianDetailKaryawan.getTipeSplitTHP())) {
- if (!employeeTipeSplitTHP.getFlagRekening1().equals(kelolaDataPenggajianDetailKaryawan.getFlagRekening1())
- || !employeeTipeSplitTHP.getFlagRekening2().equals(kelolaDataPenggajianDetailKaryawan.getFlagRekening2())
- || !employeeTipeSplitTHP.getFlagTunai().equals(kelolaDataPenggajianDetailKaryawan.getFlagTunai())
- || !employeeTipeSplitTHP.getBank1().equals(kelolaDataPenggajianDetailKaryawan.getBank1())
- || !employeeTipeSplitTHP.getBank1AccName().equals(kelolaDataPenggajianDetailKaryawan.getBank1AccName())
- || !employeeTipeSplitTHP.getBank1AccNumber().equals(kelolaDataPenggajianDetailKaryawan.getBank1AccNumber())
- || !employeeTipeSplitTHP.getBank2().equals(kelolaDataPenggajianDetailKaryawan.getBank2())
- || !employeeTipeSplitTHP.getBank2AccName().equals(kelolaDataPenggajianDetailKaryawan.getBank1AccName())
- || !employeeTipeSplitTHP.getBank2AccNumber().equals(kelolaDataPenggajianDetailKaryawan.getBank2AccNumber())
- || !employeeTipeSplitTHP.getTipeSplitTHP().equals(kelolaDataPenggajianDetailKaryawan.getTipeSplitTHP())
- || !employeeTipeSplitTHP.getPersentaseBank1().equals(kelolaDataPenggajianDetailKaryawan.getPersentaseBank1())
- || !employeeTipeSplitTHP.getPersentaseBank2().equals(kelolaDataPenggajianDetailKaryawan.getPersentaseBank2())
- || !employeeTipeSplitTHP.getPersentaseTunai().equals(kelolaDataPenggajianDetailKaryawan.getPersentaseTunai())
- || !employeeTipeSplitTHP.getFlagNilaiBank1Tetap().equals(kelolaDataPenggajianDetailKaryawan.getFlagNilaiBank1Tetap())
- || !employeeTipeSplitTHP.getNilaiBank1().equals(kelolaDataPenggajianDetailKaryawan.getNilaiBank1())
- || !employeeTipeSplitTHP.getFlagNilaiBank2Tetap().equals(kelolaDataPenggajianDetailKaryawan.getFlagNilaiBank2Tetap())
- || !employeeTipeSplitTHP.getNilaiBank2().equals(kelolaDataPenggajianDetailKaryawan.getNilaiBank2())
- || !employeeTipeSplitTHP.getFlagNilaiTunaiTetap().equals(kelolaDataPenggajianDetailKaryawan.getFlagNilaiTunaiTetap())
- || !employeeTipeSplitTHP.getNilaiTunai().equals(kelolaDataPenggajianDetailKaryawan.getNilaiTunai().doubleValue())) {
- employeeTipeSplitTHP.setTahunBulanAkhir(lastMonthPeriod);
- employeeTipeSplitTHPService.edit(employeeTipeSplitTHP);
- EmployeeTipeSplitTHP newEmployeeTipeSplitTHP = new EmployeeTipeSplitTHP();
- newEmployeeTipeSplitTHP.setKaryawan(kelolaDataPenggajianDetailKaryawan.getKaryawan());
- newEmployeeTipeSplitTHP.setTahunBulanAwal(trxYearMonth);
- newEmployeeTipeSplitTHP.setTahunBulanAkhir(YearMonthUtil.getMaxYearMonth());
- newEmployeeTipeSplitTHP.setFlagRekening1(kelolaDataPenggajianDetailKaryawan.getFlagRekening1());
- newEmployeeTipeSplitTHP.setFlagRekening2(kelolaDataPenggajianDetailKaryawan.getFlagRekening2());
- newEmployeeTipeSplitTHP.setFlagTunai(kelolaDataPenggajianDetailKaryawan.getFlagTunai());
- if (kelolaDataPenggajianDetailKaryawan.getFlagRekening1() == true) {
- newEmployeeTipeSplitTHP.setBank1(kelolaDataPenggajianDetailKaryawan.getBank1());
- newEmployeeTipeSplitTHP.setBank1AccName(kelolaDataPenggajianDetailKaryawan.getBank1AccName());
- newEmployeeTipeSplitTHP.setBank1AccNumber(kelolaDataPenggajianDetailKaryawan.getBank1AccNumber());
- }
- if (kelolaDataPenggajianDetailKaryawan.getFlagRekening2() == true) {
- newEmployeeTipeSplitTHP.setBank2(kelolaDataPenggajianDetailKaryawan.getBank2());
- newEmployeeTipeSplitTHP.setBank2AccName(kelolaDataPenggajianDetailKaryawan.getBank2AccName());
- newEmployeeTipeSplitTHP.setBank2AccNumber(kelolaDataPenggajianDetailKaryawan.getBank2AccNumber());
- }
- newEmployeeTipeSplitTHP.setTipeSplitTHP(kelolaDataPenggajianDetailKaryawan.getTipeSplitTHP());
- if (kelolaDataPenggajianDetailKaryawan.getFlagRekening1() == true) {
- newEmployeeTipeSplitTHP.setPersentaseBank1(kelolaDataPenggajianDetailKaryawan.getPersentaseBank1());
- } else {
- newEmployeeTipeSplitTHP.setPersentaseBank1(0D);
- }
- if (kelolaDataPenggajianDetailKaryawan.getFlagRekening2() == true) {
- newEmployeeTipeSplitTHP.setPersentaseBank2(kelolaDataPenggajianDetailKaryawan.getPersentaseBank2());
- } else {
- newEmployeeTipeSplitTHP.setPersentaseBank2(0D);
- }
- if (kelolaDataPenggajianDetailKaryawan.getFlagTunai() == true) {
- newEmployeeTipeSplitTHP.setPersentaseTunai(kelolaDataPenggajianDetailKaryawan.getPersentaseTunai());
- } else {
- newEmployeeTipeSplitTHP.setPersentaseTunai(0D);
- }
- newEmployeeTipeSplitTHP.setFlagNilaiBank1Tetap(kelolaDataPenggajianDetailKaryawan.getFlagNilaiBank1Tetap());
- if (kelolaDataPenggajianDetailKaryawan.getFlagRekening1() == true) {
- newEmployeeTipeSplitTHP.setNilaiBank1(kelolaDataPenggajianDetailKaryawan.getNilaiBank1());
- } else {
- newEmployeeTipeSplitTHP.setNilaiBank1(0D);
- }
- newEmployeeTipeSplitTHP.setFlagNilaiBank2Tetap(kelolaDataPenggajianDetailKaryawan.getFlagNilaiBank2Tetap());
- if (kelolaDataPenggajianDetailKaryawan.getFlagRekening2() == true) {
- newEmployeeTipeSplitTHP.setNilaiBank2(kelolaDataPenggajianDetailKaryawan.getNilaiBank2());
- } else {
- newEmployeeTipeSplitTHP.setNilaiBank2(0D);
- }
- newEmployeeTipeSplitTHP.setFlagNilaiTunaiTetap(kelolaDataPenggajianDetailKaryawan.getFlagNilaiTunaiTetap());
- if (kelolaDataPenggajianDetailKaryawan.getFlagTunai() == true) {
- newEmployeeTipeSplitTHP.setNilaiTunai(kelolaDataPenggajianDetailKaryawan.getNilaiTunai());
- } else {
- newEmployeeTipeSplitTHP.setNilaiTunai(0D);
- }
- employeeTipeSplitTHPService.add(newEmployeeTipeSplitTHP);
- }
- }
- if (!employeeHistoryPayrollGroup.getPayrollGroup().getId().equals(kelolaDataPenggajianDetailKaryawan.getKelompokPayroll().getId())) {
- employeeHistoryPayrollGroup.setEndDate(yesterday);
- employeeHistoryPayrollGroupService.edit(employeeHistoryPayrollGroup);
- EmployeeHistoryPayrollGroup newEmployeeHistoryPayrollGroup = new EmployeeHistoryPayrollGroup();
- newEmployeeHistoryPayrollGroup.setEmployee(kelolaDataPenggajianDetailKaryawan.getKaryawan());
- newEmployeeHistoryPayrollGroup.setBeginDate(tglAwalBerlaku);
- newEmployeeHistoryPayrollGroup.setEndDate(TimeUtil.getMaxDate());
- newEmployeeHistoryPayrollGroup.setPayrollGroup(kelolaDataPenggajianDetailKaryawan.getKelompokPayroll());
- employeeHistoryPayrollGroupService.add(newEmployeeHistoryPayrollGroup);
- }
- if (!employeeHistoryPayrollGroupYearMonth.getPayrollGroup().getId().equals(kelolaDataPenggajianDetailKaryawan.getKelompokPayroll().getId())) {
- employeeHistoryPayrollGroupYearMonth.setEndYearMonth(lastMonthPeriod);
- employeeHistoryPayrollGroupYearMonthService.edit(employeeHistoryPayrollGroupYearMonth);
- EmployeeHistoryPayrollGroupYearMonth newEmployeeHistoryPayrollGroupYearMonth = new EmployeeHistoryPayrollGroupYearMonth();
- newEmployeeHistoryPayrollGroupYearMonth.setEmployee(kelolaDataPenggajianDetailKaryawan.getKaryawan());
- newEmployeeHistoryPayrollGroupYearMonth.setBeginYearMonth(trxYearMonth);
- newEmployeeHistoryPayrollGroupYearMonth.setEndYearMonth(YearMonthUtil.getMaxYearMonth());
- newEmployeeHistoryPayrollGroupYearMonth.setPayrollGroup(kelolaDataPenggajianDetailKaryawan.getKelompokPayroll());
- employeeHistoryPayrollGroupYearMonthService.add(newEmployeeHistoryPayrollGroupYearMonth);
- }
- if (kelolaDataPenggajianDetailKaryawan.getFlagBpjsKetenagakerjaan()) {
- if (kepesertaanBpjsKetenagakerjaan != null && kelolaDataPenggajianDetailKaryawan.getNppBPJSKetenagakerjaan() != null) {
- if (!kepesertaanBpjsKetenagakerjaan.getNppBpjsKetenagakerjaan().getId().equals(kelolaDataPenggajianDetailKaryawan.getNppBPJSKetenagakerjaan().getId())) {
- kepesertaanBpjsKetenagakerjaan.setEndYearMonth(lastMonthPeriod);
- kepesertaanBpjsKetenagakerjaanService.edit(kepesertaanBpjsKetenagakerjaan);
- KepesertaanBpjsKetenagakerjaan newKepesertaanBpjsKetenagakerjaan = new KepesertaanBpjsKetenagakerjaan();
- newKepesertaanBpjsKetenagakerjaan.setEmployee(kelolaDataPenggajianDetailKaryawan.getKaryawan());
- newKepesertaanBpjsKetenagakerjaan.setBeginYearMonth(trxYearMonth);
- newKepesertaanBpjsKetenagakerjaan.setEndYearMonth(YearMonthUtil.getMaxYearMonth());
- newKepesertaanBpjsKetenagakerjaan.setNppBpjsKetenagakerjaan(kelolaDataPenggajianDetailKaryawan.getNppBPJSKetenagakerjaan());
- newKepesertaanBpjsKetenagakerjaan.setFlagIkutJp(kelolaDataPenggajianDetailKaryawan.getFlagIkutJp());
- newKepesertaanBpjsKetenagakerjaan.setBpjsKetenagakerjaanCardNumber(kelolaDataPenggajianDetailKaryawan.getNomorKartuBpjsKetenagakerjaan());
- newKepesertaanBpjsKetenagakerjaan.setTransaction(entity.getTransaction());
- newKepesertaanBpjsKetenagakerjaan.setTrxDate(entity.getTrxDate());
- newKepesertaanBpjsKetenagakerjaan.setTrxNumber(entity.getTrxNumber());
- kepesertaanBpjsKetenagakerjaanService.add(newKepesertaanBpjsKetenagakerjaan);
- }
- } else {
- if (kelolaDataPenggajianDetailKaryawan.getNppBPJSKetenagakerjaan() != null) {
- KepesertaanBpjsKetenagakerjaan newKepesertaanBpjsKetenagakerjaan = new KepesertaanBpjsKetenagakerjaan();
- newKepesertaanBpjsKetenagakerjaan.setEmployee(kelolaDataPenggajianDetailKaryawan.getKaryawan());
- newKepesertaanBpjsKetenagakerjaan.setBeginYearMonth(trxYearMonth);
- newKepesertaanBpjsKetenagakerjaan.setEndYearMonth(YearMonthUtil.getMaxYearMonth());
- newKepesertaanBpjsKetenagakerjaan.setNppBpjsKetenagakerjaan(kelolaDataPenggajianDetailKaryawan.getNppBPJSKetenagakerjaan());
- newKepesertaanBpjsKetenagakerjaan.setBpjsKetenagakerjaanCardNumber(kelolaDataPenggajianDetailKaryawan.getNomorKartuBpjsKetenagakerjaan());
- newKepesertaanBpjsKetenagakerjaan.setTransaction(entity.getTransaction());
- newKepesertaanBpjsKetenagakerjaan.setTrxDate(entity.getTrxDate());
- newKepesertaanBpjsKetenagakerjaan.setTrxNumber(entity.getTrxNumber());
- kepesertaanBpjsKetenagakerjaanService.add(newKepesertaanBpjsKetenagakerjaan);
- }
- }
- if (acuanGajiBpjsKetenagakerjaan != null) {
- if (!acuanGajiBpjsKetenagakerjaan.getNilaiAcuanBpjsKetenagakerjaan().equals(kelolaDataPenggajianDetailKaryawan.getGajiAcuanBPJSKetenagakerjaan())) {
- if (kelolaDataPenggajianDetailKaryawan.getGajiAcuanBPJSKetenagakerjaan() != null) {
- acuanGajiBpjsKetenagakerjaan.setTahunBulanAkhir(lastMonthPeriod);
- acuanGajiBpjsKetenagakerjaanService.edit(acuanGajiBpjsKetenagakerjaan);
- AcuanGajiBpjsKetenagakerjaan newAcuanGajiBpjsKetenagakerjaan = new AcuanGajiBpjsKetenagakerjaan();
- newAcuanGajiBpjsKetenagakerjaan.setEmployee(kelolaDataPenggajianDetailKaryawan.getKaryawan());
- newAcuanGajiBpjsKetenagakerjaan.setTahunBulanAwal(trxYearMonth);
- newAcuanGajiBpjsKetenagakerjaan.setTahunBulanAkhir(YearMonthUtil.getMaxYearMonth());
- newAcuanGajiBpjsKetenagakerjaan.setNilaiAcuanBpjsKetenagakerjaan(kelolaDataPenggajianDetailKaryawan.getGajiAcuanBPJSKetenagakerjaan());
- newAcuanGajiBpjsKetenagakerjaan.setTransaction(entity.getTransaction());
- newAcuanGajiBpjsKetenagakerjaan.setTrxDate(entity.getTrxDate());
- newAcuanGajiBpjsKetenagakerjaan.setTrxNumber(entity.getTrxNumber());
- acuanGajiBpjsKetenagakerjaanService.add(newAcuanGajiBpjsKetenagakerjaan);
- }
- }
- } else {
- AcuanGajiBpjsKetenagakerjaan newAcuanGajiBpjsKetenagakerjaan = new AcuanGajiBpjsKetenagakerjaan();
- newAcuanGajiBpjsKetenagakerjaan.setEmployee(kelolaDataPenggajianDetailKaryawan.getKaryawan());
- newAcuanGajiBpjsKetenagakerjaan.setTahunBulanAwal(trxYearMonth);
- newAcuanGajiBpjsKetenagakerjaan.setTahunBulanAkhir(YearMonthUtil.getMaxYearMonth());
- newAcuanGajiBpjsKetenagakerjaan.setNilaiAcuanBpjsKetenagakerjaan(kelolaDataPenggajianDetailKaryawan.getGajiAcuanBPJSKetenagakerjaan());
- newAcuanGajiBpjsKetenagakerjaan.setTransaction(entity.getTransaction());
- newAcuanGajiBpjsKetenagakerjaan.setTrxDate(entity.getTrxDate());
- newAcuanGajiBpjsKetenagakerjaan.setTrxNumber(entity.getTrxNumber());
- acuanGajiBpjsKetenagakerjaanService.add(newAcuanGajiBpjsKetenagakerjaan);
- }
- } else {
- if (kepesertaanBpjsKetenagakerjaan != null) {
- kepesertaanBpjsKetenagakerjaan.setEndYearMonth(lastMonthPeriod);
- kepesertaanBpjsKetenagakerjaanService.edit(kepesertaanBpjsKetenagakerjaan);
- }
- if (acuanGajiBpjsKetenagakerjaan != null) {
- acuanGajiBpjsKetenagakerjaan.setTahunBulanAkhir(lastMonthPeriod);
- acuanGajiBpjsKetenagakerjaanService.edit(acuanGajiBpjsKetenagakerjaan);
- }
- }
- if (kelolaDataPenggajianDetailKaryawan.getFlagBPJSKesehatan()) {
- if (kepesertaanBpjsKesehatan != null && kelolaDataPenggajianDetailKaryawan.getNppBPJSKesehatan() != null) {
- if (!kepesertaanBpjsKesehatan.getNppBpjsKesehatan().getId().equals(kelolaDataPenggajianDetailKaryawan.getNppBPJSKesehatan().getId())) {
- kepesertaanBpjsKesehatan.setEndYearMonth(lastMonthPeriod);
- kepesertaanBpjsKesehatanService.edit(kepesertaanBpjsKesehatan);
- KepesertaanBpjsKesehatan newKepesertaanBpjsKesehatan = new KepesertaanBpjsKesehatan();
- newKepesertaanBpjsKesehatan.setEmployee(kelolaDataPenggajianDetailKaryawan.getKaryawan());
- newKepesertaanBpjsKesehatan.setBeginYearMonth(trxYearMonth);
- newKepesertaanBpjsKesehatan.setEndYearMonth(YearMonthUtil.getMaxYearMonth());
- newKepesertaanBpjsKesehatan.setNppBpjsKesehatan(kelolaDataPenggajianDetailKaryawan.getNppBPJSKesehatan());
- newKepesertaanBpjsKesehatan.setBpjsKesehatanCardNumber(kelolaDataPenggajianDetailKaryawan.getNomorKartuBpjsKesehatan());
- newKepesertaanBpjsKesehatan.setTransaction(entity.getTransaction());
- newKepesertaanBpjsKesehatan.setTrxDate(entity.getTrxDate());
- newKepesertaanBpjsKesehatan.setTrxNumber(entity.getTrxNumber());
- kepesertaanBpjsKesehatanService.add(newKepesertaanBpjsKesehatan);
- }
- } else {
- if (kelolaDataPenggajianDetailKaryawan.getNppBPJSKesehatan() != null) {
- KepesertaanBpjsKesehatan newKepesertaanBpjsKesehatan = new KepesertaanBpjsKesehatan();
- newKepesertaanBpjsKesehatan.setEmployee(kelolaDataPenggajianDetailKaryawan.getKaryawan());
- newKepesertaanBpjsKesehatan.setBeginYearMonth(trxYearMonth);
- newKepesertaanBpjsKesehatan.setEndYearMonth(YearMonthUtil.getMaxYearMonth());
- newKepesertaanBpjsKesehatan.setNppBpjsKesehatan(kelolaDataPenggajianDetailKaryawan.getNppBPJSKesehatan());
- newKepesertaanBpjsKesehatan.setBpjsKesehatanCardNumber(kelolaDataPenggajianDetailKaryawan.getNomorKartuBpjsKesehatan());
- newKepesertaanBpjsKesehatan.setTransaction(entity.getTransaction());
- newKepesertaanBpjsKesehatan.setTrxDate(entity.getTrxDate());
- newKepesertaanBpjsKesehatan.setTrxNumber(entity.getTrxNumber());
- kepesertaanBpjsKesehatanService.add(newKepesertaanBpjsKesehatan);
- }
- }
- } else {
- if (kepesertaanBpjsKesehatan != null) {
- kepesertaanBpjsKesehatan.setEndYearMonth(lastMonthPeriod);
- kepesertaanBpjsKesehatanService.edit(kepesertaanBpjsKesehatan);
- }
- if (acuanGajiBpjsKesehatan != null) {
- acuanGajiBpjsKesehatan.setTahunBulanAkhir(lastMonthPeriod);
- acuanGajiBpjsKesehatanService.edit(acuanGajiBpjsKesehatan);
- }
- }
- if (acuanGajiBpjsKesehatan != null) {
- if (!acuanGajiBpjsKesehatan.getNilaiAcuanBpjsKesehatan().equals(kelolaDataPenggajianDetailKaryawan.getGajiAcuanBPJSKesehatan())) {
- if (kelolaDataPenggajianDetailKaryawan.getGajiAcuanBPJSKesehatan() != null) {
- acuanGajiBpjsKesehatan.setTahunBulanAkhir(lastMonthPeriod);
- acuanGajiBpjsKesehatanService.edit(acuanGajiBpjsKesehatan);
- AcuanGajiBpjsKesehatan newAcuanGajiBpjsKesehatan = new AcuanGajiBpjsKesehatan();
- newAcuanGajiBpjsKesehatan.setEmployee(kelolaDataPenggajianDetailKaryawan.getKaryawan());
- newAcuanGajiBpjsKesehatan.setTahunBulanAwal(trxYearMonth);
- newAcuanGajiBpjsKesehatan.setTahunBulanAkhir(YearMonthUtil.getMaxYearMonth());
- newAcuanGajiBpjsKesehatan.setNilaiAcuanBpjsKesehatan(kelolaDataPenggajianDetailKaryawan.getGajiAcuanBPJSKetenagakerjaan());
- newAcuanGajiBpjsKesehatan.setTransaction(entity.getTransaction());
- newAcuanGajiBpjsKesehatan.setTrxDate(entity.getTrxDate());
- newAcuanGajiBpjsKesehatan.setTrxNumber(entity.getTrxNumber());
- acuanGajiBpjsKesehatanService.add(newAcuanGajiBpjsKesehatan);
- }
- }
- } else {
- AcuanGajiBpjsKesehatan newAcuanGajiBpjsKesehatan = new AcuanGajiBpjsKesehatan();
- newAcuanGajiBpjsKesehatan.setEmployee(kelolaDataPenggajianDetailKaryawan.getKaryawan());
- newAcuanGajiBpjsKesehatan.setTahunBulanAwal(trxYearMonth);
- newAcuanGajiBpjsKesehatan.setTahunBulanAkhir(YearMonthUtil.getMaxYearMonth());
- newAcuanGajiBpjsKesehatan.setNilaiAcuanBpjsKesehatan(kelolaDataPenggajianDetailKaryawan.getGajiAcuanBPJSKetenagakerjaan());
- newAcuanGajiBpjsKesehatan.setTransaction(entity.getTransaction());
- newAcuanGajiBpjsKesehatan.setTrxDate(entity.getTrxDate());
- newAcuanGajiBpjsKesehatan.setTrxNumber(entity.getTrxNumber());
- acuanGajiBpjsKesehatanService.add(newAcuanGajiBpjsKesehatan);
- }
- // TUNJANGAN DAN POTONGAN SEMENTARA DITUTUP DISINI, KARENA MAU ADA PERUBAHAN
- // SPEC (Note: Abdul Kadir, disuru ci Jeni)
- // Update data tunjangan potongan tetap karyawan (yang berubah saja)
- List<TunjanganPotonganTetapKaryawan> oldTunjanganPotonganTetapKaryawanList = tunjanganPotonganTetapKaryawanService.findByEmployeeAndYearMonth(employee, YearMonthUtil.getMaxYearMonth());
- if (!oldTunjanganPotonganTetapKaryawanList.isEmpty()) {
- for (TunjanganPotonganTetapKaryawan oldTunjanganPotonganTetapKaryawan : oldTunjanganPotonganTetapKaryawanList) {
- oldTunjanganPotonganTetapKaryawan.setEndYearMonth(lastMonthPeriod);
- oldTunjanganPotonganTetapKaryawan = tunjanganPotonganTetapKaryawanService.edit(oldTunjanganPotonganTetapKaryawan);
- }
- }
- List<TrxKelolaDataPenggajianDetailTunjangan> kelolaDataPenggajianDetailTunjanganList = trxKelolaDataPenggajianDetailTunjanganService.findByKelolaDataPenggajianDetailKaryawan(kelolaDataPenggajianDetailKaryawan);
- if (!kelolaDataPenggajianDetailTunjanganList.isEmpty()) {
- for (TrxKelolaDataPenggajianDetailTunjangan kelolaDataPenggajianDetailTunjangan : kelolaDataPenggajianDetailTunjanganList) {
- TunjanganPotonganTetapKaryawan newTunjanganPotonganTetapKaryawan = new TunjanganPotonganTetapKaryawan();
- newTunjanganPotonganTetapKaryawan.setEmployee(kelolaDataPenggajianDetailKaryawan.getKaryawan());
- newTunjanganPotonganTetapKaryawan.setBeginYearMonth(entity.getBulanBerlaku());
- newTunjanganPotonganTetapKaryawan.setEndYearMonth(YearMonthUtil.getMaxYearMonth());
- newTunjanganPotonganTetapKaryawan.setIncomeDeduction(kelolaDataPenggajianDetailTunjangan.getTunjanganPotongan());
- newTunjanganPotonganTetapKaryawan.setValue(kelolaDataPenggajianDetailTunjangan.getNilai());
- newTunjanganPotonganTetapKaryawan.setRemark(kelolaDataPenggajianDetailTunjangan.getCatatan());
- newTunjanganPotonganTetapKaryawan.setBeginRefTransaction(entity.getTransaction());
- newTunjanganPotonganTetapKaryawan.setBeginRefTrxDate(entity.getTrxDate());
- newTunjanganPotonganTetapKaryawan.setBeginRefTrxNumber(entity.getTrxNumber());
- newTunjanganPotonganTetapKaryawan.setEndRefTransaction(null);
- newTunjanganPotonganTetapKaryawan.setEndRefTrxDate(null);
- newTunjanganPotonganTetapKaryawan.setEndRefTrxNumber(null);
- tunjanganPotonganTetapKaryawanService.add(newTunjanganPotonganTetapKaryawan);
- }
- }
- // if(kelolaDataPenggajianDetailTunjanganList != null) {
- // if(oldTunjanganPotonganTetapKaryawanList) {
- //
- // }
- // }
- }
- }
- @Override
- protected void preCancelConfirm(TrxKelolaDataPenggajian entity) {
- // TODO Auto-generated method stub
- }
- @Override
- protected void postCancelConfirm(TrxKelolaDataPenggajian entity) {
- // TODO Auto-generated method stub
- }
- @Override
- protected void preRefuseConfirm(TrxKelolaDataPenggajian entity) {
- // TODO Auto-generated method stub
- }
- @Override
- protected void postRefuseConfirm(TrxKelolaDataPenggajian entity) {
- // TODO Auto-generated method stub
- }
- public Optional<TrxKelolaDataPenggajian> findByBk(Transaction transaction, String trxNumber, Date trxDate) {
- return mainRepo.findByBK(transaction, trxNumber, trxDate);
- }
- public SearchResult<TrxKelolaDataPenggajian> search(SearchParameter searchParameter) {
- return mainRepo.search(searchParameter);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment