RealCardF7OpPlugin.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package fi.fa.opplugin;
  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.entity.datamodel.events.ChangeData;
  6. import kd.bos.entity.datamodel.events.PropertyChangedArgs;
  7. import kd.bos.form.field.MulBasedataEdit;
  8. import kd.bos.form.field.RefBillEdit;
  9. import kd.bos.form.field.events.BeforeF7SelectEvent;
  10. import kd.bos.form.field.events.BeforeF7SelectListener;
  11. import kd.bos.form.plugin.AbstractFormPlugin;
  12. import kd.bos.list.ListShowParameter;
  13. import kd.bos.orm.query.QCP;
  14. import kd.bos.orm.query.QFilter;
  15. import kd.bos.servicehelper.BusinessDataServiceHelper;
  16. import java.util.EventObject;
  17. //实物卡片关联e管家实物卡片清单插件
  18. public class RealCardF7OpPlugin extends AbstractFormPlugin implements BeforeF7SelectListener {
  19. @Override
  20. public void propertyChanged(PropertyChangedArgs e) {
  21. String fieldKey = e.getProperty().getName();
  22. if (StringUtils.equals("nckd_real_card", fieldKey)) {
  23. ChangeData changeData = e.getChangeSet()[0];
  24. DynamicObjectCollection dynamicObjectCollection = (DynamicObjectCollection) changeData.getNewValue();
  25. this.getModel().deleteEntryData("nckd_realcard_list");
  26. for (DynamicObject object : dynamicObjectCollection) {
  27. DynamicObject cardInfo = BusinessDataServiceHelper.loadSingle(object.get(2), "nckd_fa_card_real_list");
  28. int rowIndex = this.getModel().createNewEntryRow("nckd_realcard_list");
  29. this.getModel().setValue("nckd_card_code21", cardInfo, rowIndex);
  30. }
  31. this.getView().updateView("nckd_realcard_list");
  32. }
  33. }
  34. @Override
  35. public void registerListener(EventObject e) {
  36. //监听单据字段
  37. super.registerListener(e);
  38. MulBasedataEdit mEdit = this.getView().getControl("nckd_real_card");
  39. mEdit.addBeforeF7SelectListener(this);
  40. }
  41. @Override
  42. public void beforeF7Select(BeforeF7SelectEvent arg0) {
  43. String fieldKey = arg0.getProperty().getName();
  44. if (StringUtils.equals(fieldKey, "nckd_real_card")) {
  45. DynamicObject assetunit = (DynamicObject) this.getModel().getValue("assetunit");//资产组织
  46. QFilter qFilter = new QFilter("nckd_orgfield.id", QCP.equals, assetunit.getLong("id"));
  47. // 表过滤条件
  48. ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
  49. showParameter.setShowApproved(false);
  50. showParameter.getListFilterParameter().setFilter(qFilter);
  51. }
  52. }
  53. }