parent
b6a9815e00
commit
48e4d8e331
|
@ -0,0 +1,104 @@
|
||||||
|
package shkd.sys.sys.plugin.form;
|
||||||
|
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||||
|
import kd.bos.form.field.BasedataEdit;
|
||||||
|
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
||||||
|
import kd.bos.form.field.events.BeforeF7SelectListener;
|
||||||
|
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||||
|
import kd.bos.list.ListShowParameter;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.util.StringUtils;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.EventObject;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单据界面插件
|
||||||
|
*/
|
||||||
|
public class CasRecbillFormPlugin extends AbstractFormPlugin implements BeforeF7SelectListener {
|
||||||
|
@Override
|
||||||
|
public void registerListener(EventObject e) {
|
||||||
|
super.registerListener(e);
|
||||||
|
//监听基础资料
|
||||||
|
BasedataEdit laxv_itemclassfield = this.getView().getControl("shkd_xkuse");//单据类型(星空)
|
||||||
|
laxv_itemclassfield.addBeforeF7SelectListener(this);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void propertyChanged(PropertyChangedArgs e) {
|
||||||
|
super.propertyChanged(e);
|
||||||
|
List<String> list = Arrays.asList("1", "2", "3", "4", "5", "6");
|
||||||
|
String name = e.getProperty().getName();
|
||||||
|
if ("shkd_xkbilltype".equals(name)) {
|
||||||
|
String NewValue = (String) e.getChangeSet()[0].getNewValue();
|
||||||
|
String NewValuetype = getType(NewValue);
|
||||||
|
if (list.contains(NewValue)) {
|
||||||
|
DynamicObjectCollection entrys = (DynamicObjectCollection) this.getModel().getValue("entry");
|
||||||
|
int i=0;
|
||||||
|
for (DynamicObject entry : entrys) {
|
||||||
|
DynamicObject shkd_xkuse = entry.getDynamicObject("shkd_xkuse");//用途
|
||||||
|
if (shkd_xkuse != null) {
|
||||||
|
String shkd_businesstype = shkd_xkuse.getString("shkd_businesstype");
|
||||||
|
if (!NewValuetype.equals(shkd_businesstype)){
|
||||||
|
this.getModel().setValue("shkd_xkuse",null,i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
||||||
|
String name = beforeF7SelectEvent.getProperty().getName();
|
||||||
|
if (name.equals("shkd_xkuse")) {
|
||||||
|
String shkd_xkbilltype = (String) this.getModel().getValue("shkd_xkbilltype");//单据类型
|
||||||
|
QFilter qFilter = null;
|
||||||
|
ListShowParameter showParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
|
||||||
|
if (!StringUtils.isEmpty(shkd_xkbilltype)) {
|
||||||
|
switch (shkd_xkbilltype) {
|
||||||
|
case "1":
|
||||||
|
qFilter = new QFilter("shkd_businesstype", QFilter.equals, "采购业务");
|
||||||
|
showParameter.getListFilterParameter().setFilter(qFilter);
|
||||||
|
break;
|
||||||
|
case "2":
|
||||||
|
case "3":
|
||||||
|
case "4":
|
||||||
|
qFilter = new QFilter("shkd_businesstype", QFilter.equals, "其他业务");
|
||||||
|
showParameter.getListFilterParameter().setFilter(qFilter);
|
||||||
|
break;
|
||||||
|
case "5":
|
||||||
|
case "6":
|
||||||
|
qFilter = new QFilter("shkd_businesstype", QFilter.equals, "工资发放");
|
||||||
|
showParameter.getListFilterParameter().setFilter(qFilter);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
System.out.println("其他数字");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType(String value) {
|
||||||
|
switch (value) {
|
||||||
|
case "1":
|
||||||
|
return "采购业务";
|
||||||
|
case "2":
|
||||||
|
case "3":
|
||||||
|
case "4":
|
||||||
|
return "其他业务";
|
||||||
|
case "5":
|
||||||
|
case "6":
|
||||||
|
return "工资发放";
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue