From 7f2abe0009f66ebb4ab68558f151fe81fb6ef398 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Fri, 18 Jul 2025 14:58:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=9A=E7=A8=8E=E7=8E=87=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pr/plugin/form/EcContractFromPlugin.java | 165 +++++++++--------- 1 file changed, 86 insertions(+), 79 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcContractFromPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcContractFromPlugin.java index 1c0d020..92543c5 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcContractFromPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EcContractFromPlugin.java @@ -25,45 +25,53 @@ public class EcContractFromPlugin extends AbstractBillPlugIn implements Plugin { super.propertyChanged(e); String name = e.getProperty().getName(); ChangeData changeData = e.getChangeSet()[0]; - if (name.equals("contracttype")){ + if (name.equals("contracttype")) { Object contracttype = this.getModel().getValue("contracttype"); - if (contracttype!=null){ + if (contracttype != null) { DynamicObject type = (DynamicObject) contracttype; String number = type.getString("number"); - if (number.equals("sbzssr")){ - this.getView().setVisible(true,"zcgj_equipment"); - this.getView().setVisible(false,"zcgj_administer"); + if (number.equals("sbzssr")) { + this.getView().setVisible(true, "zcgj_equipment"); + this.getView().setVisible(false, "zcgj_administer"); } else if (number.equals("hfzl")) { - this.getView().setVisible(true,"zcgj_administer"); - this.getView().setVisible(false,"zcgj_equipment"); - }else { - this.getView().setVisible(false,"zcgj_administer"); - this.getView().setVisible(false,"zcgj_equipment"); + this.getView().setVisible(true, "zcgj_administer"); + this.getView().setVisible(false, "zcgj_equipment"); + } else { + this.getView().setVisible(false, "zcgj_administer"); + this.getView().setVisible(false, "zcgj_equipment"); } } } - Object taxrate = this.getModel().getValue("taxrate"); - if (taxrate != null) { - DynamicObject taxrateInfo = (DynamicObject) taxrate; - BigDecimal trate = taxrateInfo.getBigDecimal("taxrate"); - BigDecimal pRate = trate.divide(new BigDecimal(100)).add(new BigDecimal(1)); - BigDecimal amount = new BigDecimal(0); - BigDecimal ofamount = new BigDecimal(0); - BigDecimal rate = new BigDecimal(0); - DynamicObject dataEntity = this.getModel().getDataEntity(true); - if (name.equals("zcgj_pjnhhshte")) { - Object zcgjPjnhbhshte = this.getModel().getValue("zcgj_pjnhhshte"); - if (zcgjPjnhbhshte != null) { - ofamount = new BigDecimal(zcgjPjnhbhshte.toString()); - } - amount = ofamount.divide(pRate, 6, BigDecimal.ROUND_HALF_UP); - rate = ofamount.subtract(amount); - dataEntity.set("zcgj_pjnhbhshte", amount); - dataEntity.set("zcgj_pjnhse", rate); + Object taxrate = this.getModel().getValue("taxrate");//税率 + BigDecimal avgtaxrate = (BigDecimal) this.getModel().getValue("avgtaxrate");//综合税率 + boolean ismultirate = (boolean) this.getModel().getValue("ismultirate");//多税率 + BigDecimal pRate = new BigDecimal(0); + if (ismultirate) { + pRate = avgtaxrate; + } else { + if (taxrate != null) { + DynamicObject taxrateInfo = (DynamicObject) taxrate; + BigDecimal trate = taxrateInfo.getBigDecimal("taxrate"); + pRate = trate.divide(new BigDecimal(100)).add(new BigDecimal(1)); + } + } + BigDecimal amount = new BigDecimal(0); + BigDecimal ofamount = new BigDecimal(0); + BigDecimal rate = new BigDecimal(0); + DynamicObject dataEntity = this.getModel().getDataEntity(true); + if (name.equals("zcgj_pjnhhshte")) { + Object zcgjPjnhbhshte = this.getModel().getValue("zcgj_pjnhhshte"); + if (zcgjPjnhbhshte != null) { + ofamount = new BigDecimal(zcgjPjnhbhshte.toString()); + } + amount = ofamount.divide(pRate, 6, BigDecimal.ROUND_HALF_UP); + rate = ofamount.subtract(amount); + dataEntity.set("zcgj_pjnhbhshte", amount); + dataEntity.set("zcgj_pjnhse", rate); // this.getModel().setValue("zcgj_pjnhbhshte", amount); // this.getModel().setValue("zcgj_pjnhse", rate); - this.getView().updateView(); - } else if (name.equals("zcgj_pjnhbhshte")) { + this.getView().updateView(); + } else if (name.equals("zcgj_pjnhbhshte")) { // Object zcgjPjnhhshte = this.getModel().getValue("zcgj_pjnhbhshte"); // Object zcgjPjnhhshte = changeData.getNewValue(); // if (zcgjPjnhhshte != null) { @@ -77,59 +85,59 @@ public class EcContractFromPlugin extends AbstractBillPlugIn implements Plugin { // dataEntity.set("zcgj_pjnhhshte", ofamount); // dataEntity.set("zcgj_pjnhse", rate); // this.getView().updateView(); - }else if (name.equals("zcgj_yjhshtsr")) { - Object zcgjyjhshtsr = this.getModel().getValue("zcgj_yjhshtsr"); - if (zcgjyjhshtsr != null) { - ofamount = new BigDecimal(zcgjyjhshtsr.toString()); - } - amount = ofamount.divide(pRate, 6, BigDecimal.ROUND_HALF_UP); - rate = ofamount.subtract(amount); + } else if (name.equals("zcgj_yjhshtsr")) { + Object zcgjyjhshtsr = this.getModel().getValue("zcgj_yjhshtsr"); + if (zcgjyjhshtsr != null) { + ofamount = new BigDecimal(zcgjyjhshtsr.toString()); + } + amount = ofamount.divide(pRate, 6, BigDecimal.ROUND_HALF_UP); + rate = ofamount.subtract(amount); // this.getModel().setValue("zcgj_yjbhshtsr", amount); // this.getModel().setValue("zcgj_yjzse", rate); - dataEntity.set("zcgj_yjbhshtsr", amount); - dataEntity.set("zcgj_yjzse", rate); - this.getView().updateView(); - } else if (name.equals("zcgj_yjbhshtsr")) { - Object zcgjyjbhshtsr = this.getModel().getValue("zcgj_yjbhshtsr"); - if (zcgjyjbhshtsr != null) { - amount = new BigDecimal(zcgjyjbhshtsr.toString()); - } - ofamount = amount.multiply(pRate); - rate = ofamount.subtract(amount); + dataEntity.set("zcgj_yjbhshtsr", amount); + dataEntity.set("zcgj_yjzse", rate); + this.getView().updateView(); + } else if (name.equals("zcgj_yjbhshtsr")) { + Object zcgjyjbhshtsr = this.getModel().getValue("zcgj_yjbhshtsr"); + if (zcgjyjbhshtsr != null) { + amount = new BigDecimal(zcgjyjbhshtsr.toString()); + } + ofamount = amount.multiply(pRate); + rate = ofamount.subtract(amount); // this.getModel().setValue("zcgj_yjhshtsr", ofamount); // this.getModel().setValue("zcgj_yjzse", rate); - dataEntity.set("zcgj_yjhshtsr", ofamount); - dataEntity.set("zcgj_yjzse", rate); - this.getView().updateView(); - }else if (name.equals("zcgj_hshtdj")) { - Object zcgjhshtdj = this.getModel().getValue("zcgj_hshtdj"); - if (zcgjhshtdj != null) { - ofamount = new BigDecimal(zcgjhshtdj.toString()); - } - amount = ofamount.divide(pRate,6, BigDecimal.ROUND_HALF_UP); - dataEntity.set("zcgj_bhshtdj", amount); + dataEntity.set("zcgj_yjhshtsr", ofamount); + dataEntity.set("zcgj_yjzse", rate); + this.getView().updateView(); + } else if (name.equals("zcgj_hshtdj")) { + Object zcgjhshtdj = this.getModel().getValue("zcgj_hshtdj"); + if (zcgjhshtdj != null) { + ofamount = new BigDecimal(zcgjhshtdj.toString()); + } + amount = ofamount.divide(pRate, 6, BigDecimal.ROUND_HALF_UP); + dataEntity.set("zcgj_bhshtdj", amount); // this.getModel().setValue("zcgj_bhshtdj", ofamount); - this.getView().updateView(); - }else if (name.equals("zcgj_bhshtdj")) { - Object zcgjbhshtdj = this.getModel().getValue("zcgj_bhshtdj"); - if (zcgjbhshtdj != null) { - amount = new BigDecimal(zcgjbhshtdj.toString()); - } - ofamount = amount.multiply(pRate); - dataEntity.set("zcgj_hshtdj", ofamount); + this.getView().updateView(); + } else if (name.equals("zcgj_bhshtdj")) { + Object zcgjbhshtdj = this.getModel().getValue("zcgj_bhshtdj"); + if (zcgjbhshtdj != null) { + amount = new BigDecimal(zcgjbhshtdj.toString()); + } + ofamount = amount.multiply(pRate); + dataEntity.set("zcgj_hshtdj", ofamount); // this.getModel().setValue("zcgj_hshtdj", ofamount); - this.getView().updateView(); - } else if (name.equals("zcgj_bnyjhshte")) { - Object zcgjbnyjbhshte = this.getModel().getValue("zcgj_bnyjhshte"); - if (zcgjbnyjbhshte != null) { - ofamount = new BigDecimal(zcgjbnyjbhshte.toString()); - } - amount = ofamount.divide(pRate, 6, BigDecimal.ROUND_HALF_UP); - rate = ofamount.subtract(amount); - dataEntity.set("zcgj_bnyjbhshte", amount); - dataEntity.set("zcgj_bnyjse", rate); - this.getView().updateView(); - } else if (name.equals("zcgj_bnyjbhshte")) { + this.getView().updateView(); + } else if (name.equals("zcgj_bnyjhshte")) { + Object zcgjbnyjbhshte = this.getModel().getValue("zcgj_bnyjhshte"); + if (zcgjbnyjbhshte != null) { + ofamount = new BigDecimal(zcgjbnyjbhshte.toString()); + } + amount = ofamount.divide(pRate, 6, BigDecimal.ROUND_HALF_UP); + rate = ofamount.subtract(amount); + dataEntity.set("zcgj_bnyjbhshte", amount); + dataEntity.set("zcgj_bnyjse", rate); + this.getView().updateView(); + } else if (name.equals("zcgj_bnyjbhshte")) { // Object zcgjbnyjhshte = this.getModel().getValue("zcgj_bnyjbhshte"); // if (zcgjbnyjhshte != null) { // amount = new BigDecimal(zcgjbnyjhshte.toString()); @@ -139,8 +147,7 @@ public class EcContractFromPlugin extends AbstractBillPlugIn implements Plugin { // dataEntity.set("zcgj_bnyjhshte", ofamount); // dataEntity.set("zcgj_bnyjse", rate); // this.getView().updateView(); - } - } + } } \ No newline at end of file