eas里客户端保存,提交里增加校验规则和必填

业务单据、基础资料,在编辑界面EditUI中进行必录校验时,可以直接从界面绑定的数据对象editData中获取值,无需通过界面控件取值。

对于单据头中的属性值,通过editData可以直接通过get方法获取到属性值。对于分录中的数据,可以先获取分录集合,然后遍历分录集合,进行非空校验。

在暂存、保存save、提交submit时,框架会自动调用verifyInput必录校验方法。此时,界面控件中的值已经封装到界面对象中,因此无需直接从控件中取值。

 protected void verifyInput(ActionEvent e) throws Exception {
        VerifyClientUtils.input(this, editData.getEasCompanyNumber(), "EAS公司编码不能为空!");
        VerifyClientUtils.input(this, editData.getEasCompanyName(), "EAS公司名称不能为空!");
        VerifyClientUtils.input(this, editData.getErpCompanyNumber(), "erp公司标识不能为空!");
        VerifyClientUtils.input(this, editData.getErpCompanyName(), "erp公司名称不能为空!");
        AdminOrgUnitInfo easCompany = this.editData.getEasCompanyNumber();
        String oql = "where easCompanyNumber = '"+easCompany.getId().toString()+"'";
        //已经维护的eas公司不能再维护
        if (!EmptyUtil.isEmpty(editData.getId())) {
            oql = oql +" and id !='"+editData.getId().toString()+"'";
        }
        BICompanyRelfCollection info = BICompanyRelfFactory.getRemoteInstance().getBICompanyRelfCollection(oql);
        if (!EmptyUtil.isEmpty(info)) {
            MsgBox.showWarning("EAS编码"+easCompany.getNumber()+"公司已维护erp公司映射关系");
            SysUtil.abort();
        }
    }

下面VefifyClientUtils的部分代码,包含了常见的一些校验规则,可以复制后使用

package com.kingdee.eas.custom.utils;

import java.awt.Component;

import com.kingdee.bos.dao.IObjectCollection;
import com.kingdee.eas.framework.CoreBaseInfo;
import com.kingdee.eas.util.SysUtil;
import com.kingdee.eas.util.client.MsgBox;

/**  
 * @Description: 客户端校验工具类
 * @author zhangLiangfeng
 * @date 
 */
public class VerifyClientUtils {
    /**
     * 必录校验,用于前端输入检查
     * 参数为空时弹出警告信息并中断程序
     * @param comp 父控件
     * @param param 参数
     * @param warning 警告信息
     * @author zhangLiangfeng
     * 
     */
    public static void input(Component comp, String param, String warning){        
        if(param == null || param.trim().length() == 0){
            MsgBox.showWarning(comp, warning);
            SysUtil.abort();
        }
            
    }
     
    /**
     * 必录校验,用于前端输入检查
     * 参数为空时弹出警告信息并中断程序
     * @param comp 父控件
     * @param param 参数
     * @param warning 警告信息
     * @author zhangLiangfeng
     * 
     */
    public static void input(Component comp, Integer param, String warning){        
        if(param == null){
            MsgBox.showWarning(comp, warning);
            SysUtil.abort();
        }
            
    }
     
    /**
     * 必录校验,用于前端输入检查
     * 参数为空时弹出警告信息并中断程序
     * @param comp 父控件
     * @param param 参数
     * @param warning 警告信息
     * 
     */
    public static void input(Component comp, Object param, String warning){        
        if(param == null){
            MsgBox.showWarning(comp, warning);
            SysUtil.abort();
        }
            
    }
     
    /**
     * 必录校验,用于前端输入检查
     * 参数为空时弹出警告信息并中断程序
     * @param comp 父控件
     * @param param 参数
     * @param warning 警告信息
     * @author zhangLiangfeng
     * 
     */
    public static void input(Component comp, CoreBaseInfo param, String warning){    
        if(param == null){
            MsgBox.showWarning(comp, warning);
            SysUtil.abort();
        }
            
    }
     
    /**
     * 必录校验,用于前端输入检查
     * 参数为空时弹出警告信息并中断程序
     * @param comp 父控件
     * @param param 参数
     * @param warning 警告信息
     * @author zhangLiangfeng
     * 
     */
    public static void input(Component comp, IObjectCollection param, String warning){        
        if(param == null || param.isEmpty()){
            MsgBox.showWarning(comp, warning);
            SysUtil.abort();
        }
            
    }
    
    /**
     * 警告并中断程序,用于前端
     * @param comp 父控件
     * @param msg 警告消息
     * 
     */
    public static void warning(Component comp, String msg){
        MsgBox.showWarning(comp, msg);
        SysUtil.abort();
    }
     
    /**
     * 警告并中断程序,用于前端
     * @param comp 父控件
     * @param msg 警告消息
     * 
     */
    public static void warning(Component comp, StringBuffer msg){
        MsgBox.showWarning(comp, msg.toString());
        SysUtil.abort();
    }

}

 

posted @ 2023-03-03 14:05  凉了记忆  阅读(203)  评论(0编辑  收藏  举报