refactor
This commit is contained in:
		| @@ -1,13 +1,13 @@ | ||||
| package com.iconplus.smartproc.controller; | ||||
|  | ||||
| import com.iconplus.smartproc.helper.model.EmptyRequest; | ||||
| import com.iconplus.smartproc.model.request.DrpApprovalRequest; | ||||
| import com.iconplus.smartproc.model.response.DrpApprovalResponse; | ||||
| import com.iconplus.smartproc.model.response.GetListUserApprovalResponse; | ||||
| import com.iconplus.smartproc.service.approval.GetListUserDirekturKomiteService; | ||||
| import com.iconplus.smartproc.service.approval.GetListUserVpService; | ||||
| import org.springframework.web.bind.annotation.CrossOrigin; | ||||
| import org.springframework.web.bind.annotation.GetMapping; | ||||
| import org.springframework.web.bind.annotation.RequestMapping; | ||||
| import org.springframework.web.bind.annotation.RestController; | ||||
| import com.iconplus.smartproc.service.approval.PostCreateDrpApprovalService; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
|  | ||||
| @CrossOrigin(origins = "${fe.server}", allowCredentials = "true") | ||||
| @RestController | ||||
| @@ -16,10 +16,13 @@ public class ApprovalDrpController { | ||||
|  | ||||
|     private GetListUserVpService getListUserVpService; | ||||
|     private GetListUserDirekturKomiteService getListUserDirekturKomiteService; | ||||
|     private PostCreateDrpApprovalService postCreateDrpApprovalService; | ||||
|     public ApprovalDrpController(GetListUserVpService getListUserVpService, | ||||
|                                  GetListUserDirekturKomiteService getListUserDirekturKomiteService) { | ||||
|                                  GetListUserDirekturKomiteService getListUserDirekturKomiteService, | ||||
|                                  PostCreateDrpApprovalService postCreateDrpApprovalService) { | ||||
|         this.getListUserVpService = getListUserVpService; | ||||
|         this.getListUserDirekturKomiteService = getListUserDirekturKomiteService; | ||||
|         this.postCreateDrpApprovalService = postCreateDrpApprovalService; | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/vp") | ||||
| @@ -31,4 +34,9 @@ public class ApprovalDrpController { | ||||
|     public GetListUserApprovalResponse getUserDirekturKomite(EmptyRequest emptyRequest) { | ||||
|         return getListUserDirekturKomiteService.execute(emptyRequest); | ||||
|     } | ||||
|  | ||||
|     @PostMapping | ||||
|     public DrpApprovalResponse createDrpApproval(@RequestBody DrpApprovalRequest drpApprovalRequest) { | ||||
|         return postCreateDrpApprovalService.execute(drpApprovalRequest); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -2,8 +2,6 @@ package com.iconplus.smartproc.controller; | ||||
|  | ||||
| import com.iconplus.smartproc.helper.model.EmptyResponse; | ||||
| import com.iconplus.smartproc.model.request.DrpDokumenRequest; | ||||
| import com.iconplus.smartproc.model.request.DrpPengadaanDokumenRequest; | ||||
| import com.iconplus.smartproc.model.request.DrpPengadaanRequest; | ||||
| import com.iconplus.smartproc.model.request.DrpRequest; | ||||
| import com.iconplus.smartproc.model.response.*; | ||||
| import com.iconplus.smartproc.service.drp.*; | ||||
| @@ -21,44 +19,32 @@ public class DrpController { | ||||
|  | ||||
|     private final GetDrpService getDrpService; | ||||
|     private final GetListDrpService getListDrpService; | ||||
|     private final PostCreateDrpService postCreateDrpService; | ||||
|     private final PostCreateDrpPengadaanService postCreateDrpPengadaanService; | ||||
|     private final GetListDrpPengadaanService getListDrpPengadaanService; | ||||
|     private final PostDrpUploadDokumenRKAPService postDrpUploadDokumenRKAPService; | ||||
|     private final PostDrpUploadDokumenPendukungService postDrpUploadDokumenPendukungService; | ||||
|     private final PostCreateTahunDrpService postCreateTahunDrpService; | ||||
|     private final DeleteDrpPengadaanService deleteDrpPengadaanService; | ||||
|     private final DeleteDokumenUploadService deleteDokumenUploadService; | ||||
|     private final DeleteDokumenPendukungService deleteDokumenPendukungService; | ||||
|     private final PostCreateDrpService postCreateDrpService; | ||||
|     private final EditUploadDokumenDrpService editUploadDokumenDrpService; | ||||
|  | ||||
|     public DrpController(GetDrpService getDrpService, | ||||
|                          GetListDrpService getListDrpService, | ||||
|                          PostCreateDrpService postCreateDrpService, | ||||
|                          PostCreateDrpPengadaanService postCreateDrpPengadaanService, | ||||
|                          GetListDrpPengadaanService getListDrpPengadaanService, | ||||
|                          PostDrpUploadDokumenRKAPService postDrpUploadDokumenRKAPService, | ||||
|                          PostCreateTahunDrpService postCreateTahunDrpService, | ||||
|                          PostDrpUploadDokumenPendukungService postDrpUploadDokumenPendukungService, | ||||
|                          DeleteDrpPengadaanService deleteDrpPengadaanService, | ||||
|                          DeleteDokumenUploadService deleteDokumenUploadService, | ||||
|                          DeleteDokumenPendukungService deleteDokumenPendukungService) { | ||||
|                          PostCreateDrpService postCreateDrpService, | ||||
|                          EditUploadDokumenDrpService editUploadDokumenDrpService) { | ||||
|         this.getDrpService = getDrpService; | ||||
|         this.getListDrpService = getListDrpService; | ||||
|         this.postCreateDrpService = postCreateDrpService; | ||||
|         this.postCreateDrpPengadaanService = postCreateDrpPengadaanService; | ||||
|         this.getListDrpPengadaanService = getListDrpPengadaanService; | ||||
|         this.postDrpUploadDokumenRKAPService = postDrpUploadDokumenRKAPService; | ||||
|         this.postDrpUploadDokumenPendukungService = postDrpUploadDokumenPendukungService; | ||||
|         this.postCreateTahunDrpService = postCreateTahunDrpService; | ||||
|         this.deleteDrpPengadaanService = deleteDrpPengadaanService; | ||||
|         this.deleteDokumenUploadService = deleteDokumenUploadService; | ||||
|         this.deleteDokumenPendukungService = deleteDokumenPendukungService; | ||||
|         this.postCreateDrpService = postCreateDrpService; | ||||
|         this.editUploadDokumenDrpService = editUploadDokumenDrpService; | ||||
|     } | ||||
|  | ||||
|     @GetMapping | ||||
|     public GetListDrpResponse getListDrp(@RequestParam(name = "search", required = false) String search, | ||||
|                                               @RequestParam(name = "page", defaultValue = "1") Integer page, | ||||
|                                               @RequestParam(name = "size", defaultValue = "5") Integer size){ | ||||
|                                          @RequestParam(name = "page", defaultValue = "1") Integer page, | ||||
|                                          @RequestParam(name = "size", defaultValue = "5") Integer size){ | ||||
|  | ||||
|         Pageable pageable = PageRequest.of((page - 1), size); | ||||
|         DrpRequest drpRequest = DrpRequest.builder() | ||||
| @@ -69,14 +55,25 @@ public class DrpController { | ||||
|         return getListDrpService.execute(drpRequest); | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/{id}") | ||||
|     public DrpResponse getDrp(@PathVariable Long id) { | ||||
|         return getDrpService.execute(DrpRequest.builder() | ||||
|                 .id(id) | ||||
|                 .build()); | ||||
|     } | ||||
|  | ||||
|     @PostMapping("/tahun") | ||||
|     public DrpResponse createTahunDrp(@RequestBody DrpRequest drpRequest) { | ||||
|         return postCreateTahunDrpService.execute(drpRequest); | ||||
|     } | ||||
|  | ||||
|     @PostMapping | ||||
|     public DrpResponse createDrp(@RequestBody DrpRequest drpRequest) { | ||||
|         return postCreateDrpService.execute(drpRequest); | ||||
|     } | ||||
|  | ||||
|     @PostMapping("/upload/rkap") | ||||
|  | ||||
|     @PostMapping("/upload/dokumen") | ||||
|     public DrpDokumenResponse uploadDokumenRkap(@RequestParam(name = "jenisDokumenId") Long jenisDokumenId, | ||||
|                                                 @RequestParam(name = "keterangan") String keterangan, | ||||
|                                                 @RequestParam(name = "file") MultipartFile file) throws IOException { | ||||
| @@ -87,58 +84,22 @@ public class DrpController { | ||||
|                 .build()); | ||||
|     } | ||||
|  | ||||
|     @PostMapping("/upload/pendukung") | ||||
|     public DrpDokumenResponse uploadDokumenPendukung(@RequestParam(name = "jenisDokumenId") Long jenisDokumenId, | ||||
|                                                      @RequestParam(name = "keterangan") String keterangan, | ||||
|                                                      @RequestParam(name = "file") MultipartFile file) throws IOException { | ||||
|         return postDrpUploadDokumenPendukungService.execute(DrpDokumenRequest.builder() | ||||
|     @DeleteMapping("/upload/dokumen") | ||||
|     public EmptyResponse deleteDokumenRkap(@RequestBody DrpDokumenRequest drpDokumenRequest) { | ||||
|         return deleteDokumenUploadService.execute(drpDokumenRequest); | ||||
|     } | ||||
|  | ||||
|     @PutMapping("/upload/dokumen") | ||||
|     public DrpDokumenResponse editUploadDrpDokumen(@RequestParam(name = "filename") String filename, | ||||
|                                                    @RequestParam(name = "jenisDokumenId") Long jenisDokumenId, | ||||
|                                                    @RequestParam(name = "keterangan") String keterangan, | ||||
|                                                    @RequestParam(name = "file") MultipartFile file) { | ||||
|         return editUploadDokumenDrpService.execute(DrpDokumenRequest.builder() | ||||
|                 .filename(filename) | ||||
|                 .jenisDokumenId(jenisDokumenId) | ||||
|                 .keterangan(keterangan) | ||||
|                 .file(file) | ||||
|                 .build()); | ||||
|     } | ||||
|  | ||||
|     @PostMapping | ||||
|     public DrpResponse createDrp(@RequestBody DrpRequest drpRequest) { | ||||
|         return postCreateDrpService.execute(drpRequest); | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/{id}") | ||||
|     public DrpResponse getDrp(@PathVariable Long id) { | ||||
|         return getDrpService.execute(DrpRequest.builder() | ||||
|                 .id(id) | ||||
|                 .build()); | ||||
|     } | ||||
|  | ||||
|     @PostMapping("/pengadaan") | ||||
|     public DrpPengadaanResponse createDrpPengadaan(@RequestBody DrpPengadaanRequest drpPengadaanRequest) { | ||||
|         return postCreateDrpPengadaanService.execute(drpPengadaanRequest); | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/pengadaan") | ||||
|     public GetListDrpPengadaanResponse getDrpPengadaan(@RequestParam(name = "page", defaultValue = "1") Integer page, | ||||
|                                                        @RequestParam(name = "size", defaultValue = "5") Integer size){ | ||||
|  | ||||
|         Pageable pageable = PageRequest.of((page - 1), size); | ||||
|         DrpPengadaanRequest drpPengadaanRequest = DrpPengadaanRequest.builder() | ||||
|                 .pageable(pageable) | ||||
|                 .build(); | ||||
|         return getListDrpPengadaanService.execute(drpPengadaanRequest); | ||||
|     } | ||||
|  | ||||
|     @DeleteMapping("/{id}") | ||||
|     public EmptyResponse deleteDrpPengadaan(@RequestBody DrpPengadaanRequest drpPengadaanRequest) { | ||||
|         return deleteDrpPengadaanService.execute(drpPengadaanRequest); | ||||
|     } | ||||
|  | ||||
|     @DeleteMapping("/upload/rkap") | ||||
|     public EmptyResponse deleteDokumenRkap(@RequestBody DrpDokumenRequest drpDokumenRequest) { | ||||
|         return deleteDokumenUploadService.execute(drpDokumenRequest); | ||||
|     } | ||||
|  | ||||
|     @DeleteMapping("/upload/pendukung") | ||||
|     public EmptyResponse deleteDokumenPendukung(@RequestBody DrpPengadaanDokumenRequest drpPengadaanDokumenRequest) { | ||||
|         return deleteDokumenPendukungService.execute(drpPengadaanDokumenRequest); | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -0,0 +1,101 @@ | ||||
| package com.iconplus.smartproc.controller; | ||||
|  | ||||
| import com.iconplus.smartproc.helper.model.EmptyResponse; | ||||
| import com.iconplus.smartproc.model.request.DrpPengadaanDokumenRequest; | ||||
| import com.iconplus.smartproc.model.request.DrpPengadaanRequest; | ||||
| import com.iconplus.smartproc.model.response.*; | ||||
| import com.iconplus.smartproc.service.drppengadaan.*; | ||||
| import org.springframework.data.domain.PageRequest; | ||||
| import org.springframework.data.domain.Pageable; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
|  | ||||
| import java.io.IOException; | ||||
|  | ||||
| @CrossOrigin(origins = "${fe.server}", allowCredentials = "true") | ||||
| @RestController | ||||
| @RequestMapping("/api/drp/pengadaan") | ||||
| public class DrpPengadaanController { | ||||
|  | ||||
|     private final PostCreateDrpPengadaanService postCreateDrpPengadaanService; | ||||
|     private final GetListDrpPengadaanService getListDrpPengadaanService; | ||||
|     private final PostDrpUploadDokumenPendukungService postDrpUploadDokumenPendukungService; | ||||
|     private final DeleteDrpPengadaanService deleteDrpPengadaanService; | ||||
|     private final DeleteDokumenPendukungService deleteDokumenPendukungService; | ||||
|     private final EditUploadDrpPengadaanService editUploadDrpPengadaanService; | ||||
|  | ||||
|     public DrpPengadaanController(PostCreateDrpPengadaanService postCreateDrpPengadaanService, | ||||
|                                   GetListDrpPengadaanService getListDrpPengadaanService, | ||||
|                                   PostDrpUploadDokumenPendukungService postDrpUploadDokumenPendukungService, | ||||
|                                   DeleteDrpPengadaanService deleteDrpPengadaanService, | ||||
|                                   DeleteDokumenPendukungService deleteDokumenPendukungService, | ||||
|                                   EditUploadDrpPengadaanService editUploadDrpPengadaanService) { | ||||
|         this.postCreateDrpPengadaanService = postCreateDrpPengadaanService; | ||||
|         this.getListDrpPengadaanService = getListDrpPengadaanService; | ||||
|         this.postDrpUploadDokumenPendukungService = postDrpUploadDokumenPendukungService; | ||||
|         this.deleteDrpPengadaanService = deleteDrpPengadaanService; | ||||
|         this.deleteDokumenPendukungService = deleteDokumenPendukungService; | ||||
|         this.editUploadDrpPengadaanService = editUploadDrpPengadaanService; | ||||
|     } | ||||
|  | ||||
|     @GetMapping | ||||
|     public GetListDrpPengadaanResponse getDrpPengadaan(@RequestParam(name = "page", defaultValue = "1") Integer page, | ||||
|                                                        @RequestParam(name = "size", defaultValue = "5") Integer size){ | ||||
|  | ||||
|         Pageable pageable = PageRequest.of((page - 1), size); | ||||
|         DrpPengadaanRequest drpPengadaanRequest = DrpPengadaanRequest.builder() | ||||
|                 .pageable(pageable) | ||||
|                 .build(); | ||||
|         return getListDrpPengadaanService.execute(drpPengadaanRequest); | ||||
|     } | ||||
|  | ||||
|     @PostMapping | ||||
|     public DrpPengadaanResponse createDrpPengadaan(@RequestBody DrpPengadaanRequest drpPengadaanRequest) { | ||||
|         return postCreateDrpPengadaanService.execute(drpPengadaanRequest); | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/{id}") | ||||
|     public DrpPengadaanResponse getDrpPengadaanById(@PathVariable Long id) { | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     @PutMapping("/{id}") | ||||
|     public DrpPengadaanResponse updateDrpPengadaan(@PathVariable Long id) { | ||||
|         return null; | ||||
|     } | ||||
|  | ||||
|     @DeleteMapping("/{id}") | ||||
|     public EmptyResponse deleteDrpPengadaan(@RequestBody DrpPengadaanRequest drpPengadaanRequest) { | ||||
|         return deleteDrpPengadaanService.execute(drpPengadaanRequest); | ||||
|     } | ||||
|  | ||||
|     @PostMapping("/upload/dokumen") | ||||
|     public DrpPengadaanDokumenResponse uploadDokumenPendukung(@RequestParam(name = "jenisDokumenId") Long jenisDokumenId, | ||||
|                                                      @RequestParam(name = "keterangan") String keterangan, | ||||
|                                                      @RequestParam(name = "file") MultipartFile file) throws IOException { | ||||
|         return postDrpUploadDokumenPendukungService.execute(DrpPengadaanDokumenRequest.builder() | ||||
|                 .jenisDokumenId(jenisDokumenId) | ||||
|                 .keterangan(keterangan) | ||||
|                 .file(file) | ||||
|                 .build()); | ||||
|     } | ||||
|  | ||||
|     @PutMapping("/upload/dokumen") | ||||
|     public DrpPengadaanDokumenResponse editUploadDrpDokumen(@RequestParam(name = "filename") String filename, | ||||
|                                                    @RequestParam(name = "jenisDokumenId") Long jenisDokumenId, | ||||
|                                                    @RequestParam(name = "keterangan") String keterangan, | ||||
|                                                    @RequestParam(name = "file") MultipartFile file) { | ||||
|         return editUploadDrpPengadaanService.execute(DrpPengadaanDokumenRequest.builder() | ||||
|                 .filename(filename) | ||||
|                 .jenisDokumenId(jenisDokumenId) | ||||
|                 .keterangan(keterangan) | ||||
|                 .file(file) | ||||
|                 .build()); | ||||
|     } | ||||
|  | ||||
|     @DeleteMapping("/upload/dokumen") | ||||
|     public EmptyResponse deleteDokumenPendukung(@RequestBody DrpPengadaanDokumenRequest drpPengadaanDokumenRequest) { | ||||
|         return deleteDokumenPendukungService.execute(drpPengadaanDokumenRequest); | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,73 @@ | ||||
| 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_approval") | ||||
| public class DrpApproval extends BaseEntity { | ||||
|  | ||||
|     @Id | ||||
|     @GeneratedValue(strategy = GenerationType.IDENTITY) | ||||
|     @Column(name = "id") | ||||
|     private Long id; | ||||
|  | ||||
|     @Column(name = "drp_id") | ||||
|     private Long drpId; | ||||
|  | ||||
|     @Column(name = "approver_vp_id") | ||||
|     private Long approverVpId; | ||||
|  | ||||
|     @Column(name = "approver_vp_date") | ||||
|     private Date approverVpDate; | ||||
|  | ||||
|     @Column(name = "approver_komite1_id") | ||||
|     private Long approverKomite1Id; | ||||
|  | ||||
|     @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") | ||||
|     @Type(type = "org.hibernate.type.NumericBooleanType") | ||||
|     private Boolean isActive; | ||||
|  | ||||
|     @Column(name = "is_delete") | ||||
|     @Type(type = "org.hibernate.type.NumericBooleanType") | ||||
|     private Boolean isDelete; | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,22 @@ | ||||
| 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; | ||||
|  | ||||
| @Data | ||||
| @Builder | ||||
| @AllArgsConstructor | ||||
| @NoArgsConstructor | ||||
| public class DrpApprovalRequest extends BaseRequest { | ||||
|  | ||||
|     private Long drpId; | ||||
|     private Long approverVpId; | ||||
|     private Long approverKomite1Id; | ||||
|     private Long approverKomite2Id; | ||||
|     private Long approverKomite3Id; | ||||
|     private Long approverKomite4Id; | ||||
|     private Long approverDirekturId; | ||||
| } | ||||
| @@ -5,6 +5,7 @@ import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
|  | ||||
| import javax.persistence.Entity; | ||||
| import javax.persistence.Table; | ||||
| @@ -19,6 +20,7 @@ public class DrpPengadaanDokumenRequest extends BaseRequest { | ||||
|     private Long drpId; | ||||
|     private Long jenisDokumenId; | ||||
|     private String filename; | ||||
|     private MultipartFile file; | ||||
|     private String keterangan; | ||||
|     private Boolean isDelete; | ||||
| } | ||||
|   | ||||
| @@ -0,0 +1,16 @@ | ||||
| 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 DrpApprovalResponse extends BaseResponse { | ||||
|  | ||||
|     private Long id; | ||||
| } | ||||
| @@ -0,0 +1,10 @@ | ||||
| package com.iconplus.smartproc.repository; | ||||
|  | ||||
| import com.iconplus.smartproc.model.entity.DrpApproval; | ||||
| import org.springframework.data.jpa.repository.JpaRepository; | ||||
| import org.springframework.stereotype.Repository; | ||||
|  | ||||
| @Repository | ||||
| public interface DrpApprovalRepository extends JpaRepository<DrpApproval, Long> { | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,51 @@ | ||||
| package com.iconplus.smartproc.service.approval; | ||||
|  | ||||
| import com.iconplus.smartproc.exception.BusinessException; | ||||
| import com.iconplus.smartproc.helper.service.BaseService; | ||||
| import com.iconplus.smartproc.model.entity.DrpApproval; | ||||
| import com.iconplus.smartproc.model.request.DrpApprovalRequest; | ||||
| import com.iconplus.smartproc.model.response.DrpApprovalResponse; | ||||
| import com.iconplus.smartproc.repository.DrpApprovalRepository; | ||||
| import com.iconplus.smartproc.repository.DrpRepository; | ||||
| import com.iconplus.smartproc.util.Constants; | ||||
| import org.springframework.stereotype.Service; | ||||
|  | ||||
| import java.io.IOException; | ||||
|  | ||||
| @Service | ||||
| public class PostCreateDrpApprovalService implements BaseService<DrpApprovalRequest, DrpApprovalResponse> { | ||||
|  | ||||
|     private final DrpApprovalRepository drpApprovalRepository; | ||||
|     private final DrpRepository drpRepository; | ||||
|     public PostCreateDrpApprovalService(DrpApprovalRepository drpApprovalRepository, | ||||
|                                         DrpRepository drpRepository) { | ||||
|         this.drpApprovalRepository = drpApprovalRepository; | ||||
|         this.drpRepository = drpRepository; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public DrpApprovalResponse execute(DrpApprovalRequest input) { | ||||
|  | ||||
|         var drpOptional = drpRepository.findByIdAndIsDeleteFalse(input.getDrpId()); | ||||
|         if (drpOptional.isEmpty()) { | ||||
|             throw new BusinessException(Constants.ERR_CODE_10001, | ||||
|                     Constants.ERR_TTL_10001, | ||||
|                     String.format(Constants.ERR_MSG_10001, "DRP", input.getDrpId())); | ||||
|         } | ||||
|  | ||||
|         DrpApproval drpApproval = DrpApproval.builder() | ||||
|                 .drpId(input.getDrpId()) | ||||
|                 .approverKomite1Id(input.getApproverKomite1Id()) | ||||
|                 .approverKomite2Id(input.getApproverKomite2Id()) | ||||
|                 .approverKomite3Id(input.getApproverKomite3Id()) | ||||
|                 .approverKomite4Id(input.getApproverKomite4Id()) | ||||
|                 .approverDirekturId(input.getApproverDirekturId()) | ||||
|                 .build(); | ||||
|  | ||||
|         var result = drpApprovalRepository.save(drpApproval); | ||||
|  | ||||
|         return DrpApprovalResponse.builder() | ||||
|                 .id(result.getId()) | ||||
|                 .build(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,76 @@ | ||||
| package com.iconplus.smartproc.service.drp; | ||||
|  | ||||
| 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.DrpDokumenRequest; | ||||
| import com.iconplus.smartproc.model.request.DrpRequest; | ||||
| import com.iconplus.smartproc.model.response.DrpDokumenResponse; | ||||
| import com.iconplus.smartproc.repository.DrpDokumenRepository; | ||||
| import com.iconplus.smartproc.util.Constants; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| import org.springframework.beans.factory.annotation.Value; | ||||
| import org.springframework.stereotype.Service; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
|  | ||||
| import java.io.File; | ||||
| import java.io.FileOutputStream; | ||||
| import java.io.IOException; | ||||
| import java.nio.file.Files; | ||||
| import java.nio.file.Path; | ||||
| import java.nio.file.Paths; | ||||
|  | ||||
| @Service | ||||
| @Slf4j | ||||
| public class EditUploadDokumenDrpService implements BaseService<DrpDokumenRequest, DrpDokumenResponse> { | ||||
|  | ||||
|     @Value("${config.file-upload.rkap}") | ||||
|     private String pathFileUploadRkap; | ||||
|  | ||||
|     private final DrpDokumenRepository drpDokumenRepository; | ||||
|  | ||||
|     public EditUploadDokumenDrpService(DrpDokumenRepository drpDokumenRepository) { | ||||
|         this.drpDokumenRepository = drpDokumenRepository; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public DrpDokumenResponse execute(DrpDokumenRequest input) { | ||||
|  | ||||
|         MultipartFile file = input.getFile(); | ||||
|         String newFilename = file.getOriginalFilename(); | ||||
|  | ||||
|         var drpDokumenOptional = drpDokumenRepository.findByFilenameAndIsDeleteFalse(input.getFilename()); | ||||
|         if (drpDokumenOptional.isPresent()) { | ||||
|             drpDokumenOptional.get().setDrpId(input.getDrpId()); | ||||
|             drpDokumenOptional.get().setJenisDokumenId(input.getJenisDokumenId()); | ||||
|             drpDokumenOptional.get().setFilename(newFilename); | ||||
|             drpDokumenOptional.get().setKeterangan(input.getKeterangan()); | ||||
|             drpDokumenRepository.save(drpDokumenOptional.get()); | ||||
|         } | ||||
|  | ||||
|         Path oldFile = Paths.get(pathFileUploadRkap + input.getFilename()); | ||||
|         try { | ||||
|             Files.delete(oldFile); | ||||
|         } catch (IOException e) { | ||||
|             log.info("no file found"); | ||||
|         } | ||||
|  | ||||
|         File path = new File(pathFileUploadRkap + newFilename); | ||||
|  | ||||
|         try { | ||||
|             FileOutputStream output = new FileOutputStream(path); | ||||
|             output.write(file.getBytes()); | ||||
|             output.close(); | ||||
|         } catch (Exception ex) { | ||||
|             throw new BusinessException(Constants.ERR_CODE_10012, | ||||
|                     Constants.ERR_TTL_10012, | ||||
|                     String.format(Constants.ERR_MSG_10012, pathFileUploadRkap)); | ||||
|         } | ||||
|  | ||||
|         return DrpDokumenResponse.builder() | ||||
|                 .jenisDokumenId(input.getJenisDokumenId()) | ||||
|                 .filename(newFilename) | ||||
|                 .keterangan(input.getKeterangan()) | ||||
|                 .build(); | ||||
|     } | ||||
| } | ||||
| @@ -2,15 +2,11 @@ package com.iconplus.smartproc.service.drp; | ||||
|  | ||||
| import com.iconplus.smartproc.exception.BusinessException; | ||||
| import com.iconplus.smartproc.helper.service.BaseService; | ||||
| import com.iconplus.smartproc.model.entity.Drp; | ||||
| import com.iconplus.smartproc.model.entity.DrpDokumen; | ||||
| import com.iconplus.smartproc.model.entity.DrpPengadaanDokumen; | ||||
| import com.iconplus.smartproc.model.request.DrpDokumenRequest; | ||||
| import com.iconplus.smartproc.model.request.DrpPengadaanDokumenRequest; | ||||
| import com.iconplus.smartproc.model.request.DrpRequest; | ||||
| import com.iconplus.smartproc.model.response.DrpResponse; | ||||
| import com.iconplus.smartproc.repository.DrpDokumenRepository; | ||||
| import com.iconplus.smartproc.repository.DrpPengadaanDokumenRepository; | ||||
| import com.iconplus.smartproc.repository.DrpRepository; | ||||
| import com.iconplus.smartproc.util.Constants; | ||||
| import org.apache.commons.lang3.ObjectUtils; | ||||
| @@ -18,21 +14,17 @@ import org.springframework.stereotype.Service; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
| import java.util.Optional; | ||||
|  | ||||
| @Service | ||||
| public class PostCreateDrpService implements BaseService<DrpRequest, DrpResponse> { | ||||
|  | ||||
|     private final DrpRepository drpRepository; | ||||
|     private final DrpDokumenRepository drpDokumenRepository; | ||||
|     private final DrpPengadaanDokumenRepository drpPengadaanDokumenRepository; | ||||
|  | ||||
|     public PostCreateDrpService (DrpRepository drpRepository, | ||||
|                                  DrpDokumenRepository drpDokumenRepository, | ||||
|                                  DrpPengadaanDokumenRepository drpPengadaanDokumenRepository) { | ||||
|                                  DrpDokumenRepository drpDokumenRepository) { | ||||
|         this.drpRepository = drpRepository; | ||||
|         this.drpDokumenRepository = drpDokumenRepository; | ||||
|         this.drpPengadaanDokumenRepository = drpPengadaanDokumenRepository; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
| @@ -63,22 +55,7 @@ public class PostCreateDrpService implements BaseService<DrpRequest, DrpResponse | ||||
|  | ||||
|         } | ||||
|  | ||||
|         List<DrpPengadaanDokumen> drpPengadaanDokumenList = new ArrayList<>(); | ||||
|         if (ObjectUtils.isNotEmpty(input.getDataDrpPengadaanDokumen())) { | ||||
|             for (DrpPengadaanDokumenRequest drpPengadaanDokumenRequest : input.getDataDrpPengadaanDokumen()) { | ||||
|                 DrpPengadaanDokumen drpPengadaanDokumen = DrpPengadaanDokumen.builder() | ||||
|                         .drpId(drpSaved.getId()) | ||||
|                         .jenisDokumenId(drpPengadaanDokumenRequest.getJenisDokumenId()) | ||||
|                         .filename(drpPengadaanDokumenRequest.getFilename()) | ||||
|                         .keterangan(drpPengadaanDokumenRequest.getKeterangan()) | ||||
|                         .isDelete(false) | ||||
|                         .build(); | ||||
|                 drpPengadaanDokumenList.add(drpPengadaanDokumen); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         drpDokumenRepository.saveAll(drpDokumenList); | ||||
|         drpPengadaanDokumenRepository.saveAll(drpPengadaanDokumenList); | ||||
|  | ||||
|         return DrpResponse.builder() | ||||
|                 .id(drpSaved.getId()) | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| package com.iconplus.smartproc.service.drp; | ||||
| package com.iconplus.smartproc.service.drppengadaan; | ||||
| 
 | ||||
| import com.iconplus.smartproc.helper.model.EmptyResponse; | ||||
| import com.iconplus.smartproc.helper.service.BaseService; | ||||
| @@ -1,4 +1,4 @@ | ||||
| package com.iconplus.smartproc.service.drp; | ||||
| package com.iconplus.smartproc.service.drppengadaan; | ||||
| 
 | ||||
| import com.iconplus.smartproc.exception.BusinessException; | ||||
| import com.iconplus.smartproc.helper.model.EmptyResponse; | ||||
| @@ -0,0 +1,72 @@ | ||||
| package com.iconplus.smartproc.service.drppengadaan; | ||||
|  | ||||
| import com.iconplus.smartproc.exception.BusinessException; | ||||
| import com.iconplus.smartproc.helper.service.BaseService; | ||||
| import com.iconplus.smartproc.model.request.DrpPengadaanDokumenRequest; | ||||
| import com.iconplus.smartproc.model.response.DrpPengadaanDokumenResponse; | ||||
| import com.iconplus.smartproc.repository.DrpPengadaanDokumenRepository; | ||||
| import com.iconplus.smartproc.util.Constants; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| import org.springframework.beans.factory.annotation.Value; | ||||
| import org.springframework.stereotype.Service; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
|  | ||||
| import java.io.File; | ||||
| import java.io.FileOutputStream; | ||||
| import java.io.IOException; | ||||
| import java.nio.file.Files; | ||||
| import java.nio.file.Path; | ||||
| import java.nio.file.Paths; | ||||
|  | ||||
| @Service | ||||
| @Slf4j | ||||
| public class EditUploadDrpPengadaanService implements BaseService<DrpPengadaanDokumenRequest, DrpPengadaanDokumenResponse> { | ||||
|  | ||||
|     @Value("${config.file-upload.pendukung}") | ||||
|     private String pathFileUploadPendukung; | ||||
|  | ||||
|     private final DrpPengadaanDokumenRepository drpPengadaanDokumenRepository; | ||||
|     public EditUploadDrpPengadaanService(DrpPengadaanDokumenRepository drpPengadaanDokumenRepository) { | ||||
|         this.drpPengadaanDokumenRepository = drpPengadaanDokumenRepository; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public DrpPengadaanDokumenResponse execute(DrpPengadaanDokumenRequest input) { | ||||
|         MultipartFile file = input.getFile(); | ||||
|         String newFilename = file.getOriginalFilename(); | ||||
|  | ||||
|         var drpDokumenOptional = drpPengadaanDokumenRepository.findByFilenameAndIsDeleteFalse(input.getFilename()); | ||||
|         if (drpDokumenOptional.isPresent()) { | ||||
|             drpDokumenOptional.get().setDrpId(input.getDrpId()); | ||||
|             drpDokumenOptional.get().setJenisDokumenId(input.getJenisDokumenId()); | ||||
|             drpDokumenOptional.get().setFilename(newFilename); | ||||
|             drpDokumenOptional.get().setKeterangan(input.getKeterangan()); | ||||
|             drpPengadaanDokumenRepository.save(drpDokumenOptional.get()); | ||||
|         } | ||||
|  | ||||
|         Path oldFile = Paths.get(pathFileUploadPendukung + input.getFilename()); | ||||
|         try { | ||||
|             Files.delete(oldFile); | ||||
|         } catch (IOException e) { | ||||
|             log.info("no file found"); | ||||
|         } | ||||
|  | ||||
|         File path = new File(pathFileUploadPendukung + newFilename); | ||||
|  | ||||
|         try { | ||||
|             FileOutputStream output = new FileOutputStream(path); | ||||
|             output.write(file.getBytes()); | ||||
|             output.close(); | ||||
|         } catch (Exception ex) { | ||||
|             throw new BusinessException(Constants.ERR_CODE_10012, | ||||
|                     Constants.ERR_TTL_10012, | ||||
|                     String.format(Constants.ERR_MSG_10012, pathFileUploadPendukung)); | ||||
|         } | ||||
|  | ||||
|         return DrpPengadaanDokumenResponse.builder() | ||||
|                 .jenisDokumenId(input.getJenisDokumenId()) | ||||
|                 .filename(newFilename) | ||||
|                 .keterangan(input.getKeterangan()) | ||||
|                 .build(); | ||||
|     } | ||||
| } | ||||
| @@ -1,4 +1,4 @@ | ||||
| package com.iconplus.smartproc.service.drp; | ||||
| package com.iconplus.smartproc.service.drppengadaan; | ||||
| 
 | ||||
| import com.iconplus.smartproc.helper.model.Pagination; | ||||
| import com.iconplus.smartproc.helper.service.BaseService; | ||||
| @@ -1,4 +1,4 @@ | ||||
| package com.iconplus.smartproc.service.drp; | ||||
| package com.iconplus.smartproc.service.drppengadaan; | ||||
| 
 | ||||
| import com.iconplus.smartproc.helper.service.BaseService; | ||||
| import com.iconplus.smartproc.model.entity.DrpPengadaan; | ||||
| @@ -1,9 +1,9 @@ | ||||
| package com.iconplus.smartproc.service.drp; | ||||
| package com.iconplus.smartproc.service.drppengadaan; | ||||
| 
 | ||||
| import com.iconplus.smartproc.exception.BusinessException; | ||||
| import com.iconplus.smartproc.helper.service.BaseService; | ||||
| import com.iconplus.smartproc.model.request.DrpDokumenRequest; | ||||
| import com.iconplus.smartproc.model.response.DrpDokumenResponse; | ||||
| import com.iconplus.smartproc.model.request.DrpPengadaanDokumenRequest; | ||||
| import com.iconplus.smartproc.model.response.DrpPengadaanDokumenResponse; | ||||
| import com.iconplus.smartproc.repository.DrpPengadaanDokumenRepository; | ||||
| import com.iconplus.smartproc.util.Constants; | ||||
| import org.springframework.beans.factory.annotation.Value; | ||||
| @@ -15,7 +15,7 @@ import java.io.FileOutputStream; | ||||
| import java.io.IOException; | ||||
| 
 | ||||
| @Service | ||||
| public class PostDrpUploadDokumenPendukungService implements BaseService<DrpDokumenRequest, DrpDokumenResponse> { | ||||
| public class PostDrpUploadDokumenPendukungService implements BaseService<DrpPengadaanDokumenRequest, DrpPengadaanDokumenResponse> { | ||||
| 
 | ||||
|     @Value("${config.file-upload.pendukung}") | ||||
|     private String pathFileUploadPendukung; | ||||
| @@ -26,7 +26,7 @@ public class PostDrpUploadDokumenPendukungService implements BaseService<DrpDoku | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public DrpDokumenResponse execute(DrpDokumenRequest input) throws IOException { | ||||
|     public DrpPengadaanDokumenResponse execute(DrpPengadaanDokumenRequest input) throws IOException { | ||||
| 
 | ||||
|         MultipartFile file = input.getFile(); | ||||
|         String fileName = file.getOriginalFilename(); | ||||
| @@ -51,7 +51,7 @@ public class PostDrpUploadDokumenPendukungService implements BaseService<DrpDoku | ||||
|         } | ||||
| 
 | ||||
| 
 | ||||
|         return DrpDokumenResponse.builder() | ||||
|         return DrpPengadaanDokumenResponse.builder() | ||||
|                 .jenisDokumenId(input.getJenisDokumenId()) | ||||
|                 .filename(fileName) | ||||
|                 .keterangan(input.getKeterangan()) | ||||
		Reference in New Issue
	
	Block a user