Update service slip gaji
Penyesuaian generate excel untuk update
This commit is contained in:
parent
036a6860d6
commit
13f28efbaf
@ -25,6 +25,11 @@ public interface SlipGajiKomponenDao extends JpaRepository<SlipGajiKomponen, Str
|
||||
List<Map<String, Object>> findAll(@Param("pegawaiId") Integer pegawaiId, @Param("start") Date start,
|
||||
@Param("end") Date end);
|
||||
|
||||
@Query("select new Map(sgk.id as id," + "pg.id as idPegawai," + "mk.id as idKomponen," + "sgk.nominal as nominal) "
|
||||
+ "from SlipGajiKomponen sgk " + "inner join sgk.slipGaji sg " + "inner join sgk.komponen mk "
|
||||
+ "inner join sg.pegawai pg " + "where sg.bulan between :start and :end " + "order by pg.id, mk.id")
|
||||
List<Map<String, Object>> findAll(@Param("start") Date start, @Param("end") Date end);
|
||||
|
||||
@Query("select sgk from SlipGajiKomponen sgk where sgk.slipGaji.id in (:listId)")
|
||||
List<SlipGajiKomponen> findBySlipId(@Param("listId") List<String> listId);
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ package com.jasamedika.medifirst2000.service;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.jasamedika.medifirst2000.dto.SlipGajiDto;
|
||||
|
||||
@ -15,7 +16,7 @@ public interface SlipGajiService {
|
||||
void save(SlipGajiDto dto);
|
||||
|
||||
void save(List<SlipGajiDto> dtoList);
|
||||
|
||||
|
||||
void delete(List<SlipGajiDto> dtoList);
|
||||
|
||||
void updateDetail(SlipGajiDto dto);
|
||||
@ -23,4 +24,6 @@ public interface SlipGajiService {
|
||||
SlipGajiDto get(Integer pegawaiId, Long bulan);
|
||||
|
||||
String writeExcel(Long bulan) throws IOException;
|
||||
|
||||
Map<String, Object> previewPdf(Integer pegawaiId, Long bulan);
|
||||
}
|
||||
|
||||
@ -23,6 +23,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Sort;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -298,6 +299,22 @@ public class SlipGajiServiceImpl implements SlipGajiService {
|
||||
Date end = DateUtil.endMonth(month);
|
||||
List<Map<String, Object>> listSlipPegawai = slipGajiDao.findAllByBulan(start, end);
|
||||
List<Map<String, Object>> allKomponen = komponenGajiDao.getAll();
|
||||
List<Map<String, Object>> listAllKomponen = new ArrayList<>();
|
||||
{
|
||||
List<Map<String, Object>> listSlipKomponen = slipGajiKomponenDao.findAll(start, end);
|
||||
for (Map<String, Object> p : listSlipPegawai) {
|
||||
for (Map<String, Object> k : allKomponen) {
|
||||
p.put(k.get("id").toString(), null);
|
||||
for (Map<String, Object> s : listSlipKomponen) {
|
||||
if (p.get("idPegawai").equals(s.get("idPegawai")) && k.get("id").equals(s.get("idKomponen"))) {
|
||||
p.put(k.get("id").toString(), s.get("nominal"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
listAllKomponen.add(p);
|
||||
}
|
||||
}
|
||||
HSSFWorkbook workbook = new HSSFWorkbook();
|
||||
HSSFSheet sheet = workbook.createSheet(new SimpleDateFormat("MMMM yyyy", new Locale("in", "ID")).format(month));
|
||||
List<Object> row1 = new ArrayList<>();
|
||||
@ -320,8 +337,12 @@ public class SlipGajiServiceImpl implements SlipGajiService {
|
||||
Map<Integer, Object[]> data = new HashMap<>();
|
||||
data.put(i++, arrId);
|
||||
data.put(i++, arrkd);
|
||||
for (Map<String, Object> pegawai : listSlipPegawai) {
|
||||
data.put(i++, new Object[] { pegawai.get("id"), pegawai.get("idPegawai"), pegawai.get("namaPegawai") });
|
||||
for (Map<String, Object> d : listAllKomponen) {
|
||||
data.put(i++,
|
||||
new Object[] { d.get("id"), d.get("idPegawai"), d.get("namaPegawai"), d.get("1"), d.get("2"),
|
||||
d.get("3"), d.get("4"), d.get("5"), d.get("6"), d.get("7"), d.get("8"), d.get("9"),
|
||||
d.get("10"), d.get("11"), d.get("12"), d.get("13"), d.get("14"), d.get("15"), d.get("16"),
|
||||
d.get("17"), d.get("18") });
|
||||
}
|
||||
TreeMap<Integer, Object[]> sorted = new TreeMap<>();
|
||||
sorted.putAll(data);
|
||||
@ -337,6 +358,8 @@ public class SlipGajiServiceImpl implements SlipGajiService {
|
||||
cell.setCellValue((String) obj);
|
||||
else if (obj instanceof Integer)
|
||||
cell.setCellValue((Integer) obj);
|
||||
else if (obj instanceof BigDecimal)
|
||||
cell.setCellValue(((BigDecimal) obj).doubleValue());
|
||||
}
|
||||
}
|
||||
sheet.getRow(0).setZeroHeight(true);
|
||||
@ -375,4 +398,25 @@ public class SlipGajiServiceImpl implements SlipGajiService {
|
||||
}
|
||||
return absoluteFilePath;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> previewPdf(Integer pegawaiId, Long bulan) {
|
||||
SlipGajiDto dto = this.get(pegawaiId, bulan);
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("namaPegawai", dto.getNamaPegawai());
|
||||
result.put("nip", dto.getNip());
|
||||
result.put("jabatan", dto.getJabatan());
|
||||
result.put("unitKerja", dto.getUnitKerja());
|
||||
result.put("subUnitKerja", dto.getSubUnitKerja());
|
||||
List<SlipGajiKomponenDto> komponenDto = dto.getKomponen();
|
||||
List<KomponenGaji> listMasterKomponen = komponenGajiDao.findAll(new Sort("id"));
|
||||
for (KomponenGaji m : listMasterKomponen) {
|
||||
for (SlipGajiKomponenDto k : komponenDto) {
|
||||
if (m.getId().equals(k.getIdKomponen())) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user