This commit is contained in:
dirgantarasiahaan 2023-06-05 17:15:16 +07:00
parent b648b3d7bf
commit f8fef28190
17 changed files with 279 additions and 44 deletions

View File

@ -1,38 +1,38 @@
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.RksIsiRequest;
import com.iconplus.smartproc.model.request.RksTemplateRequest;
import com.iconplus.smartproc.model.response.*;
import com.iconplus.smartproc.service.rks.*;
import com.iconplus.smartproc.service.rksdaftarisi.*;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.*;
@CrossOrigin(origins = "${fe.server}", allowCredentials = "true")
@RestController
@RequestMapping("/api/rks")
public class RksController {
@RequestMapping("/api/rks/daftar-isi")
public class RksDaftarIsiController {
private final GetListRksDaftarIsiService getListRksDaftarIsiService;
private final PostCreateRksDaftarIsiService postCreateRksDaftarIsiService;
private final GetListRksIsiService getListRksIsiService;
private final PostCreateRksTemplateService postCreateRksTemplateService;
private final GetListRksTemplateService getListRksTemplateService;
public RksController(GetListRksDaftarIsiService getListRksDaftarIsiService,
PostCreateRksDaftarIsiService postCreateRksDaftarIsiService,
GetListRksIsiService getListRksIsiService,
PostCreateRksTemplateService postCreateRksTemplateService,
GetListRksTemplateService getListRksTemplateService) {
private final DeleteRksDaftarIsiService deleteRksDaftarIsiService;
private final PutUpdateRksDaftarIsiService putUpdateRksDaftarIsiService;
public RksDaftarIsiController(GetListRksDaftarIsiService getListRksDaftarIsiService,
PostCreateRksDaftarIsiService postCreateRksDaftarIsiService,
GetListRksIsiService getListRksIsiService,
DeleteRksDaftarIsiService deleteRksDaftarIsiService,
PutUpdateRksDaftarIsiService putUpdateRksDaftarIsiService) {
this.getListRksDaftarIsiService = getListRksDaftarIsiService;
this.postCreateRksDaftarIsiService = postCreateRksDaftarIsiService;
this.getListRksIsiService = getListRksIsiService;
this.postCreateRksTemplateService = postCreateRksTemplateService;
this.getListRksTemplateService = getListRksTemplateService;
this.deleteRksDaftarIsiService = deleteRksDaftarIsiService;
this.putUpdateRksDaftarIsiService = putUpdateRksDaftarIsiService;
}
@GetMapping("/daftar-isi")
@GetMapping()
public ListRksDaftarIsiResponse getAllRksDaftarIsi(@RequestParam(name = "page", defaultValue = "1") Integer page,
@RequestParam(name = "size", defaultValue = "5") Integer size){
@ -45,12 +45,12 @@ public class RksController {
}
@PostMapping("/daftar-isi")
@PostMapping()
public RksDaftarIsiResponse createRksDaftarIsi(@RequestBody RksDaftarIsiRequest rksDaftarIsiRequest) {
return postCreateRksDaftarIsiService.execute(rksDaftarIsiRequest);
}
@GetMapping("/daftar-isi/{id}/isi")
@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) {
@ -63,21 +63,18 @@ public class RksController {
return getListRksIsiService.execute(rksIsiRequest);
}
@PostMapping("/template")
public RksTemplateResponse createRksTemplate(@RequestBody RksTemplateRequest rksTemplateRequest) {
return postCreateRksTemplateService.execute(rksTemplateRequest);
@PutMapping("/{id}")
public RksDaftarIsiResponse editRksDaftarIsi(@PathVariable(name = "id") Long id,
@RequestBody RksDaftarIsiRequest rksDaftarIsiRequest) {
rksDaftarIsiRequest.setId(id);
return putUpdateRksDaftarIsiService.execute(rksDaftarIsiRequest);
}
@GetMapping("/template")
public ListRksTemplateResponse getListRksTemplate(@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()
.pageable(pageable)
.build();
return getListRksTemplateService.execute(rksTemplateRequest);
@DeleteMapping("/{id}")
public EmptyResponse deleteRksDaftarIsi(@PathVariable(name = "id") Long id) {
return deleteRksDaftarIsiService.execute(RksDaftarIsiRequest.builder()
.id(id)
.build());
}

View File

@ -0,0 +1,68 @@
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 org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.*;
@CrossOrigin(origins = "${fe.server}", allowCredentials = "true")
@RestController
@RequestMapping("/api/rks/template")
public class RksTemplateController {
private final PostCreateRksTemplateService postCreateRksTemplateService;
private final GetListRksTemplateService getListRksTemplateService;
private final PutUpdateRksTemplateService putUpdateRksTemplateService;
private final DeleteRksTemplateService deleteRksTemplateService;
public RksTemplateController(PostCreateRksTemplateService postCreateRksTemplateService,
GetListRksTemplateService getListRksTemplateService,
PutUpdateRksTemplateService putUpdateRksTemplateService,
DeleteRksTemplateService deleteRksTemplateService) {
this.postCreateRksTemplateService = postCreateRksTemplateService;
this.getListRksTemplateService = getListRksTemplateService;
this.putUpdateRksTemplateService = putUpdateRksTemplateService;
this.deleteRksTemplateService = deleteRksTemplateService;
}
@PostMapping()
public RksTemplateResponse createRksTemplate(@RequestBody RksTemplateRequest rksTemplateRequest) {
return postCreateRksTemplateService.execute(rksTemplateRequest);
}
@GetMapping()
public ListRksTemplateResponse getListRksTemplate(@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()
.pageable(pageable)
.build();
return getListRksTemplateService.execute(rksTemplateRequest);
}
@PutMapping("/{id}")
public RksTemplateResponse editRksTemplate(@PathVariable(name = "id") Long id,
@RequestBody RksTemplateRequest rksTemplateRequest) {
rksTemplateRequest.setId(id);
return putUpdateRksTemplateService.execute(rksTemplateRequest);
}
@DeleteMapping("/{id}")
public EmptyResponse deleteRksTemplate(@PathVariable(name = "id") Long id) {
return deleteRksTemplateService.execute(RksTemplateRequest.builder()
.id(id)
.build());
}
}

View File

@ -19,6 +19,8 @@ public class LoginResponse extends BaseResponse {
private Integer validity;
private String refreshToken;
private String username;
private String nama;
private String telepon;
private String email;
private Long roleId;
private String role;

View File

@ -26,4 +26,6 @@ public interface RksDaftarIsiRepository extends JpaRepository<RksDaftarIsi, Long
Optional<RksDaftarIsi> findByKodeTemplateAndIsDeleteFalse(String kodeTemplate);
Optional<RksDaftarIsi> findByIdAndIsDeleteFalse(Long id);
}

View File

@ -4,10 +4,19 @@ 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;
@Repository
public interface RksIsiRepository extends JpaRepository<RksIsi, Long> {
Page<RksIsi> findByRksDaftarIsiIdAndIsDeleteFalse(Long rksDaftarIsiId, Pageable pageable);
@Modifying
@Query(value = "update RksIsi ri " +
"set ri.isDelete = true " +
"where ri.rksDaftarIsiId = :rksDaftarIsiId")
void deleteRksIsi(@Param("rksDaftarIsiId") Long rksDaftarIsiId);
}

View File

@ -15,19 +15,21 @@ public interface RksTemplateRepository extends JpaRepository<RksTemplate, Long>
Optional<RksTemplate> findByKodeTemplateAndIsDeleteFalse(String kodeTemplate);
Optional<RksTemplate> findByIdAndIsDeleteFalse(Long id);
@Query(value = "SELECT rt.id as id, " +
"rt.kode_template as kodeTemplate, " +
"rt.kodeTemplate as kodeTemplate, " +
"rt.namaTemplate as namaTemplate, " +
"rt.metode_pengadaan_id as metodePengadaanId, " +
"m.metode_pengadaan as metodePengadaan, " +
"rt.metodePengadaanId as metodePengadaanId, " +
"m.metodePengadaan as metodePengadaan, " +
"rt.versi as versi, " +
"rt.rks_daftar_isi_id as rksDaftarIsiId, " +
"rdi.nama_template as daftarIsi, " +
"rt.is_active as isActive " +
"FROM rks_template as rt " +
"JOIN rks_daftar_isi rdi ON rdi.id = rt.rks_daftar_isi_id " +
"JOIN metode_pengadaan m ON m.id = rt.metode_pengadaan_id " +
"WHERE rt.is_delete = 0", nativeQuery = true)
"rt.rksDaftarIsiId as rksDaftarIsiId, " +
"rdi.namaTemplate as daftarIsi, " +
"rt.isActive as isActive " +
"FROM RksTemplate as rt " +
"JOIN RksDaftarIsi rdi ON rdi.id = rt.rksDaftarIsiId " +
"JOIN MetodePengadaan m ON m.id = rt.metodePengadaanId " +
"WHERE rt.isDelete = 0")
Page<RksTemplateView> getListRksTemplate(Pageable pageable);
}

View File

@ -61,6 +61,7 @@ public interface UsersRepository extends JpaRepository<Users, Long> {
"u.instansiId as instansiId, " +
"i.instansi as instansi, " +
"u.email as email, " +
"u.telepon as telepon, " +
"u.isActive as isActive, " +
"u.isDelete as isDelete " +
"FROM Users u " +
@ -86,6 +87,7 @@ public interface UsersRepository extends JpaRepository<Users, Long> {
"u.instansiId as instansiId, " +
"i.instansi as instansi, " +
"u.email as email, " +
"u.telepon as telepon, " +
"u.isActive as isActive, " +
"u.isDelete as isDelete " +
"FROM Users u " +

View File

@ -178,6 +178,8 @@ public class LoginService implements BaseService<LoginRequest, LoginResponse> {
.refreshToken(refreshToken)
.userId(userRoleView.getId())
.username(userRoleView.getUsername())
.nama(userRoleView.getNama())
.telepon(userRoleView.getTelepon())
.email(userRoleView.getEmail())
.roleId(userRoleView.getRoleId())
.role(userRoleView.getRole())

View File

@ -0,0 +1,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.repository.RksDaftarIsiRepository;
import com.iconplus.smartproc.repository.RksIsiRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class DeleteRksDaftarIsiService implements BaseService<RksDaftarIsiRequest, EmptyResponse> {
private final RksDaftarIsiRepository rksDaftarIsiRepository;
private final RksIsiRepository rksIsiRepository;
public DeleteRksDaftarIsiService(RksDaftarIsiRepository rksDaftarIsiRepository,
RksIsiRepository rksIsiRepository) {
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
this.rksIsiRepository = rksIsiRepository;
}
@Override
public EmptyResponse execute(RksDaftarIsiRequest input) {
var rksDaftarIsi= rksDaftarIsiRepository.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());
return new EmptyResponse();
}
}

View File

@ -1,4 +1,4 @@
package com.iconplus.smartproc.service.rks;
package com.iconplus.smartproc.service.rksdaftarisi;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;

View File

@ -1,4 +1,4 @@
package com.iconplus.smartproc.service.rks;
package com.iconplus.smartproc.service.rksdaftarisi;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;

View File

@ -1,4 +1,4 @@
package com.iconplus.smartproc.service.rks;
package com.iconplus.smartproc.service.rksdaftarisi;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;

View File

@ -0,0 +1,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.RksDaftarIsiRequest;
import com.iconplus.smartproc.model.response.RksDaftarIsiResponse;
import com.iconplus.smartproc.repository.RksDaftarIsiRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class PutUpdateRksDaftarIsiService implements BaseService<RksDaftarIsiRequest, RksDaftarIsiResponse> {
private final RksDaftarIsiRepository rksDaftarIsiRepository;
public PutUpdateRksDaftarIsiService(RksDaftarIsiRepository rksDaftarIsiRepository) {
this.rksDaftarIsiRepository = rksDaftarIsiRepository;
}
@Override
public RksDaftarIsiResponse execute(RksDaftarIsiRequest input) {
var rksDaftarIsi= rksDaftarIsiRepository.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.setKodeTemplate(input.getKodeTemplate());
rksDaftarIsi.setNamaTemplate(input.getNamaTemplate());
rksDaftarIsi.setMetodePengadaanId(input.getMetodePengadaanId());
rksDaftarIsi.setVersi(input.getVersi());
rksDaftarIsiRepository.save(rksDaftarIsi);
return RksDaftarIsiResponse.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.RksTemplateRequest;
import com.iconplus.smartproc.repository.RksTemplateRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class DeleteRksTemplateService implements BaseService<RksTemplateRequest, EmptyResponse> {
private final RksTemplateRepository rksTemplateRepository;
public DeleteRksTemplateService(RksTemplateRepository rksTemplateRepository) {
this.rksTemplateRepository = rksTemplateRepository;
}
@Override
public EmptyResponse 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())
));
rksTemplate.setIsDelete(true);
rksTemplateRepository.save(rksTemplate);
return new EmptyResponse();
}
}

View File

@ -1,4 +1,4 @@
package com.iconplus.smartproc.service.rks;
package com.iconplus.smartproc.service.rkstemplate;
import com.iconplus.smartproc.helper.model.Pagination;
import com.iconplus.smartproc.helper.service.BaseService;

View File

@ -1,4 +1,4 @@
package com.iconplus.smartproc.service.rks;
package com.iconplus.smartproc.service.rkstemplate;
import com.iconplus.smartproc.exception.BusinessException;
import com.iconplus.smartproc.helper.service.BaseService;

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.RksTemplateRequest;
import com.iconplus.smartproc.model.response.RksTemplateResponse;
import com.iconplus.smartproc.repository.RksTemplateRepository;
import com.iconplus.smartproc.util.Constants;
import org.springframework.stereotype.Service;
@Service
public class PutUpdateRksTemplateService implements BaseService<RksTemplateRequest, RksTemplateResponse> {
private final RksTemplateRepository rksTemplateRepository;
public PutUpdateRksTemplateService(RksTemplateRepository rksTemplateRepository) {
this.rksTemplateRepository = rksTemplateRepository;
}
@Override
public RksTemplateResponse 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())
));
rksTemplate.setKodeTemplate(rksTemplate.getKodeTemplate());
rksTemplate.setNamaTemplate(rksTemplate.getNamaTemplate());
rksTemplate.setRksDaftarIsiId(rksTemplate.getRksDaftarIsiId());
rksTemplate.setMetodePengadaanId(rksTemplate.getMetodePengadaanId());
rksTemplate.setVersi(rksTemplate.getVersi());
rksTemplate.setIsActive(rksTemplate.getIsActive());
rksTemplateRepository.save(rksTemplate);
return RksTemplateResponse.builder()
.id(rksTemplate.getId())
.build();
}
}