Update service slip gaji
perbaikan unggah untuk update komponen slip
This commit is contained in:
parent
12a046ea25
commit
f6db7df78f
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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) {
|
||||||
{
|
{
|
||||||
|
|||||||
@ -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) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user