天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
楼主: 网络菜菜

[已解决] 社区版如何脚本运行执行两个数据源的表单

[复制链接]
 楼主| 网络菜菜 发表于 2024-2-23 10:06:56 | 显示全部楼层
yaya 发表于 2024-2-22 17:31
很抱歉,我的问题,改成这个试试obpm5.t_user.defaultdepartment 。

改了,但提示的错误一样

var insert_sql = "SELECT LEFT(oa5.tlk_职务岗位导入.`ID`,18) AS ID, obpm5.t_user.defaultdepartment AS DEPARTMENTID, obpm5.t_user.ID AS USERID, oa5.`tlk_职务岗位导入`.ITEM_ROLEID2 AS ROLEID FROM obpm5.t_user INNER JOIN oa5.`tlk_职务岗位导入` ON obpm5.t_user.NAME = oa5.`tlk_职务岗位导入`.item_name WHERE obpm5.t_user.NAME='" + array + "'";
        var list2 = queryByDSName('售后管理系统库',  insert_sql);


错误
java.lang.Exception: JavaScriptRunning:[FormName:null Activity(__2M01tFMIyeOHNwkLj7s).同步角色.afterActionScript]: Wrapped java.sql.SQLException: Column 'DEFAULTDEPARTMENT' not found. (baselib#1)
yaya 发表于 2024-2-23 11:48:13 | 显示全部楼层
网络菜菜 发表于 2024-2-23 10:06
改了,但提示的错误一样

var insert_sql = "SELECT LEFT(oa5.tlk_职务岗位导入.`ID`,18) AS ID, obpm5 ...

看一下预编译有成功吗
 楼主| 网络菜菜 发表于 2024-2-23 14:16:27 | 显示全部楼层
yaya 发表于 2024-2-23 11:48
看一下预编译有成功吗

预编译无提示出错。
yaya 发表于 2024-2-23 15:34:30 | 显示全部楼层
网络菜菜 发表于 2024-2-23 10:06
改了,但提示的错误一样

var insert_sql = "SELECT LEFT(oa5.tlk_职务岗位导入.`ID`,18) AS ID, obpm5 ...

两个数据源"OA办公";后面鼠标双击一下,有没有多余的空格呢。
 楼主| 网络菜菜 发表于 2024-2-23 15:54:08 | 显示全部楼层
yaya 发表于 2024-2-23 15:34
两个数据源"OA办公";后面鼠标双击一下,有没有多余的空格呢。

我在两个位置都双击过,没有发现后有带空格。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
yaya 发表于 2024-2-23 17:03:10 | 显示全部楼层
网络菜菜 发表于 2024-2-23 15:54
我在两个位置都双击过,没有发现后有带空格。

重新执行一下这段脚本,然后把报错和脚本贴出来看看。
 楼主| 网络菜菜 发表于 2024-2-23 17:35:58 | 显示全部楼层
yaya 发表于 2024-2-23 17:03
重新执行一下这段脚本,然后把报错和脚本贴出来看看。

报错

错误
java.lang.Exception: JavaScriptRunning:[FormName:null Activity(__2M01tFMIyeOHNwkLj7s).同步角色.afterActionScript]: Wrapped java.sql.SQLException: Column 'DEFAULTDEPARTMENT' not found. (baselib#1)

脚本

(function(){
    var dsName = "售后管理系统库";
    var dsName2 = "OA办公";
    var id = COUNTER.genUUID();
    var sql = "SELECT ITEM_NAME FROM oa5.`tlk_职务岗位导入` WHERE ITEM_JOBNAME='工人'";
    var list = queryByDSName(dsName,  sql);

//    var sql = "SELECT * FROM `obpm5`.`t_user_department_role_set` WHERE userid='4ljO73tjXdOpwgz57KZ'";
//    var list = queryByDSName(dsName, sql);
//    var sql = "insert into t_user_department_role_set (ID, DEPARTMENTID, USERID, ROLEID) values ('" + id + "', 'wzEkxXP9alIB7rSKmoA', '4ljO73tjXdOpwgz57KZ', '__dOA1o8eq7NDYUgOww7A')";
//    insertByDSName(dsName,  sql);

    var text = "";
    for(var itor = list.iterator();itor.hasNext();){
        var item = itor.next();
//        text += "<p>记录ID:"+item.get("id") + " DEPARTMENTID:" + item.get('departmentid') + " USERID:" + item.get('userid') + " ROLEED:" + item.get('roleid') + "</p>";
//        text += "<p>记录ID:" + item.get('ITEM_NAME') + "</p>";
          text += item.get('ITEM_NAME') + "$$";
    }   
    var array = text.split( "$$");
//    println(array[0]);
//    println(array[3]);
//    var opts = $TOOLS.createOptions();
    for (var i=0; i<array.length; i++){
        var insert_sql = "SELECT LEFT(oa5.tlk_职务岗位导入.`ID`,18) AS ID, obpm5.t_user.defaultdepartment AS DEPARTMENTID, obpm5.t_user.ID AS USERID, oa5.`tlk_职务岗位导入`.ITEM_ROLEID2 AS ROLEID FROM obpm5.t_user INNER JOIN oa5.`tlk_职务岗位导入` ON obpm5.t_user.NAME = oa5.`tlk_职务岗位导入`.item_name WHERE obpm5.t_user.NAME='" + array + "'";
        var list2 = queryByDSName('售后管理系统库',  insert_sql);
    }
println(list);
println(text);
//return text;  
println("aaaaaaaa");
})()


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
yaya 发表于 2024-2-23 17:44:37 | 显示全部楼层

全部字段不使用别名,看看是否也一样报错。
 楼主| 网络菜菜 发表于 2024-2-26 17:30:01 | 显示全部楼层
yaya 发表于 2024-2-23 17:44
全部字段不使用别名,看看是否也一样报错。

工程师,您好!   当不使用别名时,是可以执行脚本。现在替换成需要加入角色的脚本时出错。

代码如下:

(function(){
    var dsName = "售后管理系统库";
    var dsName2 = "OA办公";
    var id = COUNTER.genUUID();
    var sql = "SELECT ITEM_NAME FROM oa5.`tlk_职务岗位导入` WHERE ITEM_JOBNAME='工人'";
    var list = queryByDSName(dsName,  sql);

//    var sql = "SELECT * FROM `obpm5`.`t_user_department_role_set` WHERE userid='4ljO73tjXdOpwgz57KZ'";
//    var list = queryByDSName(dsName, sql);
//    var sql = "insert into t_user_department_role_set (ID, DEPARTMENTID, USERID, ROLEID) values ('" + id + "', 'wzEkxXP9alIB7rSKmoA', '4ljO73tjXdOpwgz57KZ', '__dOA1o8eq7NDYUgOww7A')";
//    insertByDSName(dsName,  sql);

    var text = "";
    for(var itor = list.iterator();itor.hasNext();){
        var item = itor.next();
        text += item.get('ITEM_NAME') + "$$";
    }   
    var array = text.split( "$$");
//    println(array[0]);
//    println(array[3]);
    for (var i=0; i<array.length; i++){
        var insert_sql = "insert into t_user_department_role_set (ID, DEPARTMENTID, USERID, ROLEID) values (LEFT(oa5.tlk_职务岗位导入.`ID`,18), obpm5.t_user.defaultdepartment, obpm5.t_user.ID, oa5.`tlk_职务岗位导入`.ITEM_ROLEID2 FROM obpm5.t_user INNER JOIN oa5.`tlk_职务岗位导入` ON obpm5.t_user.NAME = oa5.`tlk_职务岗位导入`.item_name WHERE obpm5.t_user.NAME='" + array + "')";
//        var list2 = queryByDSName('售后管理系统库',  insert_sql);
        insertByDSName('售后管理系统库',  insert_sql);  
//        println(array);  
    }
//println(list);
//println(text);
//println(list2);
//return text;  
println("aaaaaaaa");
})()

提示错误:错误
java.lang.Exception: JavaScriptRunning:[FormName:null Activity(__2M01tFMIyeOHNwkLj7s).同步角色.afterActionScript]: Wrapped com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM obpm5.t_user INNER JOIN oa5.`tlk_职务岗位导入` ON obpm5.t_user.NAME ='

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
yaya 发表于 2024-2-26 18:01:58 | 显示全部楼层
网络菜菜 发表于 2024-2-26 17:30
工程师,您好!   当不使用别名时,是可以执行脚本。现在替换成需要加入角色的脚本时出错。

代码如下 ...

把报错信息贴出来看一下哈。

本版积分规则

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

GMT+8, 2026-8-12 15:20

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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