PublicreimburFormPlugin.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package fi.er.formPlugin;
  2. import com.alibaba.druid.util.StringUtils;
  3. import kd.bos.dataentity.entity.DynamicObject;
  4. import kd.bos.dataentity.entity.DynamicObjectCollection;
  5. import kd.bos.form.events.AfterDoOperationEventArgs;
  6. import kd.bos.list.plugin.AbstractListPlugin;
  7. import kd.sdk.plugin.Plugin;
  8. import java.math.BigDecimal;
  9. public class PublicreimburFormPlugin extends AbstractListPlugin implements Plugin {
  10. private final static String KEY_Card = "newassetentry";//资产信息分录增行
  11. @Override
  12. public void afterDoOperation(AfterDoOperationEventArgs e) {
  13. String operateKey = e.getOperateKey();
  14. if (KEY_Card.equals(e.getOperateKey())) {
  15. //资产组织
  16. DynamicObject assetorg = (DynamicObject) this.getModel().getValue("assetorg");
  17. //赋值给资产信息的核算组织
  18. this.getModel().setValue("nckd_orgfield1", assetorg);
  19. this.getView().updateView("assetentry");
  20. } else if ("newshareruleentry".equals(e.getOperateKey())) {
  21. String sharemethod = (String) this.getModel().getValue("sharemethod");
  22. if (StringUtils.equals(sharemethod, "avg")) {
  23. DynamicObjectCollection expenseentryentity_rules = this.getModel().getEntryEntity("expenseentryentity_rule");
  24. BigDecimal reimburseamount = (BigDecimal) this.getModel().getValue("reimburseamount");
  25. BigDecimal nckd_ft_amount = reimburseamount.divide(BigDecimal.valueOf(expenseentryentity_rules.size()));
  26. for (int i = 0; i < expenseentryentity_rules.size(); i++) {
  27. this.getModel().setValue("nckd_ft_amount", nckd_ft_amount, i);
  28. }
  29. }
  30. } else if ("deleteshareruleentry".equals(e.getOperateKey())) {
  31. String sharemethod = (String) this.getModel().getValue("sharemethod");
  32. DynamicObjectCollection expenseentryentity_rules = this.getModel().getEntryEntity("expenseentryentity_rule");
  33. if (StringUtils.equals(sharemethod, "avg") && expenseentryentity_rules.size() > 0) {
  34. BigDecimal reimburseamount = (BigDecimal) this.getModel().getValue("reimburseamount");
  35. BigDecimal nckd_ft_amount = reimburseamount.divide(BigDecimal.valueOf(expenseentryentity_rules.size()));
  36. for (int i = 0; i < expenseentryentity_rules.size(); i++) {
  37. this.getModel().setValue("nckd_ft_amount", nckd_ft_amount, i);
  38. }
  39. }
  40. }
  41. }
  42. }