add approval user
This commit is contained in:
		| @@ -0,0 +1,34 @@ | ||||
| package com.iconplus.smartproc.controller; | ||||
|  | ||||
| import com.iconplus.smartproc.helper.model.EmptyRequest; | ||||
| 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; | ||||
|  | ||||
| @CrossOrigin(origins = "${fe.server}", allowCredentials = "true") | ||||
| @RestController | ||||
| @RequestMapping("/api/drp/approval") | ||||
| public class ApprovalDrpController { | ||||
|  | ||||
|     private GetListUserVpService getListUserVpService; | ||||
|     private GetListUserDirekturKomiteService getListUserDirekturKomiteService; | ||||
|     public ApprovalDrpController(GetListUserVpService getListUserVpService, | ||||
|                                  GetListUserDirekturKomiteService getListUserDirekturKomiteService) { | ||||
|         this.getListUserVpService = getListUserVpService; | ||||
|         this.getListUserDirekturKomiteService = getListUserDirekturKomiteService; | ||||
|     } | ||||
|  | ||||
|     @GetMapping("/vp") | ||||
|     public GetListUserApprovalResponse getUserVp(EmptyRequest emptyRequest) { | ||||
|         return getListUserVpService.execute(emptyRequest); | ||||
|     } | ||||
|  | ||||
|     @GetMapping("direktur-komite") | ||||
|     public GetListUserApprovalResponse getUserDirekturKomite(EmptyRequest emptyRequest) { | ||||
|         return getListUserDirekturKomiteService.execute(emptyRequest); | ||||
|     } | ||||
| } | ||||
| @@ -1,6 +1,5 @@ | ||||
| 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.DrpPengadaanRequest; | ||||
| import com.iconplus.smartproc.model.request.DrpRequest; | ||||
|   | ||||
| @@ -0,0 +1,17 @@ | ||||
| package com.iconplus.smartproc.model.response; | ||||
|  | ||||
| import com.iconplus.smartproc.helper.base.BaseResponse; | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| @Data | ||||
| @Builder | ||||
| @AllArgsConstructor | ||||
| @NoArgsConstructor | ||||
| public class GetListUserApprovalResponse extends BaseResponse { | ||||
|     private List<UserApprovalResponse> data; | ||||
| } | ||||
| @@ -0,0 +1,19 @@ | ||||
| package com.iconplus.smartproc.model.response; | ||||
|  | ||||
| import com.iconplus.smartproc.helper.base.BaseResponse; | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| @Data | ||||
| @Builder | ||||
| @AllArgsConstructor | ||||
| @NoArgsConstructor | ||||
| public class UserApprovalResponse extends BaseResponse { | ||||
|  | ||||
|     private Long id; | ||||
|     private String nama; | ||||
| } | ||||
| @@ -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 | ||||
| @@ -101,5 +102,16 @@ public interface UsersRepository extends JpaRepository<Users, Long> { | ||||
|             "AND is_delete = 0 " + | ||||
|             "AND expired_time >= CURRENT_TIMESTAMP", nativeQuery = true) | ||||
|     Optional<Users> getUsersByEmailAndExpiredTime(String rememberId); | ||||
|  | ||||
|     @Query(value = "SELECT u.id as id, " + | ||||
|             "u.nama as nama, " + | ||||
|             "u.jabatanId as jabatanId, " + | ||||
|             "j.jabatan as jabatan " + | ||||
|             "FROM Users u " + | ||||
|             "JOIN Jabatan j ON j.id = u.jabatanId " + | ||||
|             "WHERE u.isDelete = false " + | ||||
|             "AND j.jabatan like :jabatan " + | ||||
|             "ORDER BY u.id") | ||||
|     List<UserRoleView> getListUserJabatan(String jabatan); | ||||
|      | ||||
| } | ||||
|   | ||||
| @@ -0,0 +1,42 @@ | ||||
| package com.iconplus.smartproc.service.approval; | ||||
|  | ||||
| import com.iconplus.smartproc.helper.model.EmptyRequest; | ||||
| import com.iconplus.smartproc.helper.service.BaseService; | ||||
| import com.iconplus.smartproc.model.projection.UserRoleView; | ||||
| import com.iconplus.smartproc.model.response.GetListUserApprovalResponse; | ||||
| import com.iconplus.smartproc.model.response.UserApprovalResponse; | ||||
| 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; | ||||
|  | ||||
| @Service | ||||
| public class GetListUserDirekturKomiteService implements BaseService<EmptyRequest, GetListUserApprovalResponse> { | ||||
|  | ||||
|     private UsersRepository usersRepository; | ||||
|     public GetListUserDirekturKomiteService(UsersRepository usersRepository) { | ||||
|         this.usersRepository = usersRepository; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public GetListUserApprovalResponse execute(EmptyRequest input) { | ||||
|  | ||||
|         List<UserApprovalResponse> userApprovalResponseList = new ArrayList<>(); | ||||
|  | ||||
|         var userRoleViews = usersRepository.getListUserJabatan(Constants.JABATAN_DIREKTUR_KOMITE); | ||||
|         for (UserRoleView userRoleView : userRoleViews) { | ||||
|             UserApprovalResponse userApprovalResponse = UserApprovalResponse.builder() | ||||
|                     .id(userRoleView.getId()) | ||||
|                     .nama(userRoleView.getNama() + "-" + userRoleView.getJabatan()) | ||||
|                     .build(); | ||||
|             userApprovalResponseList.add(userApprovalResponse); | ||||
|         } | ||||
|  | ||||
|         return GetListUserApprovalResponse.builder() | ||||
|                 .data(userApprovalResponseList) | ||||
|                 .build(); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,41 @@ | ||||
| package com.iconplus.smartproc.service.approval; | ||||
|  | ||||
| import com.iconplus.smartproc.helper.model.EmptyRequest; | ||||
| import com.iconplus.smartproc.helper.service.BaseService; | ||||
| import com.iconplus.smartproc.model.projection.UserRoleView; | ||||
| import com.iconplus.smartproc.model.response.GetListUserApprovalResponse; | ||||
| import com.iconplus.smartproc.model.response.UserApprovalResponse; | ||||
| import com.iconplus.smartproc.repository.UsersRepository; | ||||
| import com.iconplus.smartproc.util.Constants; | ||||
| import org.springframework.stereotype.Service; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| @Service | ||||
| public class GetListUserVpService implements BaseService<EmptyRequest, GetListUserApprovalResponse> { | ||||
|  | ||||
|     private UsersRepository usersRepository; | ||||
|     public GetListUserVpService(UsersRepository usersRepository) { | ||||
|         this.usersRepository = usersRepository; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public GetListUserApprovalResponse execute(EmptyRequest input) { | ||||
|  | ||||
|         List<UserApprovalResponse> userApprovalResponseList = new ArrayList<>(); | ||||
|  | ||||
|         var userRoleViews = usersRepository.getListUserJabatan(Constants.JABATAN_VP); | ||||
|         for (UserRoleView userRoleView : userRoleViews) { | ||||
|             UserApprovalResponse userApprovalResponse = UserApprovalResponse.builder() | ||||
|                     .id(userRoleView.getId()) | ||||
|                     .nama(userRoleView.getNama() + "-" + userRoleView.getJabatan()) | ||||
|                     .build(); | ||||
|             userApprovalResponseList.add(userApprovalResponse); | ||||
|         } | ||||
|  | ||||
|         return GetListUserApprovalResponse.builder() | ||||
|                 .data(userApprovalResponseList) | ||||
|                 .build(); | ||||
|     } | ||||
| } | ||||
| @@ -7,7 +7,6 @@ import com.iconplus.smartproc.model.entity.DrpPengadaanDokumen; | ||||
| import com.iconplus.smartproc.model.request.DrpRequest; | ||||
| import com.iconplus.smartproc.model.response.DrpDokumenResponse; | ||||
| import com.iconplus.smartproc.model.response.DrpPengadaanDokumenResponse; | ||||
| import com.iconplus.smartproc.model.response.DrpPengadaanResponse; | ||||
| import com.iconplus.smartproc.model.response.DrpResponse; | ||||
| import com.iconplus.smartproc.repository.DrpDokumenRepository; | ||||
| import com.iconplus.smartproc.repository.DrpPengadaanDokumenRepository; | ||||
|   | ||||
| @@ -76,5 +76,7 @@ public class Constants { | ||||
|     public static final String INVALID_KEY_EXCEPTION = "InvalidKeyException : "; | ||||
|     public static final String ILEGAL_BLOCK_SIZE_EXCEPTION = "IllegalBlockSizeException : "; | ||||
|     public static final String BAD_PADDING_EXCEPTION = "BadPaddingException : "; | ||||
|     public static final String JABATAN_VP = "%VP%"; | ||||
|     public static final String JABATAN_DIREKTUR_KOMITE = "%DIR%"; | ||||
|  | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user