package com.erp.controller; import com.erp.dto.ApiResponse; import com.erp.service.CascadingConditionService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.util.*; @RestController @RequestMapping("/api/cascading-condition") @RequiredArgsConstructor @Slf4j public class CascadingConditionController { private final CascadingConditionService cascadingConditionService; @GetMapping("/list") public ResponseEntity>> getCascadingConditionListAlias( @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.getCascadingConditionList(params))); } @GetMapping public ResponseEntity>> getCascadingConditionList( @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.getCascadingConditionList(params))); } @GetMapping("/filtered-options/{relationCode}") public ResponseEntity>> getFilteredOptions( @RequestAttribute("company_code") String companyCode, @PathVariable String relationCode, @RequestParam Map params) { params.put("company_code", companyCode); params.put("relation_code", relationCode); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.getFilteredOptions(params))); } @GetMapping("/{conditionId}") public ResponseEntity>> getCascadingConditionInfo( @RequestAttribute("company_code") String companyCode, @PathVariable Long conditionId) { Map params = new HashMap<>(); params.put("company_code", companyCode); params.put("condition_id", conditionId); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.getCascadingConditionInfo(params))); } @PostMapping public ResponseEntity>> insertCascadingCondition( @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.insertCascadingCondition(body))); } @PutMapping("/{conditionId}") public ResponseEntity>> updateCascadingCondition( @RequestAttribute("company_code") String companyCode, @PathVariable Long conditionId, @RequestBody Map body) { body.put("company_code", companyCode); body.put("condition_id", conditionId); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.updateCascadingCondition(body))); } @DeleteMapping("/{conditionId}") public ResponseEntity>> deleteCascadingCondition( @RequestAttribute("company_code") String companyCode, @PathVariable Long conditionId) { Map params = new HashMap<>(); params.put("company_code", companyCode); params.put("condition_id", conditionId); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.deleteCascadingCondition(params))); } }