From 794e7ccf9b692de3426e3bd070d63ca4e93d6a89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Wed, 24 Jan 2024 10:17:53 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=8C=BA=E5=9D=97=E9=93=BE=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=E5=85=A5=E5=BA=93:=E6=B7=BB=E5=8A=A0=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E6=9F=A5=E9=AA=8C=E5=8C=BA=E5=9D=97=E9=93=BE=E5=8F=96?= =?UTF-8?q?=E5=BD=B1=E5=83=8F=E6=8F=90=E4=BA=A4=E4=BF=A1=E6=81=AF=E5=85=A5?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dxhy/erp/entity/BaseTDxRecordInvoice.java | 2 + .../entity/BaseTDxRecordInvoiceDetail.java | 2 + .../erp/service/SNPushCheckRecordService.java | 156 +++++++++++++++++- 3 files changed, 155 insertions(+), 5 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/entity/BaseTDxRecordInvoice.java b/dxhy-erp/src/main/java/com/dxhy/erp/entity/BaseTDxRecordInvoice.java index 82861c3f..835a0840 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/entity/BaseTDxRecordInvoice.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/entity/BaseTDxRecordInvoice.java @@ -477,4 +477,6 @@ public class BaseTDxRecordInvoice implements Serializable { private String compCode; private String outResource; + private String taxRate; + } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/entity/BaseTDxRecordInvoiceDetail.java b/dxhy-erp/src/main/java/com/dxhy/erp/entity/BaseTDxRecordInvoiceDetail.java index ae0d8db9..cc9c72af 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/entity/BaseTDxRecordInvoiceDetail.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/entity/BaseTDxRecordInvoiceDetail.java @@ -115,4 +115,6 @@ public class BaseTDxRecordInvoiceDetail implements Serializable { */ private String spfwjc; + private String taxCode; + } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java index 3ed04e4e..9531cd34 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java @@ -11,6 +11,7 @@ import com.dxhy.common.enums.FplxEnum; import com.dxhy.common.enums.SNFplxEnum; import com.dxhy.common.util.InvoiceUtil; import com.dxhy.common.util.StringHelper; +import com.dxhy.common.utils.DateUtils; import com.dxhy.common.utils.R; import com.dxhy.common.vo.UserInfo; import com.dxhy.erp.dao.*; @@ -22,6 +23,7 @@ import com.dxhy.erp.entity.kfpt.TokenResponse; import com.dxhy.erp.entity.sdny.InvoiceDetail; import com.dxhy.erp.entity.sdny.InvoiceInfo; import com.dxhy.erp.entity.sdny.SNInvoice; +import com.dxhy.erp.entity.sdny.SNInvoiceDetail; import com.dxhy.erp.entity.sdny.area.Area; import com.dxhy.erp.utils.Base64; import com.dxhy.erp.utils.*; @@ -758,13 +760,30 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { log.error("补充查验失败,errormsg:{}", e.getMessage()); } - if (checkInvoiceResult != null && !checkInvoiceResult.containsKey("code")) { - if (!checkInvoiceResult.containsKey("cyjg")) { - checkInvoiceResult.put("invoiceNo", checkInvoiceResult.getString("invoiceNumber")); - log.info("补充查验的结果为:{}", checkInvoiceResult); - signSaveInvoiceInfoService.saveQueryInvoiceResult(checkInvoiceResult, "", "1", "business"); + + if (checkInvoiceResult != null && !checkInvoiceResult.containsKey("code") && !checkInvoiceResult.containsKey("cyjg")) { + checkInvoiceResult.put("invoiceNo", checkInvoiceResult.getString("invoiceNumber")); + log.info("补充查验的结果为:{}", checkInvoiceResult); + signSaveInvoiceInfoService.saveQueryInvoiceResult(checkInvoiceResult, "", "1", "business"); + } else if (invoice != null && "3".equals(invoice.getCheckStatus())) { + try { + BaseTDxRecordInvoice invoiceInfo = convertToEleInvoiceInfo(invoice); + baseTDxRecordInvoiceDao.insert(invoiceInfo); + + if (invoice.getInvoiceLineList() != null && invoice.getInvoiceLineList().size() > 0) { + List tDxRecordInvoiceDetails = convertToEleInvoiceDetail(invoice); + + if (tDxRecordInvoiceDetails != null && tDxRecordInvoiceDetails.size() > 0) { + for (BaseTDxRecordInvoiceDetail tDxRecordInvoiceDetail : tDxRecordInvoiceDetails) { + baseTDxRecordInvoiceDetailDao.insert(tDxRecordInvoiceDetail); + } + } + } + } catch (Exception e) { + log.error("查验失败区块链发票入库异常:{}", e); } } + } //可查验发票,已入库,更新票池 @@ -780,6 +799,133 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { return result; } + public BaseTDxRecordInvoice convertToEleInvoiceInfo(SNInvoice invoice) { + BaseTDxRecordInvoice invoiceInfo = new BaseTDxRecordInvoice(); + + if (invoice != null){ + + invoiceInfo.setInvoiceCode(invoice.getInvoiceCode()); + invoiceInfo.setInvoiceNo(invoice.getInvoiceNumber()); + invoiceInfo.setGfTaxNo(invoice.getPurchaserTaxNo()); + invoiceInfo.setGfName(invoice.getPurchaserName()); + invoiceInfo.setGfAddressAndPhone(invoice.getPurchaserAddressPhone()); + invoiceInfo.setGfBankAndNo(invoice.getPurchaserBank()); + invoiceInfo.setXfTaxNo(invoice.getSalesTaxNo()); + invoiceInfo.setXfName(invoice.getSalesName()); + invoiceInfo.setXfAddressAndPhone(invoice.getSalesAddressPhone()); + invoiceInfo.setXfBankAndNo(invoice.getSalesBank()); + + + BigDecimal invoiceAmount = strToBigDecimal(invoice.getTotalAmount()); + if (invoiceAmount != null){ + invoiceInfo.setInvoiceAmount(invoiceAmount); + } + + BigDecimal totalAmout = strToBigDecimal(invoice.getAmountTax()); + if (totalAmout != null){ + invoiceInfo.setTotalAmount(totalAmout); + } + + BigDecimal taxAmount = strToBigDecimal(invoice.getTotalTax()); + if (taxAmount != null){ + invoiceInfo.setTaxAmount(taxAmount); + } + + invoiceInfo.setRemark(invoice.getRemarks()); + invoiceInfo.setInvoiceStatus(invoice.getState()); + invoiceInfo.setStatusUpdateDate(new Date()); + invoiceInfo.setLastUpdateDate(new Date()); + invoiceInfo.setQsDate(new Date()); + invoiceInfo.setRzhYesorno("0"); + invoiceInfo.setSourceSystem("3"); + invoiceInfo.setValid("1"); + invoiceInfo.setUuid((StringUtils.isBlank(invoice.getInvoiceCode())?"":invoice.getInvoiceCode())+invoice.getInvoiceNumber()); + invoiceInfo.setCreateDate(new Date()); + invoiceInfo.setSfygx("0"); + invoiceInfo.setDetailYesorno("0"); + invoiceInfo.setAuthStatus("0"); + invoiceInfo.setQsStatus("0"); + invoiceInfo.setCheckCode(invoice.getCheckCode()); + invoiceInfo.setLslbz(invoice.getZeroTaxRateSign()); + invoiceInfo.setTxfbz(invoice.getTollSign()); + invoiceInfo.setOutStatus("0"); + invoiceInfo.setCxrzStatus("0"); + invoiceInfo.setBdkStatus("0"); + invoiceInfo.setCxbdkStatus("0"); + invoiceInfo.setCompany("SDNYJTJX"); + invoiceInfo.setTaxRate(invoice.getTaxRate()); + invoiceInfo.setMachinecode(invoice.getMachineCode()); + + //影像号 + invoiceInfo.setImageId(invoice.getFileId()); + + if (StringUtils.isNotBlank(invoice.getBillingDate())){ + Date invoiceDate = DateUtils.strToDateLong(invoice.getBillingDate()); + invoiceInfo.setInvoiceDate(invoiceDate); + } + + if (StringUtils.isNotBlank(invoice.getInvoiceType())){ + String fplxDm = SNFplxEnum.getFplxDm(invoice.getInvoiceType()); + if (StringUtils.isNotBlank(fplxDm)){ + invoiceInfo.setInvoiceType(fplxDm); + } + } + + + if (invoice.getInvoiceLineList() != null && invoice.getInvoiceLineList().size() > 0){ + invoiceInfo.setDetailYesorno("1"); + } + } + return invoiceInfo; + } + + public List convertToEleInvoiceDetail(SNInvoice invoice) { + + List invoiceLineList = invoice.getInvoiceLineList(); + + List invoiceDetailList = new ArrayList<>(); + + if (invoiceLineList != null && invoiceLineList.size() > 0){ + + for (SNInvoiceDetail invoiceDetail : invoiceLineList) { + BaseTDxRecordInvoiceDetail invoiceDetailInfo = new BaseTDxRecordInvoiceDetail(); + invoiceDetailInfo.setUuid((StringUtils.isBlank(invoice.getInvoiceCode())?"":invoice.getInvoiceCode())+invoice.getInvoiceNumber()); + invoiceDetailInfo.setInvoiceNo(invoice.getInvoiceNumber()); + invoiceDetailInfo.setInvoiceCode(invoice.getInvoiceCode()); + invoiceDetailInfo.setDetailNo(invoiceDetail.getRowNo()); + invoiceDetailInfo.setGoodsName(invoiceDetail.getCommodityName()); + invoiceDetailInfo.setModel(invoiceDetail.getSpecificationModel()); + invoiceDetailInfo.setUnit(invoiceDetail.getUnit()); + invoiceDetailInfo.setNum(invoiceDetail.getQuantity()); + invoiceDetailInfo.setUnitPrice(invoiceDetail.getUnitPrice()); + invoiceDetailInfo.setDetailAmount(invoiceDetail.getAmount()); + invoiceDetailInfo.setTaxRate(invoiceDetail.getTaxRate()); + invoiceDetailInfo.setTaxAmount(invoiceDetail.getTax()); + invoiceDetailInfo.setCph(invoiceDetail.getLicensePlateNum()); + invoiceDetailInfo.setLx(invoiceDetail.getType()); + invoiceDetailInfo.setTxrqq(invoiceDetail.getCurrentDateStart()); + invoiceDetailInfo.setTxrqz(invoiceDetail.getCurrentDateEnd()); + invoiceDetailInfo.setTaxCode(invoiceDetail.getTaxCode()); + invoiceDetailInfo.setGoodsName(invoiceDetail.getCommodityName()); + invoiceDetailList.add(invoiceDetailInfo); + } + + } + + return invoiceDetailList; + } + + + public static BigDecimal strToBigDecimal(String str) { + BigDecimal decimal = null; + try { + decimal = new BigDecimal(str); + } catch (Exception e) { + log.error("转换Bigdecimal失败,传入参数为{}", str); + } + return decimal; + } + private TDxInvoiceReimburse convertToReimburse(SNInvoice invoice, TDxInvoiceReimburse reimburse, String fplxdm, String company) { reimburse.setId(IdUtils.nextId()); reimburse.setInvoiceType(fplxdm); From a2230d4196811332a7d690f48855053df466943d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Wed, 24 Jan 2024 14:16:45 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E5=8C=BA=E5=9D=97=E9=93=BE=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=EF=BC=9A=E5=B0=86=E5=BD=B1=E5=83=8F=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E7=A8=8E=E7=8E=87=E8=BD=AC=E5=8C=96=E6=88=90=E6=95=B4=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/service/SNPushCheckRecordService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java index 9531cd34..b98efab5 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java @@ -899,7 +899,6 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { invoiceDetailInfo.setNum(invoiceDetail.getQuantity()); invoiceDetailInfo.setUnitPrice(invoiceDetail.getUnitPrice()); invoiceDetailInfo.setDetailAmount(invoiceDetail.getAmount()); - invoiceDetailInfo.setTaxRate(invoiceDetail.getTaxRate()); invoiceDetailInfo.setTaxAmount(invoiceDetail.getTax()); invoiceDetailInfo.setCph(invoiceDetail.getLicensePlateNum()); invoiceDetailInfo.setLx(invoiceDetail.getType()); @@ -907,7 +906,12 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { invoiceDetailInfo.setTxrqz(invoiceDetail.getCurrentDateEnd()); invoiceDetailInfo.setTaxCode(invoiceDetail.getTaxCode()); invoiceDetailInfo.setGoodsName(invoiceDetail.getCommodityName()); + BigDecimal taxRate = strToBigDecimal(invoiceDetail.getTaxRate()); + if (taxRate != null){ + invoiceDetailInfo.setTaxRate(taxRate.multiply(new BigDecimal("100")).stripTrailingZeros().toPlainString()); + } invoiceDetailList.add(invoiceDetailInfo); + } } From 067cef82710b6daf2e598a569e5cc1647e68b230 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Wed, 24 Jan 2024 14:23:36 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=8C=BA=E5=9D=97=E9=93=BE=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=EF=BC=9A=E7=A8=8E=E7=8E=87=E6=98=8E=E7=BB=86=E4=B8=AD?= =?UTF-8?q?=E5=85=8D=E7=A8=8E=E5=92=8C=E4=B8=8D=E5=BE=81=E7=A8=8E=E7=AD=89?= =?UTF-8?q?=E6=B1=89=E5=AD=97=E7=9B=B4=E6=8E=A5=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/service/SNPushCheckRecordService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java index b98efab5..3440da15 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java @@ -909,6 +909,8 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { BigDecimal taxRate = strToBigDecimal(invoiceDetail.getTaxRate()); if (taxRate != null){ invoiceDetailInfo.setTaxRate(taxRate.multiply(new BigDecimal("100")).stripTrailingZeros().toPlainString()); + }else { + invoiceDetailInfo.setTaxRate(invoiceDetail.getTaxRate()); } invoiceDetailList.add(invoiceDetailInfo); From 0ae24b9088f0df9fed3221bedd76a7d889a8de71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Thu, 25 Jan 2024 10:33:48 +0800 Subject: [PATCH 4/8] =?UTF-8?q?1.=E6=9F=A5=E9=AA=8C=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=8C=BA=E5=9D=97=E9=93=BE=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E4=BD=8D16=202.=E9=A1=B5=E9=9D=A2=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E5=8F=91=E7=A5=A8=E7=B1=BB=E5=9E=8B=E5=8C=BA=E5=9D=97?= =?UTF-8?q?=E9=93=BE=E5=8F=91=E7=A5=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/core/util/InvoiceTypeUtils.java | 3 +++ .../dxhy/erp/service/SNPushCheckRecordService.java | 12 ++++-------- .../service/impl/SignSaveInvoiceInfoServiceImpl.java | 3 +++ .../java/com/dxhy/extend/util/InvoiceTypeUtils.java | 3 +++ 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/dxhy-core/src/main/java/com/dxhy/core/util/InvoiceTypeUtils.java b/dxhy-core/src/main/java/com/dxhy/core/util/InvoiceTypeUtils.java index 5efc552b..3afe6a3d 100644 --- a/dxhy-core/src/main/java/com/dxhy/core/util/InvoiceTypeUtils.java +++ b/dxhy-core/src/main/java/com/dxhy/core/util/InvoiceTypeUtils.java @@ -111,6 +111,9 @@ public class InvoiceTypeUtils { case "186": invoiceName = "全电纸质发票(增值税普通发票)"; break; + case "16": + invoiceName = "区块链发票"; + break; // case "85": // invoiceName = "可报销其他发票"; // break; diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java index 3440da15..fcd19041 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java @@ -763,6 +763,9 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { if (checkInvoiceResult != null && !checkInvoiceResult.containsKey("code") && !checkInvoiceResult.containsKey("cyjg")) { checkInvoiceResult.put("invoiceNo", checkInvoiceResult.getString("invoiceNumber")); + if ("3".equals(invoice.getCheckStatus())){ + checkInvoiceResult.put("checkStatus","3"); + } log.info("补充查验的结果为:{}", checkInvoiceResult); signSaveInvoiceInfoService.saveQueryInvoiceResult(checkInvoiceResult, "", "1", "business"); } else if (invoice != null && "3".equals(invoice.getCheckStatus())) { @@ -804,6 +807,7 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { if (invoice != null){ + invoiceInfo.setInvoiceType("16"); invoiceInfo.setInvoiceCode(invoice.getInvoiceCode()); invoiceInfo.setInvoiceNo(invoice.getInvoiceNumber()); invoiceInfo.setGfTaxNo(invoice.getPurchaserTaxNo()); @@ -864,14 +868,6 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { invoiceInfo.setInvoiceDate(invoiceDate); } - if (StringUtils.isNotBlank(invoice.getInvoiceType())){ - String fplxDm = SNFplxEnum.getFplxDm(invoice.getInvoiceType()); - if (StringUtils.isNotBlank(fplxDm)){ - invoiceInfo.setInvoiceType(fplxDm); - } - } - - if (invoice.getInvoiceLineList() != null && invoice.getInvoiceLineList().size() > 0){ invoiceInfo.setDetailYesorno("1"); } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/SignSaveInvoiceInfoServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/SignSaveInvoiceInfoServiceImpl.java index 0bd85f44..a2212cc2 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/SignSaveInvoiceInfoServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/SignSaveInvoiceInfoServiceImpl.java @@ -550,6 +550,9 @@ public class SignSaveInvoiceInfoServiceImpl extends MpBaseServiceImpl Date: Thu, 25 Jan 2024 15:14:42 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=8C=BA=E5=9D=97=E9=93=BE=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=E5=85=A5=E5=BA=93=EF=BC=9A=E6=98=8E=E7=BB=86=E5=A4=84?= =?UTF-8?q?=E7=90=86=E7=99=BE=E5=88=86=E6=95=B0=E3=80=81=E5=BC=80=E7=A5=A8?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E8=BD=AC=E5=8C=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/service/SNPushCheckRecordService.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java index fcd19041..e2854b32 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java @@ -864,7 +864,7 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { invoiceInfo.setImageId(invoice.getFileId()); if (StringUtils.isNotBlank(invoice.getBillingDate())){ - Date invoiceDate = DateUtils.strToDateLong(invoice.getBillingDate()); + Date invoiceDate = DateUtils.strToDate(invoice.getBillingDate()); invoiceInfo.setInvoiceDate(invoiceDate); } @@ -905,8 +905,8 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { BigDecimal taxRate = strToBigDecimal(invoiceDetail.getTaxRate()); if (taxRate != null){ invoiceDetailInfo.setTaxRate(taxRate.multiply(new BigDecimal("100")).stripTrailingZeros().toPlainString()); - }else { - invoiceDetailInfo.setTaxRate(invoiceDetail.getTaxRate()); + }else if (StringUtils.isBlank(invoiceDetail.getTaxRate())){ + invoiceDetailInfo.setTaxRate(invoiceDetail.getTaxRate().replace("%","")); } invoiceDetailList.add(invoiceDetailInfo); From 3767720047144d592fad0404f06faf51217d5226 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Thu, 25 Jan 2024 15:25:21 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E5=8C=BA=E5=9D=97=E9=93=BE=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=E5=85=A5=E5=BA=93=EF=BC=9A=E6=98=8E=E7=BB=86=E5=85=88?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=86=8D=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/service/SNPushCheckRecordService.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java index e2854b32..89a6299b 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java @@ -4,7 +4,9 @@ import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.dxhy.common.constant.DbConstant; import com.dxhy.common.datasource.config.DynamicContextHolder; import com.dxhy.common.enums.FplxEnum; @@ -777,6 +779,9 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { List tDxRecordInvoiceDetails = convertToEleInvoiceDetail(invoice); if (tDxRecordInvoiceDetails != null && tDxRecordInvoiceDetails.size() > 0) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(BaseTDxRecordInvoiceDetail::getUuid,invoiceInfo.getUuid()); + baseTDxRecordInvoiceDetailDao.delete(queryWrapper); for (BaseTDxRecordInvoiceDetail tDxRecordInvoiceDetail : tDxRecordInvoiceDetails) { baseTDxRecordInvoiceDetailDao.insert(tDxRecordInvoiceDetail); } From 7df3b00ad395cc165a5faeb4784426ac6d89008a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Thu, 25 Jan 2024 15:53:21 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E5=8C=BA=E5=9D=97=E9=93=BE=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=E5=85=A5=E5=BA=93=EF=BC=9A=E6=98=8E=E7=BB=86=E5=85=88?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=86=8D=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/service/SNPushCheckRecordService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java index 89a6299b..56a2ae5f 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java @@ -910,7 +910,7 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { BigDecimal taxRate = strToBigDecimal(invoiceDetail.getTaxRate()); if (taxRate != null){ invoiceDetailInfo.setTaxRate(taxRate.multiply(new BigDecimal("100")).stripTrailingZeros().toPlainString()); - }else if (StringUtils.isBlank(invoiceDetail.getTaxRate())){ + }else if (StringUtils.isNotBlank(invoiceDetail.getTaxRate())){ invoiceDetailInfo.setTaxRate(invoiceDetail.getTaxRate().replace("%","")); } invoiceDetailList.add(invoiceDetailInfo); From 42b8557c84382a7721831e26c18c818c01d40312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B7=AF=E6=98=8E=E6=85=A7?= <1191093413@qq.com> Date: Tue, 5 Mar 2024 10:16:41 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E5=8C=BA=E5=9D=97=E9=93=BE=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=E5=85=A5=E5=BA=93=EF=BC=9A=E6=B7=BB=E5=8A=A0=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/service/SNPushCheckRecordService.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java index 56a2ae5f..25aebbfc 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/SNPushCheckRecordService.java @@ -763,6 +763,7 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { } + //库里没有补充查验 if (checkInvoiceResult != null && !checkInvoiceResult.containsKey("code") && !checkInvoiceResult.containsKey("cyjg")) { checkInvoiceResult.put("invoiceNo", checkInvoiceResult.getString("invoiceNumber")); if ("3".equals(invoice.getCheckStatus())){ @@ -771,8 +772,10 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { log.info("补充查验的结果为:{}", checkInvoiceResult); signSaveInvoiceInfoService.saveQueryInvoiceResult(checkInvoiceResult, "", "1", "business"); } else if (invoice != null && "3".equals(invoice.getCheckStatus())) { + //不可查验类型区块链发票直接从影像取值入库 try { BaseTDxRecordInvoice invoiceInfo = convertToEleInvoiceInfo(invoice); + //插入主信息 baseTDxRecordInvoiceDao.insert(invoiceInfo); if (invoice.getInvoiceLineList() != null && invoice.getInvoiceLineList().size() > 0) { @@ -781,7 +784,9 @@ public class SNPushCheckRecordService extends AbstractServiceAdapter { if (tDxRecordInvoiceDetails != null && tDxRecordInvoiceDetails.size() > 0) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(BaseTDxRecordInvoiceDetail::getUuid,invoiceInfo.getUuid()); + //先删除明细 baseTDxRecordInvoiceDetailDao.delete(queryWrapper); + //插入明细 for (BaseTDxRecordInvoiceDetail tDxRecordInvoiceDetail : tDxRecordInvoiceDetails) { baseTDxRecordInvoiceDetailDao.insert(tDxRecordInvoiceDetail); }