83 lines
4.7 KiB
Java
83 lines
4.7 KiB
Java
package com.iconplus.smartproc.controller;
|
|
|
|
|
|
import com.iconplus.smartproc.helper.model.EmptyResponse;
|
|
import com.iconplus.smartproc.model.request.SupplyPositioningMatrixRequest;
|
|
import com.iconplus.smartproc.model.response.GetListSupplyPositioningMatrixResponse;
|
|
import com.iconplus.smartproc.model.response.SupplyPositioningMatrixResponse;
|
|
import com.iconplus.smartproc.repository.SupplyPositioningMatrixRepository;
|
|
import com.iconplus.smartproc.service.supplypositioningmatrix.*;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
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/supplypositioningmatrix")
|
|
public class SupplyPositioningMatrixController {
|
|
|
|
@Autowired
|
|
private SupplyPositioningMatrixRepository supplypositioningmatrixRepository;
|
|
|
|
private final GetListSupplyPositioningMatrixService getListSupplyPositioningMatrixService;
|
|
private final GetSupplyPositioningMatrixByIdService getSupplyPositioningMatrixByIdService;
|
|
private final PostCreateSupplyPositioningMatrixService postCreateSupplyPositioningMatrixService;
|
|
private final PutUpdateSupplyPositioningMatrixService putUpdateSupplyPositioningMatrixService;
|
|
private final DeleteSupplyPositioningMatrixService deleteSupplyPositioningMatrixService;
|
|
|
|
public SupplyPositioningMatrixController(GetListSupplyPositioningMatrixService getListSupplyPositioningMatrixService,
|
|
GetSupplyPositioningMatrixByIdService getSupplyPositioningMatrixByIdService,
|
|
PostCreateSupplyPositioningMatrixService postCreateSupplyPositioningMatrixService,
|
|
PutUpdateSupplyPositioningMatrixService putUpdateSupplyPositioningMatrixService,
|
|
DeleteSupplyPositioningMatrixService deleteSupplyPositioningMatrixService) {
|
|
this.getListSupplyPositioningMatrixService = getListSupplyPositioningMatrixService;
|
|
this.getSupplyPositioningMatrixByIdService = getSupplyPositioningMatrixByIdService;
|
|
this.postCreateSupplyPositioningMatrixService = postCreateSupplyPositioningMatrixService;
|
|
this.putUpdateSupplyPositioningMatrixService = putUpdateSupplyPositioningMatrixService;
|
|
this.deleteSupplyPositioningMatrixService = deleteSupplyPositioningMatrixService;
|
|
}
|
|
|
|
|
|
@GetMapping
|
|
public GetListSupplyPositioningMatrixResponse getListSupplyPositioningMatrix(@RequestParam(name = "search", required = false) String search,
|
|
@RequestParam(name = "page", defaultValue = "1") Integer page,
|
|
@RequestParam(name = "size", defaultValue = "5") Integer size){
|
|
|
|
Pageable pageable = PageRequest.of((page - 1), size);
|
|
SupplyPositioningMatrixRequest supplyPositioningMatrixRequest = SupplyPositioningMatrixRequest.builder()
|
|
.search(search)
|
|
.pageable(pageable)
|
|
.build();
|
|
|
|
return getListSupplyPositioningMatrixService.execute(supplyPositioningMatrixRequest);
|
|
}
|
|
|
|
@PostMapping
|
|
public SupplyPositioningMatrixResponse createSupplyPositioningMatrix(@RequestBody SupplyPositioningMatrixRequest supplyPositioningMatrixRequest) {
|
|
return postCreateSupplyPositioningMatrixService.execute(supplyPositioningMatrixRequest);
|
|
}
|
|
|
|
@GetMapping("/{id}")
|
|
public SupplyPositioningMatrixResponse getSupplyPositioningMatrixById(@PathVariable Long id) {
|
|
return getSupplyPositioningMatrixByIdService.execute(SupplyPositioningMatrixRequest.builder()
|
|
.id(id)
|
|
.build());
|
|
}
|
|
|
|
|
|
@PutMapping("/{id}")
|
|
public SupplyPositioningMatrixResponse updateSupplyPositioningmatrix(@PathVariable Long id,
|
|
@RequestBody SupplyPositioningMatrixRequest supplyPositioningMatrixRequest){
|
|
supplyPositioningMatrixRequest.setId(id);
|
|
return putUpdateSupplyPositioningMatrixService.execute(supplyPositioningMatrixRequest);
|
|
}
|
|
|
|
@DeleteMapping("/{id}")
|
|
public EmptyResponse deleteSupplyPositioningMatrix(@PathVariable Long id) {
|
|
return deleteSupplyPositioningMatrixService.execute(SupplyPositioningMatrixRequest.builder()
|
|
.id(id)
|
|
.build());
|
|
}
|
|
}
|