upload dokumen
This commit is contained in:
		| @@ -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); | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -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<T extends BaseRequest, V extends BaseResponse> { | ||||
|     V execute(T input); | ||||
|     V execute(T input) throws IOException; | ||||
| } | ||||
|   | ||||
| @@ -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); | ||||
|  | ||||
|   | ||||
| @@ -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; | ||||
| } | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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<DrpPengadaanResponse> data; | ||||
|     private Pagination pagination; | ||||
| } | ||||
| @@ -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<DrpPengadaan, Long> { | ||||
|  | ||||
|     @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<DrpPengadaanView> getListDrpPengadaan(Pageable pageable); | ||||
|  | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -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<DrpPengadaanRequest, DrpPengadaanResponse> { | ||||
| public class GetListDrpPengadaanService implements BaseService<DrpPengadaanRequest, GetListDrpPengadaanResponse> { | ||||
|  | ||||
|     private final DrpPengadaanRepository drpPengadaanRepository; | ||||
|  | ||||
| @@ -16,8 +22,54 @@ public class GetListDrpPengadaanService implements BaseService<DrpPengadaanReque | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public DrpPengadaanResponse execute(DrpPengadaanRequest input) { | ||||
|     public GetListDrpPengadaanResponse execute(DrpPengadaanRequest input) { | ||||
|  | ||||
|         return null; | ||||
|         List<DrpPengadaanResponse> 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(); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -38,14 +38,13 @@ public class PostCreateDrpService implements BaseService<DrpRequest, DrpResponse | ||||
|     @Override | ||||
|     public DrpResponse execute(DrpRequest input) { | ||||
|  | ||||
|         validateTahunDrp(input); | ||||
|         var drp = drpRepository.findByIdAndIsDeleteFalse(input.getId()) | ||||
|                 .orElseThrow(() -> 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<DrpRequest, DrpResponse | ||||
|                 .id(drpSaved.getId()) | ||||
|                 .build(); | ||||
|     } | ||||
|  | ||||
|     public void validateTahunDrp(DrpRequest input) { | ||||
|         Optional<Drp> drpOptional = drpRepository.findByTahunAndIsDeleteFalse(input.getTahun()); | ||||
|         if (drpOptional.isPresent()) { | ||||
|             throw new BusinessException(Constants.ERR_CODE_10010, | ||||
|                     Constants.ERR_TTL_10010, | ||||
|                     Constants.ERR_MSG_10010); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -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<DrpRequest, DrpResponse> { | ||||
|  | ||||
|     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<Drp> drpOptional = drpRepository.findByTahunAndIsDeleteFalse(input.getTahun()); | ||||
|         if (drpOptional.isPresent()) { | ||||
|             throw new BusinessException(Constants.ERR_CODE_10010, | ||||
|                     Constants.ERR_TTL_10010, | ||||
|                     Constants.ERR_MSG_10010); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -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<DrpDokumenRequest, DrpDokumenResponse> { | ||||
|  | ||||
|     @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(); | ||||
|     } | ||||
| } | ||||
| @@ -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<DrpDokumenRequest, DrpDokumenResponse> { | ||||
|  | ||||
|     @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(); | ||||
|     } | ||||
| } | ||||
| @@ -18,7 +18,7 @@ import org.springframework.stereotype.Service; | ||||
| @Service | ||||
| public class PostCreateUserService implements BaseService<UsersRequest, UsersResponse> { | ||||
|  | ||||
|     @Value("${config.password.default-password:plgg123}") | ||||
|     @Value("${config.password.default-password:plngg123}") | ||||
|     private String defaultPassword; | ||||
|  | ||||
|     private UsersRepository usersRepository; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user