合同变更清单选择过滤插件
This commit is contained in:
parent
e087d24de1
commit
9547c02b0c
|
@ -0,0 +1,79 @@
|
||||||
|
package zcgj.zcdev.zcdev.pr.plugin.form;
|
||||||
|
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.utils.StringUtils;
|
||||||
|
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
||||||
|
import kd.bos.list.ListShowParameter;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
import kd.ec.contract.formplugin.ContractRevisionListingPlugin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class ContractRevisionListingExtPlugin extends ContractRevisionListingPlugin {
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeF7Select(BeforeF7SelectEvent beforef7selectevent) {
|
||||||
|
switch (beforef7selectevent.getProperty().getName()) {
|
||||||
|
case "listid":
|
||||||
|
this.beforeListingSelect(beforef7selectevent);
|
||||||
|
break;
|
||||||
|
case "listunitproject":
|
||||||
|
this.beforeUnitProjectSelect(beforef7selectevent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void beforeListingSelect(BeforeF7SelectEvent beforef7selectevent) {
|
||||||
|
ListShowParameter lsp = (ListShowParameter)beforef7selectevent.getFormShowParameter();
|
||||||
|
List<QFilter> qFilters = lsp.getListFilterParameter().getQFilters();
|
||||||
|
this.addContractAndModelFilter(qFilters);
|
||||||
|
this.addNewListingSuperFilter(qFilters);
|
||||||
|
int row = beforef7selectevent.getRow();
|
||||||
|
DynamicObject con = (DynamicObject)this.getModel().getValue("contract");
|
||||||
|
String baseType = BusinessDataServiceHelper.loadSingle(con.getDynamicObject("contracttype").getPkValue(), "ec_conttype").getDynamicObject("contattr").getString("basictype");
|
||||||
|
String subChangeType = (String)this.getModel().getValue("subchangetype", row);
|
||||||
|
/*if (StringUtils.equals(subChangeType, "1") && !"09".equals(baseType)) {
|
||||||
|
qFilters.add(new QFilter("lstsettleqty", "<", "totalqty", true));
|
||||||
|
}*/
|
||||||
|
|
||||||
|
int rowIndex = this.getModel().getEntryCurrentRowIndex("kapianentry");
|
||||||
|
Object listModelId = this.getModel().getValue("listmodelid", rowIndex);
|
||||||
|
lsp.setCustomParam("listmodelid", listModelId);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addContractAndModelFilter(List<QFilter> qFilters) {
|
||||||
|
int rowIndex = this.getModel().getEntryCurrentRowIndex("kapianentry");
|
||||||
|
Object listModelId = this.getModel().getValue("listmodelid", rowIndex);
|
||||||
|
if (StringUtils.isNotBlank(listModelId)) {
|
||||||
|
qFilters.add(new QFilter("listingmodel", "=", Long.parseLong(listModelId.toString())));
|
||||||
|
}
|
||||||
|
|
||||||
|
DynamicObject contract = (DynamicObject)this.getModel().getValue("contract");
|
||||||
|
if (contract != null) {
|
||||||
|
qFilters.add(new QFilter("contractid", "=", contract.getLong("id")));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addNewListingSuperFilter(List<QFilter> qFilters) {
|
||||||
|
for(DynamicObject entry : this.getModel().getEntryEntity("entryentity")) {
|
||||||
|
if (!"3".equals(entry.getString("subchangetype")) && !"2".equals(entry.getString("subchangetype"))) {
|
||||||
|
DynamicObject listing = entry.getDynamicObject("listid");
|
||||||
|
if (listing != null) {
|
||||||
|
qFilters.add(new QFilter("id", "<>", listing.getLong("id")));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
DynamicObject parent = entry.getDynamicObject("parentgroup");
|
||||||
|
if (parent != null) {
|
||||||
|
boolean isLeaf = parent.getBoolean("isleaf");
|
||||||
|
if (isLeaf) {
|
||||||
|
qFilters.add(new QFilter("id", "<>", parent.getLong("id")));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue