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.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}) InvoiceBillAnalysisVO queryVO) { return invoiceBillOrderService.listAnalysisBy(queryVO); } /** * 导出分析列表 * * @param queryVO 查询条件 * @return 查询结果 */ @PostMapping(value = "/export") @ApiOperation("导出分析列表") @AnonymousAccess public void export(HttpServletResponse response, @RequestBody @Validated InvoiceBillAnalysisVO queryVO) throws IOException, Excel4JException { invoiceBillOrderService.export(response, queryVO); } /** * 创建invoice单据 * * @param createVO 数据VO * @return 新增结果 */ @PostMapping("/create") public ServerResult create(@RequestBody InvoiceBillCreateVO createVO) { return invoiceBillOrderService.create(createVO); } /** * 获取必须回款日期 * * @param createVO 数据VO * @return 新增结果 */ @PostMapping("/get_back_refund_date") public ServerResult getBackRefundDate(@RequestBody InvoiceBillCreateVO createVO) { return invoiceBillOrderService.getBackRefundDate(createVO); } /** * 更新扣款信息 * * @param deductInfoVO 数据VO * @return 编辑结果 */ @PostMapping("/update_deduct_info") public ServerResult updateDeductInfo(@RequestBody InvoiceBillDeductInfoVO deductInfoVO) { return invoiceBillOrderService.updateDeductInfo(deductInfoVO); } /** * 更新其他金额信息 * * @param amountInfoVO 数据VO * @return 编辑结果 */ @PostMapping("/update_amount_info") public ServerResult updateAmountInfo(@RequestBody InvoiceBillAmountInfoVO amountInfoVO) { return invoiceBillOrderService.updateAmountInfo(amountInfoVO); } /** * 提交审核 * * @param commitApplyVO 数据VO * @return 编辑结果 */ @PostMapping("/commit_apply") public ServerResult commitApply(@RequestBody InvoiceBillCommitApplyVO commitApplyVO) { return invoiceBillOrderService.commitApply(commitApplyVO); } /** * 删除数据 * * @param invoiceBillOrderQueryVO 查询条件 * @return 删除是否成功 */ @PostMapping("/delete_by_id") public ServerResult deleteById(@RequestBody InvoiceBillOrderQueryVO invoiceBillOrderQueryVO) { return invoiceBillOrderService.deleteById(invoiceBillOrderQueryVO); } }