rsbi 4 роки тому
батько
коміт
764c4477d0

+ 1 - 0
src/main/java/com/ruisitech/bi/entity/common/RequestStatus.java

@@ -1,6 +1,7 @@
 package com.ruisitech.bi.entity.common;
 
 public enum RequestStatus {
+	NOLOGIN(2), //未登录
 	SUCCESS(1),//成功
 	FAIL_FIELD(0);//失败
 

+ 2 - 2
src/main/java/com/ruisitech/bi/service/frame/SessionAuthcFilter.java

@@ -39,7 +39,7 @@ public class SessionAuthcFilter extends AdviceFilter {
 			}else{
 				response.setContentType("application/json; charset=utf-8");
 				response.setCharacterEncoding("utf-8");
-				Result r = new Result(RequestStatus.FAIL_FIELD.getStatus(), "登录信息已经超时。", null);
+				Result r = new Result(RequestStatus.NOLOGIN.getStatus(), "登录信息已经超时,请重新登录!", null);
 				response.getWriter().print(JSONObject.toJSONString(r));
 				return false;
 			}
@@ -49,7 +49,7 @@ public class SessionAuthcFilter extends AdviceFilter {
 		}else{
 			response.setContentType("application/json; charset=utf-8");
 			response.setCharacterEncoding("utf-8");
-			Result r = new Result(RequestStatus.FAIL_FIELD.getStatus(), "登录信息已经超时。", null);
+			Result r = new Result(RequestStatus.NOLOGIN.getStatus(), "登录信息已经超时,请重新登录!", null);
 			response.getWriter().print(JSONObject.toJSONString(r));
 			return false;
 		}

+ 4 - 0
src/main/java/com/ruisitech/bi/util/BaseController.java

@@ -24,4 +24,8 @@ public class BaseController {
 	public Object buildError(String msg){
 		return new Result(RequestStatus.FAIL_FIELD.getStatus(), msg, null);
 	}
+
+	public Object buildNoLoginError(String msg){
+		return new Result(RequestStatus.NOLOGIN.getStatus(), msg, null);
+	}
 }

+ 1 - 2
src/main/java/com/ruisitech/bi/web/bireport/ChartController.java

@@ -36,8 +36,7 @@ public class ChartController extends BaseController  {
 		//ser.setParams(tableService.getMvParams());
 		ser.initPreview();
 		String ret = ser.buildMV(mv, req.getServletContext());
-		System.out.println(ret);
 		JSONObject obj = JSONObject.parseObject(ret);
-		return super.buildSucces(obj.toJSONString());
+		return super.buildSucces(obj);
 	}
 }

+ 9 - 8
src/main/java/com/ruisitech/bi/web/bireport/ReportDesignController.java

@@ -28,6 +28,8 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.InputStream;
+import java.util.List;
+import java.util.Map;
 
 @Controller
 @RequestMapping(value = "/bireport")
@@ -108,23 +110,22 @@ public class ReportDesignController extends BaseController {
 	}
 	
 	@RequestMapping(value="/kpidesc.action")
-	public String kpidesc(Integer cubeId, ModelMap model){
-		model.addAttribute("ls", service.listKpiDesc(cubeId));
-		return "bireport/DataSet-kpidesc";
+	public @ResponseBody Object kpidesc(Integer cubeId){
+		List<Map<String, Object>>  ret = service.listKpiDesc(cubeId);
+		return super.buildSucces(ret);
 	}
 	
 	@RequestMapping(value="/print.action", method = RequestMethod.POST)
-	public Object print(String pageInfo, HttpServletRequest req, HttpServletResponse res) throws Exception{
+	public @ResponseBody Object print(String pageInfo, HttpServletRequest req, HttpServletResponse res) throws Exception{
 		ExtContext.getInstance().removeMV(ReportService.deftMvId);
 		JSONObject obj = (JSONObject)JSON.parse(pageInfo);
 		MVContext mv = reportService.json2MV(obj, 0);
 		CompPreviewService ser = new CompPreviewService(req, res, req.getServletContext());
 		ser.setParams(null);
 		ser.initPreview();
-		
+
 		String ret = ser.buildMV(mv, req.getServletContext());
-		req.setAttribute("data", ret);
-		
-		return "bireport/ReportDesign-print";
+		JSONObject json = JSONObject.parseObject(ret);
+		return super.buildSucces(json);
 	}
 }

+ 18 - 6
src/main/java/com/ruisitech/bi/web/bireport/TableController.java

@@ -1,11 +1,13 @@
 package com.ruisitech.bi.web.bireport;
 
+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.bireport.TableQueryDto;
 import com.ruisitech.bi.service.bireport.TableService;
 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;
@@ -25,17 +27,27 @@ public class TableController extends BaseController {
 	@Autowired
 	private TableService tableService;
 
+	private static Logger logger = Logger.getLogger(TableController.class);
+
 	@RequestMapping(value="/TableView.action", method = RequestMethod.POST)
 	public @ResponseBody
     Object tableView(@RequestBody TableQueryDto tableJson, HttpServletRequest req, HttpServletResponse res) throws Exception {
 
 		ExtContext.getInstance().removeMV(TableService.deftMvId);
 		MVContext mv = tableService.json2MV(tableJson);
-		
-		CompPreviewService ser = new CompPreviewService(req, res, req.getServletContext());
-		ser.setParams(tableService.getMvParams());
-		ser.initPreview();
-		String ret = ser.buildMV(mv, req.getServletContext());
-		return super.buildSucces(ret);
+		try {
+			CompPreviewService ser = new CompPreviewService(req, res, req.getServletContext());
+			ser.setParams(tableService.getMvParams());
+			ser.initPreview();
+			String ret = ser.buildMV(mv, req.getServletContext());
+			JSONObject json = JSONObject.parseObject(ret);
+			if(json.get("result") != null && json.getInteger("result") == 500){
+				return super.buildError(json.getString("msg"));
+			}
+			return super.buildSucces(json);
+		}catch (Exception ex){
+			logger.error("表格展现出错", ex);
+			return super.buildError(ex.getMessage());
+		}
 	}
 }