pointing sindiglive
This commit is contained in:
parent
f842852813
commit
5be630964f
@ -5,6 +5,7 @@ import com.iconplus.smartproc.helper.model.EmptyResponse;
|
||||
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
||||
import com.iconplus.smartproc.model.request.DrpRekomendasiRequest;
|
||||
import com.iconplus.smartproc.model.request.ListDrpApprovalRequest;
|
||||
import com.iconplus.smartproc.model.response.DrpApprovalResponse;
|
||||
import com.iconplus.smartproc.model.response.DrpRekomendasiResponse;
|
||||
import com.iconplus.smartproc.model.response.GetListDrpApprovalResponse;
|
||||
import com.iconplus.smartproc.model.response.GetListUserApprovalResponse;
|
||||
@ -24,18 +25,21 @@ public class ApprovalDrpController {
|
||||
private GetListApprovalDrpServie getListApprovalDrpServie;
|
||||
private PostDrpRekomendasiService postDrpRekomendasiService;
|
||||
private PostDrpApprovalExecutionService postDrpApprovalExecutionService;
|
||||
private GetApprovalService getApprovalService;
|
||||
public ApprovalDrpController(GetListUserVpService getListUserVpService,
|
||||
GetListUserDirekturKomiteService getListUserDirekturKomiteService,
|
||||
PostCreateDrpApprovalService postCreateDrpApprovalService,
|
||||
GetListApprovalDrpServie getListApprovalDrpServie,
|
||||
PostDrpRekomendasiService postDrpRekomendasiService,
|
||||
PostDrpApprovalExecutionService postDrpApprovalExecutionService) {
|
||||
PostDrpApprovalExecutionService postDrpApprovalExecutionService,
|
||||
GetApprovalService getApprovalService) {
|
||||
this.getListUserVpService = getListUserVpService;
|
||||
this.getListUserDirekturKomiteService = getListUserDirekturKomiteService;
|
||||
this.postCreateDrpApprovalService = postCreateDrpApprovalService;
|
||||
this.getListApprovalDrpServie = getListApprovalDrpServie;
|
||||
this.postDrpRekomendasiService = postDrpRekomendasiService;
|
||||
this.postDrpApprovalExecutionService = postDrpApprovalExecutionService;
|
||||
this.getApprovalService = getApprovalService;
|
||||
}
|
||||
|
||||
@GetMapping("/vp")
|
||||
@ -76,4 +80,11 @@ public class ApprovalDrpController {
|
||||
public EmptyResponse drpApprovalExecution(@RequestBody DrpApprovalRequest drpApprovalRequest) {
|
||||
return postDrpApprovalExecutionService.execute(drpApprovalRequest);
|
||||
}
|
||||
|
||||
@GetMapping("/jenis-pengadaan/{id}")
|
||||
public DrpApprovalResponse getDrpApproval(@PathVariable(name = "id") Long id) {
|
||||
return getApprovalService.execute(DrpApprovalRequest.builder()
|
||||
.jenisPengadaanId(id)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
@ -23,6 +23,12 @@ public class DrpRekomendasi extends BaseEntity {
|
||||
@Column(name = "id")
|
||||
private Long id;
|
||||
|
||||
@Column(name = "drp_id")
|
||||
private Long drpId;
|
||||
|
||||
@Column(name = "user_id")
|
||||
private Long userId;
|
||||
|
||||
@Column(name = "jenis_pengadaan_id")
|
||||
private Long jenisPengadaanId;
|
||||
|
||||
|
@ -1,27 +1,23 @@
|
||||
package com.iconplus.smartproc.model.projection;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.sql.Date;
|
||||
|
||||
public interface DrpRekomendasiView {
|
||||
|
||||
Long getId();
|
||||
void setId(Long id);
|
||||
|
||||
String getNomorRkp();
|
||||
void setNomorRkp(String nomorRkp);
|
||||
String getJabatan();
|
||||
void setJabatan(String jabatan);
|
||||
|
||||
Boolean getIsApprove();
|
||||
void setIsApprove(Boolean isApprove);
|
||||
|
||||
String getNamaPengadaan();
|
||||
void setNamaPengadaan(String namaPengadaan);
|
||||
Date getRekomendasiDate();
|
||||
void setRekomendasiDate(Date rekomendasiDate);
|
||||
|
||||
String getApproval();
|
||||
void setApproval(String approval);
|
||||
String getRekomendasi();
|
||||
void setRekomendasiDate(String rekomendasi);
|
||||
|
||||
Boolean getStatus();
|
||||
void setStatus(Boolean status);
|
||||
|
||||
|
||||
// Date approveDate;
|
||||
// Date rekomendasiDate;
|
||||
// String rekomendasi;
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ public class DrpApprovalRequest extends BaseRequest {
|
||||
private Long drpId;
|
||||
private Long approverUserId;
|
||||
private String level;
|
||||
private Long jenisPengadaanId;
|
||||
|
||||
private String search;
|
||||
private transient Pageable pageable;
|
||||
|
@ -16,9 +16,12 @@ public class DrpRekomendasiRequest extends BaseRequest {
|
||||
|
||||
private Long id;
|
||||
private Long drpApprovalId;
|
||||
private Long userId;
|
||||
private Long drpId;
|
||||
private Long jenisPengadaanId;
|
||||
private String rekomendasi;
|
||||
private Date rekomendasiDate;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.sql.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@ -21,4 +22,9 @@ public class DrpApprovalResponse extends BaseResponse {
|
||||
private Date approverVpDate;
|
||||
private Date approverKomiteDate;
|
||||
private Date approverDirekturDate;
|
||||
|
||||
private DrpPengadaanResponse dataPengadaan;
|
||||
private List<DrpPengadaanDokumenResponse> dataPengadaanDokumen;
|
||||
private List<DrpRekomendasiResponse> dataRekomendasi;
|
||||
|
||||
}
|
||||
|
@ -6,7 +6,8 @@ import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
import java.sql.Date;
|
||||
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@ -22,4 +23,5 @@ public class DrpRekomendasiResponse extends BaseResponse {
|
||||
private Date approveDate;
|
||||
private Date rekomendasiDate;
|
||||
private String rekomendasi;
|
||||
private String jabatan;
|
||||
}
|
||||
|
@ -2,13 +2,11 @@ package com.iconplus.smartproc.model.response;
|
||||
|
||||
import com.iconplus.smartproc.helper.base.BaseResponse;
|
||||
import com.iconplus.smartproc.helper.model.Pagination;
|
||||
import com.iconplus.smartproc.model.response.DrpRekomendasiResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
|
@ -1,16 +1,26 @@
|
||||
package com.iconplus.smartproc.repository;
|
||||
|
||||
import com.iconplus.smartproc.model.entity.DrpRekomendasi;
|
||||
import org.springframework.data.domain.Page;
|
||||
import com.iconplus.smartproc.model.projection.DrpRekomendasiView;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public interface DrpRekomendasiRepository extends JpaRepository<DrpRekomendasi, Long> {
|
||||
|
||||
// @Query(value = "SELECT " +
|
||||
// "FROM " +
|
||||
// "WHERE")
|
||||
// Page<>
|
||||
@Query(value = "SELECT dr.id as id, " +
|
||||
"da.isApprove as isApprove, " +
|
||||
"j.jabatan as jabatan, " +
|
||||
"dr.rekomendasi as rekomendasi, " +
|
||||
"dr.rekomendasiDate as rekomendasiDate " +
|
||||
"FROM DrpRekomendasi dr " +
|
||||
"JOIN DrpApproval da ON da.id = dr.drpApprovalId " +
|
||||
"JOIN Users u ON u.id = dr.userId " +
|
||||
"JOIN Jabatan j ON j.id = u.jabatanId " +
|
||||
"WHERE dr.isDelete = false " +
|
||||
"AND dr.jenisPengadaanId = :jenisPengadaanId")
|
||||
List<DrpRekomendasiView> getListDrpRekomendasi(Long jenisPengadaanId);
|
||||
}
|
||||
|
@ -0,0 +1,113 @@
|
||||
package com.iconplus.smartproc.service.approval;
|
||||
|
||||
import com.iconplus.smartproc.exception.BusinessException;
|
||||
import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.entity.DrpPengadaanDokumen;
|
||||
import com.iconplus.smartproc.model.projection.DrpRekomendasiView;
|
||||
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
||||
import com.iconplus.smartproc.model.response.DrpApprovalResponse;
|
||||
import com.iconplus.smartproc.model.response.DrpPengadaanDokumenResponse;
|
||||
import com.iconplus.smartproc.model.response.DrpPengadaanResponse;
|
||||
import com.iconplus.smartproc.model.response.DrpRekomendasiResponse;
|
||||
import com.iconplus.smartproc.repository.DrpPengadaanDokumenRepository;
|
||||
import com.iconplus.smartproc.repository.DrpPengadaanRepository;
|
||||
import com.iconplus.smartproc.repository.DrpRekomendasiRepository;
|
||||
import com.iconplus.smartproc.service.drppengadaan.GetDrpPengadaanService;
|
||||
import com.iconplus.smartproc.util.Constants;
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class GetApprovalService implements BaseService<DrpApprovalRequest, DrpApprovalResponse> {
|
||||
|
||||
private final DrpPengadaanRepository drpPengadaanRepository;
|
||||
private final DrpPengadaanDokumenRepository drpPengadaanDokumenRepository;
|
||||
private final DrpRekomendasiRepository drpRekomendasiRepository;
|
||||
|
||||
public GetApprovalService(DrpPengadaanRepository drpPengadaanRepository,
|
||||
DrpPengadaanDokumenRepository drpPengadaanDokumenRepository,
|
||||
DrpRekomendasiRepository drpRekomendasiRepository) {
|
||||
this.drpPengadaanRepository = drpPengadaanRepository;
|
||||
this.drpPengadaanDokumenRepository = drpPengadaanDokumenRepository;
|
||||
this.drpRekomendasiRepository = drpRekomendasiRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DrpApprovalResponse execute(DrpApprovalRequest input) {
|
||||
var drpPengadaan = drpPengadaanRepository.getDrpPengadaanById(input.getJenisPengadaanId())
|
||||
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "DRP Pengadaan", input.getJenisPengadaanId())));
|
||||
|
||||
List<DrpPengadaanDokumenResponse> drpPengadaanDokumenResponseList = new ArrayList<>();
|
||||
var drpPengadaanDokumenList = drpPengadaanDokumenRepository.findByDrpPengadaanIdAndIsDeleteFalse(drpPengadaan.getId());
|
||||
for (DrpPengadaanDokumen drpPengadaanDokumen : drpPengadaanDokumenList) {
|
||||
DrpPengadaanDokumenResponse drpPengadaanDokumenResponse = DrpPengadaanDokumenResponse.builder()
|
||||
.id(drpPengadaanDokumen.getId())
|
||||
.drpId(drpPengadaanDokumen.getDrpId())
|
||||
.jenisDokumenId(drpPengadaanDokumen.getJenisDokumenId())
|
||||
.filename(drpPengadaanDokumen.getFilename())
|
||||
.keterangan(drpPengadaanDokumen.getKeterangan())
|
||||
.build();
|
||||
drpPengadaanDokumenResponseList.add(drpPengadaanDokumenResponse);
|
||||
}
|
||||
|
||||
var pengadaan = DrpPengadaanResponse.builder()
|
||||
.id(drpPengadaan.getId())
|
||||
.drpId(drpPengadaan.getDrpId())
|
||||
.nomor(drpPengadaan.getNomor())
|
||||
.namaPengadaan(drpPengadaan.getNamaPengadaan())
|
||||
.lokasiId(drpPengadaan.getLokasiId())
|
||||
.lokasi(drpPengadaan.getLokasi())
|
||||
.jenisPengadaanId(drpPengadaan.getJenisPengadaanId())
|
||||
.jenisPengadaan(drpPengadaan.getJenisPengadaan())
|
||||
.unitInisiatorId(drpPengadaan.getUnitInisiatorId())
|
||||
.unitInisiator(drpPengadaan.getUnitInisiator())
|
||||
.hpe(drpPengadaan.getHpe())
|
||||
.pagu(drpPengadaan.getPagu())
|
||||
.sumberDanaId(drpPengadaan.getSumberDanaId())
|
||||
.sumberDana(drpPengadaan.getSumberDana())
|
||||
.metodePengadaanId(drpPengadaan.getMetodePengadaanId())
|
||||
.metodePengadaan(drpPengadaan.getMetodePengadaan())
|
||||
.supplyPositioningMatrixId(drpPengadaan.getSupplyPositioningMatrixId())
|
||||
.supplyPositioningMatrix(drpPengadaan.getSupplyPositioningMatrix())
|
||||
.metodePenyampaianId(drpPengadaan.getMetodePenyampaianId())
|
||||
.metodePenyampaian(drpPengadaan.getMetodePenyampaian())
|
||||
.jenisKontrakId(drpPengadaan.getJenisKontrakId())
|
||||
.jenisKontrak(drpPengadaan.getJenisKontrak())
|
||||
.strategiPengadaanId(drpPengadaan.getStrategiPengadaanId())
|
||||
.strategiPengadaan(drpPengadaan.getStrategiPengadaan())
|
||||
.rencanaTanggal(drpPengadaan.getRencanaTanggal())
|
||||
.targetTanggal(drpPengadaan.getTargetTanggal())
|
||||
.isActive(drpPengadaan.getIsActive())
|
||||
.build();
|
||||
|
||||
List<DrpRekomendasiResponse> drpRekomendasiResponseList = new ArrayList<>();
|
||||
var listDrpRekomendasi = drpRekomendasiRepository.getListDrpRekomendasi(input.getJenisPengadaanId());
|
||||
for (DrpRekomendasiView drpRekomendasiView : listDrpRekomendasi) {
|
||||
DrpRekomendasiResponse drpRekomendasiResponse = DrpRekomendasiResponse.builder()
|
||||
.id(drpRekomendasiView.getId())
|
||||
.jabatan(drpRekomendasiView.getJabatan())
|
||||
.rekomendasi(drpRekomendasiView.getRekomendasi())
|
||||
.rekomendasiDate(drpRekomendasiView.getRekomendasiDate())
|
||||
.build();
|
||||
if (BooleanUtils.isTrue(drpRekomendasiView.getIsApprove())) {
|
||||
drpRekomendasiResponse.setStatus("Setuju");
|
||||
} else {
|
||||
drpRekomendasiResponse.setStatus("Tolak");
|
||||
}
|
||||
|
||||
drpRekomendasiResponseList.add(drpRekomendasiResponse);
|
||||
}
|
||||
|
||||
return DrpApprovalResponse.builder()
|
||||
.dataPengadaan(pengadaan)
|
||||
.dataPengadaanDokumen(drpPengadaanDokumenResponseList)
|
||||
.dataRekomendasi(drpRekomendasiResponseList)
|
||||
.build();
|
||||
|
||||
}
|
||||
}
|
@ -38,8 +38,6 @@ public class PostDrpApprovalExecutionService implements BaseService<DrpApprovalR
|
||||
Constants.ERR_TTL_10001,
|
||||
String.format(Constants.ERR_MSG_10001, "DRP", input.getDrpId())));
|
||||
|
||||
|
||||
|
||||
Date dateNow = Date.valueOf(LocalDate.now());
|
||||
|
||||
if (StringUtils.equalsIgnoreCase(drpApproval.getLevel(), "VP")) {
|
||||
|
@ -4,22 +4,36 @@ import com.iconplus.smartproc.helper.service.BaseService;
|
||||
import com.iconplus.smartproc.model.entity.DrpRekomendasi;
|
||||
import com.iconplus.smartproc.model.request.DrpRekomendasiRequest;
|
||||
import com.iconplus.smartproc.model.response.DrpRekomendasiResponse;
|
||||
import com.iconplus.smartproc.repository.DrpApprovalRepository;
|
||||
import com.iconplus.smartproc.repository.DrpRekomendasiRepository;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class PostDrpRekomendasiService implements BaseService<DrpRekomendasiRequest, DrpRekomendasiResponse> {
|
||||
|
||||
private DrpRekomendasiRepository drpRekomendasiRepository;
|
||||
private DrpApprovalRepository drpApprovalRepository;
|
||||
|
||||
private PostDrpRekomendasiService(DrpRekomendasiRepository drpRekomendasiRepository) {
|
||||
private PostDrpRekomendasiService(DrpRekomendasiRepository drpRekomendasiRepository,
|
||||
DrpApprovalRepository drpApprovalRepository) {
|
||||
this.drpRekomendasiRepository = drpRekomendasiRepository;
|
||||
this.drpApprovalRepository = drpApprovalRepository;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DrpRekomendasiResponse execute(DrpRekomendasiRequest input) {
|
||||
|
||||
if (input.getDrpApprovalId() == null) {
|
||||
var drpApproval = drpApprovalRepository.findByDrpIdAndApproverUserIdAndIsDeleteFalse(input.getDrpId(), input.getUserId());
|
||||
if (drpApproval.isPresent()) {
|
||||
input.setDrpApprovalId(drpApproval.get().getId());
|
||||
}
|
||||
}
|
||||
|
||||
DrpRekomendasi drpRekomendasi = DrpRekomendasi.builder()
|
||||
.drpId(input.getDrpId())
|
||||
.userId(input.getUserId())
|
||||
.jenisPengadaanId(input.getJenisPengadaanId())
|
||||
.drpApprovalId(input.getDrpApprovalId())
|
||||
.rekomendasi(input.getRekomendasi())
|
||||
|
@ -32,4 +32,4 @@ spring:
|
||||
show-sql: true
|
||||
|
||||
fe:
|
||||
server: http://localhost:8080
|
||||
server: http://internal.sindigilive.com:8080
|
Loading…
x
Reference in New Issue
Block a user