From eef8d751836c35345eb17713ff4847925c1f8eb3 Mon Sep 17 00:00:00 2001 From: mzr Date: Tue, 6 May 2025 18:20:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=94=80=E5=94=AE=E5=8F=91?= =?UTF-8?q?=E7=A5=A8=E6=8A=A5=E4=BB=B7=E6=8D=A2=E7=AE=97=E7=8E=87=E5=92=8C?= =?UTF-8?q?=E6=8A=A5=E4=BB=B7=E6=95=B0=E9=87=8F=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../saleinvoice/operator/IAPISaleInvMaitainImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/so/src/public/nccloud/api/so/saleinvoice/operator/IAPISaleInvMaitainImpl.java b/so/src/public/nccloud/api/so/saleinvoice/operator/IAPISaleInvMaitainImpl.java index c1144bb..73bb90e 100644 --- a/so/src/public/nccloud/api/so/saleinvoice/operator/IAPISaleInvMaitainImpl.java +++ b/so/src/public/nccloud/api/so/saleinvoice/operator/IAPISaleInvMaitainImpl.java @@ -319,7 +319,8 @@ public class IAPISaleInvMaitainImpl { itemDetails.put("pk_group", "00");// 集团 itemDetails.put("pk_org", originalJson.getJSONObject("billhead").getString("pk_org"));// 开票组织 itemDetails.put("cunitid", item.getString("castunitid"));// 主单位 - itemDetails.put("vchangerate", value2.getOrDefault("vchangerate", "1/1") + "");// 换算率 + String vchangerate = value2.getOrDefault("vchangerate", "1/1") + ""; + itemDetails.put("vchangerate", vchangerate);// 换算率 // 从销售订单中获取币种 String currencycode = getString_TrimAsNull(value2.get("currencycode")); @@ -370,6 +371,14 @@ public class IAPISaleInvMaitainImpl { itemDetails.put("norigtaxnetprice", norigtaxnetprice);// 主含税净价 itemDetails.put("nnetprice", nnetprice);// 主本币无税净价 itemDetails.put("ntaxmny", ntaxmny);// 本币价税合计 + itemDetails.put("vqtunitrate", vchangerate);// 报价换算率 + UFDouble[] measrateNums = HslParseUtil.parseHsl(vchangerate); + UFDouble measrateNum = UFDouble.ONE_DBL; + if (null != measrateNums && measrateNums.length != 0) { + measrateNum = measrateNums[0].div(measrateNums[1]).setScale(2, 4); + } + // 报价数量 + itemDetails.put("nqtunitnum", nnum.multiply(measrateNum).setScale(2, UFDouble.ROUND_HALF_UP)); csaleinvoicebid.add(itemDetails); }