单据转换插件设置满足某条件不允许下推的示例
public class JudgContractState extends AbstractConvertPlugIn implements Plugin {
@Override
public void beforeBuildRowCondition(BeforeBuildRowConditionEventArgs e) {
List<ListSelectedRow> selectedRows = e.getSelectedRows();
List<Long> pkValues = new ArrayList<>();
for (ListSelectedRow selectedRow : selectedRows) {
Long keyValue = (Long) selectedRow.getPrimaryKeyValue();
pkValues.add(keyValue);
}
Map<String, HashSet<Long>> targetBills = BFTrackerServiceHelper.findTargetBills("yfsw_dcxys", pkValues.toArray(new Long[0]));
if (targetBills.containsKey("yfsw_contract")) {
HashSet<Long> preferId = targetBills.get("yfsw_contract");
List<String> billStatusList = new ArrayList<>();
for (Long next : preferId) {
DynamicObject object = BusinessDataServiceHelper.loadSingle(next, "yfsw_contract");
String billStatus = object.getString("yfsw_htzhuangtai");
billStatusList.add(billStatus);
}
if (billStatusList.contains("A")){
e.setCustFilterDesc("存在签署中的合同,不允许重复发起!"); // 不允许下推的原因
// 设置条件表达式,用于脚本执行 (必选)
e.setCustFilterExpression(" 1 != 1 ");
// 同时设置具有相同含义的QFilter条件,用于选单数据查询 (必选)
QFilter qFilter = new QFilter("1", QCP.not_equals, "1");
e.getCustQFilters().add(qFilter);
}
}
}
}
![1 1]()
本文链接:https://www.naiteiy.site/index.php/archives/77/