OrderCostController.java 3.32 KB
package com.order.erp.controller;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.order.erp.common.constant.ServerResult;
import com.order.erp.domain.vo.OrderProfitAnalysisVo;
import com.order.erp.domain.vo.order.*;
import com.order.erp.service.order.IOrderCostInfoService;
import com.order.erp.service.order.OrderProfitAnalysisService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.Collections;

/**
 * @author zhongnanhuang
 * @version 1.0
 * @project order-erp
 * @description 订单利润表控制层
 * @date 2023/10/23 11:48:36
 */
@RestController
@RequestMapping("/order/cost")
@Api(tags = "订单费用表")
public class OrderCostController {

    @Resource
    OrderProfitAnalysisService orderProfitAnalysisService;
    @Autowired
    IOrderCostInfoService orderCostInfoService;


    @PostMapping("/InnerProfitDetail/listByPage")
    @ApiOperation("内部生产费用明细表")
    public ServerResult<Page<InnerProfitDetailVO>> listInnerProfitDetailByPage(@RequestBody @Validated OrderBaseInfoQueryVO queryVO) {
        queryVO.setProductionDepartment(Collections.singletonList("内部"));
        return orderCostInfoService.listInnerProfitDetailByPage(queryVO);
    }

    @PostMapping("/BusinessProfitDetail/listByPage")
    @ApiOperation("包装费用明细表")
    public ServerResult<Page<BusinessProfitDetailVO>> listBusinessProfitDetailsByPage(@RequestBody @Validated OrderBaseInfoQueryVO queryVO) {
        return orderCostInfoService.listBusinessProfitDetailByPage(queryVO);
    }

    @PostMapping("/edit")
    @ApiOperation("编辑")
    public ServerResult edit(@RequestBody OrderCostInfoVO vo) throws Exception {
        return orderCostInfoService.edit(vo);
    }

    @PostMapping("/applyEditFileds")
    @ApiOperation("申请编辑字段")
    public ServerResult applyEditFileds(@RequestBody OrderCostInfolockFieldVO vo) {
        return orderCostInfoService.applyEditFileds(vo);
    }

    @PostMapping("/businessProfitDetail/exportExcel")
    @ApiOperation("包装费用明细表多个导出")
    public void exportBusinessProfitDetailExcel(HttpServletResponse response, @RequestBody ProjectBaseInfoQueryVO queryVO) throws Exception {
        orderCostInfoService.exportBusinessProfitDetailExcel(response, queryVO);
    }

    @PostMapping("/innerProfitDetail/exportExcel")
    @ApiOperation("内部生产费用明细表多个导出")
    public void exportInnerProfitDetailExcel(HttpServletResponse response, @RequestBody ProjectBaseInfoQueryVO queryVO) throws Exception {
        orderCostInfoService.exportInnerProfitDetailExcel(response, queryVO);
    }

    @PostMapping("/setPackStatus")
    @ApiOperation("设置包装费用明细表的状态")
    public ServerResult setPackStatus(@RequestBody OrderCostInfoVO vo) {
       return orderCostInfoService.setPackStatus(vo);
    }


    @PostMapping("/setInnerStatus")
    @ApiOperation("设置内部生产明细表的状态")
    public ServerResult setInnerProduceStatus(@RequestBody OrderCostInfoVO vo) {
        return orderCostInfoService.setInnerProduceStatus(vo);
    }

}