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

 找回密码
 注册成为天翎用户
楼主: jariy

平台报莫名其秒的错误~

[复制链接]
 楼主| jariy 发表于 2011-11-16 11:45:39 | 显示全部楼层
我这边出现这种情况的环境是,我有2个不同的表单,分别对应不同的iscript方法,这2个iscript方法都有map.keySet()方法执行,你们测试一下,有2个分别调用这2个不同表单的菜单,你轮流着在这2个菜单上点击,然后表单分别调用自己对应的iscript方法,那么我说的这种错误很容易出现,如果仅仅只是在相同一个页面点的话出现机率小很多,但是也有,不过机率没轮着点这么大。我的这个iscript方法分别属于不同的函数库,所以应该不存在冲突的情况,模块也是没的模块
shary 发表于 2011-11-16 11:45:52 | 显示全部楼层
您好,我刚刚的意思是说您map是在哪里定义的。能否把添加数据的脚本贴出来看下
 楼主| jariy 发表于 2011-11-16 12:32:41 | 显示全部楼层

  1. /*获得将要显示行的值的map*/
  2. function getDispMapValue(msql,dsql){
  3.         var sql1=msql;
  4.         var sql2=dsql;
  5.         var map = getMonthDetails();
  6.         if(map!=null && map.size()>0){
  7.                 return map;
  8.         }
  9.         var mquery=queryBySQL(sql1);
  10.         if(mquery!=null){
  11.                 var dquery=queryBySQL(sql2);
  12.                 if(dquery!=null && dquery.size()>0){                       
  13.                         for (var it1= mquery.iterator(); it1.hasNext();) {
  14.                                 var mdoc = it1.next();       
  15.                                
  16.                                 var mname=mdoc.getItemValueAsString("mname");
  17.                                 var proportion=mdoc.getItemValueAsString("proportion");
  18.                                
  19.                                 var details = createObject("java.util.ArrayList");               
  20.                                 for (var it2 = dquery.iterator(); it2.hasNext();) {
  21.                                         var ddoc=it2.next();
  22.                                         var submname=ddoc.getItemValueAsString("mname");
  23.                                         var subdname=ddoc.getItemValueAsString("dname");
  24.                                         var subid=ddoc.getItemValueAsString("did");
  25.                                         if(mname!=null && mname.equals(submname)){
  26.                                                 var row=[subid,subdname,"","","","","","",proportion];
  27.                                                 details.add(row)
  28.                                         }
  29.                                 }
  30.                                 if(details.size()>0){
  31.                                         map.put(mname,details);
  32.                                 }
  33.                         }
  34.                 }
  35.         }
  36.         return map;
  37. }

  38. function getMonthDetails(){
  39.         var doc = getCurrentDocument();
  40.         var dsql = "select * from gzjwoa.dbo.TLK_RS_C_MONTHSINGLE where id='"+doc.getId()+"'";
  41.         var docs = queryBySQL(dsql);
  42.         var map = createObject("java.util.HashMap");
  43.         if (docs!=null && docs.size()>0){
  44.                 var sql="SELECT * FROM view_rs_monthsingle_info WHERE ITEM_RS_C_MONTHDETAIL_MID='"+doc.getId()+"'";
  45.                 var dquery = queryBySQL(sql);                       
  46.                 if(dquery!=null && dquery.size()>0){
  47.                         var tempList = createObject("java.util.ArrayList");
  48.                         for(var i=0;i<dquery.size();i++){
  49.                                 var dp=dquery.get(i);
  50.                                 //隐藏字段                               
  51.                                 var pcontent=dp.getItemValueAsString("RS_C_MONTHDETAIL_PCONTENT");       
  52.                                 if(tempList.contains(pcontent)){
  53.                                         continue;
  54.                                 }else{
  55.                                         tempList.add(pcontent);
  56.                                 }                               
  57.                                 var details = createObject("java.util.ArrayList");                               
  58.                                 for(var j=0;j<dquery.size();j++){
  59.                                         var dc=dquery.get(j);
  60.                                         var temp=dc.getItemValueAsString("RS_C_MONTHDETAIL_PCONTENT");
  61.                                         if(pcontent!=null && pcontent.equals(temp)){
  62.                                                 //隐藏字段
  63.                                                 var did=dc.getItemValueAsString("RS_C_MONTHDETAIL_CID");
  64.                                                 var ccontent=dc.getItemValueAsString("RS_C_MONTHDETAIL_CCONTENT");
  65.                                                 //显示字段
  66.                                                 var selfcount=dc.getItemValueAsString("RS_C_MONTHDETAIL_SELFCOUNT");
  67.                                                 var firstcount=dc.getItemValueAsString("RS_C_MONTHDETAIL_FIRSTCOUNT");
  68.                                                 var secondcount=dc.getItemValueAsString("RS_C_MONTHDETAIL_SECONDCOUNT");
  69.                                                 var selfhelp=dc.getItemValueAsString("RS_C_MONTHDETAIL_SELFHELP");
  70.                                                 var firsthelp=dc.getItemValueAsString("RS_C_MONTHDETAIL_FIRSTHELP");
  71.                                                 var secondhelp=dc.getItemValueAsString("RS_C_MONTHDETAIL_SECONDHELP");
  72.                                                 var proportion=dc.getItemValueAsString("RS_C_MONTHDETAIL_PROPORTION");                                                                                                                               
  73.                                                 var row=[did,ccontent,selfcount,firstcount,secondcount,selfhelp,firsthelp,secondhelp,proportion];
  74.                                                 details.add(row);
  75.                                         }                               
  76.                                 }                       
  77.                                 if(details.size()>0){
  78.                                         map.put(pcontent,details);
  79.                                 }
  80.                         }
  81.                 }
  82.         }
  83.         return map;
  84. }
复制代码

本帖子中包含更多资源

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

x
admin 发表于 2011-11-16 16:43:32 | 显示全部楼层
建议您在平台以new的方式是申明一个hashmap.再赋值。直接调用java的。
 楼主| jariy 发表于 2011-11-16 17:00:17 | 显示全部楼层
var map = createObject("java.util.HashMap");
不是你们提供的这个方法吗?难道说这个方法还有稳定性的问题?
 楼主| jariy 发表于 2011-11-16 17:00:59 | 显示全部楼层
你能保证我用new不会有问题?
 楼主| jariy 发表于 2011-11-16 17:06:23 | 显示全部楼层
我刚试过了 用new的方法问题还是存在

本帖子中包含更多资源

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

x
shary 发表于 2011-11-17 16:14:58 | 显示全部楼层
您好,你试一下把脚本改成类似我这样看行不行。我这边测试过很多次这样写没问题。
var map = new Packages.java.util.HashMap();
var set =new Packages.java.util.HashSet();
                map.put("test", "111");
                map.put("test1", "22");       
                var set =map.entrySet();
                for(var i=set.iterator();i.hasNext();){
                       var str=i.next();
                         $PRINTER.println(str+"============test");
                }
 楼主| jariy 发表于 2011-11-17 16:31:58 | 显示全部楼层
问题依旧
上图
我觉得应该不是这个方法本身的问题,因为不是一次都不执行成功的,而是有时不报错,有时报错,这个我怀疑是平台脚本解析器的问题,麻烦再帮我看下,这是java里map提供的方法,无论用哪种,它本身应该是没问题的,为什么放到这里就不稳定?

本帖子中包含更多资源

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

x
shary 发表于 2011-11-17 16:35:40 | 显示全部楼层
。我这里确实没问题哦。试过N次。你清下你IE和tomcat缓冲再看下。

本版积分规则

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

GMT+8, 2026-8-12 18:43

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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