From 06058d279e0cef454c511f96e75baacd0c67e927 Mon Sep 17 00:00:00 2001 From: dirgantarasiahaan Date: Tue, 30 May 2023 11:12:25 +0700 Subject: [PATCH] upload dokumen --- .../smartproc/controller/DrpController.java | 78 ++++++++++++++----- .../smartproc/helper/service/BaseService.java | 5 +- .../model/projection/DrpPengadaanView.java | 31 +++++++- .../model/request/DrpDokumenRequest.java | 3 + .../model/response/DrpPengadaanResponse.java | 25 +++++- .../response/GetListDrpPengadaanResponse.java | 19 +++++ .../repository/DrpPengadaanRepository.java | 42 ++++++++++ .../drp/GetListDrpPengadaanService.java | 58 +++++++++++++- .../service/drp/PostCreateDrpService.java | 22 ++---- .../drp/PostCreateTahunDrpService.java | 45 +++++++++++ .../PostDrpUploadDokumenPendukungService.java | 47 +++++++++++ .../drp/PostDrpUploadDokumenRKAPService.java | 46 +++++++++++ .../manajemenuser/PostCreateUserService.java | 2 +- src/main/resources/application-local.yml | 5 +- 14 files changed, 381 insertions(+), 47 deletions(-) create mode 100644 src/main/java/com/iconplus/smartproc/model/response/GetListDrpPengadaanResponse.java create mode 100644 src/main/java/com/iconplus/smartproc/service/drp/PostCreateTahunDrpService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/drp/PostDrpUploadDokumenPendukungService.java create mode 100644 src/main/java/com/iconplus/smartproc/service/drp/PostDrpUploadDokumenRKAPService.java diff --git a/src/main/java/com/iconplus/smartproc/controller/DrpController.java b/src/main/java/com/iconplus/smartproc/controller/DrpController.java index 88d4b47..46274e7 100644 --- a/src/main/java/com/iconplus/smartproc/controller/DrpController.java +++ b/src/main/java/com/iconplus/smartproc/controller/DrpController.java @@ -1,18 +1,17 @@ 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.DrpPengadaanRequest; import com.iconplus.smartproc.model.request.DrpRequest; -import com.iconplus.smartproc.model.response.DrpPengadaanResponse; -import com.iconplus.smartproc.model.response.DrpResponse; -import com.iconplus.smartproc.model.response.GetListDrpResponse; -import com.iconplus.smartproc.service.drp.GetDrpService; -import com.iconplus.smartproc.service.drp.GetListDrpService; -import com.iconplus.smartproc.service.drp.PostCreateDrpPengadaanService; -import com.iconplus.smartproc.service.drp.PostCreateDrpService; +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 @@ -23,15 +22,27 @@ public class DrpController { private final GetListDrpService getListDrpService; private final PostCreateDrpService postCreateDrpService; private final PostCreateDrpPengadaanService postCreateDrpPengadaanService; + private final GetListDrpPengadaanService getListDrpPengadaanService; + private final PostDrpUploadDokumenRKAPService postDrpUploadDokumenRKAPService; + private final PostDrpUploadDokumenPendukungService postDrpUploadDokumenPendukungService; + private final PostCreateTahunDrpService postCreateTahunDrpService; public DrpController(GetDrpService getDrpService, GetListDrpService getListDrpService, PostCreateDrpService postCreateDrpService, - PostCreateDrpPengadaanService postCreateDrpPengadaanService) { + PostCreateDrpPengadaanService postCreateDrpPengadaanService, + GetListDrpPengadaanService getListDrpPengadaanService, + PostDrpUploadDokumenRKAPService postDrpUploadDokumenRKAPService, + PostCreateTahunDrpService postCreateTahunDrpService, + PostDrpUploadDokumenPendukungService postDrpUploadDokumenPendukungService) { this.getDrpService = getDrpService; this.getListDrpService = getListDrpService; this.postCreateDrpService = postCreateDrpService; this.postCreateDrpPengadaanService = postCreateDrpPengadaanService; + this.getListDrpPengadaanService = getListDrpPengadaanService; + this.postDrpUploadDokumenRKAPService = postDrpUploadDokumenRKAPService; + this.postDrpUploadDokumenPendukungService = postDrpUploadDokumenPendukungService; + this.postCreateTahunDrpService = postCreateTahunDrpService; } @GetMapping @@ -48,19 +59,33 @@ public class DrpController { return getListDrpService.execute(drpRequest); } - @GetMapping("/{id}") - public DrpResponse getDrp(@PathVariable Long id) { - return getDrpService.execute(DrpRequest.builder() - .id(id) + + @PostMapping("/tahun") + public DrpResponse createTahunDrp(@RequestBody DrpRequest drpRequest) { + return postCreateTahunDrpService.execute(drpRequest); + } + + + @PostMapping("/upload/rkap") + 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()); } - @GetMapping("/tahun/{id}") - public EmptyResponse getExistDrp(@PathVariable(name = "id") Integer tahun) { - postCreateDrpService.validateTahunDrp(DrpRequest.builder() - .tahun(tahun) - .build()); - return new EmptyResponse(); + @PostMapping("/upload/pendukung") + public DrpDokumenResponse uploadDokumenPendukung(@RequestParam(name = "jenisDokumenId") Long jenisDokumenId, + @RequestParam(name = "keterangan") String keterangan, + @RequestParam(name = "file") MultipartFile file) throws IOException { + return postDrpUploadDokumenPendukungService.execute(DrpDokumenRequest.builder() + .jenisDokumenId(jenisDokumenId) + .keterangan(keterangan) + .file(file) + .build()); } @PostMapping @@ -68,14 +93,27 @@ public class DrpController { return postCreateDrpService.execute(drpRequest); } + @GetMapping("/{id}") + public DrpResponse getDrp(@PathVariable Long id) { + return getDrpService.execute(DrpRequest.builder() + .id(id) + .build()); + } + @PostMapping("/pengadaan") public DrpPengadaanResponse createDrpPengadaan(@RequestBody DrpPengadaanRequest drpPengadaanRequest) { return postCreateDrpPengadaanService.execute(drpPengadaanRequest); } @GetMapping("/pengadaan") - public DrpPengadaanResponse getDrpPengadaan(@RequestBody DrpPengadaanRequest drpPengadaanRequest) { - return null; + 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); } } diff --git a/src/main/java/com/iconplus/smartproc/helper/service/BaseService.java b/src/main/java/com/iconplus/smartproc/helper/service/BaseService.java index ffe5715..58f5b62 100644 --- a/src/main/java/com/iconplus/smartproc/helper/service/BaseService.java +++ b/src/main/java/com/iconplus/smartproc/helper/service/BaseService.java @@ -4,6 +4,9 @@ package com.iconplus.smartproc.helper.service; import com.iconplus.smartproc.helper.base.BaseRequest; import com.iconplus.smartproc.helper.base.BaseResponse; +import java.io.FileNotFoundException; +import java.io.IOException; + public interface BaseService { - V execute(T input); + V execute(T input) throws IOException; } diff --git a/src/main/java/com/iconplus/smartproc/model/projection/DrpPengadaanView.java b/src/main/java/com/iconplus/smartproc/model/projection/DrpPengadaanView.java index d0c8b52..4719259 100644 --- a/src/main/java/com/iconplus/smartproc/model/projection/DrpPengadaanView.java +++ b/src/main/java/com/iconplus/smartproc/model/projection/DrpPengadaanView.java @@ -20,12 +20,21 @@ public interface DrpPengadaanView { Long getLokasiId(); void setLokasiId(Long lokasiId); + String getLokasi(); + void setLokasi(String lokasi); + Long getJenisPengadaanId(); void setJenisPengadaanId(Long jenisPengadaanId); + String getJenisPengadaan(); + void setJenisPengadaan(String jenisPengadaan); + Long getUnitInisiatorId(); void setUnitInisiatorId(Long unitInisiatorId); + String getUnitInisiator(); + void setUnitInisiator(String unitInisiator); + BigDecimal getHpe(); void setHpe(BigDecimal hpe); @@ -35,21 +44,39 @@ public interface DrpPengadaanView { Long getSumberDanaId(); void setSumberDanaId(Long sumberDanaId); + String getSumberDana(); + void setSumberDana(String sumberDana); + Long getMetodePengadaanId(); void setMetodePengadaanId(Long metodePengadaanId); - Long getSupplyPositioningMatrix(); - void setSupplyPositioningMatrix(Long supplyPositioningMatrix); + String getMetodePengadaan(); + void setMetodePengadaan(String metodePengadaan); + + Long getSupplyPositioningMatrixId(); + void setSupplyPositioningMatrixId(Long supplyPositioningMatrixId); + + String getSupplyPositioningMatrix(); + void setSupplyPositioningMatrix(String supplyPositioningMatrix); Long getMetodePenyampaianId(); void setMetodePenyampaianId(Long metodePenyampaianId); + String getMetodePenyampaian(); + void setMetodePenyampaian(String metodePenyampaian); + Long getJenisKontrakId(); void setJenisKontrakId(Long jenisKontrakId); + String getJenisKontrak(); + void setJenisKontrak(String jenisKontrak); + Long getStrategiPengadaanId(); void setStrategiPengadaanId(Long strategiPengadaanId); + String getStrategiPengadaan(); + void setStrategiPengadaan(String strategiPengadaan); + Date getRencanaTanggal(); void setRencanaTanggal(Date rencanaTanggal); diff --git a/src/main/java/com/iconplus/smartproc/model/request/DrpDokumenRequest.java b/src/main/java/com/iconplus/smartproc/model/request/DrpDokumenRequest.java index a42a55d..122e316 100644 --- a/src/main/java/com/iconplus/smartproc/model/request/DrpDokumenRequest.java +++ b/src/main/java/com/iconplus/smartproc/model/request/DrpDokumenRequest.java @@ -5,6 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import org.springframework.web.multipart.MultipartFile; @Data @Builder @@ -12,8 +13,10 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class DrpDokumenRequest extends BaseRequest { + private Long drpId; private Long jenisDokumenId; private String filename; private String keterangan; + private MultipartFile file; private Boolean isDelete; } diff --git a/src/main/java/com/iconplus/smartproc/model/response/DrpPengadaanResponse.java b/src/main/java/com/iconplus/smartproc/model/response/DrpPengadaanResponse.java index bbf336d..98472e0 100644 --- a/src/main/java/com/iconplus/smartproc/model/response/DrpPengadaanResponse.java +++ b/src/main/java/com/iconplus/smartproc/model/response/DrpPengadaanResponse.java @@ -20,16 +20,35 @@ public class DrpPengadaanResponse extends BaseResponse { private Long drpId; private String nomor; private String namaPengadaan; - private Long lokasiId; - private Long jenisPengadaanId; - private Long unitInisiatorId; private BigDecimal pagu; + + private Long lokasiId; + private String lokasi; + + private Long jenisPengadaanId; + private String jenisPengadaan; + + private Long unitInisiatorId; + private String unitInisiator; + private Long sumberDanaId; + private String sumberDana; + private Long supplyPositioningMatrixId; + private String supplyPositioningMatrix; + private Long metodePengadaanId; + private String metodePengadaan; + private Long metodePenyampaianId; + private String metodePenyampaian; + private Long jenisKontrakId; + private String jenisKontrak; + private Long strategiPengadaanId; + private String strategiPengadaan; + private Date rencanaTanggal; private Date targetTanggal; private BigDecimal hpe; diff --git a/src/main/java/com/iconplus/smartproc/model/response/GetListDrpPengadaanResponse.java b/src/main/java/com/iconplus/smartproc/model/response/GetListDrpPengadaanResponse.java new file mode 100644 index 0000000..500132e --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/model/response/GetListDrpPengadaanResponse.java @@ -0,0 +1,19 @@ +package com.iconplus.smartproc.model.response; + +import com.iconplus.smartproc.helper.base.BaseResponse; +import com.iconplus.smartproc.helper.model.Pagination; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class GetListDrpPengadaanResponse extends BaseResponse { + private List data; + private Pagination pagination; +} diff --git a/src/main/java/com/iconplus/smartproc/repository/DrpPengadaanRepository.java b/src/main/java/com/iconplus/smartproc/repository/DrpPengadaanRepository.java index d9857d1..70bb641 100644 --- a/src/main/java/com/iconplus/smartproc/repository/DrpPengadaanRepository.java +++ b/src/main/java/com/iconplus/smartproc/repository/DrpPengadaanRepository.java @@ -1,7 +1,9 @@ package com.iconplus.smartproc.repository; import com.iconplus.smartproc.model.entity.DrpPengadaan; +import com.iconplus.smartproc.model.projection.DrpPengadaanView; import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; @@ -9,5 +11,45 @@ import org.springframework.stereotype.Repository; @Repository public interface DrpPengadaanRepository extends JpaRepository { + @Query(value = "SELECT dp.id as id, " + + "dp.nomor as nomor, " + + "dp.drpId as drpId, " + + "dp.namaPengadaan as namaPengadaan, " + + "dp.hpe as hpe, " + + "dp.pagu as pagu, " + + "dp.isActive as isActive, " + + "dp.rencanaTanggal as rencanaTanggal, " + + "dp.targetTanggal as targetTanggal, " + + "dp.jenisKontrakId as jenisKontrakId, " + + "jk.jenisKontrak as jenisKontrak, " + + "dp.jenisPengadaanId as jenisPengadaanId, " + + "jp.jenisPengadaan as jenisPengadaan, " + + "dp.lokasiId as lokasiId, " + + "l.lokasi as lokasi, " + + "dp.metodePengadaanId as metodePengadaanId, " + + "mp.metodePengadaan as metodePengadaan, " + + "dp.metodePenyampaianId as metodePenyampaianId, " + + "mpi.metodePenyampaian as metodePenyampaian, " + + "dp.strategiPengadaanId as strategiPengadaanId, " + + "sp.strategiPengadaan as strategiPengadaan, " + + "dp.sumberDanaId as sumberDanaId, " + + "sd.sumberDana as sumberDana, " + + "dp.supplyPositioningMatrixId as supplyPositioningMatrixId, " + + "spm.supplyPositioningMatrix as supplyPositioningMatrix, " + + "dp.unitInisiatorId as unitInisiatorId, " + + "ui.unitInisiator as unitInisiator " + + "FROM DrpPengadaan dp " + + "JOIN JenisKontrak jk ON jk.id = dp.jenisKontrakId " + + "JOIN JenisPengadaan jp ON jp.id = dp.jenisPengadaanId " + + "JOIN Lokasi l ON l.id = dp.lokasiId " + + "JOIN MetodePengadaan mp ON mp.id = dp.metodePengadaanId " + + "JOIN MetodePenyampaian mpi ON mpi.id = dp.metodePenyampaianId " + + "JOIN StrategiPengadaan sp ON sp.id = dp.strategiPengadaanId " + + "JOIN SumberDana sd ON sd.id = dp.sumberDanaId " + + "JOIN SupplyPositioningMatrix spm ON spm.id = dp.supplyPositioningMatrixId " + + "JOIN UnitInisiator ui ON ui.id = dp.unitInisiatorId " + + "WHERE dp.isDelete = false") + Page getListDrpPengadaan(Pageable pageable); + } diff --git a/src/main/java/com/iconplus/smartproc/service/drp/GetListDrpPengadaanService.java b/src/main/java/com/iconplus/smartproc/service/drp/GetListDrpPengadaanService.java index f074027..7b24ba2 100644 --- a/src/main/java/com/iconplus/smartproc/service/drp/GetListDrpPengadaanService.java +++ b/src/main/java/com/iconplus/smartproc/service/drp/GetListDrpPengadaanService.java @@ -1,13 +1,19 @@ package com.iconplus.smartproc.service.drp; +import com.iconplus.smartproc.helper.model.Pagination; import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.projection.DrpPengadaanView; import com.iconplus.smartproc.model.request.DrpPengadaanRequest; import com.iconplus.smartproc.model.response.DrpPengadaanResponse; +import com.iconplus.smartproc.model.response.GetListDrpPengadaanResponse; import com.iconplus.smartproc.repository.DrpPengadaanRepository; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + @Service -public class GetListDrpPengadaanService implements BaseService { +public class GetListDrpPengadaanService implements BaseService { private final DrpPengadaanRepository drpPengadaanRepository; @@ -16,8 +22,54 @@ public class GetListDrpPengadaanService implements BaseService drpPengadaanResponseList = new ArrayList<>(); + + var drpPengadaanViews = drpPengadaanRepository.getListDrpPengadaan(input.getPageable()); + for (DrpPengadaanView drpPengadaanView : drpPengadaanViews) { + DrpPengadaanResponse drpPengadaanResponse = DrpPengadaanResponse.builder() + .id(drpPengadaanView.getId()) + .drpId(drpPengadaanView.getDrpId()) + .namaPengadaan(drpPengadaanView.getNamaPengadaan()) + .nomor(drpPengadaanView.getNomor()) + .hpe(drpPengadaanView.getHpe()) + .isActive(drpPengadaanView.getIsActive()) + .pagu(drpPengadaanView.getPagu()) + .rencanaTanggal(drpPengadaanView.getRencanaTanggal()) + .targetTanggal(drpPengadaanView.getTargetTanggal()) + .jenisPengadaanId(drpPengadaanView.getJenisPengadaanId()) + .jenisPengadaan(drpPengadaanView.getJenisPengadaan()) + .jenisKontrakId(drpPengadaanView.getJenisKontrakId()) + .jenisKontrak(drpPengadaanView.getJenisKontrak()) + .metodePengadaanId(drpPengadaanView.getMetodePengadaanId()) + .metodePengadaan(drpPengadaanView.getMetodePengadaan()) + .lokasiId(drpPengadaanView.getLokasiId()) + .lokasi(drpPengadaanView.getLokasi()) + .metodePenyampaianId(drpPengadaanView.getMetodePenyampaianId()) + .metodePenyampaian(drpPengadaanView.getMetodePenyampaian()) + .unitInisiatorId(drpPengadaanView.getUnitInisiatorId()) + .unitInisiator(drpPengadaanView.getUnitInisiator()) + .strategiPengadaanId(drpPengadaanView.getStrategiPengadaanId()) + .strategiPengadaan(drpPengadaanView.getStrategiPengadaan()) + .supplyPositioningMatrixId(drpPengadaanView.getSupplyPositioningMatrixId()) + .supplyPositioningMatrix(drpPengadaanView.getSupplyPositioningMatrix()) + .sumberDanaId(drpPengadaanView.getSumberDanaId()) + .sumberDana(drpPengadaanView.getSumberDana()) + .build(); + drpPengadaanResponseList.add(drpPengadaanResponse); + } + + return GetListDrpPengadaanResponse.builder() + .data(drpPengadaanResponseList) + .pagination(Pagination.builder() + .pageSize(input.getPageable().getPageSize()) + .currentPage(input.getPageable().getPageNumber()) + .totalPages(drpPengadaanViews.getTotalPages()) + .totalRecords(drpPengadaanViews.getTotalElements()) + .isFirstPage(drpPengadaanViews.isFirst()) + .isLastPage(drpPengadaanViews.isLast()) + .build()) + .build(); } } diff --git a/src/main/java/com/iconplus/smartproc/service/drp/PostCreateDrpService.java b/src/main/java/com/iconplus/smartproc/service/drp/PostCreateDrpService.java index c1851dd..9eeeda3 100644 --- a/src/main/java/com/iconplus/smartproc/service/drp/PostCreateDrpService.java +++ b/src/main/java/com/iconplus/smartproc/service/drp/PostCreateDrpService.java @@ -38,14 +38,13 @@ public class PostCreateDrpService implements BaseService new BusinessException(Constants.ERR_CODE_10001, + Constants.ERR_TTL_10001, + String.format(Constants.ERR_MSG_10001, "DRP", input.getId()))); - Drp drp = Drp.builder() - .tahun(input.getTahun()) - .approveStatus(input.getApproveStatus()) - .isActive(input.getIsActive()) - .isDelete(false) - .build(); + drp.setApproveStatus(input.getApproveStatus()); + drp.setIsActive(input.getIsActive()); var drpSaved = drpRepository.save(drp); @@ -85,13 +84,4 @@ public class PostCreateDrpService implements BaseService drpOptional = drpRepository.findByTahunAndIsDeleteFalse(input.getTahun()); - if (drpOptional.isPresent()) { - throw new BusinessException(Constants.ERR_CODE_10010, - Constants.ERR_TTL_10010, - Constants.ERR_MSG_10010); - } - } } diff --git a/src/main/java/com/iconplus/smartproc/service/drp/PostCreateTahunDrpService.java b/src/main/java/com/iconplus/smartproc/service/drp/PostCreateTahunDrpService.java new file mode 100644 index 0000000..1cd0ce4 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/drp/PostCreateTahunDrpService.java @@ -0,0 +1,45 @@ +package com.iconplus.smartproc.service.drp; + +import com.iconplus.smartproc.exception.BusinessException; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.entity.Drp; +import com.iconplus.smartproc.model.request.DrpRequest; +import com.iconplus.smartproc.model.response.DrpResponse; +import com.iconplus.smartproc.repository.DrpRepository; +import com.iconplus.smartproc.util.Constants; +import org.springframework.stereotype.Service; + +import java.util.Optional; + +@Service +public class PostCreateTahunDrpService implements BaseService { + + private DrpRepository drpRepository; + public PostCreateTahunDrpService(DrpRepository drpRepository) { + this.drpRepository = drpRepository; + } + + @Override + public DrpResponse execute(DrpRequest input) { + validateTahunDrp(input); + + Drp drp = Drp.builder() + .tahun(input.getTahun()) + .isDelete(false) + .build(); + + var result = drpRepository.save(drp); + return DrpResponse.builder() + .id(result.getId()) + .build(); + } + + private void validateTahunDrp(DrpRequest input) { + Optional drpOptional = drpRepository.findByTahunAndIsDeleteFalse(input.getTahun()); + if (drpOptional.isPresent()) { + throw new BusinessException(Constants.ERR_CODE_10010, + Constants.ERR_TTL_10010, + Constants.ERR_MSG_10010); + } + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/drp/PostDrpUploadDokumenPendukungService.java b/src/main/java/com/iconplus/smartproc/service/drp/PostDrpUploadDokumenPendukungService.java new file mode 100644 index 0000000..276a462 --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/drp/PostDrpUploadDokumenPendukungService.java @@ -0,0 +1,47 @@ +package com.iconplus.smartproc.service.drp; + +import com.iconplus.smartproc.helper.model.EmptyResponse; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.entity.DrpDokumen; +import com.iconplus.smartproc.model.request.DrpDokumenRequest; +import com.iconplus.smartproc.model.response.DrpDokumenResponse; +import com.iconplus.smartproc.repository.DrpDokumenRepository; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; + +@Service +public class PostDrpUploadDokumenPendukungService implements BaseService { + + @Value("${config.file-upload.pendukung}") + private String pathFileUploadPendukung; + + private final DrpDokumenRepository drpDokumenRepository; + public PostDrpUploadDokumenPendukungService(DrpDokumenRepository drpDokumenRepository) { + this.drpDokumenRepository = drpDokumenRepository; + } + + @Override + public DrpDokumenResponse execute(DrpDokumenRequest input) throws IOException { + + MultipartFile file = input.getFile(); + String fileName = file.getOriginalFilename(); + + File path = new File(pathFileUploadPendukung + fileName); + + path.createNewFile(); + FileOutputStream output = new FileOutputStream(path); + output.write(file.getBytes()); + output.close(); + + return DrpDokumenResponse.builder() + .jenisDokumenId(input.getJenisDokumenId()) + .filename(fileName) + .keterangan(input.getKeterangan()) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/drp/PostDrpUploadDokumenRKAPService.java b/src/main/java/com/iconplus/smartproc/service/drp/PostDrpUploadDokumenRKAPService.java new file mode 100644 index 0000000..86aa82b --- /dev/null +++ b/src/main/java/com/iconplus/smartproc/service/drp/PostDrpUploadDokumenRKAPService.java @@ -0,0 +1,46 @@ +package com.iconplus.smartproc.service.drp; + +import com.iconplus.smartproc.helper.model.EmptyResponse; +import com.iconplus.smartproc.helper.service.BaseService; +import com.iconplus.smartproc.model.entity.DrpDokumen; +import com.iconplus.smartproc.model.request.DrpDokumenRequest; +import com.iconplus.smartproc.model.response.DrpDokumenResponse; +import com.iconplus.smartproc.repository.DrpDokumenRepository; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; + +@Service +public class PostDrpUploadDokumenRKAPService implements BaseService { + + @Value("${config.file-upload.rkap}") + private String pathFileUploadRkap; + + private final DrpDokumenRepository drpDokumenRepository; + public PostDrpUploadDokumenRKAPService(DrpDokumenRepository drpDokumenRepository) { + this.drpDokumenRepository = drpDokumenRepository; + } + + @Override + public DrpDokumenResponse execute(DrpDokumenRequest input) throws IOException { + + MultipartFile file = input.getFile(); + String fileName = file.getOriginalFilename(); + + File path = new File(pathFileUploadRkap + fileName); + + path.createNewFile(); + FileOutputStream output = new FileOutputStream(path); + output.write(file.getBytes()); + output.close(); + + return DrpDokumenResponse.builder() + .jenisDokumenId(input.getJenisDokumenId()) + .filename(fileName) + .build(); + } +} diff --git a/src/main/java/com/iconplus/smartproc/service/manajemenuser/PostCreateUserService.java b/src/main/java/com/iconplus/smartproc/service/manajemenuser/PostCreateUserService.java index dd5212b..bea21da 100644 --- a/src/main/java/com/iconplus/smartproc/service/manajemenuser/PostCreateUserService.java +++ b/src/main/java/com/iconplus/smartproc/service/manajemenuser/PostCreateUserService.java @@ -18,7 +18,7 @@ import org.springframework.stereotype.Service; @Service public class PostCreateUserService implements BaseService { - @Value("${config.password.default-password:plgg123}") + @Value("${config.password.default-password:plngg123}") private String defaultPassword; private UsersRepository usersRepository; diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 67f715a..226916d 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -8,11 +8,14 @@ jwt: config: password: - default-password : plgg123 + default-password : plngg123 private-key: MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCRyUePQWkg+IH5dAvQ/+YlVR1htFdhL2+NJtWWXNW15mBUOEr+yvJsOYAzY9KfxmVqRRr1uQEAaaKjNpxwNEnHkMn8LzSEhRxCd4Mqpa5jquCdPfMqGO3cwdkrQjZVfm3tCBYd2HkOeL8PTwlbBORucf6qHPxZvjGVXQeiRAHTlgHTR1647T1+vlDDcaOBJIrwcD566hqOCKMxtE+5F4DieSYEuHJMyvJf/WH2+LxbP2t4Z6IV0tksQKtwyZstEXd3yIL8chKoFh2p3KO8aFfMa7X0aiDVC3z+o2Hh8+YHQt7cSl+NGRxasuqLbY3twZEC9qAIkkDOpBUp7lLZ9NVHAgMBAAECggEACd0GXGjehf6KPKhfTEqj9Y6mqD+dUdP1xiUEemHZi68EgW41lLuCX1Qcml18mJbBscjvJATaTn7XJBfDycuf2kKvh8Jh2T1wRgbz9uSywceD3t+cHhMFtNPgr46RQoOFSG4toONOfW4p7w034tKX6ekIg9XmNOQrUqGyrIXRYdFADB68HaLxlgS0zKrkhp14+wH/krihfS3H7Z+wBVozWSgyHCVbov68l764w3UWZYEEe2mFl31HqhD5KEo8QXODWuemUTROaXKF/iOsPEMC8Qz4Jdqme+iAlV4b2LNaSTEP/NG/kFIE443RlyFo9YfVNw7/osgAksXAPdOZd8qt8QKBgQDYHLX2HVaGj9zvAlqSKjf6VuuxgdRUYW4rqQjm97YmAJNp4udjKLUgD7yDuImYh/E/IWjDxf1Hf3fTjcc98iPMsvP3lkXxdOxMLLlnMv0Ewxof8gATQndU/w+/XuuAZ9cy3vtheo59i4rFpik8XFAH6kPk/gWI9DAE/IbXuOSNUwKBgQCssaxMwfrB9nwQ9eDXv2z+Ce4sZbtZEJYD3a29OGshLw8AH//z/BxPzZRTFy63IfmmIyYSGaC7ZdkrakLhlBXrhi/P0wafp7xEsONb8uNYWDDWoDewH75GX/SPhx7bX0GSeiX6X5XAUg97j0xlfYllIieMLCw4rLU+97ge5xalvQKBgQDXJjYtEGYczsqYFBLRI0DZdIFvFZ6qZtkElGMtdf0b9kTMDL5pZJR1l9UImcY6WVRekkc3aDvQW2GS9rodvJvRZXMm0K9PRCUfbQMjb4qfnBC9LvLOOcSNlOQ7lCcGjdqbZYyELjv/VtXQEa1Jz2lJh/sR1abzAo9v12vzBbpbywKBgQCkdEZKimeLknivhhbqHgdjHH3NlcuFk3/oipBLI5ERdsjoK5EI/crQTEu1nNwF1brx9YLptbIVA3Z+G6E5RFZjhdO+K42hOJDXMUQyaekKVmGb4dNmS7RdPD+e9uPxsJK3NM850RDApuTLm7j65UOUJaRXnjE2f3HSVwDlnNc6WQKBgQCccgyIJx5HnxdkYYFJBnuwo1aDNo2TOqiy9wPXHzxuR8TsvqmbbYoxT0kJkqOjkbQII08nLyHJ3KL7XK3dCEGmdRArHjo0PCLMzKqBZdhtfxN413HxmwXIF5zM6mhS4g8XrDyNW7EhLp/putnpmE6XI9VnEFx/LxAd8nJ9tUd39A== public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkclHj0FpIPiB+XQL0P/mJVUdYbRXYS9vjSbVllzVteZgVDhK/srybDmAM2PSn8ZlakUa9bkBAGmiozaccDRJx5DJ/C80hIUcQneDKqWuY6rgnT3zKhjt3MHZK0I2VX5t7QgWHdh5Dni/D08JWwTkbnH+qhz8Wb4xlV0HokQB05YB00deuO09fr5Qw3GjgSSK8HA+euoajgijMbRPuReA4nkmBLhyTMryX/1h9vi8Wz9reGeiFdLZLECrcMmbLRF3d8iC/HISqBYdqdyjvGhXzGu19Gog1Qt8/qNh4fPmB0Le3EpfjRkcWrLqi22N7cGRAvagCJJAzqQVKe5S2fTVRwIDAQAB forgot-password: expired-time: 1440 + file-upload: + rkap : /Users/macbook/smartproc/rkap/ + pendukung: /Users/macbook/smartproc/pendukung/ spring: datasource: