Update SlipGajiServiceImpl.java
Perbaikan tampilkan semua komponen untuk front-end saat edit pengaturan data penghasilan
This commit is contained in:
parent
7ba7884986
commit
5691a5d22e
@ -1,23 +1,13 @@
|
||||
package com.jasamedika.medifirst2000.service.impl;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.jasamedika.medifirst2000.dao.*;
|
||||
import com.jasamedika.medifirst2000.dto.KomponenGajiDto;
|
||||
import com.jasamedika.medifirst2000.dto.SlipGajiDto;
|
||||
import com.jasamedika.medifirst2000.dto.SlipGajiKomponenDto;
|
||||
import com.jasamedika.medifirst2000.entities.*;
|
||||
import com.jasamedika.medifirst2000.service.SlipGajiService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.util.DateUtil;
|
||||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
@ -28,28 +18,14 @@ import org.springframework.data.domain.Sort;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.jasamedika.medifirst2000.dao.KomponenGajiDao;
|
||||
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
|
||||
import com.jasamedika.medifirst2000.dao.PegawaiDao;
|
||||
import com.jasamedika.medifirst2000.dao.SlipGajiDao;
|
||||
import com.jasamedika.medifirst2000.dao.SlipGajiDetailDao;
|
||||
import com.jasamedika.medifirst2000.dao.SlipGajiKomponenDao;
|
||||
import com.jasamedika.medifirst2000.dto.KomponenGajiDto;
|
||||
import com.jasamedika.medifirst2000.dto.SlipGajiDto;
|
||||
import com.jasamedika.medifirst2000.dto.SlipGajiKomponenDto;
|
||||
import com.jasamedika.medifirst2000.entities.Jabatan;
|
||||
import com.jasamedika.medifirst2000.entities.KomponenGaji;
|
||||
import com.jasamedika.medifirst2000.entities.MapPegawaiJabatanToUnitKerja;
|
||||
import com.jasamedika.medifirst2000.entities.NilaiKelompokJabatan;
|
||||
import com.jasamedika.medifirst2000.entities.Pegawai;
|
||||
import com.jasamedika.medifirst2000.entities.SlipGaji;
|
||||
import com.jasamedika.medifirst2000.entities.SlipGajiDetail;
|
||||
import com.jasamedika.medifirst2000.entities.SlipGajiKomponen;
|
||||
import com.jasamedika.medifirst2000.entities.SubUnitKerjaPegawai;
|
||||
import com.jasamedika.medifirst2000.entities.UnitKerjaPegawai;
|
||||
import com.jasamedika.medifirst2000.service.SlipGajiService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.util.DateUtil;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
@ -275,21 +251,37 @@ public class SlipGajiServiceImpl implements SlipGajiService {
|
||||
dto.grade(String.join("/", listNamaGrade));
|
||||
}
|
||||
{
|
||||
List<Map<String, Object>> listKomponen = slipGajiKomponenDao.findAll(pegawaiId, start, end);
|
||||
List<SlipGajiKomponenDto> dtoList = new ArrayList<>();
|
||||
listKomponen.forEach(k -> {
|
||||
SlipGajiKomponenDto.SlipGajiKomponenDtoBuilder kBuilder = SlipGajiKomponenDto.builder();
|
||||
kBuilder.id(k.get("id").toString());
|
||||
kBuilder.idJenisKomponen(Integer.valueOf(k.get("idJenisKomponen").toString()));
|
||||
kBuilder.jenisKomponen(k.get("jenisKomponen").toString());
|
||||
kBuilder.idKomponen(Integer.valueOf(k.get("idKomponen").toString()));
|
||||
kBuilder.namaKomponen(k.get("namaKomponen").toString());
|
||||
kBuilder.nominal(new BigDecimal(k.get("nominal").toString()));
|
||||
dtoList.add(kBuilder.build());
|
||||
List<KomponenGaji> komponenGajiList = komponenGajiDao.findAll();
|
||||
List<Map<String, Object>> listKomponen = slipGajiKomponenDao.findAll(pegawaiId, start, end);
|
||||
komponenGajiList.forEach(e -> {
|
||||
Optional<Map<String, Object>> first = listKomponen.stream()
|
||||
.filter(k -> e.getId().equals(k.get("idKomponen"))).findFirst();
|
||||
if (first.isPresent()) {
|
||||
SlipGajiKomponenDto.SlipGajiKomponenDtoBuilder kBuilder = SlipGajiKomponenDto.builder();
|
||||
kBuilder.id(first.get().get("id").toString());
|
||||
kBuilder.idJenisKomponen(Integer.valueOf(first.get().get("idJenisKomponen").toString()));
|
||||
kBuilder.jenisKomponen(first.get().get("jenisKomponen").toString());
|
||||
kBuilder.idKomponen(Integer.valueOf(first.get().get("idKomponen").toString()));
|
||||
kBuilder.namaKomponen(first.get().get("namaKomponen").toString());
|
||||
kBuilder.nominal(new BigDecimal(first.get().get("nominal").toString()));
|
||||
dtoList.add(kBuilder.build());
|
||||
} else {
|
||||
SlipGajiKomponenDto.SlipGajiKomponenDtoBuilder kBuilder = SlipGajiKomponenDto.builder();
|
||||
kBuilder.id(null);
|
||||
kBuilder.idJenisKomponen(e.getJenisKomponen());
|
||||
kBuilder.jenisKomponen(e.getJenisKomponen() == 1 ? "Penerimaan" : "Pemotongan");
|
||||
kBuilder.idKomponen(e.getId());
|
||||
kBuilder.namaKomponen(e.getNamaKomponen());
|
||||
kBuilder.nominal(null);
|
||||
dtoList.add(kBuilder.build());
|
||||
}
|
||||
});
|
||||
dtoList.stream().sorted(Comparator.comparing(o1 -> o1.getIdKomponen()))
|
||||
.sorted(Comparator.comparing(o2 -> o2.getIdJenisKomponen())).collect(Collectors.toList());
|
||||
dto.komponen(dtoList);
|
||||
List<SlipGajiKomponenDto> collectDto = dtoList.stream()
|
||||
.sorted(Comparator.comparing(SlipGajiKomponenDto::getIdKomponen))
|
||||
.sorted(Comparator.comparing(SlipGajiKomponenDto::getIdJenisKomponen))
|
||||
.collect(Collectors.toList());
|
||||
dto.komponen(collectDto);
|
||||
}
|
||||
}
|
||||
return dto.build();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user