index2mobile.jsp 4.97 KB
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ page import="java.util.Map,java.util.HashMap" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.hrm.*" %>
<%@ page import="weaver.conn.RecordSet" %>
<%@ page import="com.api.doc.detail.service.DocViewPermission" %>
<%@ page import="weaver.docs.pdf.docpreview.ConvertPDFUtil"%>
<%@page import="com.api.doc.detail.util.ImageConvertUtil"%>
<%
	User user = HrmUserVarify.getUser (request , response) ;
	if(user == null){
		return;
	}
	int fileid = Util.getIntValue(request.getParameter("fileid"));

	if(fileid < 0){
		return;
	}
	RecordSet rs = new RecordSet();
	rs.executeQuery("select docid from DocImageFile where imagefileid=?",fileid );
	int docid = 0;
	if(rs.next()){
		docid = rs.getInt("docid");
	}
	DocViewPermission dvps = new DocViewPermission();
    Map<String,Boolean> levelMap = new HashMap<String,Boolean>();
	if(docid > 0){
	    levelMap = dvps.getShareLevel(docid,user,false);
	}else{
		levelMap.put(DocViewPermission.READ,true);
		levelMap.put(DocViewPermission.DOWNLOAD,false);
	}
	boolean canRead = levelMap.get(DocViewPermission.READ);
	if(!canRead){
    	levelMap.put(DocViewPermission.READ,dvps.hasRightFromOtherMould(docid,user,request));
    	canRead = levelMap.get(DocViewPermission.READ);
    }
	
	if(!canRead){
    	response.sendRedirect("/notice/noright.jsp") ;
    }
	
	String imageFileName = "";
	
  	//其他模块参数集
    String moudleParams = dvps.getMoudleParams(request);
    
	String sql = "select a.imagefilename from Imagefile a left join DocImageFile  b " +
			" on a.imagefileid=b.imagefileid where a.imagefileid=? order by versionId desc";
	rs.executeQuery(sql,fileid);
	if(rs.next()){
		imageFileName = Util.null2String(rs.getString("imagefilename"),"");
	}
	String extname = imageFileName.indexOf(".") > -1 ? imageFileName.substring(imageFileName.lastIndexOf(".")+ 1) : "";
    extname = extname.toLowerCase();
    
    String docContent = "";
    if(extname.equals("pdf")){
    	boolean canPrint = false;
    	boolean canDownload = false;
    	docContent = "<iframe src=\"/docs/pdfview/web/pdfViewer.jsp?canPrint="+canPrint+"&canDownload="+canDownload+"&pdfimagefileid="+fileid+moudleParams+"\" style=\"display: block;width: 100%;height: 100%; border:0\"></iframe>";
	}else if(extname.equals("jpg") || extname.equals("jpeg") || extname.equals("png") || extname.equals("gif") || extname.equals("bmp")){
		docContent = "<table style='width:100%;height:100%;background-color:#ffffff'><tr><td style='height:100%; vertical-align:middle; text-align:center;'><img style='vertical-align:middle;' src='/weaver/weaver.file.FileDownload?fileid=" + fileid + moudleParams + "&nolog=1'/></td></tr></table>";
	}else{
        //是否开启PDF转换
        boolean isUsePDFViewer = ConvertPDFUtil.isUsePDFViewer();
      //是否是支持转换的文档
       	boolean canConvert = ImageConvertUtil.canConvertType(extname);
       	// 采用转换PDF预览
        if(isUsePDFViewer && canConvert){
        	
			ImageConvertUtil icu = new ImageConvertUtil();
        	String convertType = icu.getConvertType();
        	String from = ImageConvertUtil.DOC_ACC_TABLE;
        	
        	if(convertType == null || convertType.isEmpty()){
        		convertType = "html";
        	}
        	rs.executeQuery("select convertPath from CONVERT_IMAGEFILE where imagefileid=? and convertype=? and ecologyTable=?",fileid,convertType,from);
        	//rs.executeQuery("select convertPath from CONVERT_IMAGEFILE where imagefileid=? and convertype=? and ecologyTable=?",fileid,convertType,from);
			if(rs.next()){
				String convertPath = Util.null2String(rs.getString("convertPath"));
				String token = icu.getToken(convertPath);
				boolean flag = convertPath.contains("?");
				convertPath += (flag ? "&" : "?") + "tokenKey=" + token;
				docContent = "<iframe src=\""+convertPath+"\" style=\"display: block;width: 100%;height: 100%; border:0\"></iframe>";
			}else{
				String sysremindurl = "/docs/pdfview/web/sysRemind.jsp?labelid=998";
        		docContent = "<iframe src=\""+sysremindurl+"\" style=\"display: block;width: 100%;height: 100%; border:0\"></iframe>";
			}
			
        }else{
        	//不支持的格式
        	int requestid = Util.getIntValue(request.getParameter("requestid"),0);
        	if(requestid > 0){
        		moudleParams += "&fromrequest=1"; 
        	}
        	String sysremindurl="/wui/common/page/sysRemind.jsp?labelid=129757";
        	if(levelMap.get(DocViewPermission.DOWNLOAD)){
        		sysremindurl="/wui/common/page/sysRemind.jsp?labelid=129755";
        	}
        	docContent = "<iframe src=\""+sysremindurl+"\" style=\"display: block;width: 100%;height: 100%; border:0\"></iframe>";
        }
	}
	
%>
<html>
	<head>
	
	<style>
		#accViewContent img{
			max-width:100%;
		}
		#imgBox .imgBox{
			padding:5px 0;
			text-align:center;
		}
		body{
			height:100%;
			margin:0;
		}
		#accViewContent{
			height:100%;
			overflow:auto;
		}
		
	</style>
	</head>
	<body>
		<div id="accViewContent" ><%= docContent %></div>
	</body>
</html>