pointing sindiglive
This commit is contained in:
		| @@ -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 | ||||
		Reference in New Issue
	
	Block a user