合同登记付款计划分录联动合同总价区域税率01
This commit is contained in:
parent
a4447de1fa
commit
4965528d29
|
@ -4,6 +4,8 @@ import kd.bos.dataentity.entity.DynamicObject;
|
||||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
import kd.bos.dataentity.metadata.IDataEntityProperty;
|
import kd.bos.dataentity.metadata.IDataEntityProperty;
|
||||||
import kd.bos.entity.datamodel.IDataModel;
|
import kd.bos.entity.datamodel.IDataModel;
|
||||||
|
import kd.bos.entity.datamodel.events.AfterDeleteRowEventArgs;
|
||||||
|
import kd.bos.entity.datamodel.events.BeforeDeleteRowEventArgs;
|
||||||
import kd.bos.entity.datamodel.events.ChangeData;
|
import kd.bos.entity.datamodel.events.ChangeData;
|
||||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||||
import kd.bos.form.plugin.AbstractFormPlugin;
|
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||||
|
@ -46,17 +48,14 @@ public class ContractbillFromPlugin extends AbstractFormPlugin {
|
||||||
@Override
|
@Override
|
||||||
public void propertyChanged(PropertyChangedArgs e) {
|
public void propertyChanged(PropertyChangedArgs e) {
|
||||||
super.propertyChanged(e);
|
super.propertyChanged(e);
|
||||||
IDataModel model = this.getModel();
|
|
||||||
String name = e.getProperty().getName();
|
String name = e.getProperty().getName();
|
||||||
ChangeData[] changeSet = e.getChangeSet();
|
ChangeData[] changeSet = e.getChangeSet();
|
||||||
ChangeData changeData = changeSet[0];
|
ChangeData changeData = changeSet[0];
|
||||||
|
|
||||||
|
|
||||||
switch (name){
|
switch (name){
|
||||||
case "contractparty" :
|
case "contractparty" :
|
||||||
DynamicObject newValue = (DynamicObject)changeData.getNewValue();
|
DynamicObject newValue = (DynamicObject)changeData.getNewValue();
|
||||||
this.getModel().setValue("costcompany",newValue);
|
this.getModel().setValue("costcompany",newValue);
|
||||||
case "orientryamount":
|
case "orientryamount"://监听税额变化
|
||||||
DynamicObjectCollection expenseentryentity = this.getModel().getEntryEntity("expenseentryentity");
|
DynamicObjectCollection expenseentryentity = this.getModel().getEntryEntity("expenseentryentity");
|
||||||
BigDecimal orientryamounttotal = BigDecimal.ZERO;
|
BigDecimal orientryamounttotal = BigDecimal.ZERO;
|
||||||
BigDecimal taxamounttotal = BigDecimal.ZERO;
|
BigDecimal taxamounttotal = BigDecimal.ZERO;
|
||||||
|
@ -67,9 +66,40 @@ public class ContractbillFromPlugin extends AbstractFormPlugin {
|
||||||
orientryamounttotal = orientryamounttotal.add(orientryamount);
|
orientryamounttotal = orientryamounttotal.add(orientryamount);
|
||||||
taxamounttotal = taxamounttotal.add(taxamount);
|
taxamounttotal = taxamounttotal.add(taxamount);
|
||||||
}
|
}
|
||||||
BigDecimal divide = orientryamounttotal.divide(taxamounttotal, 2, 4); //计算税率
|
if (orientryamounttotal.compareTo(BigDecimal.ZERO) != 0){
|
||||||
this.getModel().setValue("taxrate",divide);
|
BigDecimal divide = taxamounttotal.divide(orientryamounttotal, 4, 4); //计算税率
|
||||||
|
divide = divide.multiply(new BigDecimal(100));
|
||||||
|
this.getModel().setValue("billtaxrate",divide);
|
||||||
|
}else {
|
||||||
|
this.getModel().setValue("billtaxrate",0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterDeleteRow(AfterDeleteRowEventArgs e) {
|
||||||
|
super.afterDeleteRow(e);
|
||||||
|
String name = e.getEntryProp().getName();
|
||||||
|
if (name.equals("expenseentryentity")){
|
||||||
|
DynamicObjectCollection expenseentryentity = this.getModel().getEntryEntity("expenseentryentity");
|
||||||
|
BigDecimal orientryamounttotal = BigDecimal.ZERO;
|
||||||
|
BigDecimal taxamounttotal = BigDecimal.ZERO;
|
||||||
|
for(int i = 0;i<expenseentryentity.size();i++){
|
||||||
|
DynamicObject dynamicObject = expenseentryentity.get(i);
|
||||||
|
BigDecimal orientryamount = dynamicObject.getBigDecimal("orientryamount");
|
||||||
|
BigDecimal taxamount = dynamicObject.getBigDecimal("taxamount");
|
||||||
|
orientryamounttotal = orientryamounttotal.add(orientryamount);
|
||||||
|
taxamounttotal = taxamounttotal.add(taxamount);
|
||||||
|
}
|
||||||
|
if (orientryamounttotal.compareTo(BigDecimal.ZERO) != 0){
|
||||||
|
BigDecimal divide = taxamounttotal.divide(orientryamounttotal, 2, 4); //计算税率
|
||||||
|
divide = divide.multiply(new BigDecimal(100));
|
||||||
|
this.getModel().setValue("billtaxrate",divide);
|
||||||
|
}else {
|
||||||
|
this.getModel().setValue("billtaxrate",0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue