起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: qweasdzxc

[结贴] 树型结构

[复制链接]

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36107
发表于 2017-3-28 16:13:31 | 显示全部楼层
ORA-00933: SQL 命令未正确结束是oracle的标准报错,可以到网上查找可能的错误原因
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

506

主题

1631

帖子

3395

积分

论坛元老

Rank: 8Rank: 8

积分
3395
QQ
 楼主| 发表于 2017-3-28 16:19:58 | 显示全部楼层
jishuang 发表于 2017-3-28 16:13
ORA-00933: SQL 命令未正确结束是oracle的标准报错,可以到网上查找可能的错误原因 ...

下面是我的代码,页面初始化时已经不会报错 但显示不正确 点击节点报错
代码如下:
  1. private static final String TABLE_LIBRARY = "SAM_LIBRARY";
  2.     private static final String TABLE_ASSET = "SAM_ASSET";
  3.     public static Table querySAM_AssetTree(String concept,String select,String from,
  4.                 String aggregate,String dataModel,String fnModel,String condition,
  5.                 List range,Boolean distinct,String idColumn,String filter,Integer limit,
  6.                 Integer offset,String columns,String orderBy,String aggregateColumns,
  7.                 Map variables){
  8.                 int level = (Integer) variables.get("level");
  9.                 System.out.println(level);
  10.         String parent = (variables.get("parent")+"");
  11.         System.out.println("parent:"+parent);
  12.         // 当查询资产的时候,需要得到数据库中真正的fID。
  13.         if (level > 2) {
  14.             parent = parent.split("-")[1];
  15.         }
  16.         String sql = null, sqlWhere = null, showTable = null;
  17.         System.out.println("11111111");
  18.         // 根据级别判断,来决定访问那个数据库,返回值中返回自定义列fLevel和fIsLeaves
  19.         switch (level) {
  20.         case 1:
  21.                 System.out.println("2222222222");
  22.             sql = "select null as fParentID,1 as fLevel,'false' as fIsLeaves,fID,fName from "
  23.             + TABLE_LIBRARY+" ";
  24.             sqlWhere = " where fParentID is null";
  25.             showTable = TABLE_LIBRARY;
  26.             System.out.println("3333333333333333");
  27.             break;
  28.         case 2:
  29.             sql = "select fID as fParentID,2 as fLevel,'false' as fIsLeaves,"
  30.             +"concat_ws('-','"+parent+"',CONVERT(fID,char)) as fID,fName from "
  31.             + TABLE_LIBRARY+" where fID = "+parent+" GROUP BY fID limit "+offset+","+limit;
  32.             sqlWhere = " where fID = "+parent;
  33.             showTable = TABLE_LIBRARY;
  34.             break;
  35.         case 3:
  36.             sql = "select fID as fParentID,3 as fLevel,'true' as fIsLeaves,"
  37.             + "concat_ws('-','"+parent+"',CONVERT(fID,char)) as fID,fName from "
  38.             + TABLE_ASSET+" where fID = "+parent+" GROUP BY fID limit "+offset+","+limit;
  39.             sqlWhere = " where fID = "+parent+" and fApprovedState='已发布'";
  40.             showTable = TABLE_ASSET;
  41.             break;
  42.         }
  43.         System.out.println("sql:"+sql);
  44.         HashMap<String,String> sqlMap = new HashMap<String,String>();
  45.         System.out.println("444444444444444444");
  46.         sqlMap.put(DatabaseProduct.ORACLE.toString(),sql);
  47.         System.out.println("555555555555555");
  48.         Table table = SQL.select(sqlMap, null, "/SAM/assetManage/data");
  49.         System.out.println("66666666666666666666666");
  50.         table.getProperties().put(Table.PROP_NAME_ROWID, "FID");
  51.         // 设置table的总行数,bizData分页需要
  52.         System.out.println("7777777777777777777");
  53.         String countSql = "select count(*) from "+showTable+" "+sqlWhere;
  54.         System.out.println("8888888888888888888888");
  55.         HashMap<String,String> countSqlMap = new HashMap<String,String>();
  56.         System.out.println("999999999999999999999");
  57.         countSqlMap.put(DatabaseProduct.ORACLE.toString(),countSql);
  58.         System.out.println("11111111111111111111111");
  59.         Table countTable = SQL.select(countSqlMap, null, "/SAM/assetManage/data");
  60.         System.out.println("222222222222222222222");
  61.         Iterator<Row> rows = countTable.iterator();
  62.         Row row = rows.next();
  63.         System.out.println("33333333333333333333333333333");
  64.         BigDecimal count = row.getDecimal(0);
  65.         System.out.println(row.getDecimal(0));
  66.         System.out.println("count:"+count);
  67.       
  68.         table.getProperties().put(Table.PROP_DB_COUNT,count);
  69.         return table;
  70.         }
