Browse Source

替换报表打印

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@6345 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
sunyj 9 years ago
parent
commit
939d1d4238

+ 42 - 37
src/main/java/com/uas/platform/b2b/controller/ReportController.java

@@ -1,61 +1,66 @@
 package com.uas.platform.b2b.controller;
 
+import java.io.IOException;
 import java.net.URLEncoder;
 
+import javax.servlet.http.HttpServletResponse;
+
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 
-import com.uas.platform.b2b.service.ReportConfigService;
-import com.uas.platform.core.util.Des;
+import com.uas.platform.b2b.support.SysConf;
 
 /**
- * 报表请求
- * 
- * @author suntg
- * @date 2015年3月9日19:58:22
+ * 打印相关接口
  * 
+ * @author sunyj
+ * @since 2016年11月4日 上午8:57:16
  */
 @Controller
-@RequestMapping(value = "/reports")
+@RequestMapping(value = "/report")
 public class ReportController {
 
 	@Autowired
-	private ReportConfigService reportConfigService;
+	private SysConf sysConf;
+
+	/**
+	 * 打印
+	 * 
+	 * @param enuu
+	 *            模板所属的企业的uu
+	 * @param reportName
+	 *            需要打印的报表的名称,不带任何后缀(如导出订单,即为"order")
+	 * @param whereCondition
+	 *            where之后的条件(包括where)
+	 * @param response
+	 */
+	@RequestMapping(value = "/print")
+	public void print(@RequestParam(required = true) Long enuu, @RequestParam(required = true) String reportName,
+			@RequestParam(required = true) String whereCondition, HttpServletResponse response) {
+		try {
+			response.sendRedirect(
+					String.format(sysConf.getReportPrintUrl(), URLEncoder.encode("/" + enuu.toString(), "UTF-8"),
+							URLEncoder.encode(reportName, "UTF-8"), URLEncoder.encode(whereCondition, "UTF-8")));
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
 
 	/**
-	 * 根据企业UU号和页面名称获取报表名称
+	 * 模板文件上传路径
 	 * 
-	 * @return
+	 * @param response
 	 */
-	@RequestMapping(value = "/path", method = RequestMethod.GET)
-	public ResponseEntity<String> getReportNameByEnuuAndPagename(Long enuu,
-			String pagename) {
-		HttpHeaders headers = new HttpHeaders();
-		headers.add("Content-Type", "application/text; charset=utf-8");
-		String key = "12345678";
-		String reportName = reportConfigService.getReportNameByEnuuAndPageName(
-				enuu, pagename);
-		if (reportName == null) {
-			return new ResponseEntity<String>("未找到报表文件", headers,
-					HttpStatus.EXPECTATION_FAILED);
-		} else {
-			Des de = new Des();
-			// 文件名
-			String name;
-			try {
-				name = URLEncoder.encode(reportName, "utf-8").toLowerCase();
-				String a = de.toHexString(de.encrypt(name, key)).toUpperCase();
-				reportName = a;
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
+	@RequestMapping(value = "/upload")
+	public void upload(@RequestParam(required = true) Long enuu, HttpServletResponse response) {
+		try {
+			response.sendRedirect(
+					String.format(sysConf.getReportUploadUrl(), URLEncoder.encode(enuu.toString(), "UTF-8")));
+		} catch (IOException e) {
+			e.printStackTrace();
 		}
-		return new ResponseEntity<String>(reportName, headers, HttpStatus.OK);
 	}
 
 }

+ 28 - 0
src/main/java/com/uas/platform/b2b/support/SysConf.java

@@ -28,6 +28,18 @@ public class SysConf {
 	@Value("#{sys.im}")
 	private String im;
 
+	/**
+	 * 打印服务的url
+	 */
+	@Value("#{sys.reportPrintUrl}")
+	private String reportPrintUrl;
+
+	/**
+	 * 打印服务上传文件的url
+	 */
+	@Value("#{sys.reportUploadUrl}")
+	private String reportUploadUrl;
+
 	public String getB2b() {
 		return b2b;
 	}
@@ -60,4 +72,20 @@ public class SysConf {
 		this.im = im;
 	}
 
+	public String getReportPrintUrl() {
+		return reportPrintUrl;
+	}
+
+	public void setReportPrintUrl(String reportPrintUrl) {
+		this.reportPrintUrl = reportPrintUrl;
+	}
+
+	public String getReportUploadUrl() {
+		return reportUploadUrl;
+	}
+
+	public void setReportUploadUrl(String reportUploadUrl) {
+		this.reportUploadUrl = reportUploadUrl;
+	}
+
 }

+ 4 - 1
src/main/resources/dev/sys.properties

@@ -2,4 +2,7 @@
 b2b=http://218.17.158.219:9090/platform-b2b
 manage=http://218.17.158.219:9090/platform-manage
 manageInner=http://192.168.253.60:9090/platform-manage
-im=http://113.105.74.131:8092
+im=http://113.105.74.131:8092
+#report url
+reportPrintUrl=http://print.ubtob.com/report/print?userName=B2B%s&profile=${profile}&reportName=%s&whereCondition=%s
+reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2B%s

+ 4 - 1
src/main/resources/prod/sys.properties

@@ -2,4 +2,7 @@
 b2b=http://www.ubtob.com
 manage=http://manage.ubtob.com
 manageInner=http://10.10.100.81:8080
-im=http://113.105.74.140:8092
+im=http://113.105.74.140:8092
+#report url
+reportPrintUrl=http://print.ubtob.com/report/print?userName=B2B%s&profile=${profile}&reportName=%s&whereCondition=%s
+reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2B%s

+ 4 - 1
src/main/resources/test/sys.properties

@@ -2,4 +2,7 @@
 b2b=http://218.17.158.219:9090/platform-b2b
 manage=http://218.17.158.219:9090/platform-manage
 manageInner=http://192.168.253.60:9090/platform-manage
-im=http://113.105.74.131:8092
+im=http://113.105.74.131:8092
+#report url
+reportPrintUrl=http://print.ubtob.com/report/print?userName=B2B%s&profile=${profile}&reportName=%s&whereCondition=%s
+reportUploadUrl=http://print.ubtob.com/report/fileUpload?userName=B2B%s