财务报表字符问题
This commit is contained in:
parent
6a86fbe30d
commit
76ee045214
1
WebContent/Frame/page/js/jquery.base64.js
Normal file
1
WebContent/Frame/page/js/jquery.base64.js
Normal file
@ -0,0 +1 @@
|
||||
"use strict";jQuery.base64=(function($){var _PADCHAR="=",_ALPHA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",_VERSION="1.0";function _getbyte64(s,i){var idx=_ALPHA.indexOf(s.charAt(i));if(idx===-1){throw"Cannot decode base64"}return idx}function _decode(s){var pads=0,i,b10,imax=s.length,x=[];s=String(s);if(imax===0){return s}if(imax%4!==0){throw"Cannot decode base64"}if(s.charAt(imax-1)===_PADCHAR){pads=1;if(s.charAt(imax-2)===_PADCHAR){pads=2}imax-=4}for(i=0;i<imax;i+=4){b10=(_getbyte64(s,i)<<18)|(_getbyte64(s,i+1)<<12)|(_getbyte64(s,i+2)<<6)|_getbyte64(s,i+3);x.push(String.fromCharCode(b10>>16,(b10>>8)&255,b10&255))}switch(pads){case 1:b10=(_getbyte64(s,i)<<18)|(_getbyte64(s,i+1)<<12)|(_getbyte64(s,i+2)<<6);x.push(String.fromCharCode(b10>>16,(b10>>8)&255));break;case 2:b10=(_getbyte64(s,i)<<18)|(_getbyte64(s,i+1)<<12);x.push(String.fromCharCode(b10>>16));break}return x.join("")}function _getbyte(s,i){var x=s.charCodeAt(i);if(x>255){throw"INVALID_CHARACTER_ERR: DOM Exception 5"}return x}function _encode(s){if(arguments.length!==1){throw"SyntaxError: exactly one argument required"}s=String(s);var i,b10,x=[],imax=s.length-s.length%3;if(s.length===0){return s}for(i=0;i<imax;i+=3){b10=(_getbyte(s,i)<<16)|(_getbyte(s,i+1)<<8)|_getbyte(s,i+2);x.push(_ALPHA.charAt(b10>>18));x.push(_ALPHA.charAt((b10>>12)&63));x.push(_ALPHA.charAt((b10>>6)&63));x.push(_ALPHA.charAt(b10&63))}switch(s.length-imax){case 1:b10=_getbyte(s,i)<<16;x.push(_ALPHA.charAt(b10>>18)+_ALPHA.charAt((b10>>12)&63)+_PADCHAR+_PADCHAR);break;case 2:b10=(_getbyte(s,i)<<16)|(_getbyte(s,i+1)<<8);x.push(_ALPHA.charAt(b10>>18)+_ALPHA.charAt((b10>>12)&63)+_ALPHA.charAt((b10>>6)&63)+_PADCHAR);break}return x.join("")}return{decode:_decode,encode:_encode,VERSION:_VERSION}}(jQuery));
|
||||
@ -40,7 +40,7 @@
|
||||
<input id="sqlString" name="sqlString" value="">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script src="<%=sWebRootPath%>/Frame/page/js/jquery.base64.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
var ObjectType = "CustomerFS";
|
||||
//新增一期财务报表
|
||||
@ -110,17 +110,28 @@
|
||||
|
||||
function FSExport(){
|
||||
var sReportDate = getItemValue(0,getRow(),"ReportDate");
|
||||
alert(sReportDate);
|
||||
|
||||
if(!sReportDate){
|
||||
alert("请选择一条信息!");
|
||||
return;
|
||||
}
|
||||
var sObjectNo = getItemValue(0,getRow(),"CustomerID");
|
||||
alert(sObjectNo);
|
||||
var sReportScope = getItemValue(0,getRow(),"ReportScope");
|
||||
alert(sReportScope);
|
||||
|
||||
AsControl.ExportFinanceReport(ObjectType, sObjectNo, sReportScope, sReportDate);
|
||||
var sReportScope = getItemValue(0,getRow(),"ReportScope");
|
||||
|
||||
|
||||
var sParam;
|
||||
if(arguments.length == 1) sParam = "ReportNo="+arguments[0];
|
||||
else sParam = "ObjectType="+ObjectType+",ObjectNo="+sObjectNo+",ReportScope="+sReportScope+",ReportDate="+sReportDate;
|
||||
var sReportExcelPath = AsControl.RunJavaMethodSqlca("com.amarsoft.app.util.ExportExcel", "run", sParam);
|
||||
if(!sReportExcelPath) return;
|
||||
console.info(sReportExcelPath);
|
||||
sReportExcelPath=$.base64.encode(encodeURI(sReportExcelPath));
|
||||
console.info(sReportExcelPath);
|
||||
if(!frames["exportfsframe"]) $("<iframe name='exportfsframe' style='display:none;'></iframe>").appendTo("body");
|
||||
window.open(sWebRootPath+"/servlet/view/file1?CompClientID="+sCompClientID+"&filename="+sReportExcelPath+"&viewtype=download", "exportfsframe");
|
||||
|
||||
|
||||
console.info(sWebRootPath);
|
||||
}
|
||||
|
||||
@ -132,6 +143,8 @@
|
||||
}
|
||||
var sObjectNo = getItemValue(0,getRow(),"CustomerID");
|
||||
var sReportScope = getItemValue(0,getRow(),"ReportScope");
|
||||
|
||||
|
||||
AsControl.ExportFinanceReport(ObjectType, sObjectNo, sReportScope, sReportDate);
|
||||
console.info(sWebRootPath);
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package com.tenwa.lease.util;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.net.URLDecoder;
|
||||
import java.net.URLEncoder;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
@ -11,9 +12,13 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
|
||||
import com.amarsoft.are.ARE;
|
||||
import com.amarsoft.are.util.DataConvert;
|
||||
|
||||
import sun.misc.BASE64Decoder;
|
||||
|
||||
public class FileViewServlet extends javax.servlet.http.HttpServlet{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -31,10 +36,8 @@ public class FileViewServlet extends javax.servlet.http.HttpServlet{
|
||||
String sContentType = "text/html";
|
||||
String sViewType = "view";
|
||||
|
||||
sFileName = DataConvert.toString(request.getParameter("filename"));
|
||||
System.out.println("解码前:"+sFileName);
|
||||
sFileName = new String(sFileName.getBytes("iso-8859-1"),"GBK");
|
||||
System.out.println("解码后:"+sFileName);
|
||||
BASE64Decoder de = new BASE64Decoder();
|
||||
sFileName = URLDecoder.decode(new String(de.decodeBuffer( request.getParameter("filename")), "UTF-8"),"UTF-8");
|
||||
sContentType = DataConvert.toString(request
|
||||
.getParameter("contenttype"));
|
||||
sViewType = DataConvert.toString(request.getParameter("viewtype"));
|
||||
@ -75,6 +78,8 @@ public class FileViewServlet extends javax.servlet.http.HttpServlet{
|
||||
} else if (clientInfo.indexOf("Firefox") > 0) {
|
||||
browName = new String(sNewFileName.getBytes("UTF-8"),
|
||||
"ISO-8859-1");
|
||||
}else{
|
||||
browName = URLEncoder.encode(sNewFileName, "utf-8");
|
||||
}
|
||||
}
|
||||
response.setContentType(sContentType + ";charset=GBK");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user