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 @   凉了记忆  阅读(69)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示