From 1399a2350ba51dcff08bb419a2cf29321c8ffd2c Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期日, 20 七月 2025 14:42:20 +0800
Subject: [PATCH] 修改订单tax接口的bug,完善水母信息

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java |   66 +++++++++++++++++++++------------
 1 files changed, 42 insertions(+), 24 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 cd4b7a6..89310f0 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
@@ -180,8 +180,13 @@
         vo.setNewRegisteredCapital(company.getRealRegisteredCapital());
         vo.setPlace(company.getCity()+company.getProvince()+company.getArea());
 
-        JSONObject area = (JSONObject) jsonObject.get("Area");
-        vo.setPlace(area.getString("Province")+"-"+area.getString("City")+"-"+area.getString("County"));
+        JSONObject area =  jsonObject.getJSONObject("Area");
+        if (null != area) {
+            vo.setPlace(area.getString("Province")+"-"+area.getString("City")+"-"+area.getString("County"));
+        }else {
+            vo.setPlace(company.getCity() + "-" + company.getProvince() + "-" + company.getArea());
+        }
+
         vo.setCompanyCategoryName(jsonObject.getString("EconKind"));
 
         String name = companyTypeService.getById(company.getCompanyCategory()).getName();
@@ -361,7 +366,7 @@
         JSONObject data2 = (JSONObject) data1.get("data");
         JSONObject taxInfo = (JSONObject) data2.get("taxInfo");
         //税务处罚
-        JSONObject enterprise = (JSONObject) data2.get("enterprise");
+        JSONArray enterprise = data2.getJSONArray("enterprise");
         taxVO.setEnterprise(enterprise);
         //滞纳金情况
         JSONArray overdueFineDetailsList = (JSONArray) taxInfo.get("overdueFineDetailsList");
@@ -383,39 +388,52 @@
         JSONObject taxPrevMnMthsAllTaxDclrPrjInfoDict = (JSONObject) taxInfo.get("taxPrevMnMthsAllTaxDclrPrjInfoDict");
 
         JSONObject taxPrev12mthsAllTaxDclrPrjInfoDict = (JSONObject) taxPrevMnMthsAllTaxDclrPrjInfoDict.get("taxPrev12mthsAllTaxDclrPrjInfoDict");
-        taxVO.setVatTaxShouldsaleAmt12((BigDecimal) taxPrev12mthsAllTaxDclrPrjInfoDict.get("vatTaxShouldsaleAmt"));
+        // 使用 getBigDecimal 方法,自动处理类型转换
+        BigDecimal vatTaxValue = taxPrev12mthsAllTaxDclrPrjInfoDict.getBigDecimal("vatTaxShouldsaleAmt");
+        taxVO.setVatTaxShouldsaleAmt12(vatTaxValue); // 自动处理 null
         //近24月增税销售额
-        JSONObject taxPrev24mthsAllTaxDclrPrjInfoDict = (JSONObject) taxPrevMnMthsAllTaxDclrPrjInfoDict.get("taxPrev24mthsAllTaxDclrPrjInfoDict");
+        JSONObject taxPrev24mthsAllTaxDclrPrjInfoDict =  taxPrevMnMthsAllTaxDclrPrjInfoDict.getJSONObject("taxPrev24mthsAllTaxDclrPrjInfoDict");
+        if(null != taxPrev24mthsAllTaxDclrPrjInfoDict){
+            taxVO.setVatTaxShouldsaleAmt24( (BigDecimal) taxPrev24mthsAllTaxDclrPrjInfoDict.get("vatTaxShouldsaleAmt"));
+        }
 
