package com.ruoyi.production.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.production.dto.ProductionCostAccountDto; import com.ruoyi.production.service.ProductionCostService; import com.ruoyi.production.vo.ProductionCostAggregationVo; import com.ruoyi.production.vo.ProductionCostDetailVo; import com.ruoyi.production.vo.ProductionCostSummaryVo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** *
* 成本核算控制层 *
* * @author deslrey * @version 1.0 * @since 2026/03/30 */ @RestController @RequestMapping("/cost") @ApiModel(value = "ProductionCostAccountController类", description = "成本核算控制层") public class ProductionCostAccountController { @Autowired private ProductionCostService productionCostService; //**************************************************** 生产成品核算 ***************************************************** // @GetMapping("/productionCost/summary") @ApiOperation("顶部统计卡片数据") public AjaxResult getCostSummary(ProductionCostAccountDto dto) { ProductionCostSummaryVo costSummary = productionCostService.getCostSummary(dto); return AjaxResult.success(costSummary); } @GetMapping("/productionCost/aggregate/product") @ApiOperation("按产品物料汇总(分页)") public AjaxResult getProductAggregation(Page page, ProductionCostAccountDto dto) { IPage aggregation = productionCostService.getProductAggregationPage(page, dto); return AjaxResult.success(aggregation); } @GetMapping("/productionCost/aggregate/order") @ApiOperation("按生产订单汇总(分页)") public AjaxResult getOrderAggregation(Page page, ProductionCostAccountDto dto) { IPage aggregation = productionCostService.getOrderAggregationPage(page, dto); return AjaxResult.success(aggregation); } @GetMapping("/productionCost/top/product") @ApiOperation("消耗排行榜-产品物料Top10") public AjaxResult getProductTop10(ProductionCostAccountDto dto) { List list = productionCostService.getProductTop(dto); return AjaxResult.success(list); } @GetMapping("/productionCost/top/order") @ApiOperation("成本排行榜-生产订单Top10") public AjaxResult getOrderTop10(ProductionCostAccountDto dto) { List list = productionCostService.getOrderTop(dto); return AjaxResult.success(list); } }