123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package fi.em.formPlugin;
- import kd.bos.bill.AbstractBillPlugIn;
- import kd.bos.context.RequestContext;
- import kd.bos.dataentity.entity.DynamicObject;
- import kd.bos.dataentity.entity.DynamicObjectCollection;
- import kd.bos.form.field.BasedataEdit;
- import kd.bos.form.field.events.BeforeF7SelectEvent;
- import kd.bos.form.field.events.BeforeF7SelectListener;
- import kd.bos.list.ListShowParameter;
- import kd.bos.orm.query.QCP;
- import kd.bos.orm.query.QFilter;
- import kd.bos.permission.api.HasPermOrgResult;
- import kd.bos.servicehelper.user.UserServiceHelper;
- import kd.sdk.plugin.Plugin;
- import org.apache.commons.lang.StringUtils;
- import java.util.ArrayList;
- import java.util.EventObject;
- import java.util.List;
- public class BusinessPdF7FormPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
- @Override
- public void registerListener(EventObject e) {
- super.registerListener(e);
- // 侦听基础资料字段的事件
- BasedataEdit fieldEdit = this.getView().getControl("nckd_basedatafield18");
- BasedataEdit fieldEdit1 = this.getView().getControl("nckd_orgfield1");
- fieldEdit.addBeforeF7SelectListener(this);
- fieldEdit1.addBeforeF7SelectListener(this);
- }
- @Override
- public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
- String fieldKey = beforeF7SelectEvent.getProperty().getName();
- if (StringUtils.equals(fieldKey, "nckd_basedatafield18")){
- List<String> numberList = new ArrayList<>();
- DynamicObjectCollection dynamicObjectCollections = this.getModel().getEntryEntity("nckd_entryentity61121");
- for (DynamicObject dynamicObject : dynamicObjectCollections) {
- DynamicObject fin = dynamicObject.getDynamicObject("nckd_basedatafield18");
- if (fin != null) {
- String number = fin.getString("number");
- numberList.add(number);
- }
- }
- if (numberList.size() > 0) {
- QFilter qFilter = new QFilter("number", QCP.not_in, numberList);
- // 表过滤条件
- ListShowParameter showParameter = (ListShowParameter)beforeF7SelectEvent.getFormShowParameter();
- showParameter.setShowApproved(false);
- showParameter.getListFilterParameter().setFilter(qFilter);
- }
- } else if (StringUtils.equals(fieldKey, "nckd_orgfield1")) {
- long lUserId = Long.parseLong(RequestContext.get().getUserId());
- HasPermOrgResult hasPermOrgResult = UserServiceHelper.getUserChangeAbleOrg(lUserId, true);
- List<Long> getHasPermOrgs = hasPermOrgResult.getHasPermOrgs();
- // 表过滤条件
- QFilter qFilter = new QFilter("id", QCP.in, getHasPermOrgs);
- ListShowParameter showParameter = (ListShowParameter)beforeF7SelectEvent.getFormShowParameter();
- showParameter.getListFilterParameter().setFilter(qFilter);
- }
- }
- }
|