106 lines
4.7 KiB
Java
106 lines
4.7 KiB
Java
package com.iconplus.smartproc.controller;
|
|
|
|
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
|
import com.iconplus.smartproc.model.request.DrpDokumenRequest;
|
|
import com.iconplus.smartproc.model.request.DrpRequest;
|
|
import com.iconplus.smartproc.model.response.*;
|
|
import com.iconplus.smartproc.service.drp.*;
|
|
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")
|
|
public class DrpController {
|
|
|
|
private final GetDrpService getDrpService;
|
|
private final GetListDrpService getListDrpService;
|
|
private final PostDrpUploadDokumenRKAPService postDrpUploadDokumenRKAPService;
|
|
private final PostCreateTahunDrpService postCreateTahunDrpService;
|
|
private final DeleteDokumenUploadService deleteDokumenUploadService;
|
|
private final PostCreateDrpService postCreateDrpService;
|
|
private final EditUploadDokumenDrpService editUploadDokumenDrpService;
|
|
|
|
public DrpController(GetDrpService getDrpService,
|
|
GetListDrpService getListDrpService,
|
|
PostDrpUploadDokumenRKAPService postDrpUploadDokumenRKAPService,
|
|
PostCreateTahunDrpService postCreateTahunDrpService,
|
|
DeleteDokumenUploadService deleteDokumenUploadService,
|
|
PostCreateDrpService postCreateDrpService,
|
|
EditUploadDokumenDrpService editUploadDokumenDrpService) {
|
|
this.getDrpService = getDrpService;
|
|
this.getListDrpService = getListDrpService;
|
|
this.postDrpUploadDokumenRKAPService = postDrpUploadDokumenRKAPService;
|
|
this.postCreateTahunDrpService = postCreateTahunDrpService;
|
|
this.deleteDokumenUploadService = deleteDokumenUploadService;
|
|
this.postCreateDrpService = postCreateDrpService;
|
|
this.editUploadDokumenDrpService = editUploadDokumenDrpService;
|
|
}
|
|
|
|
@GetMapping
|
|
public GetListDrpResponse getListDrp(@RequestParam(name = "search", required = false) String search,
|
|
@RequestParam(name = "page", defaultValue = "1") Integer page,
|
|
@RequestParam(name = "size", defaultValue = "5") Integer size){
|
|
|
|
Pageable pageable = PageRequest.of((page - 1), size);
|
|
DrpRequest drpRequest = DrpRequest.builder()
|
|
.search(search)
|
|
.pageable(pageable)
|
|
.build();
|
|
|
|
return getListDrpService.execute(drpRequest);
|
|
}
|
|
|
|
@GetMapping("/{id}")
|
|
public DrpResponse getDrp(@PathVariable Long id) {
|
|
return getDrpService.execute(DrpRequest.builder()
|
|
.id(id)
|
|
.build());
|
|
}
|
|
|
|
@PostMapping("/tahun")
|
|
public DrpResponse createTahunDrp(@RequestBody DrpRequest drpRequest) {
|
|
return postCreateTahunDrpService.execute(drpRequest);
|
|
}
|
|
|
|
@PostMapping
|
|
public DrpResponse createDrp(@RequestBody DrpRequest drpRequest) {
|
|
return postCreateDrpService.execute(drpRequest);
|
|
}
|
|
|
|
|
|
@PostMapping("/upload/dokumen")
|
|
public DrpDokumenResponse uploadDokumenRkap(@RequestParam(name = "jenisDokumenId") Long jenisDokumenId,
|
|
@RequestParam(name = "keterangan") String keterangan,
|
|
@RequestParam(name = "file") MultipartFile file) throws IOException {
|
|
return postDrpUploadDokumenRKAPService.execute(DrpDokumenRequest.builder()
|
|
.jenisDokumenId(jenisDokumenId)
|
|
.keterangan(keterangan)
|
|
.file(file)
|
|
.build());
|
|
}
|
|
|
|
@DeleteMapping("/upload/dokumen")
|
|
public EmptyResponse deleteDokumenRkap(@RequestBody DrpDokumenRequest drpDokumenRequest) {
|
|
return deleteDokumenUploadService.execute(drpDokumenRequest);
|
|
}
|
|
|
|
@PutMapping("/upload/dokumen")
|
|
public DrpDokumenResponse editUploadDrpDokumen(@RequestParam(name = "filename") String filename,
|
|
@RequestParam(name = "jenisDokumenId") Long jenisDokumenId,
|
|
@RequestParam(name = "keterangan") String keterangan,
|
|
@RequestParam(name = "file") MultipartFile file) {
|
|
return editUploadDokumenDrpService.execute(DrpDokumenRequest.builder()
|
|
.filename(filename)
|
|
.jenisDokumenId(jenisDokumenId)
|
|
.keterangan(keterangan)
|
|
.file(file)
|
|
.build());
|
|
}
|
|
|
|
}
|