upload dokumen

This commit is contained in:
dirgantarasiahaan
2023-05-30 11:12:25 +07:00
parent 746d7ec4ae
commit 06058d279e
14 changed files with 381 additions and 47 deletions

View File

@ -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();
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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;