rsbi 4 gadi atpakaļ
vecāks
revīzija
16b53c299a

+ 1 - 0
src/main/java/com/ruisitech/bi/service/portal/PortalTableService.java

@@ -440,6 +440,7 @@ public class PortalTableService  extends BaseCompService {
 		GridDataCenterContext ctx = new GridDataCenterContextImpl();
 		GridSetConfContext conf = new GridSetConfContext();
 		conf.setRefDsource(table.getDsid());
+		conf.setUseCache(false);
 		ctx.setConf(conf);
 		ctx.setId("DC-" + IdCreater.create());
 		String name = TemplateManager.getInstance().createTemplate(sql);

+ 28 - 8
src/main/java/com/ruisitech/bi/web/portal/TableViewController.java

@@ -1,10 +1,14 @@
 package com.ruisitech.bi.web.portal;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.rsbi.ext.engine.view.context.ExtContext;
 import com.rsbi.ext.engine.view.context.MVContext;
 import com.ruisitech.bi.entity.portal.PortalTableQuery;
 import com.ruisitech.bi.service.portal.PortalTableService;
+import com.ruisitech.bi.util.BaseController;
 import com.ruisitech.bi.util.CompPreviewService;
+import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Scope;
 import org.springframework.stereotype.Controller;
@@ -19,7 +23,9 @@ import javax.servlet.http.HttpServletResponse;
 @Controller
 @Scope("prototype")
 @RequestMapping(value = "/portal")
-public class TableViewController {
+public class TableViewController extends BaseController {
+
+	private static Logger logger = Logger.getLogger(TableViewController.class);
 
 	@Autowired
 	private PortalTableService serivce;
@@ -28,12 +34,26 @@ public class TableViewController {
 	public @ResponseBody
     Object tableView(@RequestBody PortalTableQuery table, HttpServletRequest req, HttpServletResponse res) throws Exception {
 		ExtContext.getInstance().removeMV(PortalTableService.deftMvId);
-		MVContext mv = serivce.json2MV(table);
-		
-		CompPreviewService ser = new CompPreviewService(req, res, req.getServletContext());
-		ser.setParams(serivce.getMvParams());
-		ser.initPreview();
-		String ret = ser.buildMV(mv, req.getServletContext());
-		return ret;
+		try {
+			MVContext mv = serivce.json2MV(table);
+
+			CompPreviewService ser = new CompPreviewService(req, res, req.getServletContext());
+			ser.setParams(serivce.getMvParams());
+			ser.initPreview();
+			String ret = ser.buildMV(mv , req.getServletContext());
+			Object obj = JSON.parse(ret);
+			if(obj instanceof JSONObject){
+				JSONObject json = (JSONObject)obj;
+				if (json.get("result") != null && json.getInteger("result") == 500) {
+					return super.buildError(json.getString("msg"));
+				}
+				return super.buildSucces(json);
+			}else {
+				return super.buildSucces(obj);
+			}
+		}catch (Exception ex){
+			logger.error("表格展现出错", ex);
+			return super.buildError(ex.getMessage());
+		}
 	}
 }