From ce44cbd0711572e9ec836e4e76a2e13670ca56c3 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Fri, 23 Jun 2023 10:30:13 +0700 Subject: [PATCH] Update SlipGajiServiceImpl.java Perbaikan lanjutan untuk unggah slip gaji loading lama --- .../service/impl/SlipGajiServiceImpl.java | 54 +++++++++++-------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SlipGajiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SlipGajiServiceImpl.java index 91986bea..55b0e62e 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SlipGajiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SlipGajiServiceImpl.java @@ -258,9 +258,25 @@ public class SlipGajiServiceImpl implements SlipGajiService { SlipGaji slipGaji = slipGajiBuilder.build(); listSlip.add(slipGaji); List komponen = e.getKomponen(); - /** - * TODO - */ + List komponenSlip = allKomponen.stream().filter(k -> e.getId().equals(k.getSlipGaji().getId())).collect(Collectors.toList()); + List listIdMasterKomponen = komponenSlip.stream().map(k -> k.getKomponen().getId()).collect(Collectors.toList()); + komponen.forEach(k -> { + if (CommonUtil.isNotNullOrEmpty(k.getNominal()) && listIdMasterKomponen.contains(k.getIdKomponen())) { + List 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 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 sorted = new TreeMap<>(); - sorted.putAll(data); + TreeMap sorted = new TreeMap<>(data); Set 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 komponenDto = dto.getKomponen(); - List listMasterKomponen = komponenGajiDao.findAll(new Sort("id")); - for (KomponenGaji m : listMasterKomponen) { - for (SlipGajiKomponenDto k : komponenDto) { - if (m.getId().equals(k.getIdKomponen())) { - - } - } - } +// List komponenDto = dto.getKomponen(); +// List listMasterKomponen = komponenGajiDao.findAll(new Sort("id")); +// for (KomponenGaji m : listMasterKomponen) { +// for (SlipGajiKomponenDto k : komponenDto) { +// if (m.getId().equals(k.getIdKomponen())) { +// +// } +// } +// } return result; }