优化销售发票报价换算率和报价数量计算

This commit is contained in:
mzr 2025-05-06 18:20:50 +08:00
parent 7a0ff47696
commit eef8d75183
1 changed files with 10 additions and 1 deletions

View File

@ -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);
}