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