lc/lc123/cloud/app/plugin/form/im/AreaSelectionBillPlugin.java

76 lines
2.9 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.entity.LocaleString;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.entity.datamodel.events.ChangeData;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
import kd.bos.form.field.BasedataEdit;
import kd.bos.form.field.ComboEdit;
import kd.bos.form.field.ComboItem;
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 kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.sdk.plugin.Plugin;
import tqq9.lc123.cloud.app.plugin.form.conm.purconmAddRebateRulesPlugin;
import java.util.ArrayList;
import java.util.EventObject;
import java.util.List;
/**
* 表单通用插件
* 行政区划:省市区过滤插件
*/
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);
}
}
}