Update SlipGajiServiceImpl.java

Perbaikan lanjutan untuk unggah slip gaji loading lama
This commit is contained in:
Salman Manoe 2023-06-23 10:30:13 +07:00
parent d5ddace4f3
commit ce44cbd071

View File

@ -258,9 +258,25 @@ public class SlipGajiServiceImpl implements SlipGajiService {
SlipGaji slipGaji = slipGajiBuilder.build();
listSlip.add(slipGaji);
List<SlipGajiKomponenDto> komponen = e.getKomponen();
/**
* TODO
*/
List<SlipGajiKomponen> komponenSlip = allKomponen.stream().filter(k -> e.getId().equals(k.getSlipGaji().getId())).collect(Collectors.toList());
List<Integer> listIdMasterKomponen = komponenSlip.stream().map(k -> k.getKomponen().getId()).collect(Collectors.toList());
komponen.forEach(k -> {
if (CommonUtil.isNotNullOrEmpty(k.getNominal()) && listIdMasterKomponen.contains(k.getIdKomponen())) {
List<SlipGajiKomponen> komponenList = komponenSlip.stream().filter(s -> s.getKomponen().getId().equals(k.getIdKomponen())).collect(Collectors.toList());
komponenList.forEach(l -> l.setNominal(k.getNominal()));
listKomponen.addAll(komponenList);
} else if (CommonUtil.isNotNullOrEmpty(k.getNominal())) {
SlipGajiKomponen.SlipGajiKomponenBuilder kBuilder = SlipGajiKomponen.builder();
if (CommonUtil.isNotNullOrEmpty(k.getId()))
kBuilder.id(k.getId());
KomponenGaji kGaji = new KomponenGaji();
kGaji.setId(k.getIdKomponen());
kBuilder.komponen(kGaji);
kBuilder.nominal(k.getNominal());
kBuilder.slipGaji(slipGaji);
listKomponen.add(kBuilder.build());
}
});
});
}
slipGajiDao.save(listSlip);
@ -418,7 +434,7 @@ public class SlipGajiServiceImpl implements SlipGajiService {
Object[] arrkd = new Object[row2.size()];
row1.toArray(arrId);
row2.toArray(arrkd);
Integer i = 1;
int i = 1;
Map<Integer, Object[]> data = new HashMap<>();
data.put(i++, arrId);
data.put(i++, arrkd);
@ -429,8 +445,7 @@ public class SlipGajiServiceImpl implements SlipGajiService {
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"), d.get("19") });
}
TreeMap<Integer, Object[]> sorted = new TreeMap<>();
sorted.putAll(data);
TreeMap<Integer, Object[]> sorted = new TreeMap<>(data);
Set<Integer> keyset = sorted.keySet();
int rownum = 0;
for (Integer key : keyset) {
@ -464,10 +479,10 @@ public class SlipGajiServiceImpl implements SlipGajiService {
String workingDir = System.getProperty("user.dir");
String your_os = System.getProperty("os.name").toLowerCase();
String absoluteFilePath = "";
if (your_os.indexOf("win") >= 0) {
if (your_os.contains("win")) {
// if_windows
absoluteFilePath = workingDir + "\\" + filename;
} else if (your_os.indexOf("nix") >= 0 || your_os.indexOf("nux") >= 0 || your_os.indexOf("mac") >= 0) {
} else if (your_os.contains("nix") || your_os.contains("nux") || your_os.contains("mac")) {
// if_unix_or_mac
absoluteFilePath = workingDir + "//tmp//" + filename;
// absoluteFilePath = workingDir + "/" + filename;
@ -475,14 +490,11 @@ public class SlipGajiServiceImpl implements SlipGajiService {
// unknown_os?
absoluteFilePath = workingDir + "/" + filename;
}
FileOutputStream out = new FileOutputStream(new File(absoluteFilePath));
try {
try (FileOutputStream out = new FileOutputStream(new File(absoluteFilePath))) {
workbook.write(out);
} catch (Exception e) {
e.printStackTrace();
return absoluteFilePath;
} finally {
out.close();
}
return absoluteFilePath;
}
@ -496,15 +508,15 @@ public class SlipGajiServiceImpl implements SlipGajiService {
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())) {
}
}
}
// 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;
}