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