InvoiceBillOrderController.java 6.37 KB
package com.order.erp.controller;

import com.order.erp.common.annotation.AnonymousAccess;
import com.order.erp.common.constant.ServerResult;
import com.order.erp.common.excel4j.exceptions.Excel4JException;
import com.order.erp.common.jsr303.OperateGroup;
import com.order.erp.domain.dto.order.InvoiceBillOrderDO;
import com.order.erp.domain.vo.order.*;
import com.order.erp.service.order.InvoiceBillOrderService;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 应收款账单表(InvoiceBillOrder)表控制层
 *
 * @author makejava
 * @since 2024-08-05 16:26:34
 */
@RestController
@RequestMapping("/order/erp/invoice_bill")
public class InvoiceBillOrderController {
    /**
     * 服务对象
     */
    @Resource
    private InvoiceBillOrderService invoiceBillOrderService;

    /**
     * 分页查询
     *
     * @param invoiceBillOrderQueryVO 查询条件
     * @return 查询结果
     */
    @PostMapping("/list_by_page")
    public ServerResult listByPage(@RequestBody @Validated({OperateGroup.List.class}) InvoiceBillOrderQueryVO invoiceBillOrderQueryVO) {
        return invoiceBillOrderService.listByPage(invoiceBillOrderQueryVO);
    }

    /**
     * 基础订单查询 完成
     *
     * @param queryVO 查询条件
     * @return 查询结果
     */
    @PostMapping("/list_base_order_info_by")
    public ServerResult listBaseOrderInfoBy(@RequestBody @Validated InvoiceBaseOrderQueryVO queryVO) {
        return invoiceBillOrderService.listBaseOrderInfoBy(queryVO);
    }

    /**
     * 分析列表 完成
     *
     * @param queryVO 查询条件
     * @return 查询结果
     */
    @PostMapping("/list_analysis_by")
    public ServerResult listAnalysisBy(@RequestBody @Validated({OperateGroup.List.class}) InvoiceAndCheckAnalysisVO queryVO) {
        return invoiceBillOrderService.listAnalysisBy(queryVO);
    }

    /**
     * 导出分析列表  完成
     *
     * @param queryVO 查询条件
     * @return 查询结果
     */
    @PostMapping(value = "/export")
    @ApiOperation("导出分析列表")
    @AnonymousAccess
    public void export(HttpServletResponse response, @RequestBody  InvoiceAndCheckAnalysisVO queryVO) throws IOException, Excel4JException {
        invoiceBillOrderService.export(response, queryVO);
    }

    /**
     * 创建invoice单据   完成 1
     *
     * @param createVO 数据VO
     * @return 新增结果
     */
    @PostMapping("/create")
    public ServerResult create(@RequestBody InvoiceBillCreateVO createVO) {
        return invoiceBillOrderService.create(createVO);
    }

    /**
     * 获取必须回款日期  完成 1
     *
     * @param createVO 数据VO
     * @return 新增结果
     */
    @PostMapping("/get_back_refund_date")
    public ServerResult getBackRefundDate(@RequestBody InvoiceBillCreateVO createVO) {
        return invoiceBillOrderService.getBackRefundDate(createVO);
    }

    /**
     * 更新扣款信息  完成 1
     *
     * @param deductInfoVO 数据VO
     * @return 编辑结果
     */
    @PostMapping("/update_deduct_info")
    public ServerResult updateDeductInfo(@RequestBody InvoiceBillDeductInfoVO deductInfoVO) {
        return invoiceBillOrderService.updateDeductInfo(deductInfoVO);
    }

    /**
     * 更新其他金额信息  完成 1
     *
     * @param amountInfoVO 数据VO
     * @return 编辑结果
     */
    @PostMapping("/update_amount_info")
    public ServerResult updateAmountInfo(@RequestBody InvoiceBillAmountInfoVO amountInfoVO) {
        return invoiceBillOrderService.updateAmountInfo(amountInfoVO);
    }

    /**
     * 提交审核  完成 1
     *
     * @param commitApplyVO 数据VO
     * @return 编辑结果
     */
    @PostMapping("/commit_apply")
    public ServerResult commitApply(@RequestBody InvoiceBillCommitApplyVO commitApplyVO) {
        return invoiceBillOrderService.commitApply(commitApplyVO);
    }

    /**
     * 删除数据  完成 1
     *
     * @param invoiceBillOrderQueryVO 查询条件
     * @return 删除是否成功
     */
    @PostMapping("/delete_by_id")
    public ServerResult deleteById(@RequestBody InvoiceBillOrderQueryVO invoiceBillOrderQueryVO) {
        return invoiceBillOrderService.deleteById(invoiceBillOrderQueryVO);
    }
    /**
     * 获取扣款单   完成 1
     *
     * @param invoiceBillOrderQueryVO 查询条件
     * @return 扣款单
     */
    @PostMapping("/getDeductUrl_by_id")
    public ServerResult getDeductUrl(@RequestBody InvoiceBillOrderQueryVO invoiceBillOrderQueryVO) {
        return invoiceBillOrderService.getDeductUrlById(invoiceBillOrderQueryVO);
    }
    /**
     * 重新上传报关单  完成 1
     *
     * @param bgUrl 报关单
     * @return 
     */
    @PostMapping("/reUploadBgUrl")
    public ServerResult getDeductUrl(@RequestBody InvoiceBillCreateVO bgUrl) {
        return invoiceBillOrderService.reUploadBgurl(bgUrl);
    }

    /**
     * 审核时导出的付款单
     * @param queryVO 报关单
     * @return
     */
    @PostMapping("/exportReceipt")
    @AnonymousAccess
    public void exportReceipt(HttpServletResponse response, @RequestBody InvoiceExportReceiptVO queryVO) throws IOException {
        invoiceBillOrderService.exportReceipt(response,queryVO);
    }
    /**
     * 设置必须回款日期  完成 1
     * @param createVO 必须回款日期
     * @return
     */
    @PostMapping("/setBackRefundDate")
   public void setBackRefundDate(@RequestBody InvoiceBillCreateVO createVO) {
        invoiceBillOrderService.setBackRefundDate(createVO);
    }

    /**
     *设置备注信息 完成 1
     * @param createVO 备注信息
     * @return
     */
    @PostMapping("/notes")
    public void byIdAddNotes(@RequestBody InvoiceBillCreateVO createVO) {
        invoiceBillOrderService.byIdAddNotes(createVO);
    }

    /**
     *删除扣款单
     * @param deleteVo id
     * @return
     */
    @PostMapping("/deleteDeductUrl_by_id")
    public ServerResult deleteDeductUrlById(@RequestBody InvoiceBillDeductInfoVO deleteVo) {
        return invoiceBillOrderService.deleteDeductUrlById(deleteVo);
    }
}