package com.oms.controller; import com.oms.dto.PurchaseRequestDTO; import com.oms.entity.PurchaseRequest; import com.oms.service.PurchaseRequestService; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/purchase/requests") @RequiredArgsConstructor public class PurchaseRequestController { private final PurchaseRequestService purchaseRequestService; @GetMapping public List getAll() { return purchaseRequestService.getAll(); } @GetMapping("/{id}") public PurchaseRequestDTO getById(@PathVariable Long id) { return purchaseRequestService.getDtoById(id); } @GetMapping("/request-no/{requestNo}") public PurchaseRequest getByRequestNo(@PathVariable String requestNo) { return purchaseRequestService.getByRequestNo(requestNo); } @PostMapping public Long create(@RequestBody PurchaseRequest purchaseRequest) { return purchaseRequestService.save(purchaseRequest); } @PutMapping("/{id}") public void update(@PathVariable Long id, @RequestBody PurchaseRequest purchaseRequest) { purchaseRequest.setId(id); purchaseRequestService.update(purchaseRequest); } @DeleteMapping("/{id}") public void delete(@PathVariable Long id) { purchaseRequestService.delete(id); } @PostMapping("/{id}/approve") public void approve(@PathVariable Long id) { purchaseRequestService.approve(id); } @PostMapping("/{id}/reject") public void reject(@PathVariable Long id, @RequestParam String reason) { purchaseRequestService.reject(id, reason); } }