Compare commits

...

13 Commits

Author SHA1 Message Date
Dirgantara
9f0ccc1fa5 Merged in develop (pull request #10)
add response versi
2023-06-07 03:24:25 +00:00
dirgantarasiahaan
13bcb2c38b add response versi 2023-06-07 10:23:45 +07:00
Dirgantara
4bd97aa710 Merged in develop (pull request #9)
add bulk upload pengadaan
2023-06-07 02:28:09 +00:00
dirgantarasiahaan
a2d9f5e8b5 add bulk upload pengadaan 2023-06-07 09:27:03 +07:00
Dirgantara
8442713ceb Merged in develop (pull request #8)
Develop
2023-06-06 14:37:18 +00:00
dirgantarasiahaan
2415c7cc7c add template variabel 2023-06-06 21:35:03 +07:00
dirgantarasiahaan
17dc689981 enhance status 2023-06-06 17:38:55 +07:00
Dirgantara
0822326bba Merged in develop (pull request #7)
add template isi
2023-06-06 10:10:04 +00:00
dirgantarasiahaan
203dcb1809 add template isi 2023-06-06 17:07:23 +07:00
dirgantarasiahaan
14551b6483 Merge branch 'dirga/refactorV2' of https://bitbucket.org/tiscyn/smartproc-be 2023-06-06 16:31:55 +07:00
dirgantarasiahaan
831696cc05 refactor penamaan table 2023-06-06 16:31:09 +07:00
dirgantarasiahaan
a2c1320c27 fix add parent id 2023-06-06 13:49:11 +07:00
dirgantarasiahaan
0009d7f9e7 fix parentid 2023-06-06 13:29:31 +07:00
61 changed files with 1326 additions and 463 deletions

12
pom.xml
View File

@ -135,6 +135,18 @@
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies>
<build>

View File

@ -25,6 +25,7 @@ public class DrpPengadaanController {
private final EditUploadDrpPengadaanService editUploadDrpPengadaanService;
private final GetDrpPengadaanService getDrpPengadaanService;
private final PutDrpPengadaanService putDrpPengadaanService;
private final UploadBulkUploadPengadaanService uploadBulkUploadPengadaanService;
public DrpPengadaanController(PostCreateDrpPengadaanService postCreateDrpPengadaanService,
GetListDrpPengadaanService getListDrpPengadaanService,
@ -33,7 +34,8 @@ public class DrpPengadaanController {
DeleteDokumenPendukungService deleteDokumenPendukungService,
EditUploadDrpPengadaanService editUploadDrpPengadaanService,
GetDrpPengadaanService getDrpPengadaanService,
PutDrpPengadaanService putDrpPengadaanService) {
PutDrpPengadaanService putDrpPengadaanService,
UploadBulkUploadPengadaanService uploadBulkUploadPengadaanService) {
this.postCreateDrpPengadaanService = postCreateDrpPengadaanService;
this.getListDrpPengadaanService = getListDrpPengadaanService;
this.postDrpUploadDokumenPendukungService = postDrpUploadDokumenPendukungService;
@ -42,6 +44,7 @@ public class DrpPengadaanController {
this.editUploadDrpPengadaanService = editUploadDrpPengadaanService;
this.getDrpPengadaanService = getDrpPengadaanService;
this.putDrpPengadaanService = putDrpPengadaanService;
this.uploadBulkUploadPengadaanService = uploadBulkUploadPengadaanService;
}
@GetMapping("/list/{id}")
@ -110,4 +113,11 @@ public class DrpPengadaanController {
return deleteDokumenPendukungService.execute(drpPengadaanDokumenRequest);
}
@PostMapping("/bulk/upload")
public EmptyResponse bulkUploadPengadaan(@RequestParam(name = "file") MultipartFile file) throws IOException {
return uploadBulkUploadPengadaanService.execute(DrpPengadaanRequest.builder()
.file(file)
.build());
}
}

View File

@ -1,8 +1,8 @@
package com.iconplus.smartproc.controller;
import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.model.request.RksDaftarRequest;
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
import com.iconplus.smartproc.model.request.RksIsiRequest;
import com.iconplus.smartproc.model.response.*;
import com.iconplus.smartproc.service.rksdaftarisi.*;
import org.springframework.data.domain.PageRequest;
@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.*;
@CrossOrigin(origins = "${fe.server}", allowCredentials = "true")
@RestController
@RequestMapping("/api/rks/daftar-isi")
@RequestMapping("/api/rks/daftar")
public class RksDaftarIsiController {
private final GetListRksDaftarIsiService getListRksDaftarIsiService;
@ -45,76 +45,75 @@ public class RksDaftarIsiController {
@GetMapping()
public ListRksDaftarIsiResponse getAllRksDaftarIsi(@RequestParam(name = "page", defaultValue = "1") Integer page,
@RequestParam(name = "size", defaultValue = "5") Integer size){
public ListRksDaftarResponse getAllRksDaftarIsi(@RequestParam(name = "page", defaultValue = "1") Integer page,
@RequestParam(name = "size", defaultValue = "5") Integer size){
Pageable pageable = PageRequest.of((page - 1), size);
RksDaftarIsiRequest rksDaftarIsiRequest = RksDaftarIsiRequest.builder()
RksDaftarRequest rksDaftarRequest = RksDaftarRequest.builder()
.pageable(pageable)
.build();
return getListRksDaftarIsiService.execute(rksDaftarIsiRequest);
return getListRksDaftarIsiService.execute(rksDaftarRequest);
}
@PostMapping()
public RksDaftarIsiResponse createRksDaftarIsi(@RequestBody RksDaftarIsiRequest rksDaftarIsiRequest) {
return postCreateRksDaftarIsiService.execute(rksDaftarIsiRequest);
public RksDaftarResponse createRksDaftarIsi(@RequestBody RksDaftarRequest rksDaftarRequest) {
return postCreateRksDaftarIsiService.execute(rksDaftarRequest);
}
@PutMapping("/{id}")
public RksDaftarIsiResponse editRksDaftarIsi(@PathVariable(name = "id") Long id,
@RequestBody RksDaftarIsiRequest rksDaftarIsiRequest) {
rksDaftarIsiRequest.setId(id);
return putUpdateRksDaftarIsiService.execute(rksDaftarIsiRequest);
public RksDaftarResponse editRksDaftarIsi(@PathVariable(name = "id") Long id,
@RequestBody RksDaftarRequest rksDaftarRequest) {
rksDaftarRequest.setId(id);
return putUpdateRksDaftarIsiService.execute(rksDaftarRequest);
}
@DeleteMapping("/{id}")
public EmptyResponse deleteRksDaftarIsi(@PathVariable(name = "id") Long id) {
return deleteRksDaftarIsiService.execute(RksDaftarIsiRequest.builder()
return deleteRksDaftarIsiService.execute(RksDaftarRequest.builder()
.id(id)
.build());
}
// perlu enhance
@GetMapping("/{id}/isi")
public ListRksIsiResponse getListRksIsi(@PathVariable(name = "id") Long id,
@RequestParam(name = "page", defaultValue = "1") Integer page,
@RequestParam(name = "size", defaultValue = "5") Integer size) {
public ListRksDaftarIsiResponse getListRksIsi(@PathVariable(name = "id") Long id,
@RequestParam(name = "page", defaultValue = "1") Integer page,
@RequestParam(name = "size", defaultValue = "5") Integer size) {
Pageable pageable = PageRequest.of((page - 1), size);
RksIsiRequest rksIsiRequest = RksIsiRequest.builder()
.rksDaftarIsiId(id)
RksDaftarIsiRequest rksDaftarIsiRequest = RksDaftarIsiRequest.builder()
.rksDaftarId(id)
.pageable(pageable)
.build();
return getListRksIsiService.execute(rksIsiRequest);
return getListRksIsiService.execute(rksDaftarIsiRequest);
}
@GetMapping("/{id}/parent")
public ListRksIsiResponse getParentRksIsi(@PathVariable(name = "id") Long id) {
return getListRksParentService.execute(RksIsiRequest.builder()
.rksDaftarIsiId(id)
public ListRksDaftarIsiResponse getParentRksIsi(@PathVariable(name = "id") Long id) {
return getListRksParentService.execute(RksDaftarIsiRequest.builder()
.rksDaftarId(id)
.build());
}
@PostMapping("/{id}/isi")
public RksIsiResponse createRksIsi(@PathVariable(name = "id") Long id,
@RequestBody RksIsiRequest rksIsiRequest) {
rksIsiRequest.setRksDaftarIsiId(id);
return postCreateRksIsiService.execute(rksIsiRequest);
public RksDaftarIsiResponse createRksIsi(@PathVariable(name = "id") Long id,
@RequestBody RksDaftarIsiRequest rksDaftarIsiRequest) {
rksDaftarIsiRequest.setRksDaftarId(id);
return postCreateRksIsiService.execute(rksDaftarIsiRequest);
}
@PutMapping("/isi/{id}")
public RksIsiResponse editRksIsi(@PathVariable(name = "id") Long id,
@RequestBody RksIsiRequest rksIsiRequest) {
rksIsiRequest.setId(id);
return putEditRksIsiService.execute(rksIsiRequest);
public RksDaftarIsiResponse editRksIsi(@PathVariable(name = "id") Long id,
@RequestBody RksDaftarIsiRequest rksDaftarIsiRequest) {
rksDaftarIsiRequest.setId(id);
return putEditRksIsiService.execute(rksDaftarIsiRequest);
}
@DeleteMapping("/isi/{id}")
public EmptyResponse deleteRksIsi(@PathVariable(name = "id") Long id) {
return deleteRksIsiService.execute(RksIsiRequest.builder()
return deleteRksIsiService.execute(RksDaftarIsiRequest.builder()
.id(id)
.build());
}

View File

@ -3,13 +3,9 @@ package com.iconplus.smartproc.controller;
import com.iconplus.smartproc.helper.model.EmptyResponse;
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
import com.iconplus.smartproc.model.request.RksTemplateRequest;
import com.iconplus.smartproc.model.response.ListRksTemplateResponse;
import com.iconplus.smartproc.model.response.RksDaftarIsiResponse;
import com.iconplus.smartproc.model.response.RksTemplateResponse;
import com.iconplus.smartproc.service.rkstemplate.DeleteRksTemplateService;
import com.iconplus.smartproc.service.rkstemplate.GetListRksTemplateService;
import com.iconplus.smartproc.service.rkstemplate.PostCreateRksTemplateService;
import com.iconplus.smartproc.service.rkstemplate.PutUpdateRksTemplateService;
import com.iconplus.smartproc.model.request.RksTemplateVariabelRequest;
import com.iconplus.smartproc.model.response.*;
import com.iconplus.smartproc.service.rkstemplate.*;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.*;
@ -23,14 +19,32 @@ public class RksTemplateController {
private final GetListRksTemplateService getListRksTemplateService;
private final PutUpdateRksTemplateService putUpdateRksTemplateService;
private final DeleteRksTemplateService deleteRksTemplateService;
private final GetTemplateListRksDaftarIsiService getTemplateListRksDaftarIsiService;
private final PostCreateRksTemplateVariabelService postCreateRksTemplateVariabelService;
private final PutEditRksTemplateVariabelService putEditRksTemplateVariabelService;
private final DeleteRksTemplateVariabelService deleteRksTemplateVariabelService;
private final GetRksTemplateVariabelService getRksTemplateVariabelService;
private final GetListRksTemplateVariabelService getListRksTemplateVariabelService;
public RksTemplateController(PostCreateRksTemplateService postCreateRksTemplateService,
GetListRksTemplateService getListRksTemplateService,
PutUpdateRksTemplateService putUpdateRksTemplateService,
DeleteRksTemplateService deleteRksTemplateService) {
DeleteRksTemplateService deleteRksTemplateService,
GetTemplateListRksDaftarIsiService getTemplateListRksDaftarIsiService,
PostCreateRksTemplateVariabelService postCreateRksTemplateVariabelService,
PutEditRksTemplateVariabelService putEditRksTemplateVariabelService,
DeleteRksTemplateVariabelService deleteRksTemplateVariabelService,
GetRksTemplateVariabelService getRksTemplateVariabelService,
GetListRksTemplateVariabelService getListRksTemplateVariabelService) {
this.postCreateRksTemplateService = postCreateRksTemplateService;
this.getListRksTemplateService = getListRksTemplateService;
this.putUpdateRksTemplateService = putUpdateRksTemplateService;
this.deleteRksTemplateService = deleteRksTemplateService;
this.getTemplateListRksDaftarIsiService = getTemplateListRksDaftarIsiService;
this.postCreateRksTemplateVariabelService = postCreateRksTemplateVariabelService;
this.putEditRksTemplateVariabelService = putEditRksTemplateVariabelService;
this.deleteRksTemplateVariabelService = deleteRksTemplateVariabelService;
this.getRksTemplateVariabelService = getRksTemplateVariabelService;
this.getListRksTemplateVariabelService = getListRksTemplateVariabelService;
}
@PostMapping()
@ -53,7 +67,7 @@ public class RksTemplateController {
@PutMapping("/{id}")
public RksTemplateResponse editRksTemplate(@PathVariable(name = "id") Long id,
@RequestBody RksTemplateRequest rksTemplateRequest) {
@RequestBody RksTemplateRequest rksTemplateRequest) {
rksTemplateRequest.setId(id);
return putUpdateRksTemplateService.execute(rksTemplateRequest);
}
@ -65,4 +79,60 @@ public class RksTemplateController {
.build());
}
@GetMapping("/{id}")
public ListRksDaftarIsiResponse getRksDaftarIsiResponse(@PathVariable(name = "id") Long id,
@RequestParam(name = "page", defaultValue = "1") Integer page,
@RequestParam(name = "size", defaultValue = "5") Integer size) {
Pageable pageable = PageRequest.of((page - 1), size);
RksTemplateRequest rksTemplateRequest = RksTemplateRequest.builder()
.id(id)
.pageable(pageable)
.build();
return getTemplateListRksDaftarIsiService.execute(rksTemplateRequest);
}
@PostMapping("/{id}/variabel")
public RksTemplateVariabelResponse createRksTemplateVariabel(@RequestBody RksTemplateVariabelRequest rksTemplateVariabelRequest) {
return postCreateRksTemplateVariabelService.execute(rksTemplateVariabelRequest);
}
@PutMapping("/variabel/{id}")
public RksTemplateVariabelResponse editRksTemplateVariabel(@PathVariable(name = "id") Long id,
@RequestBody RksTemplateVariabelRequest rksTemplateVariabelRequest) {
rksTemplateVariabelRequest.setId(id);
return putEditRksTemplateVariabelService.execute(rksTemplateVariabelRequest);
}
@DeleteMapping("/variabel/{id}")
public EmptyResponse deleteTemplateVariabel(@PathVariable(name = "id") Long id) {
return deleteRksTemplateVariabelService.execute(RksTemplateVariabelRequest.builder()
.id(id)
.build());
}
@GetMapping("/variabel/{id}")
public RksTemplateVariabelResponse getRksTemplateVariabel(@PathVariable(name = "id") Long id) {
return getRksTemplateVariabelService.execute(RksTemplateVariabelRequest.builder()
.id(id)
.build());
}
@GetMapping("/{id}/variabel")
public ListRksTemplateVariabelResponse getListRksTemplateVariabel(@PathVariable(name = "id") Long id,
@RequestParam(name = "page", defaultValue = "1") Integer page,
@RequestParam(name = "size", defaultValue = "5") Integer size) {
Pageable pageable = PageRequest.of((page - 1), size);
RksTemplateVariabelRequest rksTemplateVariabelRequest = RksTemplateVariabelRequest.builder()
.id(id)
.pageable(pageable)
.build();
return getListRksTemplateVariabelService.execute(rksTemplateVariabelRequest);
}
}

View File

@ -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.*;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "rks_daftar")
public class RksDaftar extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "kode_template")
private String kodeTemplate;
@Column(name = "nama_template")
private String namaTemplate;
@Column(name = "metode_pengadaan_id")
private Long metodePengadaanId;
@Column(name = "versi")
private String versi;
@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;
}

View File

@ -22,17 +22,27 @@ public class RksDaftarIsi extends BaseEntity {
@Column(name = "id")
private Long id;
@Column(name = "kode_template")
private String kodeTemplate;
@Column(name = "rks_daftar_id")
private Long rksDaftarId;
@Column(name = "nama_template")
private String namaTemplate;
@Column(name = "nomor")
private String nomor;
@Column(name = "metode_pengadaan_id")
private Long metodePengadaanId;
@Column(name = "parent_id")
private Integer parentId;
@Column(name = "versi")
private String versi;
@Column(name = "title")
private String title;
@Column(name = "level")
private Integer level;
@Column(name = "urutan")
private String urutan;
@Column(name = "is_kontrak")
@Type(type = "org.hibernate.type.NumericBooleanType")
private Boolean isKontrak;
@Column(name = "is_active")
@Type(type = "org.hibernate.type.NumericBooleanType")

View File

@ -1,64 +0,0 @@
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.*;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "rks_isi")
public class RksIsi extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "rks_daftar_isi_id")
private Long rksDaftarIsiId;
@Column(name = "nomor")
private String nomor;
@Column(name = "parent_id")
private Integer parentId;
@Column(name = "parent")
private String parent;
@Column(name = "nama")
private String nama;
@Column(name = "bab")
private String bab;
@Column(name = "kelompok")
private String kelompok;
@Column(name = "sub_bab")
private String subBab;
@Column(name = "urutan")
private String urutan;
@Column(name = "is_kontrak")
@Type(type = "org.hibernate.type.NumericBooleanType")
private Boolean isKontrak;
@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;
}

View File

@ -34,8 +34,8 @@ public class RksTemplate extends BaseEntity {
@Column(name = "versi")
private String versi;
@Column(name = "rks_daftar_isi_id")
private Long rksDaftarIsiId;
@Column(name = "rks_daftar_id")
private Long rksDaftarId;
@Column(name = "is_active")
@Type(type = "org.hibernate.type.NumericBooleanType")

View File

@ -0,0 +1,51 @@
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.*;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "rks_template_variabel")
public class RksTemplateVariabel extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "rks_template_id")
private Long rksTemplateId;
@Column(name = "variable_name")
private String variableName;
@Column(name = "keterangan")
private String keterangan;
@Column(name = "contoh_isian")
private String contohIsian;
@Column(name = "digunakan_di")
private String digunakanDi;
@Column(name = "isian")
private String isian;
@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;
}

View File

@ -20,8 +20,8 @@ public interface RksTemplateView {
String getVersi();
void setVersi(String versi);
Long getRksDaftarIsiId();
void setRksDaftarIsiId(Long rksDaftarIsiId);
Long getRksDaftarId();
void setRksDaftarId(Long rksDaftarId);
String getDaftarIsi();
void setDaftarIsi(String daftarIsi);

View File

@ -6,6 +6,7 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.domain.Pageable;
import org.springframework.web.multipart.MultipartFile;
import java.math.BigDecimal;
import java.sql.Date;
@ -20,18 +21,28 @@ public class DrpPengadaanRequest extends BaseRequest {
private Long id;
private Long drpId;
private Integer tahun;
private String nomor;
private String namaPengadaan;
private Long lokasiId;
private String lokasi;
private Long jenisPengadaanId;
private String jenisPengadaan;
private Long unitInisiatorId;
private String unitInisiator;
private BigDecimal pagu;
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;
@ -42,4 +53,6 @@ public class DrpPengadaanRequest extends BaseRequest {
private transient Pageable pageable;
private MultipartFile file;
}

View File

@ -5,8 +5,14 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.Type;
import org.springframework.data.domain.Pageable;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Data
@Builder
@AllArgsConstructor
@ -14,10 +20,16 @@ import org.springframework.data.domain.Pageable;
public class RksDaftarIsiRequest extends BaseRequest {
private Long id;
private String kodeTemplate;
private String namaTemplate;
private Long metodePengadaanId;
private String versi;
private Long rksDaftarId;
private String nomor;
private Integer parentId;
private String parent;
private String title;
private Integer level;
private String urutan;
private Boolean isKontrak;
private Boolean isActive;
private Boolean isDelete;
private transient Pageable pageable;

View File

@ -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 org.springframework.data.domain.Pageable;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class RksDaftarRequest extends BaseRequest {
private Long id;
private String kodeTemplate;
private String namaTemplate;
private Long metodePengadaanId;
private String versi;
private transient Pageable pageable;
}

View File

@ -1,38 +0,0 @@
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 org.hibernate.annotations.Type;
import org.springframework.data.domain.Pageable;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class RksIsiRequest extends BaseRequest {
private Long id;
private Long rksDaftarIsiId;
private String nomor;
private Integer parentId;
private String parent;
private String nama;
private String bab;
private String subBab;
private String kelompok;
private String urutan;
private Boolean isKontrak;
private Boolean isActive;
private Boolean isDelete;
private transient Pageable pageable;
}

View File

@ -18,7 +18,7 @@ public class RksTemplateRequest extends BaseRequest {
private String namaTemplate;
private Long metodePengadaanId;
private String versi;
private Long rksDaftarIsiId;
private Long rksDaftarId;
private Boolean isActive;
private Boolean isDelete;

View File

@ -0,0 +1,27 @@
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 org.springframework.data.domain.Pageable;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class RksTemplateVariabelRequest extends BaseRequest {
private Long id;
private Long rksTemplateId;
private String variableName;
private String keterangan;
private String contohIsian;
private String isian;
private String digunakanDi;
private Boolean isActive;
private transient Pageable pageable;
}

View File

@ -13,8 +13,8 @@ import java.util.List;
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ListRksIsiResponse extends BaseResponse {
public class ListRksDaftarResponse extends BaseResponse {
private List<RksIsiResponse> data;
private List<RksDaftarResponse> data;
private Pagination pagination;
}

View File

@ -0,0 +1,20 @@
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 ListRksTemplateVariabelResponse extends BaseResponse {
private List<RksTemplateVariabelResponse> data;
private Pagination pagination;
}

View File

@ -11,12 +11,14 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
public class RksDaftarIsiResponse extends BaseResponse {
private Long id;
private String kodeTemplate;
private String namaTemplate;
private Long metodePengadaanId;
private String metodePengadaan;
private String versi;
private Long rksDaftarId;
private String nomor;
private Integer parentId;
private String title;
private String urutan;
private Integer level;
private Boolean isKontrak;
private Boolean isActive;
private Boolean isDelete;
}

View File

@ -0,0 +1,22 @@
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;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class RksDaftarResponse extends BaseResponse {
private Long id;
private String kodeTemplate;
private String namaTemplate;
private Long metodePengadaanId;
private String metodePengadaan;
private String versi;
}

View File

@ -1,26 +0,0 @@
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;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class RksIsiResponse extends BaseResponse {
private Long id;
private Long rksDaftarIsiId;
private String nomor;
private Integer parentId;
private String parent;
private String nama;
private String bab;
private String subBab;
private String urutan;
private Boolean isKontrak;
private Boolean isActive;
private Boolean isDelete;
}

View File

@ -18,7 +18,7 @@ public class RksTemplateResponse extends BaseResponse {
private Long metodePengadaanId;
private String metodePengadaan;
private String versi;
private Long rksDaftarIsiId;
private Long rksDaftarId;
private String daftarIsi;
private Boolean isActive;
private Boolean isDelete;

View File

@ -0,0 +1,23 @@
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;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class RksTemplateVariabelResponse extends BaseResponse {
private Long id;
private Long rksTemplateId;
private String variableName;
private String keterangan;
private String contohIsian;
private String digunakanDi;
private String isian;
}

View File

@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
@ -98,5 +99,11 @@ public interface DrpPengadaanRepository extends JpaRepository<DrpPengadaan, Long
Optional<DrpPengadaan> findByIdAndIsDeleteFalse(Long id);
@Query(value = "SELECT dp " +
"FROM DrpPengadaan dp " +
"WHERE dp.namaPengadaan in (:namaPengadaan) " +
"AND dp.isDelete = false")
List<DrpPengadaan> getDrpPengadaanByListNamaPengadaan(List<String> namaPengadaan);
}

View File

@ -47,8 +47,6 @@ public interface DrpRepository extends JpaRepository<Drp, Long> {
"WHERE d.isDelete = false")
Page<DrpApprovalView> getListApprovalDrp(Pageable pageable);
@Query(value = "SELECT d.id as id, " +
"d.tahun as tahun, " +
"d.isPrint as isPrint, " +
@ -57,4 +55,10 @@ public interface DrpRepository extends JpaRepository<Drp, Long> {
"WHERE d.isDelete = false")
Page<DrpView> getListPrintDrp(Pageable pageable);
@Query(value = "SELECT d " +
"FROM Drp d " +
"WHERE d.isDelete = false " +
"AND d.tahun in (:tahun)")
List<Drp> getListDrpByList(List<Integer> tahun);
}

View File

@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
@ -29,4 +30,10 @@ public interface JenisKontrakRepository extends JpaRepository<JenisKontrak, Long
Optional<JenisKontrak> findByJenisKontrakAndIsDeleteFalse(String jenisKontrak);
@Query("SELECT jk " +
"FROM JenisKontrak jk " +
"WHERE jk.isDelete = false " +
"AND jk.jenisKontrak in (:listJenisKontrak)")
List<JenisKontrak> getListJenisKontrakByList(List<String> listJenisKontrak);
}

View File

@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
@ -25,5 +26,11 @@ public interface JenisPengadaanRepository extends JpaRepository<JenisPengadaan,
"AND (:search='' OR UPPER(jp.jenisPengadaan) like :search) " +
"ORDER BY jp.id")
Page<JenisPengadaanView> getListJenisPengadaan(String search, Pageable pageable);
@Query(value = "SELECT jp " +
"FROM JenisPengadaan jp " +
"WHERE jp.jenisPengadaan in (:jenisPengadaan) " +
"AND jp.isDelete = false ")
List<JenisPengadaan> getListPengadaan(List<String> jenisPengadaan);
}

View File

@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
@ -28,5 +29,11 @@ public interface LokasiRepository extends JpaRepository<Lokasi, Long> {
Optional<Lokasi> findByIdAndIsDeleteFalse(Long id);
Optional<Lokasi> findByLokasiAndIsDeleteFalse(String lokasi);
@Query(value = "SELECT l " +
"FROM Lokasi l " +
"WHERE l.lokasi in (:lokasi) " +
"AND l.isDelete = false")
List<Lokasi> getListLokasi(List<String> lokasi);
}

View File

@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
@ -28,5 +29,11 @@ public interface MetodePengadaanRepository extends JpaRepository<MetodePengadaan
Optional<MetodePengadaan> findByIdAndIsDeleteFalse(Long id);
Optional<MetodePengadaan> findByMetodePengadaanAndIsDeleteFalse(String metodePengadaan);
@Query(value = "SELECT mp " +
"FROM MetodePengadaan mp " +
"WHERE mp.isDelete = false " +
"AND mp.metodePengadaan in (:metodePengadaan)")
List<MetodePengadaan> getListMetodePengadaanByList(List<String> metodePengadaan);
}

View File

@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
@ -28,5 +29,11 @@ public interface MetodePenyampaianRepository extends JpaRepository<MetodePenyamp
Optional<MetodePenyampaian> findByIdAndIsDeleteFalse(Long id);
Optional<MetodePenyampaian> findByMetodePenyampaianAndIsDeleteFalse(String metodePenyampaian);
@Query(value = "SELECT mp " +
"FROM MetodePenyampaian mp " +
"WHERE mp.isDelete = false " +
"AND mp.metodePenyampaian in (:metodePenyampaians)")
List<MetodePenyampaian> getListMetodePenyampaianByList(List<String> metodePenyampaians);
}

View File

@ -1,12 +1,12 @@
package com.iconplus.smartproc.repository;
import com.iconplus.smartproc.model.entity.RksDaftarIsi;
import com.iconplus.smartproc.model.entity.RksIsi;
import com.iconplus.smartproc.model.projection.RksDaftarIsiView;
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.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@ -15,19 +15,19 @@ import java.util.Optional;
@Repository
public interface RksDaftarIsiRepository extends JpaRepository<RksDaftarIsi, Long> {
@Query(value = "SELECT rki.id as id, " +
"rki.kodeTemplate as kodeTemplate, " +
"rki.namaTemplate as namaTemplate, " +
"rki.metodePengadaanId as metodePengadaanId, " +
"mp.metodePengadaan as metodePengadaan " +
"FROM RksDaftarIsi rki " +
"JOIN MetodePengadaan mp ON mp.id = rki.metodePengadaanId " +
"WHERE rki.isDelete = false " +
"ORDER BY rki.kodeTemplate")
Page<RksDaftarIsiView> getListRksDaftarIsi(Pageable pageable);
Optional<RksDaftarIsi> findByKodeTemplateAndIsDeleteFalse(String kodeTemplate);
Page<RksDaftarIsi> findByRksDaftarIdAndIsDeleteFalse(Long rksDaftarIsiId, Pageable pageable);
Optional<RksDaftarIsi> findByIdAndIsDeleteFalse(Long id);
@Query(value = "SELECT rdi " +
"FROM RksDaftarIsi rdi " +
"WHERE rdi.isDelete = false " +
"AND rdi.parentId = 0")
List<RksDaftarIsi> findByParentRksDaftarIsi(Long rksDaftarIsiId);
@Modifying
@Query(value = "UPDATE rks_daftar_isi " +
"SET is_delete = 1 " +
"WHERE rks_daftar_id = :rksDaftarId", nativeQuery = true)
void deleteRksIsi(@Param("rksDaftarId") Long rksDaftarId);
}

View File

@ -0,0 +1,32 @@
package com.iconplus.smartproc.repository;
import com.iconplus.smartproc.model.entity.RksDaftar;
import com.iconplus.smartproc.model.projection.RksDaftarIsiView;
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;
import java.util.Optional;
@Repository
public interface RksDaftarRepository extends JpaRepository<RksDaftar, Long> {
@Query(value = "SELECT rd.id as id, " +
"rd.kodeTemplate as kodeTemplate, " +
"rd.namaTemplate as namaTemplate, " +
"rd.metodePengadaanId as metodePengadaanId, " +
"mp.metodePengadaan as metodePengadaan," +
"rd.versi as versi " +
"FROM RksDaftar rd " +
"JOIN MetodePengadaan mp ON mp.id = rd.metodePengadaanId " +
"WHERE rd.isDelete = false " +
"ORDER BY rd.kodeTemplate")
Page<RksDaftarIsiView> getListRksDaftarIsi(Pageable pageable);
Optional<RksDaftar> findByKodeTemplateAndIsDeleteFalse(String kodeTemplate);
Optional<RksDaftar> findByIdAndIsDeleteFalse(Long id);
}

View File

@ -1,37 +0,0 @@
package com.iconplus.smartproc.repository;
import com.iconplus.smartproc.model.entity.RksIsi;
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.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
public interface RksIsiRepository extends JpaRepository<RksIsi, Long> {
Page<RksIsi> findByRksDaftarIsiIdAndIsDeleteFalse(Long rksDaftarIsiId, Pageable pageable);
Optional<RksIsi> findByRksDaftarIsiIdAndNamaAndIsDeleteFalse(Long rksDaftarIsiId, String nama);
Optional<RksIsi> findByRksDaftarIsiIdAndBabAndIsDeleteFalse(Long rksDaftarIsiId, String bab);
Optional<RksIsi> findByRksDaftarIsiIdAndSubBabAndIsDeleteFalse(Long rksDaftarIsiId, String subBab);
Optional<RksIsi> findByRksDaftarIsiIdAndKelompokAndIsDeleteFalse(Long rksDaftarIsiId, String kelompok);
Optional<RksIsi> findByIdAndIsDeleteFalse(Long id);
List<RksIsi> findByRksDaftarIsiIdAndIsDeleteFalse(Long rksDaftarIsiId);
@Modifying
@Query(value = "UPDATE rks_isi " +
"SET is_delete = 1 " +
"WHERE rks_daftar_isi_id = :rksDaftarIsiId", nativeQuery = true)
void deleteRksIsi(@Param("rksDaftarIsiId") Long rksDaftarIsiId);
}

View File

@ -23,11 +23,11 @@ public interface RksTemplateRepository extends JpaRepository<RksTemplate, Long>
"rt.metodePengadaanId as metodePengadaanId, " +
"m.metodePengadaan as metodePengadaan, " +
"rt.versi as versi, " +
"rt.rksDaftarIsiId as rksDaftarIsiId, " +
"rdi.namaTemplate as daftarIsi, " +
"rt.rksDaftarId as rksDaftarId, " +
"rd.namaTemplate as daftarIsi, " +
"rt.isActive as isActive " +
"FROM RksTemplate as rt " +
"JOIN RksDaftarIsi rdi ON rdi.id = rt.rksDaftarIsiId " +
"JOIN RksDaftar rd ON rd.id = rt.rksDaftarId " +
"JOIN MetodePengadaan m ON m.id = rt.metodePengadaanId " +
"WHERE rt.isDelete = 0")
Page<RksTemplateView> getListRksTemplate(Pageable pageable);

View File

@ -0,0 +1,19 @@
package com.iconplus.smartproc.repository;
import com.iconplus.smartproc.model.entity.RksTemplateVariabel;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.Optional;
@Repository
public interface RksTemplateVariabelRepository extends JpaRepository<RksTemplateVariabel, Long> {
Optional<RksTemplateVariabel> findByVariableNameAndIsDeleteFalse(String variabel);
Optional<RksTemplateVariabel> findByIdAndIsDeleteFalse(Long id);
Page<RksTemplateVariabel> findByRksTemplateIdAndIsDeleteFalse(Long id, Pageable pageable);
}

View File

@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
@ -28,5 +29,11 @@ public interface StrategiPengadaanRepository extends JpaRepository<StrategiPenga
Optional<StrategiPengadaan> findByIdAndIsDeleteFalse(Long id);
Optional<StrategiPengadaan> findByStrategiPengadaanAndIsDeleteFalse(String strategiPengadaan);
@Query(value = "SELECT sp " +
"FROM StrategiPengadaan sp " +
"WHERE sp.isDelete = false " +
"AND sp.strategiPengadaan in (:listStrategiPengadaan)")
List<StrategiPengadaan> getListStrategiPengadaanByList(List<String> listStrategiPengadaan);
}

View File

@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Optional;
@Repository
@ -26,5 +27,11 @@ public interface SumberDanaRepository extends JpaRepository<SumberDana, Long> {
"ORDER BY sd.id")
Page<SumberDanaView> getListSumberDana(String search, Pageable pageable);
@Query(value = "SELECT sd " +
"FROM SumberDana sd " +
"WHERE sd.isDelete = false " +
"AND sd.sumberDana in (:sumberDanas)")
List<SumberDana> getListSumberDanaByList(List<String> sumberDanas);
}

View File

@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.iconplus.smartproc.model.entity.SupplyPositioningMatrix;
import java.util.List;
import java.util.Optional;
@Repository
@ -28,5 +29,10 @@ public interface SupplyPositioningMatrixRepository extends JpaRepository<SupplyP
Optional<SupplyPositioningMatrix> findByIdAndIsDeleteFalse(Long id);
Optional<SupplyPositioningMatrix> findBySupplyPositioningMatrixAndIsDeleteFalse(String supplyPositioningMatrix);
@Query(value = "SELECT spm " +
"FROM SupplyPositioningMatrix spm " +
"WHERE spm.supplyPositioningMatrix in (:supplyPositioningMatrix)")
List<SupplyPositioningMatrix> getListSupplyPositioningMatrix(List<String> supplyPositioningMatrix);
}

View File

@ -8,6 +8,7 @@ import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.iconplus.smartproc.model.entity.UnitInisiator;
import java.util.List;
import java.util.Optional;
@Repository
@ -26,5 +27,11 @@ public interface UnitInisiatorRepository extends JpaRepository<UnitInisiator, Lo
"ORDER BY ui.id")
Page<UnitInisiatorView> getListUnitInisiator(String search, Pageable pageable);
@Query(value = "SELECT ui " +
"FROM UnitInisiator ui " +
"WHERE ui.isDelete = false " +
"AND ui.unitInisiator in (:unitInisiators)")
List<UnitInisiator> getListUnitInisiatorByList(List<String> unitInisiators);
}

View File

@ -14,6 +14,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.awt.image.BufferedImage;
import java.sql.Timestamp;
@ -118,4 +119,9 @@ public class CommonService {
return MatrixToImageWriter.toBufferedImage(bitMatrix);
}
public boolean hasExcelFormat(MultipartFile file) {
String type = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
return type.equals(file.getContentType());
}
}

View File

@ -0,0 +1,350 @@
package com.iconplus.smartproc.service.drppengadaan;
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.entity.*;
import com.iconplus.smartproc.model.request.DrpPengadaanRequest;
import com.iconplus.smartproc.repository.*;
import com.iconplus.smartproc.service.CommonService;
import com.iconplus.smartproc.util.Constants;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.math.BigDecimal;
import java.sql.Date;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class UploadBulkUploadPengadaanService implements BaseService<DrpPengadaanRequest, EmptyResponse> {
private final DrpPengadaanRepository drpPengadaanRepository;
private final CommonService commonService;
private final LokasiRepository lokasiRepository;
private final JenisPengadaanRepository jenisPengadaanRepository;
private final UnitInisiatorRepository unitInisiatorRepository;
private final SumberDanaRepository sumberDanaRepository;
private final SupplyPositioningMatrixRepository supplyPositioningMatrixRepository;
private final MetodePengadaanRepository metodePengadaanRepository;
private final MetodePenyampaianRepository metodePenyampaianRepository;
private final JenisKontrakRepository jenisKontrakRepository;
private final StrategiPengadaanRepository strategiPengadaanRepository;
private final DrpRepository drpRepository;
public UploadBulkUploadPengadaanService(DrpPengadaanRepository drpPengadaanRepository,
CommonService commonService,
LokasiRepository lokasiRepository,
JenisPengadaanRepository jenisPengadaanRepository,
UnitInisiatorRepository unitInisiatorRepository,
SumberDanaRepository sumberDanaRepository,
SupplyPositioningMatrixRepository supplyPositioningMatrixRepository,
MetodePengadaanRepository metodePengadaanRepository,
MetodePenyampaianRepository metodePenyampaianRepository,
JenisKontrakRepository jenisKontrakRepository,
StrategiPengadaanRepository strategiPengadaanRepository,
DrpRepository drpRepository) {
this.drpPengadaanRepository = drpPengadaanRepository;
this.commonService = commonService;
this.lokasiRepository = lokasiRepository;
this.jenisPengadaanRepository = jenisPengadaanRepository;
this.unitInisiatorRepository = unitInisiatorRepository;
this.sumberDanaRepository = sumberDanaRepository;
this.supplyPositioningMatrixRepository = supplyPositioningMatrixRepository;
this.metodePengadaanRepository = metodePengadaanRepository;
this.metodePenyampaianRepository = metodePenyampaianRepository;
this.jenisKontrakRepository = jenisKontrakRepository;
this.strategiPengadaanRepository = strategiPengadaanRepository;
this.drpRepository = drpRepository;
}
@Override
public EmptyResponse execute(DrpPengadaanRequest input) throws IOException {
var isExcelFormat = commonService.hasExcelFormat(input.getFile());
if (!isExcelFormat) {
throw new BusinessException(Constants.ERR_CODE_10014,
Constants.ERR_TTL_10014,
Constants.ERR_MSG_10014);
}
var listDataExcel = transformFile(input);
validateDrpRequest(listDataExcel);
List<DrpPengadaan> drpPengadaanList = new ArrayList<>();
List<Lokasi> lokasiList = getListLokasi(listDataExcel);
List<JenisPengadaan> jenisPengadaanList = getJenisPengadaans(listDataExcel);
List<UnitInisiator> unitInisiatorList = getUnitInisiators(listDataExcel);
List<SumberDana> sumberDanaList = getSumberDanas(listDataExcel);
List<SupplyPositioningMatrix> supplyPositioningMatrixList = getSupplyPositioningMatrices(listDataExcel);
List<MetodePengadaan> metodePengadaanList = getMetodePengadaans(listDataExcel);
List<MetodePenyampaian> metodePenyampaianList = getMetodePenyampaians(listDataExcel);
List<JenisKontrak> jenisKontrakList = getJenisKontraks(listDataExcel);
List<StrategiPengadaan> strategiPengadaanList = getStrategiPengadaans(listDataExcel);
List<Integer> listDrp = listDataExcel.stream().map(DrpPengadaanRequest::getTahun).collect(Collectors.toList());
List<Drp> drpList = drpRepository.getListDrpByList(listDrp);
for (DrpPengadaanRequest drpPengadaanRequest : listDataExcel) {
DrpPengadaan drpPengadaanEntity = DrpPengadaan.builder()
.namaPengadaan(drpPengadaanRequest.getNamaPengadaan())
.nomor(drpPengadaanRequest.getNomor())
.pagu(drpPengadaanRequest.getPagu())
.rencanaTanggal(drpPengadaanRequest.getRencanaTanggal())
.targetTanggal(drpPengadaanRequest.getTargetTanggal())
.hpe(drpPengadaanRequest.getHpe())
.isDelete(false)
.build();
lokasiList.forEach(c-> {
if (StringUtils.equalsIgnoreCase(c.getLokasi(), drpPengadaanRequest.getLokasi())) {
drpPengadaanEntity.setLokasiId(c.getId());
}
});
jenisPengadaanList.forEach(c-> {
if (StringUtils.equalsIgnoreCase(c.getJenisPengadaan(), drpPengadaanRequest.getJenisPengadaan())) {
drpPengadaanEntity.setJenisPengadaanId(c.getId());
}
});
unitInisiatorList.forEach(c-> {
if (StringUtils.equalsIgnoreCase(c.getUnitInisiator(), drpPengadaanRequest.getUnitInisiator())) {
drpPengadaanEntity.setUnitInisiatorId(c.getId());
}
});
sumberDanaList.forEach(c-> {
if (StringUtils.equalsIgnoreCase(c.getSumberDana(), drpPengadaanRequest.getSumberDana())) {
drpPengadaanEntity.setSumberDanaId(c.getId());
}
});
supplyPositioningMatrixList.forEach(c-> {
if (StringUtils.equalsIgnoreCase(c.getSupplyPositioningMatrix(), drpPengadaanRequest.getSupplyPositioningMatrix())) {
drpPengadaanEntity.setSupplyPositioningMatrixId(c.getId());
}
});
metodePengadaanList.forEach(c-> {
if (StringUtils.equalsIgnoreCase(c.getMetodePengadaan(), drpPengadaanRequest.getMetodePengadaan())) {
drpPengadaanEntity.setMetodePengadaanId(c.getId());
}
});
metodePenyampaianList.forEach(c-> {
if (StringUtils.equalsIgnoreCase(c.getMetodePenyampaian(), drpPengadaanRequest.getMetodePenyampaian())) {
drpPengadaanEntity.setMetodePenyampaianId(c.getId());
}
});
jenisKontrakList.forEach(c-> {
if (StringUtils.equalsIgnoreCase(c.getJenisKontrak(), drpPengadaanRequest.getJenisKontrak())) {
drpPengadaanEntity.setJenisKontrakId(c.getId());
}
});
strategiPengadaanList.forEach(c-> {
if (StringUtils.equalsIgnoreCase(c.getStrategiPengadaan(), drpPengadaanRequest.getStrategiPengadaan())) {
drpPengadaanEntity.setStrategiPengadaanId(c.getId());
}
});
drpList.forEach(c-> {
if (c.getTahun().equals(drpPengadaanRequest.getTahun())) {
drpPengadaanEntity.setDrpId(c.getId());
}
});
drpPengadaanList.add(drpPengadaanEntity);
}
drpPengadaanRepository.saveAll(drpPengadaanList);
return new EmptyResponse();
}
private void validateDrpRequest(List<DrpPengadaanRequest> listDataExcel) {
var drpPengadaan = listDataExcel.stream()
.map(DrpPengadaanRequest::getNamaPengadaan)
.collect(Collectors.toList());
List<DrpPengadaan> drpPengadaans = drpPengadaanRepository.getDrpPengadaanByListNamaPengadaan(drpPengadaan);
if (ObjectUtils.isNotEmpty(drpPengadaans)) {
List<String> existDrpPengadaan = drpPengadaans.stream().map(DrpPengadaan::getNamaPengadaan).collect(Collectors.toList());
throw new BusinessException(Constants.ERR_CODE_10015,
Constants.ERR_TTL_10015,
String.format(Constants.ERR_MSG_10015, existDrpPengadaan));
}
}
private List<StrategiPengadaan> getStrategiPengadaans(List<DrpPengadaanRequest> listDataExcel) {
var listStrategiPengadaan = listDataExcel.stream().map(DrpPengadaanRequest::getStrategiPengadaan).collect(Collectors.toList());
return strategiPengadaanRepository.getListStrategiPengadaanByList(listStrategiPengadaan);
}
private List<JenisKontrak> getJenisKontraks(List<DrpPengadaanRequest> listDataExcel) {
var jenisKontraks = listDataExcel.stream().map(DrpPengadaanRequest::getJenisKontrak).collect(Collectors.toList());
return jenisKontrakRepository.getListJenisKontrakByList(jenisKontraks);
}
private List<MetodePenyampaian> getMetodePenyampaians(List<DrpPengadaanRequest> listDataExcel) {
var listMetodePenyampaian = listDataExcel.stream()
.map(DrpPengadaanRequest::getMetodePenyampaian)
.collect(Collectors.toList());
return metodePenyampaianRepository.getListMetodePenyampaianByList(listMetodePenyampaian);
}
private List<MetodePengadaan> getMetodePengadaans(List<DrpPengadaanRequest> listDataExcel) {
var listMetodePengadaan = listDataExcel.stream()
.map(DrpPengadaanRequest::getMetodePengadaan)
.collect(Collectors.toList());
return metodePengadaanRepository.getListMetodePengadaanByList(listMetodePengadaan);
}
private List<SupplyPositioningMatrix> getSupplyPositioningMatrices(List<DrpPengadaanRequest> listDataExcel) {
var listSupplyPositioningMatrix = listDataExcel.stream()
.map(DrpPengadaanRequest::getSupplyPositioningMatrix)
.collect(Collectors.toList());
return supplyPositioningMatrixRepository.getListSupplyPositioningMatrix(listSupplyPositioningMatrix);
}
private List<SumberDana> getSumberDanas(List<DrpPengadaanRequest> listDataExcel) {
var listSumberDana = listDataExcel.stream()
.map(DrpPengadaanRequest::getSumberDana)
.collect(Collectors.toList());
return sumberDanaRepository.getListSumberDanaByList(listSumberDana);
}
private List<UnitInisiator> getUnitInisiators(List<DrpPengadaanRequest> listDataExcel) {
var listUnitInisiator = listDataExcel.stream()
.map(DrpPengadaanRequest::getUnitInisiator)
.collect(Collectors.toList());
return unitInisiatorRepository.getListUnitInisiatorByList(listUnitInisiator);
}
private List<JenisPengadaan> getJenisPengadaans(List<DrpPengadaanRequest> listDataExcel) {
var listJenisPengadaan = listDataExcel.stream()
.map(DrpPengadaanRequest::getJenisPengadaan)
.collect(Collectors.toList());
return jenisPengadaanRepository.getListPengadaan(listJenisPengadaan);
}
private List<Lokasi> getListLokasi(List<DrpPengadaanRequest> listDataExcel) {
var listLokasi = listDataExcel.stream()
.map(DrpPengadaanRequest::getLokasi)
.collect(Collectors.toList());
return lokasiRepository.getListLokasi(listLokasi);
}
private List<DrpPengadaanRequest> transformFile(DrpPengadaanRequest input) throws IOException {
try {
Workbook workbook = new XSSFWorkbook(input.getFile().getInputStream());
Sheet sheet = workbook.getSheetAt(0);
List<DrpPengadaanRequest> drpPengadaanRequestList = new ArrayList<>();
Iterator<Row> rows = sheet.iterator();
int rowNumber = 0;
while (rows.hasNext()) {
Row currentRow = rows.next();
// skip header
if (rowNumber <= 7) {
rowNumber++;
continue;
}
Iterator<Cell> cellsInRow = currentRow.iterator();
DrpPengadaanRequest drpPengadaanRequest = DrpPengadaanRequest.builder().build();
int cellIdx = 0;
while (cellsInRow.hasNext()) {
Cell currentCell = cellsInRow.next();
switch (cellIdx) {
case 0:
drpPengadaanRequest.setId((long) currentCell.getNumericCellValue());
break;
case 1:
drpPengadaanRequest.setNamaPengadaan(currentCell.getStringCellValue());
break;
case 2:
drpPengadaanRequest.setLokasi(currentCell.getStringCellValue());
break;
case 3:
drpPengadaanRequest.setJenisPengadaan(currentCell.getStringCellValue());
break;
case 4:
drpPengadaanRequest.setUnitInisiator(currentCell.getStringCellValue());
break;
case 5:
drpPengadaanRequest.setNomor(currentCell.getStringCellValue());
break;
case 6:
drpPengadaanRequest.setPagu(BigDecimal.valueOf(currentCell.getNumericCellValue()));
break;
case 7:
drpPengadaanRequest.setSumberDana(currentCell.getStringCellValue());
break;
case 8:
drpPengadaanRequest.setSupplyPositioningMatrix(currentCell.getStringCellValue());
break;
case 9:
drpPengadaanRequest.setMetodePengadaan(currentCell.getStringCellValue());
break;
case 10:
drpPengadaanRequest.setMetodePenyampaian(currentCell.getStringCellValue());
break;
case 11:
drpPengadaanRequest.setJenisKontrak(currentCell.getStringCellValue());
break;
case 12:
drpPengadaanRequest.setStrategiPengadaan(currentCell.getStringCellValue());
break;
case 13:
drpPengadaanRequest.setRencanaTanggal(new Date(currentCell.getDateCellValue().getTime()));
break;
case 14:
drpPengadaanRequest.setTargetTanggal(new Date(currentCell.getDateCellValue().getTime()));
break;
case 15:
drpPengadaanRequest.setHpe(BigDecimal.valueOf(currentCell.getNumericCellValue()));
break;
case 16:
drpPengadaanRequest.setTahun((int) currentCell.getNumericCellValue());
break;
default:
break;
}
cellIdx++;
}
if (drpPengadaanRequest.getId() == null || drpPengadaanRequest.getId() != 0) {
drpPengadaanRequestList.add(drpPengadaanRequest);
}
}
workbook.close();
return drpPengadaanRequestList;
} catch (IOException e) {
throw new BusinessException(Constants.ERR_CODE_10016,
Constants.ERR_TTL_10016,
String.format(Constants.ERR_MSG_10016, e.getMessage()));
}
}
}

View File

@ -40,7 +40,6 @@ public class PutUpdateUserService implements BaseService<UsersRequest, UsersResp
users.setRoleId(input.getRoleId());
users.setEmail(input.getEmail());
users.setTelepon(input.getTelepon());
users.setPassword(input.getPassword());
users.setIsActive(input.getIsActive());
users.setIsDelete(false);
var result = usersRepository.save(users);

View File

@ -3,37 +3,37 @@ package com.iconplus.smartproc.service.rksdaftarisi;
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.RksDaftarIsiRequest;
import com.iconplus.smartproc.model.request.RksDaftarRequest;
import com.iconplus.smartproc.repository.RksDaftarRepository;
import com.iconplus.smartproc.repository.RksDaftarIsiRepository;
import com.iconplus.smartproc.repository.RksIsiRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
@Service
public class DeleteRksDaftarIsiService implements BaseService<RksDaftarIsiRequest, EmptyResponse> {
public class DeleteRksDaftarIsiService implements BaseService<RksDaftarRequest, EmptyResponse> {
private final RksDaftarRepository rksDaftarRepository;
private final RksDaftarIsiRepository rksDaftarIsiRepository;
private final RksIsiRepository rksIsiRepository;
public DeleteRksDaftarIsiService(RksDaftarIsiRepository rksDaftarIsiRepository,
RksIsiRepository rksIsiRepository) {
public DeleteRksDaftarIsiService(RksDaftarRepository rksDaftarRepository,
RksDaftarIsiRepository rksDaftarIsiRepository) {
this.rksDaftarRepository = rksDaftarRepository;
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
this.rksIsiRepository = rksIsiRepository;
}
@Transactional
@Override
public EmptyResponse execute(RksDaftarIsiRequest input) {
public EmptyResponse execute(RksDaftarRequest input) {
var rksDaftarIsi= rksDaftarIsiRepository.findByIdAndIsDeleteFalse(input.getId())
var rksDaftarIsi= rksDaftarRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "RKS Daftar Isi", input.getId())));
rksDaftarIsi.setIsDelete(true);
rksDaftarIsiRepository.save(rksDaftarIsi);
rksIsiRepository.deleteRksIsi(rksDaftarIsi.getId());
rksDaftarRepository.save(rksDaftarIsi);
rksDaftarIsiRepository.deleteRksIsi(rksDaftarIsi.getId());
return new EmptyResponse();
}

View File

@ -3,23 +3,23 @@ package com.iconplus.smartproc.service.rksdaftarisi;
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.RksIsiRequest;
import com.iconplus.smartproc.repository.RksIsiRepository;
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
import com.iconplus.smartproc.repository.RksDaftarIsiRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class DeleteRksIsiService implements BaseService<RksIsiRequest, EmptyResponse> {
public class DeleteRksIsiService implements BaseService<RksDaftarIsiRequest, EmptyResponse> {
private final RksIsiRepository rksIsiRepository;
public DeleteRksIsiService(RksIsiRepository rksIsiRepository) {
this.rksIsiRepository = rksIsiRepository;
private final RksDaftarIsiRepository rksDaftarIsiRepository;
public DeleteRksIsiService(RksDaftarIsiRepository rksDaftarIsiRepository) {
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
}
@Override
public EmptyResponse execute(RksIsiRequest input) {
public EmptyResponse execute(RksDaftarIsiRequest input) {
var rksIsi = rksIsiRepository.findByIdAndIsDeleteFalse(input.getId())
var rksIsi = rksDaftarIsiRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
@ -27,7 +27,7 @@ public class DeleteRksIsiService implements BaseService<RksIsiRequest, EmptyResp
));
rksIsi.setIsDelete(true);
rksIsiRepository.save(rksIsi);
rksDaftarIsiRepository.save(rksIsi);
return new EmptyResponse();
}
}

View File

@ -3,30 +3,30 @@ package com.iconplus.smartproc.service.rksdaftarisi;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.projection.RksDaftarIsiView;
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
import com.iconplus.smartproc.model.response.ListRksDaftarIsiResponse;
import com.iconplus.smartproc.model.response.RksDaftarIsiResponse;
import com.iconplus.smartproc.repository.RksDaftarIsiRepository;
import com.iconplus.smartproc.model.request.RksDaftarRequest;
import com.iconplus.smartproc.model.response.ListRksDaftarResponse;
import com.iconplus.smartproc.model.response.RksDaftarResponse;
import com.iconplus.smartproc.repository.RksDaftarRepository;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class GetListRksDaftarIsiService implements BaseService<RksDaftarIsiRequest, ListRksDaftarIsiResponse> {
public class GetListRksDaftarIsiService implements BaseService<RksDaftarRequest, ListRksDaftarResponse> {
private final RksDaftarIsiRepository rksDaftarIsiRepository;
public GetListRksDaftarIsiService(RksDaftarIsiRepository rksDaftarIsiRepository) {
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
private final RksDaftarRepository rksDaftarRepository;
public GetListRksDaftarIsiService(RksDaftarRepository rksDaftarRepository) {
this.rksDaftarRepository = rksDaftarRepository;
}
@Override
public ListRksDaftarIsiResponse execute(RksDaftarIsiRequest input) {
public ListRksDaftarResponse execute(RksDaftarRequest input) {
List<RksDaftarIsiResponse> rksDaftarIsiResponseList = new ArrayList<>();
var rksDaftarIsiViews= rksDaftarIsiRepository.getListRksDaftarIsi(input.getPageable());
List<RksDaftarResponse> rksDaftarResponseList = new ArrayList<>();
var rksDaftarIsiViews= rksDaftarRepository.getListRksDaftarIsi(input.getPageable());
for (RksDaftarIsiView rksDaftarIsiView : rksDaftarIsiViews) {
RksDaftarIsiResponse rksDaftarIsiResponse = RksDaftarIsiResponse.builder()
RksDaftarResponse rksDaftarResponse = RksDaftarResponse.builder()
.id(rksDaftarIsiView.getId())
.kodeTemplate(rksDaftarIsiView.getKodeTemplate())
.namaTemplate(rksDaftarIsiView.getNamaTemplate())
@ -34,11 +34,11 @@ public class GetListRksDaftarIsiService implements BaseService<RksDaftarIsiReque
.metodePengadaan(rksDaftarIsiView.getMetodePengadaan())
.versi(rksDaftarIsiView.getVersi())
.build();
rksDaftarIsiResponseList.add(rksDaftarIsiResponse);
rksDaftarResponseList.add(rksDaftarResponse);
}
return ListRksDaftarIsiResponse.builder()
.data(rksDaftarIsiResponseList)
return ListRksDaftarResponse.builder()
.data(rksDaftarResponseList)
.pagination(Pagination.builder()
.pageSize(input.getPageable().getPageSize())
.currentPage(input.getPageable().getPageNumber())

View File

@ -2,47 +2,47 @@ package com.iconplus.smartproc.service.rksdaftarisi;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.RksIsi;
import com.iconplus.smartproc.model.request.RksIsiRequest;
import com.iconplus.smartproc.model.response.ListRksIsiResponse;
import com.iconplus.smartproc.model.response.RksIsiResponse;
import com.iconplus.smartproc.repository.RksIsiRepository;
import com.iconplus.smartproc.model.entity.RksDaftarIsi;
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
import com.iconplus.smartproc.model.response.ListRksDaftarIsiResponse;
import com.iconplus.smartproc.model.response.RksDaftarIsiResponse;
import com.iconplus.smartproc.repository.RksDaftarIsiRepository;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class GetListRksIsiService implements BaseService<RksIsiRequest, ListRksIsiResponse> {
public class GetListRksIsiService implements BaseService<RksDaftarIsiRequest, ListRksDaftarIsiResponse> {
private final RksIsiRepository rksIsiRepository;
private final RksDaftarIsiRepository rksDaftarIsiRepository;
public GetListRksIsiService(RksIsiRepository rksIsiRepository) {
this.rksIsiRepository = rksIsiRepository;
public GetListRksIsiService(RksDaftarIsiRepository rksDaftarIsiRepository) {
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
}
@Override
public ListRksIsiResponse execute(RksIsiRequest input) {
public ListRksDaftarIsiResponse execute(RksDaftarIsiRequest input) {
List<RksIsiResponse> rksIsiResponseList = new ArrayList<>();
var rksIsis = rksIsiRepository.findByRksDaftarIsiIdAndIsDeleteFalse(input.getRksDaftarIsiId(), input.getPageable());
for (RksIsi rksIsi : rksIsis) {
RksIsiResponse rksIsiResponse = RksIsiResponse.builder()
.id(rksIsi.getId())
.rksDaftarIsiId(rksIsi.getRksDaftarIsiId())
.nomor(rksIsi.getNomor())
.parentId(rksIsi.getParentId())
.nama(rksIsi.getNama())
.bab(rksIsi.getBab())
.subBab(rksIsi.getSubBab())
.urutan(rksIsi.getUrutan())
.isKontrak(rksIsi.getIsKontrak())
List<RksDaftarIsiResponse> rksDaftarIsiResponseList = new ArrayList<>();
var rksIsis = rksDaftarIsiRepository.findByRksDaftarIdAndIsDeleteFalse(input.getRksDaftarId(), input.getPageable());
for (RksDaftarIsi rksDaftarIsi : rksIsis) {
RksDaftarIsiResponse rksDaftarIsiResponse = RksDaftarIsiResponse.builder()
.id(rksDaftarIsi.getId())
.rksDaftarId(rksDaftarIsi.getRksDaftarId())
.nomor(rksDaftarIsi.getNomor())
.parentId(rksDaftarIsi.getParentId())
.title(rksDaftarIsi.getTitle())
.level(rksDaftarIsi.getLevel())
.urutan(rksDaftarIsi.getUrutan())
.isKontrak(rksDaftarIsi.getIsKontrak())
.isActive(rksDaftarIsi.getIsActive())
.build();
rksIsiResponseList.add(rksIsiResponse);
rksDaftarIsiResponseList.add(rksDaftarIsiResponse);
}
return ListRksIsiResponse.builder()
.data(rksIsiResponseList)
return ListRksDaftarIsiResponse.builder()
.data(rksDaftarIsiResponseList)
.pagination(Pagination.builder()
.pageSize(input.getPageable().getPageSize())
.currentPage(input.getPageable().getPageNumber())

View File

@ -1,41 +1,40 @@
package com.iconplus.smartproc.service.rksdaftarisi;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.RksIsi;
import com.iconplus.smartproc.model.request.RksIsiRequest;
import com.iconplus.smartproc.model.response.ListRksIsiResponse;
import com.iconplus.smartproc.model.response.RksIsiResponse;
import com.iconplus.smartproc.model.entity.RksDaftarIsi;
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
import com.iconplus.smartproc.model.response.ListRksDaftarIsiResponse;
import com.iconplus.smartproc.model.response.RksDaftarIsiResponse;
import com.iconplus.smartproc.repository.RksDaftarIsiRepository;
import com.iconplus.smartproc.repository.RksIsiRepository;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class GetListRksParentService implements BaseService<RksIsiRequest, ListRksIsiResponse> {
public class GetListRksParentService implements BaseService<RksDaftarIsiRequest, ListRksDaftarIsiResponse> {
private final RksIsiRepository rksIsiRepository;
public GetListRksParentService(RksIsiRepository rksIsiRepository) {
this.rksIsiRepository = rksIsiRepository;
private final RksDaftarIsiRepository rksDaftarIsiRepository;
public GetListRksParentService(RksDaftarIsiRepository rksDaftarIsiRepository) {
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
}
@Override
public ListRksIsiResponse execute(RksIsiRequest input) {
public ListRksDaftarIsiResponse execute(RksDaftarIsiRequest input) {
List<RksIsiResponse> rksIsiResponseList = new ArrayList<>();
var rksIsiList = rksIsiRepository.findByRksDaftarIsiIdAndIsDeleteFalse(input.getRksDaftarIsiId());
List<RksDaftarIsiResponse> rksDaftarIsiResponseList = new ArrayList<>();
var rksIsiList = rksDaftarIsiRepository.findByParentRksDaftarIsi(input.getRksDaftarId());
for (RksIsi rksIsi : rksIsiList) {
RksIsiResponse rksIsiResponse = RksIsiResponse.builder()
.id(rksIsi.getId())
.parent(rksIsi.getNama())
for (RksDaftarIsi rksDaftarIsi : rksIsiList) {
RksDaftarIsiResponse rksDaftarIsiResponse = RksDaftarIsiResponse.builder()
.id(rksDaftarIsi.getId())
.title(rksDaftarIsi.getTitle())
.build();
rksIsiResponseList.add(rksIsiResponse);
rksDaftarIsiResponseList.add(rksDaftarIsiResponse);
}
return ListRksIsiResponse.builder()
.data(rksIsiResponseList)
return ListRksDaftarIsiResponse.builder()
.data(rksDaftarIsiResponseList)
.build();
}
}

View File

@ -2,25 +2,25 @@ package com.iconplus.smartproc.service.rksdaftarisi;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.RksDaftarIsi;
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
import com.iconplus.smartproc.model.response.RksDaftarIsiResponse;
import com.iconplus.smartproc.repository.RksDaftarIsiRepository;
import com.iconplus.smartproc.model.entity.RksDaftar;
import com.iconplus.smartproc.model.request.RksDaftarRequest;
import com.iconplus.smartproc.model.response.RksDaftarResponse;
import com.iconplus.smartproc.repository.RksDaftarRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class PostCreateRksDaftarIsiService implements BaseService<RksDaftarIsiRequest, RksDaftarIsiResponse> {
public class PostCreateRksDaftarIsiService implements BaseService<RksDaftarRequest, RksDaftarResponse> {
private final RksDaftarIsiRepository rksDaftarIsiRepository;
public PostCreateRksDaftarIsiService(RksDaftarIsiRepository rksDaftarIsiRepository) {
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
private final RksDaftarRepository rksDaftarRepository;
public PostCreateRksDaftarIsiService(RksDaftarRepository rksDaftarRepository) {
this.rksDaftarRepository = rksDaftarRepository;
}
@Override
public RksDaftarIsiResponse execute(RksDaftarIsiRequest input) {
public RksDaftarResponse execute(RksDaftarRequest input) {
var rksDaftarIsiOptional = rksDaftarIsiRepository.findByKodeTemplateAndIsDeleteFalse(input.getKodeTemplate());
var rksDaftarIsiOptional = rksDaftarRepository.findByKodeTemplateAndIsDeleteFalse(input.getKodeTemplate());
if (rksDaftarIsiOptional.isPresent()) {
throw new BusinessException(Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
@ -28,7 +28,7 @@ public class PostCreateRksDaftarIsiService implements BaseService<RksDaftarIsiRe
}
RksDaftarIsi rksDaftarIsi = RksDaftarIsi.builder()
RksDaftar rksDaftar = RksDaftar.builder()
.kodeTemplate(input.getKodeTemplate())
.namaTemplate(input.getNamaTemplate())
.metodePengadaanId(input.getMetodePengadaanId())
@ -36,8 +36,8 @@ public class PostCreateRksDaftarIsiService implements BaseService<RksDaftarIsiRe
.isDelete(false)
.build();
var result = rksDaftarIsiRepository.save(rksDaftarIsi);
return RksDaftarIsiResponse.builder()
var result = rksDaftarRepository.save(rksDaftar);
return RksDaftarResponse.builder()
.id(result.getId())
.build();
}

View File

@ -1,92 +1,40 @@
package com.iconplus.smartproc.service.rksdaftarisi;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.RksIsi;
import com.iconplus.smartproc.model.request.RksIsiRequest;
import com.iconplus.smartproc.model.response.RksIsiResponse;
import com.iconplus.smartproc.repository.RksIsiRepository;
import com.iconplus.smartproc.util.Constants;
import org.apache.commons.lang3.StringUtils;
import com.iconplus.smartproc.model.entity.RksDaftarIsi;
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
import com.iconplus.smartproc.model.response.RksDaftarIsiResponse;
import com.iconplus.smartproc.repository.RksDaftarIsiRepository;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service;
@Service
public class PostCreateRksIsiService implements BaseService<RksIsiRequest, RksIsiResponse> {
public class PostCreateRksIsiService implements BaseService<RksDaftarIsiRequest, RksDaftarIsiResponse> {
private final RksIsiRepository rksIsiRepository;
public PostCreateRksIsiService(RksIsiRepository rksIsiRepository) {
this.rksIsiRepository = rksIsiRepository;
private final RksDaftarIsiRepository rksDaftarIsiRepository;
public PostCreateRksIsiService(RksDaftarIsiRepository rksDaftarIsiRepository) {
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
}
@Override
public RksIsiResponse execute(RksIsiRequest input) {
public RksDaftarIsiResponse execute(RksDaftarIsiRequest input) {
RksIsi rksIsi = RksIsi.builder().build();
validasiRequest(input, rksIsi);
RksDaftarIsi rksDaftarIsi = RksDaftarIsi.builder()
.rksDaftarId(input.getRksDaftarId())
.nomor(input.getNomor())
.parentId(ObjectUtils.isEmpty(input.getParentId()) ? 0 : input.getParentId())
.title(input.getTitle())
.level(input.getLevel())
.urutan(input.getUrutan())
.isKontrak(input.getIsKontrak())
.isActive(input.getIsActive())
.isDelete(false)
.build();
rksIsi.setRksDaftarIsiId(input.getRksDaftarIsiId());
rksIsi.setNomor(input.getNomor());
rksIsi.setUrutan(input.getUrutan());
rksIsi.setIsKontrak(input.getIsKontrak());
rksIsi.setIsDelete(false);
var result = rksIsiRepository.save(rksIsi);
var result = rksDaftarIsiRepository.save(rksDaftarIsi);
return RksIsiResponse.builder()
return RksDaftarIsiResponse.builder()
.id(result.getId())
.build();
}
private void validasiRequest(RksIsiRequest input, RksIsi rksIsi) {
if (StringUtils.isNotBlank(input.getNama())) {
var optionalRksIsi = rksIsiRepository.findByRksDaftarIsiIdAndNamaAndIsDeleteFalse(input.getRksDaftarIsiId(), input.getNama());
if (optionalRksIsi.isPresent()) {
throw new BusinessException(
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "Nama Buku", input.getNama()));
}
rksIsi.setNama(input.getNama());
return;
}
if (StringUtils.isNotBlank(input.getBab())) {
var optionalRksIsi = rksIsiRepository.findByRksDaftarIsiIdAndBabAndIsDeleteFalse(input.getRksDaftarIsiId(), input.getBab());
if (optionalRksIsi.isPresent()) {
throw new BusinessException(
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "Bab", input.getBab()));
}
rksIsi.setParent(input.getParent());
rksIsi.setBab(input.getBab());
return;
}
if (StringUtils.isNotBlank(input.getSubBab())) {
var optionalRksIsi = rksIsiRepository.findByRksDaftarIsiIdAndSubBabAndIsDeleteFalse(input.getRksDaftarIsiId(), input.getSubBab());
if (optionalRksIsi.isPresent()) {
throw new BusinessException(
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "Sub Bab", input.getSubBab()));
}
rksIsi.setParent(input.getParent());
rksIsi.setSubBab(input.getSubBab());
return;
}
if (StringUtils.isNotBlank(input.getKelompok())) {
var optionalRksIsi = rksIsiRepository.findByRksDaftarIsiIdAndKelompokAndIsDeleteFalse(input.getRksDaftarIsiId(), input.getKelompok());
if (optionalRksIsi.isPresent()) {
throw new BusinessException(
Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "Sub Bab", input.getKelompok()));
}
rksIsi.setParent(input.getParent());
rksIsi.setKelompok(input.getKelompok());
}
}
}

View File

@ -2,46 +2,38 @@ package com.iconplus.smartproc.service.rksdaftarisi;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.RksIsiRequest;
import com.iconplus.smartproc.model.response.RksIsiResponse;
import com.iconplus.smartproc.repository.RksIsiRepository;
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
import com.iconplus.smartproc.model.response.RksDaftarIsiResponse;
import com.iconplus.smartproc.repository.RksDaftarIsiRepository;
import com.iconplus.smartproc.util.Constants;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service;
@Service
public class PutEditRksIsiService implements BaseService<RksIsiRequest, RksIsiResponse> {
public class PutEditRksIsiService implements BaseService<RksDaftarIsiRequest, RksDaftarIsiResponse> {
private final RksIsiRepository rksIsiRepository;
public PutEditRksIsiService(RksIsiRepository rksIsiRepository) {
this.rksIsiRepository = rksIsiRepository;
private final RksDaftarIsiRepository rksDaftarIsiRepository;
public PutEditRksIsiService(RksDaftarIsiRepository rksDaftarIsiRepository) {
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
}
@Override
public RksIsiResponse execute(RksIsiRequest input) {
public RksDaftarIsiResponse execute(RksDaftarIsiRequest input) {
var rksIsi = rksIsiRepository.findByIdAndIsDeleteFalse(input.getId())
var rksIsi = rksDaftarIsiRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "RKS Isi", input.getId())
));
if (StringUtils.isNotBlank(input.getNama())) {
rksIsi.setNama(input.getNama());
} else if (StringUtils.isNotBlank(input.getBab())) {
rksIsi.setBab(input.getBab());
} else if (StringUtils.isNotBlank(input.getSubBab())) {
rksIsi.setSubBab(input.getSubBab());
} else {
rksIsi.setKelompok(input.getKelompok());
}
rksIsi.setTitle(input.getTitle());
rksIsi.setUrutan(input.getUrutan());
rksIsi.setIsKontrak(input.getIsKontrak());
rksIsiRepository.save(rksIsi);
rksIsi.setIsActive(ObjectUtils.isEmpty(input.getIsActive()) ? rksIsi.getIsActive() : input.getIsActive());
rksDaftarIsiRepository.save(rksIsi);
return RksIsiResponse.builder()
return RksDaftarIsiResponse.builder()
.id(rksIsi.getId())
.build();
}

View File

@ -2,24 +2,24 @@ package com.iconplus.smartproc.service.rksdaftarisi;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
import com.iconplus.smartproc.model.response.RksDaftarIsiResponse;
import com.iconplus.smartproc.repository.RksDaftarIsiRepository;
import com.iconplus.smartproc.model.request.RksDaftarRequest;
import com.iconplus.smartproc.model.response.RksDaftarResponse;
import com.iconplus.smartproc.repository.RksDaftarRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class PutUpdateRksDaftarIsiService implements BaseService<RksDaftarIsiRequest, RksDaftarIsiResponse> {
public class PutUpdateRksDaftarIsiService implements BaseService<RksDaftarRequest, RksDaftarResponse> {
private final RksDaftarIsiRepository rksDaftarIsiRepository;
public PutUpdateRksDaftarIsiService(RksDaftarIsiRepository rksDaftarIsiRepository) {
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
private final RksDaftarRepository rksDaftarRepository;
public PutUpdateRksDaftarIsiService(RksDaftarRepository rksDaftarRepository) {
this.rksDaftarRepository = rksDaftarRepository;
}
@Override
public RksDaftarIsiResponse execute(RksDaftarIsiRequest input) {
public RksDaftarResponse execute(RksDaftarRequest input) {
var rksDaftarIsi= rksDaftarIsiRepository.findByIdAndIsDeleteFalse(input.getId())
var rksDaftarIsi= rksDaftarRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "RKS Daftar Isi", input.getId())));
@ -29,9 +29,9 @@ public class PutUpdateRksDaftarIsiService implements BaseService<RksDaftarIsiReq
rksDaftarIsi.setMetodePengadaanId(input.getMetodePengadaanId());
rksDaftarIsi.setVersi(input.getVersi());
rksDaftarIsiRepository.save(rksDaftarIsi);
rksDaftarRepository.save(rksDaftarIsi);
return RksDaftarIsiResponse.builder()
return RksDaftarResponse.builder()
.id(rksDaftarIsi.getId())
.build();
}

View File

@ -0,0 +1,34 @@
package com.iconplus.smartproc.service.rkstemplate;
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.RksTemplateVariabelRequest;
import com.iconplus.smartproc.repository.RksTemplateVariabelRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class DeleteRksTemplateVariabelService implements BaseService<RksTemplateVariabelRequest, EmptyResponse> {
private final RksTemplateVariabelRepository rksTemplateVariabelRepository;
public DeleteRksTemplateVariabelService(RksTemplateVariabelRepository rksTemplateVariabelRepository) {
this.rksTemplateVariabelRepository = rksTemplateVariabelRepository;
}
@Override
public EmptyResponse execute(RksTemplateVariabelRequest input) {
var rksTemplateVariabel = rksTemplateVariabelRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "RKS Template Variabel", input.getId())
));
rksTemplateVariabel.setIsDelete(true);
rksTemplateVariabelRepository.save(rksTemplateVariabel);
return new EmptyResponse();
}
}

View File

@ -34,7 +34,7 @@ public class GetListRksTemplateService implements BaseService<RksTemplateRequest
.metodePengadaanId(rksTemplateView.getMetodePengadaanId())
.metodePengadaan(rksTemplateView.getMetodePengadaan())
.versi(rksTemplateView.getVersi())
.rksDaftarIsiId(rksTemplateView.getRksDaftarIsiId())
.rksDaftarId(rksTemplateView.getRksDaftarId())
.daftarIsi(rksTemplateView.getDaftarIsi())
.isActive(rksTemplateView.getIsActive())
.build();

View File

@ -0,0 +1,57 @@
package com.iconplus.smartproc.service.rkstemplate;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.RksTemplateVariabel;
import com.iconplus.smartproc.model.request.RksTemplateVariabelRequest;
import com.iconplus.smartproc.model.response.ListRksTemplateVariabelResponse;
import com.iconplus.smartproc.model.response.RksTemplateVariabelResponse;
import com.iconplus.smartproc.repository.RksTemplateVariabelRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class GetListRksTemplateVariabelService implements BaseService<RksTemplateVariabelRequest, ListRksTemplateVariabelResponse> {
private final RksTemplateVariabelRepository rksTemplateVariabelRepository;
public GetListRksTemplateVariabelService(RksTemplateVariabelRepository rksTemplateVariabelRepository) {
this.rksTemplateVariabelRepository = rksTemplateVariabelRepository;
}
@Override
public ListRksTemplateVariabelResponse execute(RksTemplateVariabelRequest input) {
List<RksTemplateVariabelResponse> rksTemplateVariabelResponseList = new ArrayList<>();
var rksTemplateVariabelPage = rksTemplateVariabelRepository.findByRksTemplateIdAndIsDeleteFalse(input.getRksTemplateId(), input.getPageable());
for (RksTemplateVariabel rksTemplateVariabel : rksTemplateVariabelPage) {
RksTemplateVariabelResponse rksTemplateVariabelResponse = RksTemplateVariabelResponse.builder()
.id(rksTemplateVariabel.getId())
.rksTemplateId(rksTemplateVariabel.getRksTemplateId())
.variableName(rksTemplateVariabel.getVariableName())
.isian(rksTemplateVariabel.getIsian())
.keterangan(rksTemplateVariabel.getKeterangan())
.contohIsian(rksTemplateVariabel.getContohIsian())
.digunakanDi(rksTemplateVariabel.getDigunakanDi())
.build();
rksTemplateVariabelResponseList.add(rksTemplateVariabelResponse);
}
return ListRksTemplateVariabelResponse.builder()
.data(rksTemplateVariabelResponseList)
.pagination(Pagination.builder()
.pageSize(input.getPageable().getPageSize())
.currentPage(input.getPageable().getPageNumber())
.totalPages(rksTemplateVariabelPage.getTotalPages())
.totalRecords(rksTemplateVariabelPage.getTotalElements())
.isFirstPage(rksTemplateVariabelPage.isFirst())
.isLastPage(rksTemplateVariabelPage.isLast())
.build())
.build();
}
}

View File

@ -0,0 +1,39 @@
package com.iconplus.smartproc.service.rkstemplate;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.RksTemplateVariabelRequest;
import com.iconplus.smartproc.model.response.RksTemplateVariabelResponse;
import com.iconplus.smartproc.repository.RksTemplateVariabelRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class GetRksTemplateVariabelService implements BaseService<RksTemplateVariabelRequest, RksTemplateVariabelResponse> {
private final RksTemplateVariabelRepository rksTemplateVariabelRepository;
public GetRksTemplateVariabelService(RksTemplateVariabelRepository rksTemplateVariabelRepository) {
this.rksTemplateVariabelRepository = rksTemplateVariabelRepository;
}
@Override
public RksTemplateVariabelResponse execute(RksTemplateVariabelRequest input) {
var rksTemplateVariabel = rksTemplateVariabelRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "RKS Template Variabel", input.getId())
));
return RksTemplateVariabelResponse.builder()
.id(rksTemplateVariabel.getId())
.rksTemplateId(rksTemplateVariabel.getRksTemplateId())
.variableName(rksTemplateVariabel.getVariableName())
.keterangan(rksTemplateVariabel.getKeterangan())
.contohIsian(rksTemplateVariabel.getContohIsian())
.isian(rksTemplateVariabel.getIsian())
.digunakanDi(rksTemplateVariabel.getDigunakanDi())
.build();
}
}

View File

@ -0,0 +1,42 @@
package com.iconplus.smartproc.service.rkstemplate;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.RksDaftarIsiRequest;
import com.iconplus.smartproc.model.request.RksTemplateRequest;
import com.iconplus.smartproc.model.response.ListRksDaftarIsiResponse;
import com.iconplus.smartproc.repository.RksDaftarIsiRepository;
import com.iconplus.smartproc.repository.RksTemplateRepository;
import com.iconplus.smartproc.service.rksdaftarisi.GetListRksIsiService;
import com.iconplus.smartproc.util.Constants;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@Service
public class GetTemplateListRksDaftarIsiService implements BaseService<RksTemplateRequest, ListRksDaftarIsiResponse> {
private final GetListRksIsiService getListRksIsiService;
private final RksTemplateRepository rksTemplateRepository;
public GetTemplateListRksDaftarIsiService(GetListRksIsiService getListRksIsiService,
RksTemplateRepository rksTemplateRepository) {
this.getListRksIsiService = getListRksIsiService;
this.rksTemplateRepository = rksTemplateRepository;
}
@Override
public ListRksDaftarIsiResponse execute(RksTemplateRequest input) {
var rksTemplate = rksTemplateRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "RKS Template", input.getId())
));
return getListRksIsiService.execute(RksDaftarIsiRequest.builder()
.rksDaftarId(rksTemplate.getRksDaftarId())
.pageable(input.getPageable())
.build());
}
}

View File

@ -32,7 +32,7 @@ public class PostCreateRksTemplateService implements BaseService<RksTemplateRequ
.kodeTemplate(input.getKodeTemplate())
.namaTemplate(input.getNamaTemplate())
.metodePengadaanId(input.getMetodePengadaanId())
.rksDaftarIsiId(input.getRksDaftarIsiId())
.rksDaftarId(input.getRksDaftarId())
.versi(input.getVersi())
.isActive(BooleanUtils.isTrue(input.getIsActive()))
.isDelete(false)

View File

@ -0,0 +1,47 @@
package com.iconplus.smartproc.service.rkstemplate;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.entity.RksTemplateVariabel;
import com.iconplus.smartproc.model.request.RksTemplateVariabelRequest;
import com.iconplus.smartproc.model.response.RksTemplateVariabelResponse;
import com.iconplus.smartproc.repository.RksTemplateVariabelRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class PostCreateRksTemplateVariabelService implements BaseService<RksTemplateVariabelRequest, RksTemplateVariabelResponse> {
private final RksTemplateVariabelRepository rksTemplateVariabelRepository;
public PostCreateRksTemplateVariabelService(RksTemplateVariabelRepository rksTemplateVariabelRepository) {
this.rksTemplateVariabelRepository = rksTemplateVariabelRepository;
}
@Override
public RksTemplateVariabelResponse execute(RksTemplateVariabelRequest input) {
var rksTemplateVariabel= rksTemplateVariabelRepository.findByVariableNameAndIsDeleteFalse(input.getVariableName());
if (rksTemplateVariabel.isPresent()) {
throw new BusinessException(Constants.ERR_CODE_10002,
Constants.ERR_TTL_10002,
String.format(Constants.ERR_MSG_10002, "RKS Template Variabel", input.getVariableName()));
}
RksTemplateVariabel rksTemplateVariabelEntity = RksTemplateVariabel.builder()
.rksTemplateId(input.getRksTemplateId())
.variableName(input.getVariableName())
.keterangan(input.getKeterangan())
.contohIsian(input.getContohIsian())
.digunakanDi(input.getDigunakanDi())
.isian(input.getIsian())
.isActive(input.getIsActive())
.isDelete(false)
.build();
var result = rksTemplateVariabelRepository.save(rksTemplateVariabelEntity);
return RksTemplateVariabelResponse.builder()
.id(result.getId())
.build();
}
}

View File

@ -0,0 +1,39 @@
package com.iconplus.smartproc.service.rkstemplate;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;
import com.iconplus.smartproc.model.request.RksTemplateVariabelRequest;
import com.iconplus.smartproc.model.response.RksTemplateVariabelResponse;
import com.iconplus.smartproc.repository.RksTemplateVariabelRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class PutEditRksTemplateVariabelService implements BaseService<RksTemplateVariabelRequest, RksTemplateVariabelResponse> {
private final RksTemplateVariabelRepository rksTemplateVariabelRepository;
public PutEditRksTemplateVariabelService(RksTemplateVariabelRepository rksTemplateVariabelRepository) {
this.rksTemplateVariabelRepository = rksTemplateVariabelRepository;
}
@Override
public RksTemplateVariabelResponse execute(RksTemplateVariabelRequest input) {
var rksTemplateVariabel = rksTemplateVariabelRepository.findByIdAndIsDeleteFalse(input.getId())
.orElseThrow(() -> new BusinessException(
Constants.ERR_CODE_10001,
Constants.ERR_TTL_10001,
String.format(Constants.ERR_MSG_10001, "RKS Template Variabel", input.getId())
));
rksTemplateVariabel.setVariableName(input.getVariableName());
rksTemplateVariabel.setKeterangan(input.getKeterangan());
rksTemplateVariabel.setContohIsian(input.getContohIsian());
rksTemplateVariabel.setDigunakanDi(input.getDigunakanDi());
rksTemplateVariabel.setIsian(input.getIsian());
rksTemplateVariabelRepository.save(rksTemplateVariabel);
return RksTemplateVariabelResponse.builder()
.id(rksTemplateVariabel.getId())
.build();
}
}

View File

@ -26,12 +26,12 @@ public class PutUpdateRksTemplateService implements BaseService<RksTemplateReque
String.format(Constants.ERR_MSG_10001, "RKS Template", input.getId())
));
rksTemplate.setKodeTemplate(rksTemplate.getKodeTemplate());
rksTemplate.setNamaTemplate(rksTemplate.getNamaTemplate());
rksTemplate.setRksDaftarIsiId(rksTemplate.getRksDaftarIsiId());
rksTemplate.setMetodePengadaanId(rksTemplate.getMetodePengadaanId());
rksTemplate.setVersi(rksTemplate.getVersi());
rksTemplate.setIsActive(rksTemplate.getIsActive());
rksTemplate.setKodeTemplate(input.getKodeTemplate());
rksTemplate.setNamaTemplate(input.getNamaTemplate());
rksTemplate.setRksDaftarId(input.getRksDaftarId());
rksTemplate.setMetodePengadaanId(input.getMetodePengadaanId());
rksTemplate.setVersi(input.getVersi());
rksTemplate.setIsActive(input.getIsActive());
rksTemplateRepository.save(rksTemplate);

View File

@ -56,6 +56,18 @@ public class Constants {
public static final String ERR_TTL_10013 = "Gagal Approve";
public static final String ERR_MSG_10013 = "Silahkan menunggu appoval %s terlebih dahulu";
public static final String ERR_CODE_10014 = "10014";
public static final String ERR_TTL_10014 = "Failed Import";
public static final String ERR_MSG_10014 = "Silahkan upload format document excel";
public static final String ERR_CODE_10015 = "10015";
public static final String ERR_TTL_10015 = "Failed Import";
public static final String ERR_MSG_10015 = "Nama DRP Pengadaan sudah tersedia : %s";
public static final String ERR_CODE_10016 = "10016";
public static final String ERR_TTL_10016 = "Failed Import";
public static final String ERR_MSG_10016 = "fail to parse Excel file: %s";
public static final String ERR_CODE_40041 = "40041";
public static final String ERR_TTL_40041 = "Terjadi Gangguan";
public static final String ERR_MSG_40041 = "Masalah Koneksi System";