找回密码
 注册成为天翎用户
查看: 856|回复: 2

用sql语句根据部门名称获取部门id不成功

[复制链接]
anten 发表于 2016-8-13 17:25:30 | 显示全部楼层 |阅读模式
本帖最后由 wander 于 2016-8-17 17:51 编辑

用sql语句根据部门名称获取部门id不成功,以下是语句,调试后data1打印输出为null值,请问如何解决?
var orgname=getItemValueAsString("orgname");
var sql1="select * from obpm.t_department where name='"+orgname+"'";
var data1=findBySQL(sql1);
        println("账户管理表单之执行后orgname+sql1+data1: "+orgname+"+"+sql1+"+"+data1);
if(data1!=null)
{
        var department=data1.getId();//默认部门为当前组织名称
}else{
        var department = "11e1-81e2-37fe734a-9124-47aada6b7467"; //默认部门ID
}
six 发表于 2016-8-15 15:39:50 | 显示全部楼层
本帖最后由 six 于 2016-8-15 18:01 编辑

参考脚本如下:
var process = createProcess("cn.myapps.core.department.ejb.DepartmentProcess");
        var domainid = getDomainid();
        var deptId = "";
        var deptlist = process.getDepartmentByName(name,domainid);//name就是指部门名称
        if(deptlist!=null && deptlist.size()>0){
           for(var iter = deptlist.iterator();iter.hasNext();){
                                var dept = iter.next();
                                        deptId = dept.getId();
                                        break;
           }
        }
        deptId;

你的脚本,我已经修改过了,是因为视图查询或用findBySQL时,必须查询字段包含domain,并且字段需要有别名item_开头
  1. var orgname=getItemValueAsString("orgname");
  2. var sql1="select '"+getDomainid()+"' as domain, id as item_ID from obpm.t_department where name='"+orgname+"'";
  3. var data1=findBySQL(sql1);
  4.         println("账户管理表单之执行后orgname+sql1+data1: "+orgname+"+"+sql1+"+"+data1);
  5. if(data1!=null)
  6. {
  7.         var department=data1.getItemValueAsString("ID");//默认部门为当前组织名称
  8. }else{
  9.         var department = "11e1-81e2-37fe734a-9124-47aada6b7467"; //默认部门ID
  10. }
复制代码
回复

使用道具 举报

 楼主| anten 发表于 2016-8-16 23:23:18 | 显示全部楼层
已按上述方案解决了,谢谢!
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 01:22

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表