Update service slip gaji

perbaikan unggah untuk update komponen slip
This commit is contained in:
Salman Manoe 2023-05-03 13:12:20 +07:00
parent 12a046ea25
commit f6db7df78f
4 changed files with 20 additions and 21 deletions

View File

@ -30,6 +30,8 @@ public interface SlipGajiKomponenDao extends JpaRepository<SlipGajiKomponen, Str
+ "inner join sg.pegawai pg " + "where sg.bulan between :start and :end " + "order by pg.id, mk.id") + "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); 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)") @Query("select sgk from SlipGajiKomponen sgk " + "where sgk.slipGaji.id = :idSlipGaji "
List<SlipGajiKomponen> findBySlipId(@Param("listId") List<String> listId); + "and sgk.komponen.id = :idKomponen")
SlipGajiKomponen findBySlipGajiAndKomponen(@Param("idSlipGaji") String idSlipGaji,
@Param("idKomponen") Integer idKomponen);
} }

View File

@ -17,8 +17,6 @@ public interface SlipGajiService {
void save(List<SlipGajiDto> dtoList); void save(List<SlipGajiDto> dtoList);
void delete(List<SlipGajiDto> dtoList);
void updateDetail(SlipGajiDto dto); void updateDetail(SlipGajiDto dto);
SlipGajiDto get(Integer pegawaiId, Long bulan); SlipGajiDto get(Integer pegawaiId, Long bulan);

View File

@ -177,15 +177,22 @@ public class SlipGajiServiceImpl implements SlipGajiService {
List<SlipGajiKomponenDto> dtos = dto.getKomponen(); List<SlipGajiKomponenDto> dtos = dto.getKomponen();
dtos.forEach(k -> { dtos.forEach(k -> {
if (CommonUtil.isNotNullOrEmpty(k.getNominal())) { if (CommonUtil.isNotNullOrEmpty(k.getNominal())) {
SlipGajiKomponen.SlipGajiKomponenBuilder kBuilder = SlipGajiKomponen.builder(); SlipGajiKomponen existedKomponen = slipGajiKomponenDao.findBySlipGajiAndKomponen(dto.getId(),
if (CommonUtil.isNotNullOrEmpty(k.getId())) k.getIdKomponen());
kBuilder.id(k.getId()); if (CommonUtil.isNotNullOrEmpty(existedKomponen)) {
KomponenGaji kGaji = new KomponenGaji(); existedKomponen.setNominal(k.getNominal());
kGaji.setId(k.getIdKomponen()); listKomponen.add(existedKomponen);
kBuilder.komponen(kGaji); } else {
kBuilder.nominal(k.getNominal()); SlipGajiKomponen.SlipGajiKomponenBuilder kBuilder = SlipGajiKomponen.builder();
kBuilder.slipGaji(savedSlip); if (CommonUtil.isNotNullOrEmpty(k.getId()))
listKomponen.add(kBuilder.build()); kBuilder.id(k.getId());
KomponenGaji kGaji = new KomponenGaji();
kGaji.setId(k.getIdKomponen());
kBuilder.komponen(kGaji);
kBuilder.nominal(k.getNominal());
kBuilder.slipGaji(savedSlip);
listKomponen.add(kBuilder.build());
}
} }
}); });
slipGajiKomponenDao.save(listKomponen); slipGajiKomponenDao.save(listKomponen);
@ -200,13 +207,6 @@ public class SlipGajiServiceImpl implements SlipGajiService {
}); });
} }
@Override
public void delete(List<SlipGajiDto> dtoList) {
List<String> listIdSlip = dtoList.stream().map(m -> m.getId()).collect(Collectors.toList());
List<SlipGajiKomponen> slipGajiKomponen = slipGajiKomponenDao.findBySlipId(listIdSlip);
slipGajiKomponenDao.delete(slipGajiKomponen);
}
@Override @Override
public void updateDetail(SlipGajiDto dto) { public void updateDetail(SlipGajiDto dto) {
{ {

View File

@ -59,7 +59,6 @@ public class SlipGajiController {
@RequestMapping(value = "/unggah", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/unggah", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Object> save(@RequestBody List<SlipGajiDto> dtoList) { public ResponseEntity<Object> save(@RequestBody List<SlipGajiDto> dtoList) {
try { try {
slipGajiService.delete(dtoList);
slipGajiService.save(dtoList); slipGajiService.save(dtoList);
return new ResponseEntity<>(true, HttpStatus.CREATED); return new ResponseEntity<>(true, HttpStatus.CREATED);
} catch (Exception e) { } catch (Exception e) {