From bd4947eb8265b90e6cc27a4936ce1a599450da1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Mon, 25 Sep 2023 10:41:28 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index 75cd0f67..8e37eb4c 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -210,7 +210,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { zdata.setZZSE_DIF("0"); zdata.setZHSJE_DIF("0"); zdata.setZZBZ(item.getRemark()); - zdata.setZFPZT("0"); + zdata.setZFPZT("0".equals(item.getInvoiceStatus())?"0":"1"); zdata.setZKPRQ(DateUtils.dateToStr(item.getInvoiceDate(),DateUtils.YYYYMMDD)); zdata.setMANDT(params.getClientNum()); zdata.setZGFMC(item.getGfName()); From 3300aad11f574d7dd316fc773d4a665076ef8c41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Mon, 25 Sep 2023 11:07:11 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index 8e37eb4c..1da4054d 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -199,6 +199,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { if (StringUtils.isBlank(invoiceType)) { throw new RuntimeException("推送SAP失败,推导发票类型错误,发票代码:"+item.getInvoiceCode()+",发票代码:"+item.getInvoiceNo()); } + ZData zdata = new ZData(); zdata.setZFPDM(StringUtils.isBlank(item.getInvoiceCode())?"":item.getInvoiceCode()); zdata.setZFPHM(item.getInvoiceNo()); From 59f7f105215b09207f56e626b4493f05b2b24add Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Tue, 26 Sep 2023 15:23:25 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index 1da4054d..16e2d026 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -123,6 +123,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { item.setImageId(params.getImageId()); item.setBzdh(params.getBillNum()); item.setBzr(params.getJbrUserName()); + item.setCompCode(params.getCompCode()); }); List salesInvoiceList = new ArrayList<>(); invoicesList.stream().forEach(invoice -> { @@ -150,6 +151,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { saleRecordInvoice.setImageId(invoice.getImageId()); saleRecordInvoice.setBzdh(invoice.getBzdh()); saleRecordInvoice.setBzr(invoice.getBzr()); + saleRecordInvoice.setCompCode(invoice.getCompCode()); DynamicContextHolder.push(DbConstant.BUSINESS_WRITE); sdnyTDxSaleRecordInvoiceDao.updateById(saleRecordInvoice); } From 719ddbe4d75e480f97424e69a54b3cf6824d8f17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Sun, 8 Oct 2023 10:32:52 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index 16e2d026..96fde11e 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -143,9 +143,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { saleRecordInvoice.setId(null); DynamicContextHolder.push(DbConstant.BUSINESS_WRITE); sdnyTDxSaleRecordInvoiceDao.insert(saleRecordInvoice); - DynamicContextHolder.push(DbConstant.DETAIL_READ); - detailSalesDao.deleteByUUid(invoice.getUuid()); - detailSalesDao.batchInsert(salesDetailList); + } else { // 修改 saleRecordInvoice.setImageId(invoice.getImageId()); @@ -155,6 +153,10 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { DynamicContextHolder.push(DbConstant.BUSINESS_WRITE); sdnyTDxSaleRecordInvoiceDao.updateById(saleRecordInvoice); } + DynamicContextHolder.push(DbConstant.DETAIL_READ); + detailSalesDao.deleteByUUid(invoice.getUuid()); + detailSalesDao.batchInsert(salesDetailList); + saleRecordInvoice.setDetailList(salesDetailList); saleRecordInvoice.setSort(paramsInvoiceMap.get(invoice.getUuid()).getSort()); saleRecordInvoice.setFileId(paramsInvoiceMap.get(invoice.getUuid()).getFileId()); From ee266a7ea590556b0ca77a0d69f1db89994d318a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Mon, 9 Oct 2023 09:55:32 +0800 Subject: [PATCH 05/12] =?UTF-8?q?FI845=20FI889=E5=A2=9E=E5=8A=A0=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/controller/SDNYMainProcessController.java | 2 ++ .../java/com/dxhy/erp/entity/sdny/SAPInvoiceInfo.java | 6 ++++++ .../main/java/com/dxhy/erp/entity/sdny/SNInvoice.java | 5 +++++ .../erp/entity/sdny/SdnyTDxSaleRecordInvoice.java | 3 +++ .../src/main/java/com/dxhy/erp/entity/sdny/ZData.java | 11 +++++++++-- .../dxhy/erp/service/impl/ImageSubmitServiceImpl.java | 4 ++++ 6 files changed, 29 insertions(+), 2 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java b/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java index b05fd980..cba17dc2 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/controller/SDNYMainProcessController.java @@ -1306,6 +1306,8 @@ public class SDNYMainProcessController extends AbstractController { info.setZDJZH(snInvoice.getCertificateNo()); info.setZGFMC(snInvoice.getPurchaserName()); info.setSORT(snInvoice.getSort()); + // 文件名 + info.setZWJMC(snInvoice.getFileName()); //机打代码 info.setZJDDM(snInvoice.getMachineCode()); if (snInvoice.getTotalAmount() != null) { diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SAPInvoiceInfo.java b/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SAPInvoiceInfo.java index 409356e1..ad0f2f7f 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SAPInvoiceInfo.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SAPInvoiceInfo.java @@ -545,4 +545,10 @@ public class SAPInvoiceInfo { @JSONField(name = "ZTID") private String ZTID = ""; + /** + * 文件名称 + */ + @JSONField(name = "ZWJMC") + private String ZWJMC = ""; + } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SNInvoice.java b/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SNInvoice.java index bacc972e..045dc1c9 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SNInvoice.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SNInvoice.java @@ -334,6 +334,11 @@ public class SNInvoice { */ private String isDeductible; + /** + * 文件名 + */ + private String fileName; + /** * 明细列表 */ diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SdnyTDxSaleRecordInvoice.java b/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SdnyTDxSaleRecordInvoice.java index 23f276d9..472f51a4 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SdnyTDxSaleRecordInvoice.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/SdnyTDxSaleRecordInvoice.java @@ -858,4 +858,7 @@ public class SdnyTDxSaleRecordInvoice implements Serializable { private String sort; @TableField(exist = false) private String fileId; + + @TableField(exist = false) + private String fileName; } \ No newline at end of file diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/ZData.java b/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/ZData.java index 0c575036..6711e17c 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/ZData.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/entity/sdny/ZData.java @@ -340,6 +340,11 @@ public class ZData { * 国税局商品编码 发票信息空则不传 */ private String ZGSJBM=""; + + /** + * 文件名称 + */ + private String ZWJMC = ""; @JSONField(name = "ZBHSJE_Y") public String getZBHSJE_Y() { return ZBHSJE_Y; @@ -729,6 +734,8 @@ public class ZData { return RESERVE5; } - - + @JSONField(name = "ZWJMC") + public String getZWJMC() { + return ZWJMC; + } } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index 96fde11e..9f66e499 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -160,6 +160,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { saleRecordInvoice.setDetailList(salesDetailList); saleRecordInvoice.setSort(paramsInvoiceMap.get(invoice.getUuid()).getSort()); saleRecordInvoice.setFileId(paramsInvoiceMap.get(invoice.getUuid()).getFileId()); + saleRecordInvoice.setFileName(paramsInvoiceMap.get(invoice.getUuid()).getFileName()); salesInvoiceList.add(saleRecordInvoice); }); @@ -255,6 +256,9 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { zdata.setFPYXBH(item.getFileId()); zdata.setIMG_ID(params.getImageId()); zdata.setSORT(String.valueOf(item.getSort())); + // 增加文件名 + zdata.setZWJMC(item.getFileName()); + // 处理明细行 List zDatas=new ArrayList<>(); for (SdnyTDxRecordInvoiceDetailSales detail : item.getDetailList()) { From cf55fa1e055385113289359142726015ed8a2b43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Tue, 31 Oct 2023 14:57:56 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/service/impl/ImageSubmitServiceImpl.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index 9f66e499..36ab74c5 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -65,7 +65,6 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { uuidList.add(uuid); paramsInvoiceMap.put(uuid, item); }); - DynamicContextHolder.push(DbConstant.BUSINESS_WRITE); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("uuid", uuidList); List invoicesList = tdxRecordInvoiceDao.selectList(queryWrapper); @@ -85,7 +84,6 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { String errorMsg = msg.toString(); return R.error(500, "未查询到如下发票,请重新查验," + errorMsg); } - DynamicContextHolder.push(DbConstant.DETAIL_WRITE); QueryWrapper detailQueryWrapper = new QueryWrapper<>(); detailQueryWrapper.in("uuid", uuidList); List detailList = detailDao.selectList(detailQueryWrapper); @@ -129,8 +127,11 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { invoicesList.stream().forEach(invoice -> { - DynamicContextHolder.push(DbConstant.BUSINESS_WRITE); - SdnyTDxSaleRecordInvoice saleRecordInvoice = sdnyTDxSaleRecordInvoiceDao.selectOne(new QueryWrapper().eq("uuid", invoice.getUuid())); + List saleRecordInvoices = sdnyTDxSaleRecordInvoiceDao.selectList(new QueryWrapper().eq("uuid", invoice.getUuid())); + SdnyTDxSaleRecordInvoice saleRecordInvoice = null; + if (saleRecordInvoices!=null && saleRecordInvoices.size()>0) { + saleRecordInvoice = saleRecordInvoices.get(0); + } List salesDetailList = new ArrayList<>(); detailiMap.get(invoice.getUuid()).stream().forEach(item -> { SdnyTDxRecordInvoiceDetailSales salesDetail = JsonUtils.getInstance().parseObject(JSONObject.toJSONString(item), SdnyTDxRecordInvoiceDetailSales.class); @@ -141,7 +142,6 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { // 新增 saleRecordInvoice = JsonUtils.getInstance().parseObject(JSONObject.toJSONString(invoice), SdnyTDxSaleRecordInvoice.class); saleRecordInvoice.setId(null); - DynamicContextHolder.push(DbConstant.BUSINESS_WRITE); sdnyTDxSaleRecordInvoiceDao.insert(saleRecordInvoice); } else { @@ -150,10 +150,8 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { saleRecordInvoice.setBzdh(invoice.getBzdh()); saleRecordInvoice.setBzr(invoice.getBzr()); saleRecordInvoice.setCompCode(invoice.getCompCode()); - DynamicContextHolder.push(DbConstant.BUSINESS_WRITE); sdnyTDxSaleRecordInvoiceDao.updateById(saleRecordInvoice); } - DynamicContextHolder.push(DbConstant.DETAIL_READ); detailSalesDao.deleteByUUid(invoice.getUuid()); detailSalesDao.batchInsert(salesDetailList); @@ -169,7 +167,6 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { @Override public R salesInvoiceRollback(SNRequestObject params) { - DynamicContextHolder.push(DbConstant.BUSINESS_WRITE); List data = sdnyTDxSaleRecordInvoiceDao.selectList(new QueryWrapper().eq("image_id", params.getImageId())); if (data != null && data.size() > 0) { List uuidList = new ArrayList<>(); From 71bce900d308e14d01581eb71857eaeacf622cd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Tue, 31 Oct 2023 15:11:20 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=20=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index 36ab74c5..5c476cac 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -192,6 +192,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { * @return */ public R pushSap(List invoiceList, SNRequestObject params) { + log.info("销项发票推送SAP准备数据:{},影像参数:{}", invoiceList, params); String dt = DateUtil.now(); List zDataList = new ArrayList<>(); if (invoiceList != null) { From 29fd83da9c51ee9c63ecb765cbadf05b77a80212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Tue, 31 Oct 2023 16:03:37 +0800 Subject: [PATCH 08/12] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=20=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/dxhy/erp/enums/TaxRateCodeEnum.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/enums/TaxRateCodeEnum.java b/dxhy-erp/src/main/java/com/dxhy/erp/enums/TaxRateCodeEnum.java index f1030d92..d3efc56b 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/enums/TaxRateCodeEnum.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/enums/TaxRateCodeEnum.java @@ -2,6 +2,8 @@ package com.dxhy.erp.enums; import com.dxhy.common.vo.Tax; +import java.math.BigDecimal; + /** * 税率 税码关系表 */ @@ -26,7 +28,7 @@ public enum TaxRateCodeEnum { public static String getCode(String taxRate) { for (TaxRateCodeEnum codeEnum : TaxRateCodeEnum.values()) { - if (codeEnum.getTaxRate().equals(taxRate)) { + if (new BigDecimal(codeEnum.getTaxRate()).compareTo(new BigDecimal(taxRate))==0) { return codeEnum.getCode(); } } From 42b3a1da16b8abc8662ac9946ab99e5a4f81318b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Tue, 31 Oct 2023 16:14:42 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=20=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dxhy-erp/src/main/java/com/dxhy/erp/enums/TaxRateCodeEnum.java | 2 +- .../java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/enums/TaxRateCodeEnum.java b/dxhy-erp/src/main/java/com/dxhy/erp/enums/TaxRateCodeEnum.java index d3efc56b..f9f08aa8 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/enums/TaxRateCodeEnum.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/enums/TaxRateCodeEnum.java @@ -28,7 +28,7 @@ public enum TaxRateCodeEnum { public static String getCode(String taxRate) { for (TaxRateCodeEnum codeEnum : TaxRateCodeEnum.values()) { - if (new BigDecimal(codeEnum.getTaxRate()).compareTo(new BigDecimal(taxRate))==0) { + if (codeEnum.getTaxRate().equals(taxRate)) { return codeEnum.getCode(); } } diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index 5c476cac..66426cba 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -284,7 +284,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { .INVOICETYPE(invoiceType) .ZHWMC(detail.getGoodsName()) .ZTID(zdata.getZTID()) - .ZSM(TaxRateCodeEnum.getCode(detail.getTaxRate())) + .ZSM(TaxRateCodeEnum.getCode(detail.getTaxRateOfSap().toPlainString())) .build()); } String taxRate = ""; From fb9aa083dd212a99c56c281876100fc699d3420c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Tue, 31 Oct 2023 16:37:11 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=20=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dxhy/erp/service/impl/ImageSubmitServiceImpl.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index 66426cba..f66b1659 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -261,7 +261,8 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { List zDatas=new ArrayList<>(); for (SdnyTDxRecordInvoiceDetailSales detail : item.getDetailList()) { detail.setTaxRateOfSap(getTaxRate(detail.getTaxRate())); - detail.setTaxRate(detail.getTaxRateOfSap().multiply(new BigDecimal(100)).stripTrailingZeros().toPlainString()); + detail.setTaxRate(detail.getTaxRateOfSap().multiply(new BigDecimal(100)).setScale(4,BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString()); + log.info("明细行数据:{}",JSONObject.toJSONString(detail)); BigDecimal totalAmount = new BigDecimal(detail.getDetailAmount()).add(new BigDecimal(detail.getTaxAmount())); zDatas.add(ZData.builder() .ZBHSJE(detail.getDetailAmount()) @@ -284,7 +285,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { .INVOICETYPE(invoiceType) .ZHWMC(detail.getGoodsName()) .ZTID(zdata.getZTID()) - .ZSM(TaxRateCodeEnum.getCode(detail.getTaxRateOfSap().toPlainString())) + .ZSM(TaxRateCodeEnum.getCode(detail.getTaxRate())) .build()); } String taxRate = ""; @@ -358,7 +359,7 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { } public static void main(String[] args) { - BigDecimal a = new BigDecimal(13); - System.out.println(a.stripTrailingZeros().toPlainString()); + BigDecimal a = new BigDecimal(0.015); + System.out.println(a.multiply(new BigDecimal(100)).setScale(4,BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString()); } } From 9004686f2795e9cf5c9cd7765dc8cd3cc96343c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Tue, 31 Oct 2023 17:14:09 +0800 Subject: [PATCH 11/12] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=20=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dxhy/erp/service/impl/ImageSubmitServiceImpl.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index f66b1659..be32ee55 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -134,8 +134,11 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { } List salesDetailList = new ArrayList<>(); detailiMap.get(invoice.getUuid()).stream().forEach(item -> { + log.info("进项表明细行:{}",JSONObject.toJSONString(item)); SdnyTDxRecordInvoiceDetailSales salesDetail = JsonUtils.getInstance().parseObject(JSONObject.toJSONString(item), SdnyTDxRecordInvoiceDetailSales.class); + log.info("销项表明细行:{}",JSONObject.toJSONString(salesDetail)); salesDetail.setId(null); + salesDetail.setTaxRate(item.getTaxRate()); salesDetailList.add(salesDetail); }); if (saleRecordInvoice == null) { @@ -359,7 +362,9 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { } public static void main(String[] args) { - BigDecimal a = new BigDecimal(0.015); - System.out.println(a.multiply(new BigDecimal(100)).setScale(4,BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString()); + BigDecimal a = new BigDecimal(0.13); + String tax = a.multiply(new BigDecimal(100)).setScale(4,BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString(); + System.out.println(tax); + System.out.println(TaxRateCodeEnum.getCode(tax)); } } From 0492d07dab22e44817af70795977ef1372c71c70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=90=A6?= Date: Thu, 2 Nov 2023 17:39:02 +0800 Subject: [PATCH 12/12] =?UTF-8?q?=E9=94=80=E9=A1=B9=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=20=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ImageSubmitServiceImpl.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java index be32ee55..c3d4c475 100644 --- a/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java +++ b/dxhy-erp/src/main/java/com/dxhy/erp/service/impl/ImageSubmitServiceImpl.java @@ -330,14 +330,14 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { * @param taxRate * @return 去掉%的小数 */ - public BigDecimal getTaxRate(String taxRate) { + public static BigDecimal getTaxRate(String taxRate) { if (StringUtils.isBlank(taxRate) || Constant.ZERO_TAXRATE_VALUE.contains(taxRate)) { taxRate = "0"; } else { taxRate = taxRate.replace("%", ""); // 判断是不是数字 不是数字的就给0 if (!isNumeric(taxRate)) { - taxRate = "0.00"; + taxRate = "0"; } else { // 不知道库里存的是13% 还是0.13 所以加一个判断 if (new BigDecimal(taxRate).compareTo(BigDecimal.ONE) >= 0) { @@ -352,19 +352,21 @@ public class ImageSubmitServiceImpl implements ImageSubmitService { } public static boolean isNumeric(String str){ - for (int i = str.length();--i>=0;){ - if (!Character.isDigit(str.charAt(i))){ - return false; - } + try { + Double.parseDouble(str); + return true; + } catch (NumberFormatException e) { + return false; } - return true; } public static void main(String[] args) { BigDecimal a = new BigDecimal(0.13); String tax = a.multiply(new BigDecimal(100)).setScale(4,BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString(); - System.out.println(tax); + System.out.println(StringUtils.isNumeric("13.00")); + System.out.println(isNumeric("1e1")); + System.out.println(getTaxRate("13.00")); System.out.println(TaxRateCodeEnum.getCode(tax)); } }