提交人:陈绍鑫

日期:2025/5/14 17:30
内容:账户明细查询保存操作插件
This commit is contained in:
陈绍鑫 2025-05-14 17:44:48 +08:00
parent e58cd13785
commit 74ebce5819
2 changed files with 105 additions and 0 deletions

View File

@ -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);
}
}
}

View File

@ -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 {
}
}