This commit is contained in:
dirgantarasiahaan
2023-05-31 14:00:28 +07:00
parent 2c82319b16
commit 6deddb3f15
17 changed files with 479 additions and 110 deletions

View File

@@ -0,0 +1,101 @@
package com.iconplus.smartproc.controller;
import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.model.request.DrpPengadaanDokumenRequest;
import com.iconplus.smartproc.model.request.DrpPengadaanRequest;
import com.iconplus.smartproc.model.response.*;
import com.iconplus.smartproc.service.drppengadaan.*;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
@CrossOrigin(origins = "${fe.server}", allowCredentials = "true")
@RestController
@RequestMapping("/api/drp/pengadaan")
public class DrpPengadaanController {
private final PostCreateDrpPengadaanService postCreateDrpPengadaanService;
private final GetListDrpPengadaanService getListDrpPengadaanService;
private final PostDrpUploadDokumenPendukungService postDrpUploadDokumenPendukungService;
private final DeleteDrpPengadaanService deleteDrpPengadaanService;
private final DeleteDokumenPendukungService deleteDokumenPendukungService;
private final EditUploadDrpPengadaanService editUploadDrpPengadaanService;
public DrpPengadaanController(PostCreateDrpPengadaanService postCreateDrpPengadaanService,
GetListDrpPengadaanService getListDrpPengadaanService,
PostDrpUploadDokumenPendukungService postDrpUploadDokumenPendukungService,
DeleteDrpPengadaanService deleteDrpPengadaanService,
DeleteDokumenPendukungService deleteDokumenPendukungService,
EditUploadDrpPengadaanService editUploadDrpPengadaanService) {
this.postCreateDrpPengadaanService = postCreateDrpPengadaanService;
this.getListDrpPengadaanService = getListDrpPengadaanService;
this.postDrpUploadDokumenPendukungService = postDrpUploadDokumenPendukungService;
this.deleteDrpPengadaanService = deleteDrpPengadaanService;
this.deleteDokumenPendukungService = deleteDokumenPendukungService;
this.editUploadDrpPengadaanService = editUploadDrpPengadaanService;
}
@GetMapping
public GetListDrpPengadaanResponse getDrpPengadaan(@RequestParam(name = "page", defaultValue = "1") Integer page,
@RequestParam(name = "size", defaultValue = "5") Integer size){
Pageable pageable = PageRequest.of((page - 1), size);
DrpPengadaanRequest drpPengadaanRequest = DrpPengadaanRequest.builder()
.pageable(pageable)
.build();
return getListDrpPengadaanService.execute(drpPengadaanRequest);
}
@PostMapping
public DrpPengadaanResponse createDrpPengadaan(@RequestBody DrpPengadaanRequest drpPengadaanRequest) {
return postCreateDrpPengadaanService.execute(drpPengadaanRequest);
}
@GetMapping("/{id}")
public DrpPengadaanResponse getDrpPengadaanById(@PathVariable Long id) {
return null;
}
@PutMapping("/{id}")
public DrpPengadaanResponse updateDrpPengadaan(@PathVariable Long id) {
return null;
}
@DeleteMapping("/{id}")
public EmptyResponse deleteDrpPengadaan(@RequestBody DrpPengadaanRequest drpPengadaanRequest) {
return deleteDrpPengadaanService.execute(drpPengadaanRequest);
}
@PostMapping("/upload/dokumen")
public DrpPengadaanDokumenResponse uploadDokumenPendukung(@RequestParam(name = "jenisDokumenId") Long jenisDokumenId,
@RequestParam(name = "keterangan") String keterangan,
@RequestParam(name = "file") MultipartFile file) throws IOException {
return postDrpUploadDokumenPendukungService.execute(DrpPengadaanDokumenRequest.builder()
.jenisDokumenId(jenisDokumenId)
.keterangan(keterangan)
.file(file)
.build());
}
@PutMapping("/upload/dokumen")
public DrpPengadaanDokumenResponse editUploadDrpDokumen(@RequestParam(name = "filename") String filename,
@RequestParam(name = "jenisDokumenId") Long jenisDokumenId,
@RequestParam(name = "keterangan") String keterangan,
@RequestParam(name = "file") MultipartFile file) {
return editUploadDrpPengadaanService.execute(DrpPengadaanDokumenRequest.builder()
.filename(filename)
.jenisDokumenId(jenisDokumenId)
.keterangan(keterangan)
.file(file)
.build());
}
@DeleteMapping("/upload/dokumen")
public EmptyResponse deleteDokumenPendukung(@RequestBody DrpPengadaanDokumenRequest drpPengadaanDokumenRequest) {
return deleteDokumenPendukungService.execute(drpPengadaanDokumenRequest);
}
}