66 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Java
		
	
	
	
package tqq9.lc123.cloud.app.plugin.form.im;
 | 
						|
 | 
						|
import kd.bos.bill.AbstractBillPlugIn;
 | 
						|
import kd.bos.dataentity.entity.DynamicObject;
 | 
						|
import kd.bos.dataentity.utils.StringUtils;
 | 
						|
import kd.bos.form.field.BasedataEdit;
 | 
						|
import kd.bos.form.field.events.BeforeF7SelectEvent;
 | 
						|
import kd.bos.form.field.events.BeforeF7SelectListener;
 | 
						|
import kd.bos.logging.Log;
 | 
						|
import kd.bos.logging.LogFactory;
 | 
						|
import kd.bos.orm.query.QCP;
 | 
						|
import kd.bos.orm.query.QFilter;
 | 
						|
 | 
						|
import java.util.EventObject;
 | 
						|
 | 
						|
/**
 | 
						|
 * 表单通用插件
 | 
						|
 * 行政区划:省市区过滤插件
 | 
						|
 */
 | 
						|
public class AreaSelectionBillPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
 | 
						|
    private final static Log logger = LogFactory.getLog(AreaSelectionBillPlugin.class);
 | 
						|
 | 
						|
    private final static String PROVINCE = "tqq9_province";
 | 
						|
    private final static String CITY = "tqq9_city";
 | 
						|
    private final static String DISTRICT = "tqq9_district";
 | 
						|
 | 
						|
 | 
						|
    @Override
 | 
						|
    public void registerListener(EventObject e) {
 | 
						|
        super.registerListener(e);
 | 
						|
 | 
						|
        // 侦听基础资料字段的事件
 | 
						|
        BasedataEdit Basedata_city = this.getView().getControl(CITY);
 | 
						|
        BasedataEdit Basedata_district = this.getView().getControl(DISTRICT);
 | 
						|
        Basedata_city.addBeforeF7SelectListener(this);
 | 
						|
        Basedata_district.addBeforeF7SelectListener(this);
 | 
						|
    }
 | 
						|
 | 
						|
    @Override
 | 
						|
    public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
 | 
						|
        String key = beforeF7SelectEvent.getProperty().getName();
 | 
						|
        if (StringUtils.equals(CITY, key)) {
 | 
						|
            DynamicObject tqq9_province = (DynamicObject) this.getModel().getValue(PROVINCE);
 | 
						|
            QFilter qFilter = null;
 | 
						|
            if (tqq9_province != null) {
 | 
						|
                qFilter = new QFilter("parent.number", QCP.equals, tqq9_province.getString("number"));
 | 
						|
            } else {
 | 
						|
                qFilter = new QFilter("parent.number", QCP.equals, "过滤全部筛选条件");
 | 
						|
            }
 | 
						|
            beforeF7SelectEvent.addCustomQFilter(qFilter);
 | 
						|
        } else if (StringUtils.equals(DISTRICT, key)) {
 | 
						|
            DynamicObject tqq9_city = (DynamicObject) this.getModel().getValue(CITY);
 | 
						|
            QFilter qFilter = null;
 | 
						|
 | 
						|
            if (tqq9_city != null) {
 | 
						|
                qFilter = new QFilter("parent.number", QCP.equals, tqq9_city.getString("number"));
 | 
						|
            } else {
 | 
						|
                qFilter = new QFilter("parent.number", QCP.equals, "过滤全部筛选条件");
 | 
						|
            }
 | 
						|
            beforeF7SelectEvent.addCustomQFilter(qFilter);
 | 
						|
        }
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
} |