package com.ruoyi.production.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.domain.R; import com.ruoyi.production.pojo.PieceRateConfig; import com.ruoyi.production.service.PieceRateConfigService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/pieceRateConfig") @RequiredArgsConstructor @Tag(name = "计件单价配置") public class PieceRateConfigController { private final PieceRateConfigService pieceRateConfigService; @GetMapping("/listPage") @Operation(summary = "计件单价分页查询") public R> listPage(Page page, PieceRateConfig query) { return R.ok(pieceRateConfigService.listPage(page, query)); } @PostMapping("/add") @Log(title = "Add piece rate config", businessType = BusinessType.INSERT) @Operation(summary = "新增计件单价") public R add(@RequestBody PieceRateConfig config) { return pieceRateConfigService.add(config); } @PutMapping("/update") @Log(title = "Update piece rate config", businessType = BusinessType.UPDATE) @Operation(summary = "修改计件单价") public R update(@RequestBody PieceRateConfig config) { return pieceRateConfigService.update(config); } @PutMapping("/changeStatus") @Log(title = "Change piece rate status", businessType = BusinessType.UPDATE) @Operation(summary = "启用/停用计件单价") public R changeStatus(@RequestBody PieceRateConfig config) { return pieceRateConfigService.changeStatus(config.getId(), config.getStatus()); } @DeleteMapping("/batchDelete") @Log(title = "Delete piece rate config", businessType = BusinessType.DELETE) @Operation(summary = "批量删除计件单价") public R batchDelete(@RequestBody List ids) { return R.ok(pieceRateConfigService.removeByIds(ids)); } @GetMapping("/export") @Log(title = "Export piece rate config", businessType = BusinessType.EXPORT) @Operation(summary = "导出计件单价配置") public void export(HttpServletResponse response, PieceRateConfig query) { List list = pieceRateConfigService.listPage(new Page<>(1, -1), query).getRecords(); ExcelUtil util = new ExcelUtil<>(PieceRateConfig.class); util.exportExcel(response, list, "计件单价配置"); } }