parent
e58cd13785
commit
74ebce5819
|
@ -0,0 +1,91 @@
|
||||||
|
package shkd.sys.sys.plugin.form;
|
||||||
|
|
||||||
|
import com.alibaba.druid.util.StringUtils;
|
||||||
|
import kd.bos.dataentity.serialization.SerializationUtils;
|
||||||
|
import kd.bos.entity.EntityMetadataCache;
|
||||||
|
import kd.bos.entity.MainEntityType;
|
||||||
|
import kd.bos.entity.filter.FilterBuilder;
|
||||||
|
import kd.bos.entity.filter.FilterCondition;
|
||||||
|
import kd.bos.form.control.Control;
|
||||||
|
import kd.bos.form.control.FilterGrid;
|
||||||
|
import kd.bos.form.events.AfterDoOperationEventArgs;
|
||||||
|
import kd.bos.form.events.BeforeDoOperationEventArgs;
|
||||||
|
import kd.bos.form.operate.FormOperate;
|
||||||
|
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.EventObject;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class banksavekdFormPlugin extends AbstractFormPlugin {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerListener(EventObject e) {
|
||||||
|
super.registerListener(e);
|
||||||
|
this.addItemClickListeners("tbmain");
|
||||||
|
this.addClickListeners("bar_save");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeBindData(EventObject e) {
|
||||||
|
super.beforeBindData(e);
|
||||||
|
FilterGrid filterGrid = this.getView().getControl("shkd_filtergridap");
|
||||||
|
filterGrid.setEntityNumber("bd_material");
|
||||||
|
List<String> keys = new ArrayList<>();
|
||||||
|
keys.add("number");//编码,这个可以添加为过滤字段
|
||||||
|
keys.add("name");//商品标签,多选基础资料,无法添加为过滤字段
|
||||||
|
filterGrid.setFilterFieldKeys(keys);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterBindData(EventObject e) {
|
||||||
|
// FilterCondition为存储的过滤配置元数据,需要自行从存储加载
|
||||||
|
String filterObj = (String) getModel().getValue("shkd_filter");
|
||||||
|
FilterCondition filterCondition = null;
|
||||||
|
if (!StringUtils.isEmpty(filterObj)) {
|
||||||
|
filterCondition = SerializationUtils.fromJsonString(filterObj.toString(), FilterCondition.class);
|
||||||
|
}
|
||||||
|
if (filterCondition != null){
|
||||||
|
FilterGrid filterGrid = getView().getControl("shkd_filtergridap");
|
||||||
|
filterGrid.SetValue(filterCondition);
|
||||||
|
MainEntityType mainEntityType = EntityMetadataCache.getDataEntityType("bd_material");
|
||||||
|
FilterBuilder filterBuilder = new FilterBuilder(mainEntityType, filterCondition);
|
||||||
|
filterBuilder.buildFilter();
|
||||||
|
QFilter qFilter = filterBuilder.getQFilter();
|
||||||
|
System.out.println(qFilter);
|
||||||
|
}
|
||||||
|
super.afterBindData(e);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void click(EventObject evt) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterDoOperation(AfterDoOperationEventArgs afterDoOperationEventArgs) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeDoOperation(BeforeDoOperationEventArgs args) {
|
||||||
|
FormOperate oprate = (FormOperate) args.getSource();
|
||||||
|
String operationKey = oprate.getOperateKey();
|
||||||
|
if (StringUtils.equalsIgnoreCase("save", operationKey)) {
|
||||||
|
FilterGrid filterGrid = getControl("shkd_filtergridap");
|
||||||
|
FilterGrid.FilterGridState filterGridState = filterGrid.getFilterGridState();
|
||||||
|
|
||||||
|
//buildFilter(filterGridState); //可以使用FilterBuilder类进行条件预解析,如果解析过程有异常会自动抛错
|
||||||
|
FilterCondition filterCondition = filterGridState.getFilterCondition();
|
||||||
|
// 实现filtercondition的存储逻辑,为了示例简单这里不演示了
|
||||||
|
String filter = null;
|
||||||
|
// 序列化
|
||||||
|
if (filterCondition != null) {
|
||||||
|
filter = SerializationUtils.toJsonString(filterCondition);
|
||||||
|
}
|
||||||
|
getModel().setValue("shkd_filter", filter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
package shkd.sys.sys.plugin.task;
|
||||||
|
|
||||||
|
import kd.bos.context.RequestContext;
|
||||||
|
import kd.bos.exception.KDException;
|
||||||
|
import kd.bos.schedule.executor.AbstractTask;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class banksavekdTaskPlugin extends AbstractTask {
|
||||||
|
@Override
|
||||||
|
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue