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

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

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

[复制链接]
 楼主| 网络菜菜 发表于 2024-1-25 17:16:33 | 显示全部楼层
经工程师提醒,原来脚本需要查询软件外的数据源要,要另外添加。

本帖子中包含更多资源

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

x
 楼主| 网络菜菜 发表于 2024-1-25 17:24:34 | 显示全部楼层
我用了下同步角色的脚本,新增记录的ID和后台数据库前端增加的角色有区别,会有影响吗?

代码如下:
(function(){
    var dsName = "售后管理系统库";
    var id = COUNTER.genUUID();
    var sql = "insert into t_user_department_role_set (ID, DEPARTMENTID, USERID, ROLEID) values ('" + id + "', 'wzEkxXP9alIB7rSKmoA', '4ljO73tjXdOpwgz57KZ', '__dOA1o8eq7NDYUgOww7A')";
    insertByDSName(dsName,  sql);
    println("aaaaaaaa");
})()

本帖子中包含更多资源

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

x
jimmy 发表于 2024-1-26 15:34:21 | 显示全部楼层
网络菜菜 发表于 2024-1-25 17:24
我用了下同步角色的脚本,新增记录的ID和后台数据库前端增加的角色有区别,会有影响吗?

代码如下:

只要是唯一的不管长度如何,不影响
 楼主| 网络菜菜 发表于 2024-2-5 17:17:25 | 显示全部楼层
工程师,您好!

我打算在后台方式更新角色。

第一步插入语句:INSERT INTO t_user_department_role_set (ID, DEPARTMENTID,  USERID,  ROLEID) SELECT ...

第二步查询语句:SELECT LEFT(oa5.tlk_职务岗位导入.`ID`,18) AS ID, defaultdepartment AS DEPARTMENTID, 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=....   如果这里用单个员工姓名可以查出(但我需要查询多个员工姓名)

第三步查询员工姓名语句:SELECT ITEM_NAME FROM oa5.`tlk_职务岗位导入` WHERE ITEM_JOBNAME='科员';      这样可以查出所有科员角色的姓名。

但如果合在上面第二步的语句里,就会显示返回的子查询多条纪录(SELECT LEFT(oa5.tlk_职务岗位导入.`ID`,18) AS ID, defaultdepartment AS DEPARTMENTID, 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=(SELECT ITEM_NAME FROM oa5.`tlk_职务岗位导入` WHERE ITEM_JOBNAME='科员');)。

不知有无什么方法实现

本帖子中包含更多资源

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

x
 楼主| 网络菜菜 发表于 2024-2-6 15:13:25 | 显示全部楼层
您好,工程师! 我在论坛抄段代码,想将通过岗位找出的人员存入数组,按递归数组长段,查出的人名作为第三步的WHERE条件。

我的代码如下:
(function(){
    var dsName = "售后管理系统库";
    var id = COUNTER.genUUID();
    var sql = "SELECT ITEM_NAME FROM oa5.`tlk_职务岗位导入` WHERE ITEM_JOBNAME='工人'";
    var list = queryByDSName(dsName,  sql);

    var text = "";
    for(var itor = list.iterator();itor.hasNext();){
        var item = itor.next();
        text += item.get('ITEM_NAME') + "$$";
    }
    var array = splitText(text, "$$");
//    var opts = $TOOLS.createOptions();
//    for (var i=0; i<array.length; i++){
//        opts.add(arr[i], arr[i]);  
//    }
    println(array[0]);
    println(array[3]);
println(text);
//return text;  
println("aaaaaaaa");
})()

但其中代码运行到 ( var array = splitText(text, "$$");)出错;java.lang.Exception: JavaScriptRunning:[FormName:null Activity(__2M01tFMIyeOHNwkLj7s).同步角色.afterActionScript]: TypeError: splitText is not a function, it is org.mozilla.javascript.Undefined. (__2M01tFMIyeOHNwkLj7s).同步角色.afterActionScript#19)

本帖子中包含更多资源

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

x
yaya 发表于 2024-2-6 17:49:34 | 显示全部楼层
网络菜菜 发表于 2024-2-6 15:13
您好,工程师! 我在论坛抄段代码,想将通过岗位找出的人员存入数组,按递归数组长段,查出的人名作为第三 ...

5.1版本的不适用splitText,要改成 var array = text.splitText( "$$");
 楼主| 网络菜菜 发表于 2024-2-7 12:12:50 | 显示全部楼层
yaya 发表于 2024-2-6 17:49
5.1版本的不适用splitText,要改成 var array = text.splitText( "$$");

工程师,您好!

已替换代码句,但还是提示错误,提示如下

java.lang.Exception: JavaScriptRunning:[FormName:null Activity(__2M01tFMIyeOHNwkLj7s).同步角色.afterActionScript]: TypeError: Cannot find function splitText. (__2M01tFMIyeOHNwkLj7s).同步角色.afterActionScript#19)

本帖子中包含更多资源

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

x
王立飞 发表于 2024-2-7 15:25:31 来自手机 | 显示全部楼层
网络菜菜 发表于 2024-2-5 17:17
工程师,您好!

我打算在后台方式更新角色。

打扰一下,麻烦问一下这个是什么软件,怎么进入数据库的
来自: 微社区
 楼主| 网络菜菜 发表于 2024-2-7 15:52:02 | 显示全部楼层
王立飞 发表于 2024-2-7 15:25
打扰一下,麻烦问一下这个是什么软件,怎么进入数据库的

HeidiSQL   开源支持mysql的,你是问这个吗?
jimmy 发表于 2024-2-8 12:00:44 | 显示全部楼层
网络菜菜 发表于 2024-2-7 12:12
工程师,您好!

已替换代码句,但还是提示错误,提示如下

var array = text.split( "$$");用这个

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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