add api delete dokumen
This commit is contained in:
		| @@ -1,6 +1,8 @@ | ||||
| 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.*; | ||||
| @@ -25,6 +27,9 @@ public class DrpController { | ||||
|     private final PostDrpUploadDokumenRKAPService postDrpUploadDokumenRKAPService; | ||||
|     private final PostDrpUploadDokumenPendukungService postDrpUploadDokumenPendukungService; | ||||
|     private final PostCreateTahunDrpService postCreateTahunDrpService; | ||||
|     private final DeleteDrpPengadaanService deleteDrpPengadaanService; | ||||
|     private final DeleteDokumenUploadService deleteDokumenUploadService; | ||||
|     private final DeleteDokumenPendukungService deleteDokumenPendukungService; | ||||
|  | ||||
|     public DrpController(GetDrpService getDrpService, | ||||
|                          GetListDrpService getListDrpService, | ||||
| @@ -33,7 +38,10 @@ public class DrpController { | ||||
|                          GetListDrpPengadaanService getListDrpPengadaanService, | ||||
|                          PostDrpUploadDokumenRKAPService postDrpUploadDokumenRKAPService, | ||||
|                          PostCreateTahunDrpService postCreateTahunDrpService, | ||||
|                          PostDrpUploadDokumenPendukungService postDrpUploadDokumenPendukungService) { | ||||
|                          PostDrpUploadDokumenPendukungService postDrpUploadDokumenPendukungService, | ||||
|                          DeleteDrpPengadaanService deleteDrpPengadaanService, | ||||
|                          DeleteDokumenUploadService deleteDokumenUploadService, | ||||
|                          DeleteDokumenPendukungService deleteDokumenPendukungService) { | ||||
|         this.getDrpService = getDrpService; | ||||
|         this.getListDrpService = getListDrpService; | ||||
|         this.postCreateDrpService = postCreateDrpService; | ||||
| @@ -42,6 +50,9 @@ public class DrpController { | ||||
|         this.postDrpUploadDokumenRKAPService = postDrpUploadDokumenRKAPService; | ||||
|         this.postDrpUploadDokumenPendukungService = postDrpUploadDokumenPendukungService; | ||||
|         this.postCreateTahunDrpService = postCreateTahunDrpService; | ||||
|         this.deleteDrpPengadaanService = deleteDrpPengadaanService; | ||||
|         this.deleteDokumenUploadService = deleteDokumenUploadService; | ||||
|         this.deleteDokumenPendukungService = deleteDokumenPendukungService; | ||||
|     } | ||||
|  | ||||
|     @GetMapping | ||||
| @@ -115,4 +126,19 @@ public class DrpController { | ||||
|         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); | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -8,6 +8,8 @@ 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 DrpPengadaanRepository extends JpaRepository<DrpPengadaan, Long> { | ||||
|  | ||||
| @@ -51,5 +53,7 @@ public interface DrpPengadaanRepository extends JpaRepository<DrpPengadaan, Long | ||||
|             "WHERE dp.isDelete = false") | ||||
|     Page<DrpPengadaanView> getListDrpPengadaan(Pageable pageable); | ||||
|  | ||||
|     Optional<DrpPengadaan> findByIdAndIsDeleteFalse(Long id); | ||||
|  | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -9,7 +9,6 @@ import com.iconplus.smartproc.repository.UsersRepository; | ||||
| import com.iconplus.smartproc.util.Constants; | ||||
| import org.springframework.stereotype.Service; | ||||
|  | ||||
| import java.io.IOException; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
|   | ||||
| @@ -0,0 +1,46 @@ | ||||
| package com.iconplus.smartproc.service.drp; | ||||
|  | ||||
| import com.iconplus.smartproc.helper.model.EmptyResponse; | ||||
| import com.iconplus.smartproc.helper.service.BaseService; | ||||
| import com.iconplus.smartproc.model.request.DrpPengadaanDokumenRequest; | ||||
| import com.iconplus.smartproc.repository.DrpPengadaanDokumenRepository; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| import org.springframework.beans.factory.annotation.Value; | ||||
| import org.springframework.stereotype.Service; | ||||
|  | ||||
| import java.io.IOException; | ||||
| import java.nio.file.Files; | ||||
| import java.nio.file.Path; | ||||
| import java.nio.file.Paths; | ||||
|  | ||||
| @Service | ||||
| @Slf4j | ||||
| public class DeleteDokumenPendukungService implements BaseService<DrpPengadaanDokumenRequest, EmptyResponse> { | ||||
|  | ||||
|     @Value("${config.file-upload.pendukung}") | ||||
|     private String pathFileUploadPendukung; | ||||
|  | ||||
|     private final DrpPengadaanDokumenRepository drpPengadaanDokumenRepository; | ||||
|     public DeleteDokumenPendukungService(DrpPengadaanDokumenRepository drpPengadaanDokumenRepository) { | ||||
|         this.drpPengadaanDokumenRepository = drpPengadaanDokumenRepository; | ||||
|     } | ||||
|     @Override | ||||
|     public EmptyResponse execute(DrpPengadaanDokumenRequest input) { | ||||
|  | ||||
|         var drpPengadaanDokumenOptional= drpPengadaanDokumenRepository.findByFilenameAndIsDeleteFalse(input.getFilename()); | ||||
|         if (drpPengadaanDokumenOptional.isPresent()) { | ||||
|             drpPengadaanDokumenOptional.get().setIsDelete(true); | ||||
|             drpPengadaanDokumenRepository.save(drpPengadaanDokumenOptional.get()); | ||||
|         } | ||||
|  | ||||
|         Path path = Paths.get(pathFileUploadPendukung + input.getFilename()); | ||||
|  | ||||
|         try { | ||||
|             Files.delete(path); | ||||
|         } catch (IOException e) { | ||||
|             log.info("no file found"); | ||||
|         } | ||||
|  | ||||
|         return new EmptyResponse(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,49 @@ | ||||
| package com.iconplus.smartproc.service.drp; | ||||
|  | ||||
| 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.repository.DrpDokumenRepository; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| import org.springframework.beans.factory.annotation.Value; | ||||
| import org.springframework.stereotype.Service; | ||||
|  | ||||
| import java.io.File; | ||||
| import java.io.IOException; | ||||
| import java.nio.file.Files; | ||||
| import java.nio.file.Path; | ||||
| import java.nio.file.Paths; | ||||
|  | ||||
| @Service | ||||
| @Slf4j | ||||
| public class DeleteDokumenUploadService implements BaseService<DrpDokumenRequest, EmptyResponse> { | ||||
|  | ||||
|     @Value("${config.file-upload.rkap}") | ||||
|     private String pathFileUploadRkap; | ||||
|  | ||||
|     private final DrpDokumenRepository drpDokumenRepository; | ||||
|  | ||||
|     public DeleteDokumenUploadService(DrpDokumenRepository drpDokumenRepository) { | ||||
|         this.drpDokumenRepository = drpDokumenRepository; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public EmptyResponse execute(DrpDokumenRequest input) { | ||||
|  | ||||
|         var drpDokumenOptional = drpDokumenRepository.findByFilenameAndIsDeleteFalse(input.getFilename()); | ||||
|         if (drpDokumenOptional.isPresent()) { | ||||
|             drpDokumenOptional.get().setIsDelete(true); | ||||
|             drpDokumenRepository.save(drpDokumenOptional.get()); | ||||
|         } | ||||
|  | ||||
|         Path path = Paths.get(pathFileUploadRkap + input.getFilename()); | ||||
|  | ||||
|         try { | ||||
|             Files.delete(path); | ||||
|         } catch (IOException e) { | ||||
|             log.info("no file found"); | ||||
|         } | ||||
|  | ||||
|         return new EmptyResponse(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,32 @@ | ||||
| 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.DrpPengadaanRequest; | ||||
| import com.iconplus.smartproc.repository.DrpPengadaanRepository; | ||||
| import com.iconplus.smartproc.util.Constants; | ||||
| import org.springframework.stereotype.Service; | ||||
|  | ||||
|  | ||||
| @Service | ||||
| public class DeleteDrpPengadaanService implements BaseService<DrpPengadaanRequest, EmptyResponse> { | ||||
|  | ||||
|     private DrpPengadaanRepository drpPengadaanRepository; | ||||
|     public DeleteDrpPengadaanService(DrpPengadaanRepository drpPengadaanRepository) { | ||||
|         this.drpPengadaanRepository = drpPengadaanRepository; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public EmptyResponse execute(DrpPengadaanRequest input) { | ||||
|  | ||||
|         var drpPengadaan = drpPengadaanRepository.findByIdAndIsDeleteFalse(input.getId()) | ||||
|                 .orElseThrow(() -> new BusinessException(Constants.ERR_CODE_10001, | ||||
|                         Constants.ERR_TTL_10001, | ||||
|                         String.format(Constants.ERR_MSG_10001, "DRP", input.getId()))); | ||||
|  | ||||
|         drpPengadaan.setIsDelete(true); | ||||
|         drpPengadaanRepository.save(drpPengadaan); | ||||
|         return new EmptyResponse(); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user