Browse Source

优化发票数据插入

lihaoli 1 week ago
parent
commit
eaa0689849

+ 18 - 14
collect_fees_hdx_api/fees-hdx-api/src/main/java/com/tofly/feesapi/common/dzfp/InvoiceService.java

@@ -476,7 +476,7 @@ public class InvoiceService {
         }
 
         // 2.添加发票污水费明细 (部分收费时没有水量,取消水量判断)
-        if (yyQfmx.getYssl().compareTo(BigDecimal.ZERO) > 0 && yyQfmx.getWsf().compareTo(BigDecimal.ZERO) > 0) {
+        if (yyQfmx.getYssl().compareTo(BigDecimal.ZERO) > 0 && yyQfmx.getYswsf().compareTo(BigDecimal.ZERO) > 0) {
             EiFpkjMx eiFpkjMx = new EiFpkjMx();
             EiSpbm eiSpbm = eiSpbmService.getById("05"); // 污水费
             String sl = eiSpbm.getSl();
@@ -497,12 +497,14 @@ public class InvoiceService {
             eiFpkjMx.setSpectype("无");//规格型号
             eiFpkjMx.setTaxrate(taxrate); // 税率
 
-            eiFpkjMx.setPrice(yyQfmx.getWsfdj()); // 单价
-            eiFpkjMx.setNum(yyQfmx.getSl()); // 数量
-            eiFpkjMx.setTax(yyQfmx.getWsf().multiply(taxrate).divide(taxrate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP)); // 税额
-            eiFpkjMx.setTaxexcludedamount(yyQfmx.getWsf().subtract(eiFpkjMx.getTax()));
-            eiFpkjMx.setTaxincludedamount(yyQfmx.getWsf());
-            eiFpkjMxList.add(Deserialization(eiFpkjMx));
+            if (yyQfmx.getSl().compareTo(BigDecimal.ZERO) > 0 && yyQfmx.getWsf().compareTo(BigDecimal.ZERO) > 0) {
+                eiFpkjMx.setPrice(yyQfmx.getWsf().divide(yyQfmx.getSl(), 8, RoundingMode.HALF_UP)); // 单价
+                eiFpkjMx.setNum(yyQfmx.getSl()); // 数量
+                eiFpkjMx.setTax(yyQfmx.getWsf().multiply(taxrate).divide(taxrate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP)); // 税额
+                eiFpkjMx.setTaxexcludedamount(yyQfmx.getWsf().subtract(eiFpkjMx.getTax()));
+                eiFpkjMx.setTaxincludedamount(yyQfmx.getWsf());
+                eiFpkjMxList.add(Deserialization(eiFpkjMx));
+            }
             //一表多价
             if (StringUtil.isNotEmpty(yyQfmx.getCbjsbz()) &&
                     (yyQfmx.getCbjsbz().equals("1") || yyQfmx.getCbjsbz().equals("3"))) {
@@ -526,7 +528,7 @@ public class InvoiceService {
         }
 
         // 3.添加发票水资源税明细
-        if (yyQfmx.getSl().compareTo(BigDecimal.ZERO) > 0 && yyQfmx.getSzyf().compareTo(BigDecimal.ZERO) > 0) {
+        if (yyQfmx.getSl().compareTo(BigDecimal.ZERO) > 0 && yyQfmx.getYsszyf().compareTo(BigDecimal.ZERO) > 0) {
             EiFpkjMx eiFpkjMx = new EiFpkjMx();
             EiSpbm eiSpbm = eiSpbmService.getById("07");
             String sl = eiSpbm.getSl();
@@ -547,12 +549,14 @@ public class InvoiceService {
             eiFpkjMx.setFavouredpolicyname(eiSpbm.getYhZcmc()); // 优惠政策名称
             eiFpkjMx.setZerorateflag("1"); // 零税率标识
 
-            eiFpkjMx.setPrice(yyQfmx.getSzyfDj()); // 单价
-            eiFpkjMx.setNum(yyQfmx.getSl()); // 数量
-            eiFpkjMx.setTax(yyQfmx.getSzyf().multiply(taxrate).divide(taxrate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP)); // 税额
-            eiFpkjMx.setTaxexcludedamount(yyQfmx.getSzyf().subtract(eiFpkjMx.getTax())); // 不含税金额
-            eiFpkjMx.setTaxincludedamount(yyQfmx.getSzyf()); // 含税金额
-            eiFpkjMxList.add(Deserialization(eiFpkjMx));
+            if (yyQfmx.getSl().compareTo(BigDecimal.ZERO) > 0 && yyQfmx.getSzyf().compareTo(BigDecimal.ZERO) > 0) {
+                eiFpkjMx.setPrice(yyQfmx.getSzyfDj()); // 单价
+                eiFpkjMx.setNum(yyQfmx.getSl()); // 数量
+                eiFpkjMx.setTax(yyQfmx.getSzyf().multiply(taxrate).divide(taxrate.add(BigDecimal.ONE), 2, RoundingMode.HALF_UP)); // 税额
+                eiFpkjMx.setTaxexcludedamount(yyQfmx.getSzyf().subtract(eiFpkjMx.getTax())); // 不含税金额
+                eiFpkjMx.setTaxincludedamount(yyQfmx.getSzyf()); // 含税金额
+                eiFpkjMxList.add(Deserialization(eiFpkjMx));
+            }
             //一表多价
             if (StringUtil.isNotEmpty(yyQfmx.getCbjsbz()) &&
                     (yyQfmx.getCbjsbz().equals("1") || yyQfmx.getCbjsbz().equals("3"))) {