From 20f9a9e13c18a16e86515a70f23a6a35757045aa Mon Sep 17 00:00:00 2001 From: zengweihai Date: Wed, 26 Jun 2024 19:27:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=AE=E6=97=85=E6=8A=A5=E9=94=80=E5=8D=95?= =?UTF-8?q?=E5=88=86=E5=BD=95=E6=88=90=E6=9C=AC=E4=B8=AD=E5=BF=83=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E3=80=81=E8=A1=A5=E5=8A=A9=E6=8A=A5=E9=94=80=E9=87=91?= =?UTF-8?q?=E9=A2=9D=E8=87=AA=E5=8A=A8=E8=AE=A1=E7=AE=97=E5=8F=8A=E6=88=90?= =?UTF-8?q?=E6=9C=AC=E4=B8=AD=E5=BF=83=E5=BF=85=E5=BD=95=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...eimBillStaAmountCalculationFormPlugin.java | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 shkd-cosmic-debug/src/main/java/shkd/fi/em/plugin/formplugin/TripReimBillStaAmountCalculationFormPlugin.java diff --git a/shkd-cosmic-debug/src/main/java/shkd/fi/em/plugin/formplugin/TripReimBillStaAmountCalculationFormPlugin.java b/shkd-cosmic-debug/src/main/java/shkd/fi/em/plugin/formplugin/TripReimBillStaAmountCalculationFormPlugin.java new file mode 100644 index 0000000..08a38e7 --- /dev/null +++ b/shkd-cosmic-debug/src/main/java/shkd/fi/em/plugin/formplugin/TripReimBillStaAmountCalculationFormPlugin.java @@ -0,0 +1,55 @@ +package shkd.fi.em.plugin.formplugin; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.datamodel.events.ChangeData; +import kd.bos.entity.datamodel.events.PropertyChangedArgs; +import kd.bos.form.control.Control; +import kd.bos.form.field.BasedataEdit; +import kd.bos.form.plugin.AbstractFormPlugin; +import kd.sdk.plugin.Plugin; + +import java.math.BigDecimal; +import java.util.EventObject; + +/** + * 动态表单插件 + */ +public class TripReimBillStaAmountCalculationFormPlugin extends AbstractFormPlugin implements Plugin { + + + @Override + public void afterBindData(EventObject e) { + super.afterBindData(e); + BasedataEdit std_costcenter = this.getControl("std_costcenter"); + std_costcenter.setMustInput(true); + } + + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + String name = e.getProperty().getName(); + if ("caldaycount".equals(name)){ + ChangeData[] changeSet = e.getChangeSet(); + int rowIndex = changeSet[0].getRowIndex();//获取天数变更行下标。 + BigDecimal newValue = (BigDecimal) changeSet[0].getNewValue(); + DynamicObjectCollection entryentity = this.getModel().getEntryEntity("entryentity"); + DynamicObject dynamicObject = entryentity.get(rowIndex); + DynamicObject expenseitem = dynamicObject.getDynamicObject("expenseitem"); + String longnumber = expenseitem.getString("longnumber");//获取编码 + if ("0016".equals(longnumber)){ + this.getModel().setValue("orientryamount",newValue.multiply(BigDecimal.valueOf(100)),rowIndex); + } + }else if ("std_costcenter".equals(name)){ + ChangeData[] changeSet = e.getChangeSet(); + DynamicObject newValue = (DynamicObject) changeSet[0].getNewValue(); + DynamicObjectCollection entryentity = this.getModel().getEntryEntity("entryentity"); + for (int i = 0 ; i < entryentity.size(); i++){ + this.getModel().setValue("travelcostcenter",newValue,i); + } + } + + + + } +} \ No newline at end of file