xiaoyi
6 天以前 730f9b0c25a6c111dab1ea4a1ac5e1da9a48f765
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/invoice/CrmInvoiceController.java
@@ -49,6 +49,8 @@
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0;
import static cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants.BAD_REQUEST;
import static cn.iocoder.yudao.framework.common.pojo.PageParam.PAGE_SIZE_NONE;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertListByFlatMap;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
@@ -104,7 +106,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得开票")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:invoice:query')")
    public CommonResult<CrmInvoiceRespVO> getInvoice(@RequestParam("id") Long id) {
        CrmInvoiceDO invoice = invoiceService.getInvoice(id);
        return success(buildInvoiceDetail(invoice));
@@ -119,7 +120,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得开票分页")
    @PreAuthorize("@ss.hasPermission('crm:invoice:query')")
    public CommonResult<PageResult<CrmInvoiceRespVO>> getInvoicePage(@Valid CrmInvoicePageReqVO pageReqVO) {
        PageResult<CrmInvoiceDO> pageResult = invoiceService.getInvoicePage(pageReqVO, getLoginUserId());
        return success(new PageResult<>(buildInvoiceDetailList(pageResult.getList()), pageResult.getTotal()));
@@ -127,9 +127,10 @@
    @GetMapping("/page-by-customer")
    @Operation(summary = "获得开票分页,基于指定客户")
    @PreAuthorize("@ss.hasPermission('crm:invoice:query')")
    public CommonResult<PageResult<CrmInvoiceRespVO>> getInvoicePageByCustomer(@Valid CrmInvoicePageReqVO pageReqVO) {
        Assert.notNull(pageReqVO.getCustomerId(), "客户编号不能为空");
        if (pageReqVO.getCustomerId() == null) {
            throw exception0(BAD_REQUEST.getCode(), "客户编号不能为空");
        }
        PageResult<CrmInvoiceDO> pageResult = invoiceService.getInvoicePageByCustomerId(pageReqVO);
        return success(new PageResult<>(buildInvoiceDetailList(pageResult.getList()), pageResult.getTotal()));
    }
@@ -208,14 +209,12 @@
    @GetMapping("/approver-ids")
    @Operation(summary = "获得开票的审批人编号集合,供前端判断是否展示审核按钮")
    @PreAuthorize("@ss.hasPermission('crm:invoice:query')")
    public CommonResult<Set<Long>> getApproverUserIds() {
        return success(invoiceService.getInvoiceApproverUserIds());
    }
    @GetMapping("/audit-count")
    @Operation(summary = "获得待审核开票数量")
    @PreAuthorize("@ss.hasPermission('crm:invoice:query')")
    public CommonResult<Long> getAuditInvoiceCount() {
        return success(invoiceService.getAuditInvoiceCount(getLoginUserId()));
    }
@@ -223,7 +222,6 @@
    @GetMapping("/simple-list")
    @Operation(summary = "获得开票精简列表", description = "只包含审核通过且已上传发票附件的开票,主要用于回款创建时选择关联开票")
    @Parameter(name = "contractId", description = "合同编号", required = true)
    @PreAuthorize("@ss.hasPermission('crm:invoice:query')")
    public CommonResult<List<CrmInvoiceRespVO>> getInvoiceSimpleList(@RequestParam("contractId") Long contractId) {
        List<CrmInvoiceDO> invoices = invoiceService.getInvoiceListByContractIdAndStatus(contractId,
                List.of(CrmAuditStatusEnum.APPROVE.getStatus()));