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

[已解决] 脚本未报错,但是for循环只执行了一次。

[复制链接]
成都顶呱呱 发表于 2015-7-14 09:30:02 | 显示全部楼层 |阅读模式
本帖最后由 darcy 于 2015-7-14 16:53 编辑
  1. /*
  2. var request = $WEB.getParamsTable().getHttpRequest();
  3. var va=request.getSession().getAttribute("gstype");
  4. */
  5. var va=getItemValueAsString("Type");
  6. var id=getCurrentDocument().getId();
  7. var number1=0;
  8. var nodeName="";
  9. var overdueDays=0;
  10. var num=0;

  11. if(va!=null&&va!=""){
  12.         var sql="select * from tlk_ProcessMaintenance where parent = (select id from tlk_TechnologicalProcess2 where item_name='"+va+"') ";
  13.         println(sql);
  14.         var query=queryBySQL(sql);
  15.         if(query!=null){
  16.           for( var iter  =query.iterator() ;iter.hasNext();){
  17.             num++;
  18.             println("num=="+num);
  19.                 var doc = iter.next();
  20.                 /*
  21.             number1 = doc.getItemValueAsInt("number");
  22.                         overdueDays = doc.getItemValueAsInt("overdueDays");
  23.                         nodeName = doc.getItemValueAsString("jiedianname");
  24.                         var process1 = getDocumentProcess();
  25.                         var formProcess1 = getFormProcess();
  26.                         var subform1 = formProcess1.doView("11e5-25d8-425246e8-b542-9dda2b3b7642");//需要插入数据的表单ID值。可以通过数据库客户端查看那张表的formid字段值就可以。               
  27.                         var doc1 = process1.doNew(subform1,getWebUser(),createParamsTable());
  28.                         doc1.setParent(id);
  29.                         doc1.addIntItem("number",number1);
  30.                         doc1.addStringItem("node",nodeName);
  31.                         doc1.addIntItem("overtime",overdueDays);
  32.                        
  33.                         if(num<=1){
  34.                                 doc1.addDateItem("stime",getToday());
  35.                                 doc1.addDateItem("etime",adjustDay(getToday(), overdueDays));
  36.                                 var user=getWebUser().getId();
  37.                                 var names=getWebUser().getName();
  38.                                 doc1.addStringItem("username",user);
  39.                                 doc1.addStringItem("names",names);
  40.                         }
  41.                        
  42.                         doc1.addStringItem("fakuan","正常");
  43.                         process1.doCreate(doc1);
  44.                         */
  45.           }
  46.         }
  47. }
复制代码

 楼主| 成都顶呱呱 发表于 2015-7-14 09:31:50 | 显示全部楼层
现在的状态num会根据SQL执行出来的结果量打印多少次。但是如果把后面的注释打开,就只会执行一次。
而且tomcat并没有报错。
我是在往子表里面插数据,之前是可以的。后面只是在子表多加了一个字段   fakuan
然后 就只执行了一次了。不知道为什么。fakuan字段是一个单选框。
回复

使用道具 举报

darcy 发表于 2015-7-14 15:58:52 | 显示全部楼层
把上面的脚本修改如下图所示
图片1.png
图片2.png
图片3.png
回复

使用道具 举报

 楼主| 成都顶呱呱 发表于 2015-7-14 16:00:53 | 显示全部楼层
感谢,已经解决。
回复

使用道具 举报

darcy 发表于 2015-7-14 16:53:33 | 显示全部楼层
感谢楼主结贴
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-8-14 04:14

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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