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); } /** *最后一步,确认是否已经完成最终收款,即使审核通过之后,invoice的状态为已收款,这里的作用是在已收款状态的基础上,最后手动确认是否完成收款。人工校验。 * @param invoiceBillDeductInfoVO id * @return */ @PostMapping("/setFinishStatus") public ServerResult isFinishStatus(@RequestBody InvoiceBillDeductInfoVO invoiceBillDeductInfoVO) { return invoiceBillOrderService.isFinishStatus(invoiceBillDeductInfoVO); } }