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")
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);
@Query("select sgk from SlipGajiKomponen sgk " + "where sgk.slipGaji.id = :idSlipGaji "
+ "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 delete(List<SlipGajiDto> dtoList);
void updateDetail(SlipGajiDto dto);
SlipGajiDto get(Integer pegawaiId, Long bulan);

View File

@ -177,15 +177,22 @@ public class SlipGajiServiceImpl implements SlipGajiService {
List<SlipGajiKomponenDto> dtos = dto.getKomponen();
dtos.forEach(k -> {
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(savedSlip);
listKomponen.add(kBuilder.build());
SlipGajiKomponen existedKomponen = slipGajiKomponenDao.findBySlipGajiAndKomponen(dto.getId(),
k.getIdKomponen());
if (CommonUtil.isNotNullOrEmpty(existedKomponen)) {
existedKomponen.setNominal(k.getNominal());
listKomponen.add(existedKomponen);
} else {
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(savedSlip);
listKomponen.add(kBuilder.build());
}
}
});
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
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)
public ResponseEntity<Object> save(@RequestBody List<SlipGajiDto> dtoList) {
try {
slipGajiService.delete(dtoList);
slipGajiService.save(dtoList);
return new ResponseEntity<>(true, HttpStatus.CREATED);
} catch (Exception e) {