approval
This commit is contained in:
parent
6203b9d8bf
commit
f842852813
@ -1,15 +1,14 @@
|
|||||||
package com.iconplus.smartproc.controller;
|
package com.iconplus.smartproc.controller;
|
||||||
|
|
||||||
import com.iconplus.smartproc.helper.model.EmptyRequest;
|
import com.iconplus.smartproc.helper.model.EmptyRequest;
|
||||||
import com.iconplus.smartproc.model.request.BidangRequest;
|
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
||||||
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
||||||
import com.iconplus.smartproc.model.response.DrpApprovalResponse;
|
import com.iconplus.smartproc.model.request.DrpRekomendasiRequest;
|
||||||
|
import com.iconplus.smartproc.model.request.ListDrpApprovalRequest;
|
||||||
|
import com.iconplus.smartproc.model.response.DrpRekomendasiResponse;
|
||||||
import com.iconplus.smartproc.model.response.GetListDrpApprovalResponse;
|
import com.iconplus.smartproc.model.response.GetListDrpApprovalResponse;
|
||||||
import com.iconplus.smartproc.model.response.GetListUserApprovalResponse;
|
import com.iconplus.smartproc.model.response.GetListUserApprovalResponse;
|
||||||
import com.iconplus.smartproc.service.approval.GetListApprovalDrpServie;
|
import com.iconplus.smartproc.service.approval.*;
|
||||||
import com.iconplus.smartproc.service.approval.GetListUserDirekturKomiteService;
|
|
||||||
import com.iconplus.smartproc.service.approval.GetListUserVpService;
|
|
||||||
import com.iconplus.smartproc.service.approval.PostCreateDrpApprovalService;
|
|
||||||
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.PageRequest;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@ -23,14 +22,20 @@ public class ApprovalDrpController {
|
|||||||
private GetListUserDirekturKomiteService getListUserDirekturKomiteService;
|
private GetListUserDirekturKomiteService getListUserDirekturKomiteService;
|
||||||
private PostCreateDrpApprovalService postCreateDrpApprovalService;
|
private PostCreateDrpApprovalService postCreateDrpApprovalService;
|
||||||
private GetListApprovalDrpServie getListApprovalDrpServie;
|
private GetListApprovalDrpServie getListApprovalDrpServie;
|
||||||
|
private PostDrpRekomendasiService postDrpRekomendasiService;
|
||||||
|
private PostDrpApprovalExecutionService postDrpApprovalExecutionService;
|
||||||
public ApprovalDrpController(GetListUserVpService getListUserVpService,
|
public ApprovalDrpController(GetListUserVpService getListUserVpService,
|
||||||
GetListUserDirekturKomiteService getListUserDirekturKomiteService,
|
GetListUserDirekturKomiteService getListUserDirekturKomiteService,
|
||||||
PostCreateDrpApprovalService postCreateDrpApprovalService,
|
PostCreateDrpApprovalService postCreateDrpApprovalService,
|
||||||
GetListApprovalDrpServie getListApprovalDrpServie) {
|
GetListApprovalDrpServie getListApprovalDrpServie,
|
||||||
|
PostDrpRekomendasiService postDrpRekomendasiService,
|
||||||
|
PostDrpApprovalExecutionService postDrpApprovalExecutionService) {
|
||||||
this.getListUserVpService = getListUserVpService;
|
this.getListUserVpService = getListUserVpService;
|
||||||
this.getListUserDirekturKomiteService = getListUserDirekturKomiteService;
|
this.getListUserDirekturKomiteService = getListUserDirekturKomiteService;
|
||||||
this.postCreateDrpApprovalService = postCreateDrpApprovalService;
|
this.postCreateDrpApprovalService = postCreateDrpApprovalService;
|
||||||
this.getListApprovalDrpServie = getListApprovalDrpServie;
|
this.getListApprovalDrpServie = getListApprovalDrpServie;
|
||||||
|
this.postDrpRekomendasiService = postDrpRekomendasiService;
|
||||||
|
this.postDrpApprovalExecutionService = postDrpApprovalExecutionService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/vp")
|
@GetMapping("/vp")
|
||||||
@ -44,8 +49,8 @@ public class ApprovalDrpController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public DrpApprovalResponse createDrpApproval(@RequestBody DrpApprovalRequest drpApprovalRequest) {
|
public EmptyResponse createDrpHasApproval(@RequestBody ListDrpApprovalRequest listDrpApprovalRequest) {
|
||||||
return postCreateDrpApprovalService.execute(drpApprovalRequest);
|
return postCreateDrpApprovalService.execute(listDrpApprovalRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping
|
@GetMapping
|
||||||
@ -61,4 +66,14 @@ public class ApprovalDrpController {
|
|||||||
return getListApprovalDrpServie.execute(drpApprovalRequest);
|
return getListApprovalDrpServie.execute(drpApprovalRequest);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/rekomendasi")
|
||||||
|
public DrpRekomendasiResponse drpRekomendasiResponse(@RequestBody DrpRekomendasiRequest drpRekomendasiRequest) {
|
||||||
|
return postDrpRekomendasiService.execute(drpRekomendasiRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/execution")
|
||||||
|
public EmptyResponse drpApprovalExecution(@RequestBody DrpApprovalRequest drpApprovalRequest) {
|
||||||
|
return postDrpApprovalExecutionService.execute(drpApprovalRequest);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,8 +8,7 @@ import lombok.NoArgsConstructor;
|
|||||||
import org.hibernate.annotations.Type;
|
import org.hibernate.annotations.Type;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import java.sql.Timestamp;
|
import java.sql.Date;
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
@ -31,7 +30,22 @@ public class Drp extends BaseEntity {
|
|||||||
private String approveStatus;
|
private String approveStatus;
|
||||||
|
|
||||||
@Column(name = "approve_date")
|
@Column(name = "approve_date")
|
||||||
private Timestamp approveDate;
|
private Date approveDate;
|
||||||
|
|
||||||
|
@Column(name = "vp_approve_date")
|
||||||
|
private Date vpApproveDate;
|
||||||
|
|
||||||
|
@Column(name = "komite_approve_date")
|
||||||
|
private Date komiteApproveDate;
|
||||||
|
|
||||||
|
@Column(name = "direktur_approve_date")
|
||||||
|
private Date direkturApproveDate;
|
||||||
|
|
||||||
|
@Column(name = "is_print")
|
||||||
|
private Boolean isPrint;
|
||||||
|
|
||||||
|
@Column(name = "print_date")
|
||||||
|
private Date printDate;
|
||||||
|
|
||||||
@Column(name = "is_active")
|
@Column(name = "is_active")
|
||||||
@Type(type = "org.hibernate.type.NumericBooleanType")
|
@Type(type = "org.hibernate.type.NumericBooleanType")
|
||||||
|
@ -8,7 +8,6 @@ import lombok.NoArgsConstructor;
|
|||||||
import org.hibernate.annotations.Type;
|
import org.hibernate.annotations.Type;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import java.sql.Date;
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@Builder
|
@Builder
|
||||||
@ -26,41 +25,15 @@ public class DrpApproval extends BaseEntity {
|
|||||||
@Column(name = "drp_id")
|
@Column(name = "drp_id")
|
||||||
private Long drpId;
|
private Long drpId;
|
||||||
|
|
||||||
@Column(name = "approver_vp_id")
|
@Column(name = "approver_user_id")
|
||||||
private Long approverVpId;
|
private Long approverUserId;
|
||||||
|
|
||||||
@Column(name = "approver_vp_date")
|
@Column(name = "is_approve")
|
||||||
private Date approverVpDate;
|
@Type(type = "org.hibernate.type.NumericBooleanType")
|
||||||
|
private Boolean isApprove;
|
||||||
|
|
||||||
@Column(name = "approver_komite1_id")
|
@Column(name = "level")
|
||||||
private Long approverKomite1Id;
|
private String level;
|
||||||
|
|
||||||
@Column(name = "approver_komite1_date")
|
|
||||||
private Date approverKomite1Date;
|
|
||||||
|
|
||||||
@Column(name = "approver_komite2_id")
|
|
||||||
private Long approverKomite2Id;
|
|
||||||
|
|
||||||
@Column(name = "approver_komite2_date")
|
|
||||||
private Date approverKomite2Date;
|
|
||||||
|
|
||||||
@Column(name = "approver_komite3_id")
|
|
||||||
private Long approverKomite3Id;
|
|
||||||
|
|
||||||
@Column(name = "approver_komite3_date")
|
|
||||||
private Date approverKomite3Date;
|
|
||||||
|
|
||||||
@Column(name = "approver_komite4_id")
|
|
||||||
private Long approverKomite4Id;
|
|
||||||
|
|
||||||
@Column(name = "approver_komite4_date")
|
|
||||||
private Date approverKomite4Date;
|
|
||||||
|
|
||||||
@Column(name = "approver_direktur_id")
|
|
||||||
private Long approverDirekturId;
|
|
||||||
|
|
||||||
@Column(name = "approver_direktur_date")
|
|
||||||
private Date approverDirekturDate;
|
|
||||||
|
|
||||||
@Column(name = "is_active")
|
@Column(name = "is_active")
|
||||||
@Type(type = "org.hibernate.type.NumericBooleanType")
|
@Type(type = "org.hibernate.type.NumericBooleanType")
|
||||||
|
@ -0,0 +1,45 @@
|
|||||||
|
package com.iconplus.smartproc.model.entity;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.helper.base.BaseEntity;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import org.hibernate.annotations.Type;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.sql.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Entity
|
||||||
|
@Table(name = "drp_rekomendasi")
|
||||||
|
public class DrpRekomendasi extends BaseEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
@Column(name = "id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Column(name = "jenis_pengadaan_id")
|
||||||
|
private Long jenisPengadaanId;
|
||||||
|
|
||||||
|
@Column(name = "drp_approval_id")
|
||||||
|
private Long drpApprovalId;
|
||||||
|
|
||||||
|
@Column(name = "rekomendasi")
|
||||||
|
private String rekomendasi;
|
||||||
|
|
||||||
|
@Column(name = "rekomendasi_date")
|
||||||
|
private Date rekomendasiDate;
|
||||||
|
|
||||||
|
@Column(name = "is_active")
|
||||||
|
@Type(type = "org.hibernate.type.NumericBooleanType")
|
||||||
|
private Boolean isActive;
|
||||||
|
|
||||||
|
@Column(name = "is_delete")
|
||||||
|
@Type(type = "org.hibernate.type.NumericBooleanType")
|
||||||
|
private Boolean isDelete;
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
package com.iconplus.smartproc.model.projection;
|
package com.iconplus.smartproc.model.projection;
|
||||||
|
|
||||||
|
|
||||||
import java.sql.Date;
|
import java.sql.Date;
|
||||||
|
|
||||||
public interface DrpApprovalView {
|
public interface DrpApprovalView {
|
||||||
@ -16,23 +17,15 @@ public interface DrpApprovalView {
|
|||||||
String getApproveStatus();
|
String getApproveStatus();
|
||||||
void setApproveStatus(String approveStatus);
|
void setApproveStatus(String approveStatus);
|
||||||
|
|
||||||
Date getApproverVpDate();
|
Date getVpApproveDate();
|
||||||
void setApproveVpDate(Date approveVpDate);
|
void setVpApproveDate(Date vpApproveDate);
|
||||||
|
|
||||||
Date getApproverKomite1Date();
|
Date getKomiteApproveDate();
|
||||||
void setApproveKomite1Date(Date approveKomite1Date);
|
void setKomiteApproveDate(Date komiteApproveDate);
|
||||||
|
|
||||||
Date getApproverKomite2Date();
|
Date getDirekturApproveDate();
|
||||||
void setApproveKomite2Date(Date approveKomite2Date);
|
void setDirekturApproveDate(Date direkturApproveDate);
|
||||||
|
|
||||||
Date getApproverKomite3Date();
|
|
||||||
void setApproveKomite3Date(Date approveKomite3Date);
|
|
||||||
|
|
||||||
Date getApproverKomite4Date();
|
|
||||||
void setApproveKomite4Date(Date approveKomite4Date);
|
|
||||||
|
|
||||||
Date getApproverDirekturDate();
|
|
||||||
void setApproveDirekturDate(Date approveDirekturDate);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,27 @@
|
|||||||
|
package com.iconplus.smartproc.model.projection;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
public interface DrpRekomendasiView {
|
||||||
|
|
||||||
|
Long getId();
|
||||||
|
void setId(Long id);
|
||||||
|
|
||||||
|
String getNomorRkp();
|
||||||
|
void setNomorRkp(String nomorRkp);
|
||||||
|
|
||||||
|
|
||||||
|
String getNamaPengadaan();
|
||||||
|
void setNamaPengadaan(String namaPengadaan);
|
||||||
|
|
||||||
|
String getApproval();
|
||||||
|
void setApproval(String approval);
|
||||||
|
|
||||||
|
Boolean getStatus();
|
||||||
|
void setStatus(Boolean status);
|
||||||
|
|
||||||
|
|
||||||
|
// Date approveDate;
|
||||||
|
// Date rekomendasiDate;
|
||||||
|
// String rekomendasi;
|
||||||
|
}
|
@ -13,13 +13,11 @@ import org.springframework.data.domain.Pageable;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class DrpApprovalRequest extends BaseRequest {
|
public class DrpApprovalRequest extends BaseRequest {
|
||||||
|
|
||||||
|
private Long userId;
|
||||||
|
private Boolean isApprove;
|
||||||
private Long drpId;
|
private Long drpId;
|
||||||
private Long approverVpId;
|
private Long approverUserId;
|
||||||
private Long approverKomite1Id;
|
private String level;
|
||||||
private Long approverKomite2Id;
|
|
||||||
private Long approverKomite3Id;
|
|
||||||
private Long approverKomite4Id;
|
|
||||||
private Long approverDirekturId;
|
|
||||||
|
|
||||||
private String search;
|
private String search;
|
||||||
private transient Pageable pageable;
|
private transient Pageable pageable;
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
package com.iconplus.smartproc.model.request;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.helper.base.BaseRequest;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.sql.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class DrpRekomendasiRequest extends BaseRequest {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
private Long drpApprovalId;
|
||||||
|
private Long jenisPengadaanId;
|
||||||
|
private String rekomendasi;
|
||||||
|
private Date rekomendasiDate;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,20 @@
|
|||||||
|
package com.iconplus.smartproc.model.request;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.helper.base.BaseRequest;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ListDrpApprovalRequest extends BaseRequest {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
private Long drpId;
|
||||||
|
private List<DrpApprovalRequest> data;
|
||||||
|
}
|
@ -19,9 +19,6 @@ public class DrpApprovalResponse extends BaseResponse {
|
|||||||
private Integer tahun;
|
private Integer tahun;
|
||||||
private String approveStatus;
|
private String approveStatus;
|
||||||
private Date approverVpDate;
|
private Date approverVpDate;
|
||||||
private Date approverKomite1Date;
|
private Date approverKomiteDate;
|
||||||
private Date approverKomite2Date;
|
|
||||||
private Date approverKomite3Date;
|
|
||||||
private Date approverKomite4Date;
|
|
||||||
private Date approverDirekturDate;
|
private Date approverDirekturDate;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
package com.iconplus.smartproc.model.response;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.helper.base.BaseResponse;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class DrpRekomendasiResponse extends BaseResponse {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
private String nomorRkp;
|
||||||
|
private String namaPengadaan;
|
||||||
|
private String approval;
|
||||||
|
private String status;
|
||||||
|
private Date approveDate;
|
||||||
|
private Date rekomendasiDate;
|
||||||
|
private String rekomendasi;
|
||||||
|
}
|
@ -6,7 +6,7 @@ import lombok.Builder;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.sql.Timestamp;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ -17,7 +17,7 @@ public class DrpResponse extends BaseResponse {
|
|||||||
private Long id;
|
private Long id;
|
||||||
private Integer tahun;
|
private Integer tahun;
|
||||||
private String approveStatus;
|
private String approveStatus;
|
||||||
private Timestamp approveDate;
|
private Date approveDate;
|
||||||
private Boolean isActive;
|
private Boolean isActive;
|
||||||
private Boolean isDelete;
|
private Boolean isDelete;
|
||||||
|
|
||||||
|
@ -0,0 +1,22 @@
|
|||||||
|
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
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class GetListDrpRekomendasiResponse extends BaseResponse {
|
||||||
|
|
||||||
|
private List<DrpRekomendasiResponse> data;
|
||||||
|
private Pagination pagination;
|
||||||
|
}
|
@ -2,9 +2,25 @@ package com.iconplus.smartproc.repository;
|
|||||||
|
|
||||||
import com.iconplus.smartproc.model.entity.DrpApproval;
|
import com.iconplus.smartproc.model.entity.DrpApproval;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.jpa.repository.Query;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface DrpApprovalRepository extends JpaRepository<DrpApproval, Long> {
|
public interface DrpApprovalRepository extends JpaRepository<DrpApproval, Long> {
|
||||||
|
|
||||||
|
Optional<DrpApproval> findByDrpIdAndApproverUserIdAndIsDeleteFalse(Long drpId, Long userId);
|
||||||
|
|
||||||
|
|
||||||
|
@Query(value = "SELECT da " +
|
||||||
|
"FROM DrpApproval da " +
|
||||||
|
"WHERE da.isDelete = false " +
|
||||||
|
"AND da.drpId = :drpId " +
|
||||||
|
"AND UPPER(da.level) = 'KOMITE' " +
|
||||||
|
"AND da.isApprove = null")
|
||||||
|
List<DrpApproval> getListKomiteApproval(Long drpId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
package com.iconplus.smartproc.repository;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.model.entity.DrpRekomendasi;
|
||||||
|
import org.springframework.data.domain.Page;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
import org.springframework.data.jpa.repository.Query;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface DrpRekomendasiRepository extends JpaRepository<DrpRekomendasi, Long> {
|
||||||
|
|
||||||
|
// @Query(value = "SELECT " +
|
||||||
|
// "FROM " +
|
||||||
|
// "WHERE")
|
||||||
|
// Page<>
|
||||||
|
}
|
@ -33,18 +33,15 @@ public interface DrpRepository extends JpaRepository<Drp, Long> {
|
|||||||
Page<DrpView> findByIsDeleteFalse(Timestamp approveDate,
|
Page<DrpView> findByIsDeleteFalse(Timestamp approveDate,
|
||||||
Pageable pageable);
|
Pageable pageable);
|
||||||
|
|
||||||
|
Page<DrpView> findByIsDeleteFalse(Pageable pageable);
|
||||||
|
|
||||||
@Query(value = "SELECT d.id as id, " +
|
@Query(value = "SELECT d.id as id, " +
|
||||||
"d.tahun as tahun, " +
|
"d.tahun as tahun, " +
|
||||||
"d.approveStatus as approveStatus, " +
|
"d.approveStatus as approveStatus, " +
|
||||||
"da.approverVpDate as approverVpDate, " +
|
"d.vpApproveDate as vpApproveDate, " +
|
||||||
"da.approverKomite1Date as approverKomite1Date, " +
|
"d.komiteApproveDate as komiteApproveDate, " +
|
||||||
"da.approverKomite2Date as approverKomite2Date, " +
|
"d.direkturApproveDate as direkturApproveDate " +
|
||||||
"da.approverKomite3Date as approverKomite3Date, " +
|
|
||||||
"da.approverKomite4Date as approverKomite4Date, " +
|
|
||||||
"da.approverDirekturDate as approverDirekturDate " +
|
|
||||||
"FROM Drp d " +
|
"FROM Drp d " +
|
||||||
"JOIN DrpApproval da ON da.drpId = d.id " +
|
|
||||||
"WHERE d.isDelete = false")
|
"WHERE d.isDelete = false")
|
||||||
Page<DrpApprovalView> getListApprovalDrp(Pageable pageable);
|
Page<DrpApprovalView> getListApprovalDrp(Pageable pageable);
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,22 @@
|
|||||||
package com.iconplus.smartproc.service.approval;
|
package com.iconplus.smartproc.service.approval;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.exception.BusinessException;
|
||||||
import com.iconplus.smartproc.helper.model.Pagination;
|
import com.iconplus.smartproc.helper.model.Pagination;
|
||||||
import com.iconplus.smartproc.helper.service.BaseService;
|
import com.iconplus.smartproc.helper.service.BaseService;
|
||||||
|
import com.iconplus.smartproc.model.entity.DrpApproval;
|
||||||
import com.iconplus.smartproc.model.projection.DrpApprovalView;
|
import com.iconplus.smartproc.model.projection.DrpApprovalView;
|
||||||
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
||||||
import com.iconplus.smartproc.model.response.DrpApprovalResponse;
|
import com.iconplus.smartproc.model.response.DrpApprovalResponse;
|
||||||
import com.iconplus.smartproc.model.response.GetListDrpApprovalResponse;
|
import com.iconplus.smartproc.model.response.GetListDrpApprovalResponse;
|
||||||
import com.iconplus.smartproc.repository.DrpApprovalRepository;
|
import com.iconplus.smartproc.repository.DrpApprovalRepository;
|
||||||
|
import com.iconplus.smartproc.repository.DrpRekomendasiRepository;
|
||||||
import com.iconplus.smartproc.repository.DrpRepository;
|
import com.iconplus.smartproc.repository.DrpRepository;
|
||||||
|
import com.iconplus.smartproc.util.Constants;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.sql.Date;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -39,12 +45,9 @@ public class GetListApprovalDrpServie implements BaseService<DrpApprovalRequest,
|
|||||||
.drpId(drpApprovalView.getDrpId())
|
.drpId(drpApprovalView.getDrpId())
|
||||||
.tahun(drpApprovalView.getTahun())
|
.tahun(drpApprovalView.getTahun())
|
||||||
.approveStatus(drpApprovalView.getApproveStatus())
|
.approveStatus(drpApprovalView.getApproveStatus())
|
||||||
.approverVpDate(drpApprovalView.getApproverVpDate())
|
.approverVpDate(drpApprovalView.getVpApproveDate())
|
||||||
.approverKomite1Date(drpApprovalView.getApproverKomite1Date())
|
.approverDirekturDate(drpApprovalView.getDirekturApproveDate())
|
||||||
.approverKomite2Date(drpApprovalView.getApproverKomite2Date())
|
.approverKomiteDate(drpApprovalView.getKomiteApproveDate())
|
||||||
.approverKomite3Date(drpApprovalView.getApproverKomite3Date())
|
|
||||||
.approverKomite4Date(drpApprovalView.getApproverKomite4Date())
|
|
||||||
.approverDirekturDate(drpApprovalView.getApproverDirekturDate())
|
|
||||||
.build();
|
.build();
|
||||||
drpApprovalResponseList.add(drpApprovalResponse);
|
drpApprovalResponseList.add(drpApprovalResponse);
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
package com.iconplus.smartproc.service.approval;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.helper.service.BaseService;
|
||||||
|
import com.iconplus.smartproc.model.request.DrpRekomendasiRequest;
|
||||||
|
import com.iconplus.smartproc.model.response.GetListDrpRekomendasiResponse;
|
||||||
|
import com.iconplus.smartproc.repository.DrpRekomendasiRepository;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class GetListRekomendasiService implements BaseService<DrpRekomendasiRequest, GetListDrpRekomendasiResponse> {
|
||||||
|
|
||||||
|
private final DrpRekomendasiRepository drpRekomendasiRepository;
|
||||||
|
|
||||||
|
public GetListRekomendasiService(DrpRekomendasiRepository drpRekomendasiRepository) {
|
||||||
|
this.drpRekomendasiRepository = drpRekomendasiRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public GetListDrpRekomendasiResponse execute(DrpRekomendasiRequest input) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
@ -1,30 +1,32 @@
|
|||||||
package com.iconplus.smartproc.service.approval;
|
package com.iconplus.smartproc.service.approval;
|
||||||
|
|
||||||
import com.iconplus.smartproc.exception.BusinessException;
|
import com.iconplus.smartproc.exception.BusinessException;
|
||||||
|
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
||||||
import com.iconplus.smartproc.helper.service.BaseService;
|
import com.iconplus.smartproc.helper.service.BaseService;
|
||||||
import com.iconplus.smartproc.model.entity.DrpApproval;
|
import com.iconplus.smartproc.model.entity.DrpApproval;
|
||||||
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
||||||
import com.iconplus.smartproc.model.response.DrpApprovalResponse;
|
import com.iconplus.smartproc.model.request.ListDrpApprovalRequest;
|
||||||
import com.iconplus.smartproc.repository.DrpApprovalRepository;
|
import com.iconplus.smartproc.repository.DrpApprovalRepository;
|
||||||
import com.iconplus.smartproc.repository.DrpRepository;
|
import com.iconplus.smartproc.repository.DrpRepository;
|
||||||
import com.iconplus.smartproc.util.Constants;
|
import com.iconplus.smartproc.util.Constants;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class PostCreateDrpApprovalService implements BaseService<DrpApprovalRequest, DrpApprovalResponse> {
|
public class PostCreateDrpApprovalService implements BaseService<ListDrpApprovalRequest, EmptyResponse> {
|
||||||
|
|
||||||
private final DrpApprovalRepository drpApprovalRepository;
|
|
||||||
private final DrpRepository drpRepository;
|
private final DrpRepository drpRepository;
|
||||||
public PostCreateDrpApprovalService(DrpApprovalRepository drpApprovalRepository,
|
private final DrpApprovalRepository drpApprovalRepository;
|
||||||
DrpRepository drpRepository) {
|
public PostCreateDrpApprovalService(DrpRepository drpRepository,
|
||||||
this.drpApprovalRepository = drpApprovalRepository;
|
DrpApprovalRepository drpApprovalRepository) {
|
||||||
this.drpRepository = drpRepository;
|
this.drpRepository = drpRepository;
|
||||||
|
this.drpApprovalRepository = drpApprovalRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DrpApprovalResponse execute(DrpApprovalRequest input) {
|
public EmptyResponse execute(ListDrpApprovalRequest input) {
|
||||||
|
|
||||||
var drpOptional = drpRepository.findByIdAndIsDeleteFalse(input.getDrpId());
|
var drpOptional = drpRepository.findByIdAndIsDeleteFalse(input.getDrpId());
|
||||||
if (drpOptional.isEmpty()) {
|
if (drpOptional.isEmpty()) {
|
||||||
@ -33,19 +35,19 @@ public class PostCreateDrpApprovalService implements BaseService<DrpApprovalRequ
|
|||||||
String.format(Constants.ERR_MSG_10001, "DRP", input.getDrpId()));
|
String.format(Constants.ERR_MSG_10001, "DRP", input.getDrpId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<DrpApproval> drpApprovalList = new ArrayList<>();
|
||||||
|
for (DrpApprovalRequest drpApprovalRequest : input.getData()) {
|
||||||
DrpApproval drpApproval = DrpApproval.builder()
|
DrpApproval drpApproval = DrpApproval.builder()
|
||||||
.drpId(input.getDrpId())
|
.drpId(input.getDrpId())
|
||||||
.approverKomite1Id(input.getApproverKomite1Id())
|
.approverUserId(drpApprovalRequest.getApproverUserId())
|
||||||
.approverKomite2Id(input.getApproverKomite2Id())
|
.level(drpApprovalRequest.getLevel())
|
||||||
.approverKomite3Id(input.getApproverKomite3Id())
|
.isDelete(false)
|
||||||
.approverKomite4Id(input.getApproverKomite4Id())
|
|
||||||
.approverDirekturId(input.getApproverDirekturId())
|
|
||||||
.build();
|
.build();
|
||||||
|
drpApprovalList.add(drpApproval);
|
||||||
|
}
|
||||||
|
|
||||||
var result = drpApprovalRepository.save(drpApproval);
|
drpApprovalRepository.saveAll(drpApprovalList);
|
||||||
|
|
||||||
return DrpApprovalResponse.builder()
|
return new EmptyResponse();
|
||||||
.id(result.getId())
|
|
||||||
.build();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,69 @@
|
|||||||
|
package com.iconplus.smartproc.service.approval;
|
||||||
|
|
||||||
|
import com.iconplus.smartproc.exception.BusinessException;
|
||||||
|
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
||||||
|
import com.iconplus.smartproc.helper.service.BaseService;
|
||||||
|
import com.iconplus.smartproc.model.request.DrpApprovalRequest;
|
||||||
|
import com.iconplus.smartproc.repository.DrpApprovalRepository;
|
||||||
|
import com.iconplus.smartproc.repository.DrpRepository;
|
||||||
|
import com.iconplus.smartproc.util.Constants;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.sql.Date;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class PostDrpApprovalExecutionService implements BaseService<DrpApprovalRequest, EmptyResponse> {
|
||||||
|
|
||||||
|
private final DrpApprovalRepository drpApprovalRepository;
|
||||||
|
private final DrpRepository drpRepository;
|
||||||
|
|
||||||
|
public PostDrpApprovalExecutionService(DrpApprovalRepository drpApprovalRepository,
|
||||||
|
DrpRepository drpRepository) {
|
||||||
|
this.drpApprovalRepository = drpApprovalRepository;
|
||||||
|
this.drpRepository = drpRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EmptyResponse execute(DrpApprovalRequest input) {
|
||||||
|
|
||||||
|
var drpApproval = drpApprovalRepository.findByDrpIdAndApproverUserIdAndIsDeleteFalse(input.getDrpId(), input.getUserId())
|
||||||
|
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
|
||||||
|
Constants.ERR_TTL_10001,
|
||||||
|
String.format(Constants.ERR_MSG_10001, "DRP", input.getDrpId())));
|
||||||
|
|
||||||
|
var drp = drpRepository.findByIdAndIsDeleteFalse(input.getDrpId())
|
||||||
|
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
|
||||||
|
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")) {
|
||||||
|
drpApproval.setIsApprove(input.getIsApprove());
|
||||||
|
drp.setVpApproveDate(dateNow);
|
||||||
|
drp.setApproveStatus(Constants.STATUS_APPROVAL_VP);
|
||||||
|
|
||||||
|
} else if (StringUtils.equalsIgnoreCase(drpApproval.getLevel(), "DIREKTUR")) {
|
||||||
|
drpApproval.setIsApprove(input.getIsApprove());
|
||||||
|
drp.setDirekturApproveDate(dateNow);
|
||||||
|
drp.setApproveStatus(Constants.STATUS_APPROVAL_DIRUT);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
var listKomiteApproval = drpApprovalRepository.getListKomiteApproval(input.getDrpId());
|
||||||
|
if (listKomiteApproval.size() == 1) {
|
||||||
|
drp.setApproveStatus(Constants.STATUS_REKOMENDASI_KOMITE);
|
||||||
|
}
|
||||||
|
drpApproval.setIsApprove(input.getIsApprove());
|
||||||
|
drp.setKomiteApproveDate(dateNow);
|
||||||
|
}
|
||||||
|
|
||||||
|
drpApprovalRepository.save(drpApproval);
|
||||||
|
drpRepository.save(drp);
|
||||||
|
|
||||||
|
return new EmptyResponse();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
package com.iconplus.smartproc.service.approval;
|
||||||
|
|
||||||
|
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.DrpRekomendasiRepository;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class PostDrpRekomendasiService implements BaseService<DrpRekomendasiRequest, DrpRekomendasiResponse> {
|
||||||
|
|
||||||
|
private DrpRekomendasiRepository drpRekomendasiRepository;
|
||||||
|
|
||||||
|
private PostDrpRekomendasiService(DrpRekomendasiRepository drpRekomendasiRepository) {
|
||||||
|
this.drpRekomendasiRepository = drpRekomendasiRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DrpRekomendasiResponse execute(DrpRekomendasiRequest input) {
|
||||||
|
|
||||||
|
DrpRekomendasi drpRekomendasi = DrpRekomendasi.builder()
|
||||||
|
.jenisPengadaanId(input.getJenisPengadaanId())
|
||||||
|
.drpApprovalId(input.getDrpApprovalId())
|
||||||
|
.rekomendasi(input.getRekomendasi())
|
||||||
|
.rekomendasiDate(input.getRekomendasiDate())
|
||||||
|
.isDelete(false)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
var result = drpRekomendasiRepository.save(drpRekomendasi);
|
||||||
|
|
||||||
|
return DrpRekomendasiResponse.builder()
|
||||||
|
.id(result.getId())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user