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