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

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

[已解决] 为什么在循环中创建文档业务对象后,循环还没有执行完就跳出循环了

[复制链接]
上海中汇 发表于 2017-4-26 15:36:00 | 显示全部楼层 |阅读模式
var selectId = getParameterAsText("_selects"); //获取视图中选择的记录
var relate = getRelateDocument(); //获取关联文档
var curDoc = getCurrentDocument();
var docProcess = getDocumentProcess();
var formProcess = getFormProcess();
var system = getItemValueAsString("system");
var proj_ver = getItemValueAsString("proj_ver");
var new_version = getItemValueAsString("new_version");
var new_sys_ver = system+new_version; //获取需要修改到的系统版本
var domainid = getDomainid();
var sel=selectId.replace(";","','");
sel="('"+sel+"')";

if(selectId !=null || selectId.length>0){        
        var sql = "SELECT t1.*,t3.item_proj_name,t2.ITEM_SYS_NAME FROM tlk_req_details t1 JOIN tlk_works_evaluate t2 ON t1.PARENT=t2.ID JOIN tlk_project_sign t3 ON t2.PARENT=t3.ID where t1.item_req_id IN (SELECT t2.item_reqlist_id FROM tlk_req_list t2 WHERE t2.ID IN "+sel+")"; //查询出所有选中的需求条目信息
        println("黄鑫"+sql);
        var datas = queryBySQL(sql);
if(datas!=null && datas.size()>0){
        println("黄鑫1"+datas.size());
    var iter = datas.iterator();
        while(iter.hasNext()){
                println("MDZZ");
        var data = iter.next();
                var sinId = data.getId(); //获取一个需求条目的ID
                var req_id = data.getItemValueAsString("req_id");
                var proj_name = data.getItemValueAsString("proj_name"); //项目名称
        var sql2 ="SELECT t2.*,t2.id as item_tid FROM tlk_works_evaluate t2 JOIN tlk_project_sign t3 ON t2.PARENT=t3.ID where t3.item_proj_name = '"+proj_name+"' and t2.item_sys_name='"+new_sys_ver+"'";
                var data2 = findBySQL(sql2);
     if(data2==null){
        var sql3="select * from tlk_project_sign where item_proj_name='"+proj_name+"'";
            var data3 = findBySQL(sql3);
        if(data3!=null){
                var pid = data3.getId();               
                var newForm = formProcess.doViewByFormName("works_evaluate",getApplication()); //创建工作量评估
                var newDoc = docProcess.doNew(newForm,getWebUser(),createParamsTable());
                newDoc.setParent(pid);
                newDoc.setAuthor(getWebUser().getId());
                newDoc.setIstmp(false);
                newDoc.setApplicationid(getApplication());
                newDoc.setDomainid(getWebUser().getDomainid());
                newDoc.addStringItem("sys_name",new_sys_ver);
                newDoc.addStringItem("sys",system);
                docProcess.doCreate(newDoc);
            }
        println("hxxxxxxxxxxxxxx");
     }else{
        println("hyyyyyyyyyyyyyy");
     }   
}
}
}
 楼主| 上海中汇 发表于 2017-4-26 15:37:18 | 显示全部楼层
datas大小为2,但是为什么MDZZ只打印了一次。 我把创建创建文档业务对象的代码删除后,可以打印2次
 楼主| 上海中汇 发表于 2017-4-26 16:10:26 | 显示全部楼层
自己找到原因,可以结贴。
karrman 发表于 2017-4-26 16:37:57 | 显示全部楼层
感谢楼主反馈,可以结贴!

本版积分规则

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

GMT+8, 2026-8-12 14:16

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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