eas客户端editui与listui查询的oql语句

在editui中使用oql查询的时候具体如下

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();
        }

上面 this.editData.getEasCompanyNumber() 实际元数据定义的是F7字段,数据库保存的是公司id,这里oql语句查询,实际上就是利用对象的属性查询,如果需要到其他的表,

这里假设我们想要用公司的编码去查对象这可以使用如下方式,

AdminOrgUnitInfo easCompany = this.editData.getEasCompanyNumber();
        String oql = "where easCompanyNumber.number= '"+easCompany.getNumber.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();
        }

这里的 easCompanyNumber.number ,easCompanyNumber就是editData里的属性,number 就是组织单元 AdminOrgUnit 里的属性

 

posted @ 2023-03-03 11:33  凉了记忆  阅读(66)  评论(0编辑  收藏  举报