diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayBillSubmitOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayBillSubmitOperation.java index cfc70db..9826f52 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayBillSubmitOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayBillSubmitOperation.java @@ -146,7 +146,6 @@ public class PayBillSubmitOperation extends AbstractOperationServicePlugIn imple IT_ITEM.put("GJAHR", dynamicObject.getString("shjh_voucheryear"));//会计年度 IT_ITEM.put("BELNR", dynamicObject.getString("shjh_vouchernums"));//会计凭证编号 IT_ITEM.put("BUZEI", dynamicObject.getString("shjh_voucherentrynum"));//会计凭证中的行项目数 - setAmount(dynamicObject, IT_ITEM, bill);//设置金额 String payeetype = bill.getString("payeetype");//收款人类型 String payeebanknum = bill.getString("payeebanknum");//收款银行账号 String bvtyp = ""; @@ -173,11 +172,21 @@ public class PayBillSubmitOperation extends AbstractOperationServicePlugIn imple } } } -// IT_ITEM.put("LIFNR", "0001002765");//供应商或债权人的帐号 IT_ITEM.put("ZWLYH",payeebanknum);//往来银行 IT_ITEM.put("BVTYP",bvtyp);//合作银行类型 IT_ITEM.put("ZJDDJID", ""+bill.getPkValue());//金蝶单据ID IT_ITEM.put("ZJDDJBH", bill.getString("billno"));//金蝶单据编号 + //如果(“异币种支付”=是 )或(“异币种支付”=否 ,且付款币种不等于人民币),取明细行中的 应付折本币 + if(bill.getBoolean("isdiffcur") || !"CNY".equals(bill.getString("currency.number"))){ + //如果是外币支付,则取分录应付折本币字段作为总金额和未清金额,已清金额为0;前台已设置外币不允许合并排程 + IT_ITEM.put("DMBTR1", dynamicObject.getBigDecimal("e_payablelocamt"));//按折本位币计的金额 总金额 + IT_ITEM.put("DMBTR2", BigDecimal.ZERO);//按折本位币计的金额 已清 + IT_ITEM.put("DMBTR", dynamicObject.getBigDecimal("e_payablelocamt"));//按折本位币计的金额 未清 + }else{ + //如果非外币支付,使用原逻辑 + setAmount(dynamicObject, IT_ITEM, bill);//设置金额 + } + IT_ITEMS.add(IT_ITEM); } }