复制代码


Model.prototype.treeDataRefreshCreateParam = function(event){
     var data = event.source;
    // event.options.parent - 父节点的row
    var parent = event.options && event.options.parent;
    // event.options.append - 数据是否增量加载
    var append = event.options && event.options.append;
    var level = 1;
    //如果存在父,就加载父的下级数据,不存在父加载第一级的数据
    if(parent){
        level = data.getValue('fLevel',parent) + 1;
    }
    var mapParam = new biz.Request.MapParam();
    mapParam.put("parent", parent && parent.getID());
    mapParam.put("level", level);
    event.param.setMap("variables", mapParam);
    };

    Model.prototype.treeDataBeforeRefresh = function(event){
    var data = event.source;
    // event.options.parent - 父节点的row
    var parent = event.options && event.options.parent;
    //判断如果是叶子节点就返回,不执行查询
    if(data.getValue('fIsLeaves',parent)){
        event.cancel = true;
    }
    };



点击节点,错误信息如下:
2017-03-28 16:18:28 excute stream action, params:{"accept":"application/json","action":"querySAM_AssetTreeAction","actionFlag":"__action_0__","activity":"mainActivity","contentType":"json","executeContext":"","executor":"","parameters":{"columns":"SAM_AssetTree,fID,fIsLeaves,fLevel,fName,fParentID,version","filter":"(SAM_AssetTree.fParentID='CCAB04C0D59B491282D83ED76C8C92E5')","limit":-1,"offset":0,"variables":{"parent":"CCAB04C0D59B491282D83ED76C8C92E5"}},"process":"/SAM/assetManage/process/newPortal/newPortalProcess","translateParameter":{"cellnameByRelation":false,"dataType":"row-tree","includeState":true,"rowsConfig":{"concept":"SAM_AssetTree","sequence":"SAM_AssetTree,fID,fIsLeaves,fLevel,fName,fParentID,version"},"transformIdcolumn":true,"useNamespace":true}}
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.justep.system.action.Engine.invokeActions(Native Method)
    at com.justep.system.action.Engine.invokeActions(Unknown Source)
    at com.justep.business.server.BusinessServer.doAction(Unknown Source)
    at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
    at com.justep.business.server.BusinessServer.excute(Unknown Source)
    at com.justep.business.server.BusinessServer.excute(Unknown Source)
    at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
    at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
    at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
    at AssetManage.querySAM_AssetTree(AssetManage.java:232)
    ... 27 more



011.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36107
发表于 2017-3-28 17:13:47 | 显示全部楼层
AssetManage.querySAM_AssetTree(AssetManage.java:232)
已经报错了哪行有问题

没有名字确认grid上expandColumn设置的关系有值吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

506

主题

1631

帖子

3395

积分

论坛元老

Rank: 8Rank: 8

积分
3395
QQ
 楼主| 发表于 2017-3-28 17:52:17 | 显示全部楼层
jishuang 发表于 2017-3-28 17:13
AssetManage.querySAM_AssetTree(AssetManage.java:232)
已经报错了哪行有问题

设置了啊
012.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36107
发表于 2017-3-29 08:51:16 | 显示全部楼层
确认grid上expandColumn设置的关系有值吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-2-23 19:34 , Processed in 0.059090 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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