diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstantsV6.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstantsV6.java index f7a3e18..43c7f3d 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstantsV6.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/constant/elephant/ElephantConstantsV6.java @@ -38,6 +38,7 @@ public class ElephantConstantsV6 { public static String GENERATE_QD_BDCXS_INVOICE = "/invoice/api/v6/GenerateQdBdcxsInvoice"; public static String GENERATE_QD_JZFW_INVOICE = "/invoice/api/v6/GenerateQdJzfwInvoice"; public static String GENERATE_QD_BDXZL_INVOICE = "/invoice/api/v6/GenerateQdBdczlInvoice"; + public static String GENERATE_QD_JDCZP_INVOICE = "/invoice/api/v6/GenerateQdjdczpInvoice"; public static String QD_GET_RED_INVOICE_BACK = "/invoice/api/v6/getDownloadRedInvoice"; // 发票开票结果拉取 diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ServiceImpl.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ServiceImpl.java index 790f133..df6814b 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ServiceImpl.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/api/ElephantInvoiceApiV6ServiceImpl.java @@ -3235,6 +3235,15 @@ public class ElephantInvoiceApiV6ServiceImpl implements IInvoiceApiService { url = ElephantConstantsV6.GENERATE_QD_BDXZL_INVOICE; } + // 机动车专票适配 + String jdcbz = billInfo.getJdcbz() != null ? billInfo.getJdcbz():""; + if("1".equals(jdcbz)){ + billInfo.setTdys("14"); + // (数电机动车专票)发票开具/冲红接口 + url = ElephantConstantsV6.GENERATE_QD_JDCZP_INVOICE; + } + + // 开始处理详情 List details = billInfo.getBillDetailList(); List ddmxxxList = new ArrayList<>(); diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java index 3352f4c..f873fc1 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/BillDetailFormatUtil.java @@ -371,9 +371,9 @@ public class BillDetailFormatUtil { if (hsbz == 1) {//含税标志为 1 含税,税额=round((数量*含税单价)*税率/(1+税率)),2),不含税金额=含税金额-税额。 BigDecimal dqce = billDetail.getTaxamt().subtract(amt); //是否相等 - if (dqce.compareTo(ce0) != 0) { - return AjaxResult.error("明细行含税单价、数量积不等于含税金额", billDetail); - } +// if (dqce.compareTo(ce0) != 0) { +// return AjaxResult.error("明细行含税单价、数量积不等于含税金额", billDetail); +// } taxAmt = billDetail.getTaxamt(); tax = taxAmt.multiply(taxRate).divide(taxRateS, 2, BigDecimal.ROUND_HALF_UP); taxFreeAmt = taxAmt.subtract(tax); @@ -403,9 +403,9 @@ public class BillDetailFormatUtil { if (hsbz == 0) {//含税标志为 0 不含税,税额=round((数量*不含税单价)*税率),2),含税金额=不含税金额+税额。 BigDecimal dqce = billDetail.getTaxfreeamt().subtract(amt); //是否相等 - if (dqce.compareTo(ce0) != 0) { - return AjaxResult.error("明细行不含税单价、数量积不等于不含税金额", billDetail); - } +// if (dqce.compareTo(ce0) != 0) { +// return AjaxResult.error("明细行不含税单价、数量积不等于不含税金额", billDetail); +// } dqce = dqce.compareTo(new BigDecimal("0")) > 0 ? dqce : dqce.multiply(new BigDecimal("-1")); taxFreeAmt = billDetail.getTaxfreeamt(); tax = taxFreeAmt.multiply(taxRate).setScale(2, BigDecimal.ROUND_HALF_UP); diff --git a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/InvoiceTest.java b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/InvoiceTest.java index d2fb020..39a173f 100644 --- a/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/InvoiceTest.java +++ b/jianshui-invoice/src/main/java/com/jianshui/invoice/utils/InvoiceTest.java @@ -46,7 +46,8 @@ public class InvoiceTest { // String key = "BUgDX62Wh1NChV+h1XCXdw=="; // 1203 // String key = "TG1NR1N0R3RPcEY0eE55dg=="; // 1132 // String key = "2KF3rawkN1B1gGjwrtBMlQ=="; // 500 - String key = "S1jIlJRLXBNtIFihvQ0VPw=="; // 1501 +// String key = "S1jIlJRLXBNtIFihvQ0VPw=="; // 1501 + String key = "FIQKraT+UheC1GqQtgDM6g=="; // 1205 // 1203 红字发票 // String order = "{" + @@ -2180,8 +2181,10 @@ public class InvoiceTest { "}"; System.out.println(JianshuiInvoiceDecryptUtil.encrypt(order,key)); + + order = "etyWr0ZALqXjMdOh5ZJA+WfYrOdU+8vV7POaJd2h5VDv7SmXvs8oL/AgmbP/hcwhzQoOMk+cRyma1gTGBotR5tyl7pe1Yb1DuN823426y9jv+HQb2IFDuR5t0bfZGLtiWErB/93nFGfOV4RLN9/DE9J8lgWdLVRpM3spE53Z6GS8lbSWgvRie0zo3TVuEnKTSUbDhiuXsDA="; System.out.println("========================"); -// System.out.println(AisinoInvoiceEncryptUtil.encryptAES(order,key)); + System.out.println(JianshuiInvoiceDecryptUtil.decrypt(order,key));