wujianwei
2026-01-08 4983c303d5cf31e8bdfa8e80f7903933234bf97e
service/src/main/java/com/ruoyi/cwgl/service/impl/InvoiceManageServiceImpl.java
@@ -1,8 +1,6 @@
package com.ruoyi.cwgl.service.impl;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.http.HttpUtil;
@@ -33,6 +31,7 @@
import com.ruoyi.common.core.service.BaseService;
import com.ruoyi.cwgl.mapper.InvoiceManageMapper;
import com.ruoyi.cwgl.mapper.InvoiceBillDetailMapper;
import com.ruoyi.cwgl.service.IInvoiceManageService;
import com.ruoyi.cwgl.service.IInvoiceManageLogService;
import com.ruoyi.common.core.text.Convert;
@@ -49,6 +48,9 @@
    protected final Logger logger = LoggerFactory.getLogger(getClass());
    @Resource
    private InvoiceManageMapper invoiceManageMapper;
    @Resource
    private InvoiceBillDetailMapper invoiceBillDetailMapper;
    @Resource
    private IInvoiceManageLogService invoiceManageLogService;
@@ -263,6 +265,20 @@
                invoiceManageMapper.batchInvoiceDetail(list);
            }
        }
        // 新增发票业务商品明细信息
        List<InvoiceBillDetail> invoiceBillDetails = invoiceManage.getInvoiceBillDetails();
        if (StringUtils.isNotNull(invoiceBillDetails)) {
            List<InvoiceBillDetail> billDetailList = new ArrayList<InvoiceBillDetail>();
            for (InvoiceBillDetail invoiceBillDetail : invoiceBillDetails) {
                invoiceBillDetail.setInvoiceManageId(id);
                invoiceBillDetail.setCreateTime(new Date());
                billDetailList.add(invoiceBillDetail);
            }
            if (billDetailList.size() > 0) {
                invoiceBillDetailMapper.insertInvoiceBillDetailBatch(billDetailList);
            }
        }
    }
    /**
@@ -310,7 +326,7 @@
    }
    @Override
    public AjaxResult applyInvoice(Integer id, List<InvoiceBillDetail> invoiceBillDetails) {
    public AjaxResult applyInvoice(Integer id) {
        InvoiceManage invoiceManage = selectInvoiceManageById(id);
        if (invoiceManage == null) {
            throw new ServiceException("发票记录不存在");
@@ -319,13 +335,16 @@
            throw new ServiceException("请勿重复开票");
        }
        List<InvoiceDetail> invoiceDetailList = invoiceManage.getInvoiceDetailList();
        if (CollectionUtil.isEmpty(invoiceDetailList)) {
            throw new ServiceException("收费明细无数据");
        List<InvoiceBillDetail> invoiceBillDetails = invoiceManage.getInvoiceBillDetails();
        if (CollectionUtil.isEmpty(invoiceBillDetails)) {
            throw new ServiceException("商品明细无数据无法开发票");
        }
        componentInvoice(invoiceManage.getInvoiceNo(),"FP",invoiceManage,invoiceBillDetails);
        return AjaxResult.success("申请开票成功");
        // 记录申请开票日志
        recordApplyInvoiceLog(invoiceManage);
        return  componentInvoice(invoiceManage.getInvoiceNo(),"FP",invoiceManage,invoiceBillDetails);
    }
    public AjaxResult componentInvoice(String orderNo, String businessType, InvoiceManage invoiceManage, List<InvoiceBillDetail> invoiceBillDetails) {
@@ -470,3 +489,6 @@
        }
    }
}