From d9d6c0a29c182f63f45e21e0917f122e075c84c4 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期二, 20 一月 2026 10:02:52 +0800
Subject: [PATCH] 新增上级字段

---
 service/src/main/java/com/ruoyi/cwgl/service/impl/InvoiceManageServiceImpl.java |   55 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 44 insertions(+), 11 deletions(-)

diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/InvoiceManageServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/InvoiceManageServiceImpl.java
index c294182..68258df 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/impl/InvoiceManageServiceImpl.java
+++ b/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;
@@ -17,6 +15,7 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.cwgl.domain.*;
 import com.ruoyi.cwgl.domain.dto.CallbackReceiptDto;
+import com.ruoyi.cwgl.service.IInvoiceBillDetailService;
 import com.ruoyi.cwgl.service.IInvoiceBusinessService;
 import com.ruoyi.system.service.ISystemDataNoService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,6 +32,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;
@@ -51,6 +51,12 @@
     private InvoiceManageMapper invoiceManageMapper;
 
     @Resource
+    private InvoiceBillDetailMapper invoiceBillDetailMapper;
+
+    @Resource
+    private IInvoiceBillDetailService invoiceBillDetailService;
+
+    @Resource
     private IInvoiceManageLogService invoiceManageLogService;
 
     @Autowired
@@ -67,7 +73,8 @@
     private String invoicingAddress;
     @Value("${custom.gdpaasApi.returnAddress}")
     private String returnAddress;
-
+    @Autowired
+    private IInvoiceBusinessService invoiceBusinessService;
     /**
      * 鏌ヨ鍙戠エ绠$悊
      *
@@ -174,7 +181,11 @@
     @Override
     public int updateInvoiceManage(InvoiceManage invoiceManage) {
         invoiceManage.setUpdateTime(DateUtils.getNowDate());
+        // 鍒犻櫎鍘熸湁鐨勫彂绁ㄦ槑缁�
         invoiceManageMapper.deleteInvoiceDetailByInvoiceManageId(invoiceManage.getId());
+        // 鍒犻櫎鍘熸湁鐨勫彂绁ㄤ笟鍔″晢鍝佹槑缁�
+        invoiceBillDetailService.deleteInvoiceBillDetailByInvoiceManageId(invoiceManage.getId());
+        // 鎻掑叆鏂扮殑鏄庣粏璁板綍
         insertInvoiceDetail(invoiceManage);
         int rows = invoiceManageMapper.updateInvoiceManage(invoiceManage);
 
@@ -263,6 +274,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 +335,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,9 +344,9 @@
             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("鍟嗗搧鏄庣粏鏃犳暟鎹棤娉曞紑鍙戠エ");
 
         }
 
@@ -361,8 +386,8 @@
         for (InvoiceBillDetail billingDetail : invoiceBillDetails) {
             InvoiceDetailApi invoiceDetail = new InvoiceDetailApi();
 
-
-            invoiceDetail.setGoodsName(invoiceDetail.getGoodsName());
+            invoiceDetail.setGoodsCode(billingDetail.getGoodsCode());
+            invoiceDetail.setGoodsName(billingDetail.getGoodsName());
 
             invoiceDetail.setWithTaxFlag(billingDetail.getWithTaxFlag().toString());
             invoiceDetail.setTaxRate("0.06");
@@ -376,7 +401,10 @@
         order.setInvoiceDetail(invoiceDetailList);
         invoicingVo.setOrder(order);
         String body = JSONObject.toJSONString(invoicingVo);
-        String json = HttpUtil.post(invoicingAddress + "?businessType=" + businessType + "&returnUrl=" + returnAddress, body);
+        String urlString = invoicingAddress + "?businessType=" + businessType + "&returnUrl=" + returnAddress;
+        logger.info("璇锋眰body{}",body);
+        logger.info("璇锋眰鍦板潃{}",urlString);
+        String json = HttpUtil.post(urlString, body);
 
         if (json == null) {
             logger.info("寮�绁ㄥけ璐�");
@@ -384,7 +412,7 @@
         }
         JSONObject jsonObject = JSONObject.parseObject(json);
         String code = jsonObject.getString("code");
-
+        logger.info("寮�绁ㄨ繑鍥瀧}",jsonObject);
         String invoiceSerialNum = null;
         InvoiceBusiness record = new InvoiceBusiness();
         record.setReqData(JSONObject.toJSONString(invoicingVo));
@@ -398,8 +426,11 @@
             logger.info("寮�绁ㄦ垚鍔熷彂绁ㄥ簭鍒楀彿涓簕}", invoiceSerialNum);
             record.setInvoiceSerialNum(invoiceSerialNum);
             record.setInvoiceManageId(invoiceManage.getId());
+            invoiceBusinessService.insertInvoiceBusiness(record);
             return AjaxResult.success();
         }
+
+
         return AjaxResult.error("寮�绁ㄥけ璐�");
     }
 
@@ -474,3 +505,5 @@
     }
 }
 
+
+

--
Gitblit v1.8.0