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