upload dokumen
This commit is contained in:
parent
746d7ec4ae
commit
06058d279e
@ -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)
|
||||
@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());
|
||||
return new EmptyResponse();
|
||||
}
|
||||
|
||||
@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;
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user