费用登记|付款申请,选中收款单增加组织过滤

This commit is contained in:
ptt 2025-04-21 13:47:10 +08:00
parent 6dfc062a2e
commit 5eccdfed59
1 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,73 @@
package shkd.repc.repe.listplguin;
import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.metadata.IDataEntityType;
import kd.bos.entity.MainEntityType;
import kd.bos.entity.datamodel.IDataModel;
import kd.bos.form.IFormView;
import kd.bos.form.events.SetFilterEvent;
import kd.bos.list.plugin.AbstractListPlugin;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.sdk.plugin.Plugin;
import java.util.*;
/**
* 标准单据列表插件
*/
public class RecDocFilterOrgListPlugin extends AbstractListPlugin implements Plugin {
@Override
public void afterBindData(EventObject e) {
super.afterBindData(e);
IFormView parentView = this.getView().getParentView();
MainEntityType dataEntityType = parentView.getModel().getDataEntityType();
}
@Override
public void setFilter(SetFilterEvent e) {
super.setFilter(e);
Set<String> filterKeywords = new HashSet<>(Arrays.asList(
"deliverydate_c", "orderform_f7.billno", "orderform_f7.supplier.name", "receivedate","deliveryform_f7.deliverydate","orderform_f7.purchaseorg.id",
"receivedate", "acceptor.name", "description", "orderform_f7.formdate", "orderform_f7.formdate", "org.name", "billno", "orderform_f7.purchaseorg.name"
));
IFormView parentView = this.getView().getParentView();
IDataModel model = parentView.getModel();
DynamicObject dataEntity = model.getDataEntity();
IDataEntityType dataEntityType = dataEntity.getDataEntityType();
String name = dataEntityType.getName();
//费用登记||付款申请
if ("recon_connotextbill".equals(name) ||"recon_payreqbill".equals(name)) {
System.out.println(1);
List<QFilter> qFiletrs = e.getQFilters();
List<QFilter> qFilterList = new ArrayList<>();
int size = qFiletrs.size();
if (qFiletrs!=null && size > 0) {
for (int i = 0; i < qFiletrs.size(); i++) {
QFilter qFilter = qFiletrs.get(i);
if (null != qFilter) {
String string = qFilter.toString();
for (String keyword : filterKeywords) {
if (string.contains(keyword)) {
qFilterList.add(qFilter);
break;
}
}
}
}
}
qFiletrs.removeAll(qFiletrs);
DynamicObject org = dataEntity.getDynamicObject("org");
if (null != org) {
List<QFilter> qFilters = e.getQFilters();
QFilter q1 = new QFilter("org.name", QCP.equals, org.getString("name"));
QFilter q2 = new QFilter("billstatus", QCP.equals, "B");
qFilterList.add(q1.and(q2));
qFilters.addAll(qFilterList);
}
}
}
}