From f0e40a7b64d1285cc9c1f2dff532a22964664de1 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期日, 20 七月 2025 14:50:18 +0800
Subject: [PATCH] 修改订单tax接口的bug

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java |   53 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 33 insertions(+), 20 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java
index 89310f0..f99a18d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java
@@ -385,17 +385,24 @@
         taxVO.setTaxpayerType(taxpayerType);
 
         //近12月增税销售额
-        JSONObject taxPrevMnMthsAllTaxDclrPrjInfoDict = (JSONObject) taxInfo.get("taxPrevMnMthsAllTaxDclrPrjInfoDict");
-
-        JSONObject taxPrev12mthsAllTaxDclrPrjInfoDict = (JSONObject) taxPrevMnMthsAllTaxDclrPrjInfoDict.get("taxPrev12mthsAllTaxDclrPrjInfoDict");
-        // 使用 getBigDecimal 方法,自动处理类型转换
-        BigDecimal vatTaxValue = taxPrev12mthsAllTaxDclrPrjInfoDict.getBigDecimal("vatTaxShouldsaleAmt");
-        taxVO.setVatTaxShouldsaleAmt12(vatTaxValue); // 自动处理 null
-        //近24月增税销售额
-        JSONObject taxPrev24mthsAllTaxDclrPrjInfoDict =  taxPrevMnMthsAllTaxDclrPrjInfoDict.getJSONObject("taxPrev24mthsAllTaxDclrPrjInfoDict");
-        if(null != taxPrev24mthsAllTaxDclrPrjInfoDict){
-            taxVO.setVatTaxShouldsaleAmt24( (BigDecimal) taxPrev24mthsAllTaxDclrPrjInfoDict.get("vatTaxShouldsaleAmt"));
+        JSONObject taxPrevMnMthsAllTaxDclrPrjInfoDict = taxInfo.getJSONObject("taxPrevMnMthsAllTaxDclrPrjInfoDict");
+        if (null  != taxPrevMnMthsAllTaxDclrPrjInfoDict){
+            JSONObject taxPrev12mthsAllTaxDclrPrjInfoDict = taxPrevMnMthsAllTaxDclrPrjInfoDict.getJSONObject("taxPrev12mthsAllTaxDclrPrjInfoDict");
+            if (null != taxPrev12mthsAllTaxDclrPrjInfoDict){
+                // 使用 getBigDecimal 方法,自动处理类型转换
+                BigDecimal vatTaxValue = taxPrev12mthsAllTaxDclrPrjInfoDict.getBigDecimal("vatTaxShouldsaleAmt");
+                taxVO.setVatTaxShouldsaleAmt12(vatTaxValue); // 自动处理 null
+            }
+            //近24月增税销售额
+            JSONObject taxPrev24mthsAllTaxDclrPrjInfoDict =  taxPrevMnMthsAllTaxDclrPrjInfoDict.getJSONObject("taxPrev24mthsAllTaxDclrPrjInfoDict");
+            if(null != taxPrev24mthsAllTaxDclrPrjInfoDict){
+                taxVO.setVatTaxShouldsaleAmt24( (BigDecimal) taxPrev24mthsAllTaxDclrPrjInfoDict.get("vatTaxShouldsaleAmt"));
+            }
+            //近12月增税应纳额(元)
+            taxVO.setVatTaxShouldpay(taxPrev12mthsAllTaxDclrPrjInfoDict.getBigDecimal("vatTaxShouldpay"));
         }
+
+
 
         JSONObject taxPrevMnMthsTaxInfoDict =  taxInfo.getJSONObject("taxPrevMnMthsTaxInfoDict");
         if (null!=taxPrevMnMthsTaxInfoDict){
@@ -404,24 +411,30 @@
             taxVO.setTaxAmt12( (BigDecimal) taxPrev12mthsTaxInfo.get("taxAmt"));
 
             //近24月纳税总额(元)
-            JSONObject taxPrev24mthsTaxInfo = (JSONObject) taxPrevMnMthsTaxInfoDict.get("taxPrev24mthsTaxInfo");
-            taxVO.setTaxAmt24( (BigDecimal) taxPrev24mthsTaxInfo.get("taxAmt"));
+            JSONObject taxPrev24mthsTaxInfo =  taxPrevMnMthsTaxInfoDict.getJSONObject("taxPrev24mthsTaxInfo");
+            if (null != taxPrev24mthsTaxInfo){
+                taxVO.setTaxAmt24( (BigDecimal) taxPrev24mthsTaxInfo.get("taxAmt"));
+
+            }
 
         }
 
-        //近12月增税应纳额(元)
-        taxVO.setVatTaxShouldpay(taxPrev12mthsAllTaxDclrPrjInfoDict.getBigDecimal("vatTaxShouldpay"));
+
 
         //近12个月滞纳金金额(元) 次数
         JSONObject taxPrevMnMthsOverdueFineInfoDict =  taxInfo.getJSONObject("taxPrevMnMthsOverdueFineInfoDict");
         if (null != taxPrevMnMthsOverdueFineInfoDict){
-            JSONObject taxPrev12mthsOverdueFineInfo = (JSONObject) taxPrevMnMthsOverdueFineInfoDict.get("taxPrev12mthsOverdueFineInfo");
-            taxVO.setOverdueFineInfoAmt12( (BigDecimal) taxPrev12mthsOverdueFineInfo.get("overdueFineInfoAmt"));
-            taxVO.setOverdueFineInfoCnt12( (Integer) taxPrev12mthsOverdueFineInfo.get("overdueFineInfoCnt"));
-
+            JSONObject taxPrev12mthsOverdueFineInfo = taxPrevMnMthsOverdueFineInfoDict.getJSONObject("taxPrev12mthsOverdueFineInfo");
+            if (null!= taxPrev12mthsOverdueFineInfo){
+                taxVO.setOverdueFineInfoAmt12( (BigDecimal) taxPrev12mthsOverdueFineInfo.get("overdueFineInfoAmt"));
+                taxVO.setOverdueFineInfoCnt12( (Integer) taxPrev12mthsOverdueFineInfo.get("overdueFineInfoCnt"));
+            }
             // 近3个月滞纳金金额(元)
-            JSONObject taxPrev3mthsOverdueFineInfo = (JSONObject) taxPrevMnMthsOverdueFineInfoDict.get("taxPrev3mthsOverdueFineInfo");
-            taxVO.setOverdueFineInfoCnt3( (Integer) taxPrev3mthsOverdueFineInfo.get("overdueFineInfoCnt"));
+            JSONObject taxPrev3mthsOverdueFineInfo = taxPrevMnMthsOverdueFineInfoDict.getJSONObject("taxPrev3mthsOverdueFineInfo");
+            if (null != taxPrev3mthsOverdueFineInfo){
+                taxVO.setOverdueFineInfoCnt3( (Integer) taxPrev3mthsOverdueFineInfo.get("overdueFineInfoCnt"));
+            }
+
         }
 
 

--
Gitblit v1.7.1