package fi.er.formPlugin; import com.alibaba.druid.util.StringUtils; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.form.events.AfterDoOperationEventArgs; import kd.bos.list.plugin.AbstractListPlugin; import kd.sdk.plugin.Plugin; import java.math.BigDecimal; public class PublicreimburFormPlugin extends AbstractListPlugin implements Plugin { private final static String KEY_Card = "newassetentry";//资产信息分录增行 @Override public void afterDoOperation(AfterDoOperationEventArgs e) { String operateKey = e.getOperateKey(); if (KEY_Card.equals(e.getOperateKey())) { //资产组织 DynamicObject assetorg = (DynamicObject) this.getModel().getValue("assetorg"); //赋值给资产信息的核算组织 this.getModel().setValue("nckd_orgfield1", assetorg); this.getView().updateView("assetentry"); } else if ("newshareruleentry".equals(e.getOperateKey())) { String sharemethod = (String) this.getModel().getValue("sharemethod"); if (StringUtils.equals(sharemethod, "avg")) { DynamicObjectCollection expenseentryentity_rules = this.getModel().getEntryEntity("expenseentryentity_rule"); BigDecimal reimburseamount = (BigDecimal) this.getModel().getValue("reimburseamount"); BigDecimal nckd_ft_amount = reimburseamount.divide(BigDecimal.valueOf(expenseentryentity_rules.size())); for (int i = 0; i < expenseentryentity_rules.size(); i++) { this.getModel().setValue("nckd_ft_amount", nckd_ft_amount, i); } } } else if ("deleteshareruleentry".equals(e.getOperateKey())) { String sharemethod = (String) this.getModel().getValue("sharemethod"); DynamicObjectCollection expenseentryentity_rules = this.getModel().getEntryEntity("expenseentryentity_rule"); if (StringUtils.equals(sharemethod, "avg") && expenseentryentity_rules.size() > 0) { BigDecimal reimburseamount = (BigDecimal) this.getModel().getValue("reimburseamount"); BigDecimal nckd_ft_amount = reimburseamount.divide(BigDecimal.valueOf(expenseentryentity_rules.size())); for (int i = 0; i < expenseentryentity_rules.size(); i++) { this.getModel().setValue("nckd_ft_amount", nckd_ft_amount, i); } } } } }