-        taxVO.setVatTaxShouldsaleAmt24( (BigDecimal) taxPrev24mthsAllTaxDclrPrjInfoDict.get("vatTaxShouldsaleAmt"));
-        JSONObject taxPrevMnMthsTaxInfoDict = (JSONObject) taxInfo.get("taxPrevMnMthsTaxInfoDict");
+        JSONObject taxPrevMnMthsTaxInfoDict =  taxInfo.getJSONObject("taxPrevMnMthsTaxInfoDict");
+        if (null!=taxPrevMnMthsTaxInfoDict){
+            //近12月纳税总额(元)
+            JSONObject taxPrev12mthsTaxInfo =  taxPrevMnMthsTaxInfoDict.getJSONObject("taxPrev12mthsTaxInfo");
+            taxVO.setTaxAmt12( (BigDecimal) taxPrev12mthsTaxInfo.get("taxAmt"));
 
-        //近12月纳税总额(元)
-        JSONObject taxPrev12mthsTaxInfo = (JSONObject) taxPrevMnMthsTaxInfoDict.get("taxPrev12mthsTaxInfo");
-        taxVO.setTaxAmt12( (BigDecimal) taxPrev12mthsTaxInfo.get("taxAmt"));
+            //近24月纳税总额(元)
+            JSONObject taxPrev24mthsTaxInfo = (JSONObject) taxPrevMnMthsTaxInfoDict.get("taxPrev24mthsTaxInfo");
+            taxVO.setTaxAmt24( (BigDecimal) taxPrev24mthsTaxInfo.get("taxAmt"));
 
-        //近24月纳税总额(元)
-        JSONObject taxPrev24mthsTaxInfo = (JSONObject) taxPrevMnMthsTaxInfoDict.get("taxPrev24mthsTaxInfo");
-        taxVO.setTaxAmt24( (BigDecimal) taxPrev24mthsTaxInfo.get("taxAmt"));
+        }
 
         //近12月增税应纳额(元)
-        taxVO.setVatTaxShouldpay( (BigDecimal) taxPrev12mthsAllTaxDclrPrjInfoDict.get("vatTaxShouldpay"));
+        taxVO.setVatTaxShouldpay(taxPrev12mthsAllTaxDclrPrjInfoDict.getBigDecimal("vatTaxShouldpay"));
 
         //近12个月滞纳金金额(元) 次数
-        JSONObject taxPrevMnMthsOverdueFineInfoDict = (JSONObject) taxInfo.get("taxPrevMnMthsOverdueFineInfoDict");
-        JSONObject taxPrev12mthsOverdueFineInfo = (JSONObject) taxPrevMnMthsOverdueFineInfoDict.get("taxPrev12mthsOverdueFineInfo");
-        taxVO.setOverdueFineInfoAmt12( (BigDecimal) taxPrev12mthsOverdueFineInfo.get("overdueFineInfoAmt"));
-        taxVO.setOverdueFineInfoCnt12( (Integer) taxPrev12mthsOverdueFineInfo.get("overdueFineInfoCnt"));
+        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"));
+
+            // 近3个月滞纳金金额(元)
+            JSONObject taxPrev3mthsOverdueFineInfo = (JSONObject) taxPrevMnMthsOverdueFineInfoDict.get("taxPrev3mthsOverdueFineInfo");
+            taxVO.setOverdueFineInfoCnt3( (Integer) taxPrev3mthsOverdueFineInfo.get("overdueFineInfoCnt"));
+        }
 
 
-        // 近3个月滞纳金金额(元)
-        JSONObject taxPrev3mthsOverdueFineInfo = (JSONObject) taxPrevMnMthsOverdueFineInfoDict.get("taxPrev3mthsOverdueFineInfo");
-        taxVO.setOverdueFineInfoCnt3( (Integer) taxPrev3mthsOverdueFineInfo.get("overdueFineInfoCnt"));
+
 
         //近12月0申报月数(月数)
-        JSONObject taxPrevMnMthsAllTaxDclrInfoDict = (JSONObject) taxInfo.get("taxPrevMnMthsAllTaxDclrInfoDict");
-        JSONObject taxPrev12mthsAllTaxDclrInfoDict = (JSONObject) taxPrevMnMthsAllTaxDclrInfoDict.get("taxPrev12mthsAllTaxDclrInfoDict");
-        taxVO.setVatTax0dclrMonCnt( (Integer) taxPrev12mthsAllTaxDclrInfoDict.get("vatTax0dclrMonCnt"));
+        JSONObject taxPrevMnMthsAllTaxDclrInfoDict = taxInfo.getJSONObject("taxPrevMnMthsAllTaxDclrInfoDict");
+        if (null != taxPrevMnMthsAllTaxDclrInfoDict){
+            JSONObject taxPrev12mthsAllTaxDclrInfoDict = (JSONObject) taxPrevMnMthsAllTaxDclrInfoDict.get("taxPrev12mthsAllTaxDclrInfoDict");
+            taxVO.setVatTax0dclrMonCnt( (Integer) taxPrev12mthsAllTaxDclrInfoDict.get("vatTax0dclrMonCnt"));
+        }
+
 
         return R.ok(taxVO);
     }

--
Gitblit v1.7.1