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