合同变更清单选择过滤插件
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