OfdShow.jsp 10.9 KB
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="java.io.*" %>
<%@ page import="java.net.*,weaver.general.Util" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@ page import="weaver.general.BaseBean" %>
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page"/>
<%
    int userightmenu = 1;
    try {
        userightmenu = Util.getIntValue(new BaseBean().getPropValue("systemmenu", "userightmenu"), 1);
    } catch (Exception e) {
    }

    int docid = Util.getIntValue(request.getParameter("docid"), 0);
    int imagefileId = Util.getIntValue(request.getParameter("imagefileId"), 0);
    String isrequest=Util.null2String(request.getParameter("isrequest"));
    int requestid=Util.getIntValue(request.getParameter("requestid"),0);
    String isEdit=request.getParameter("isEdit") ;
    new BaseBean().writeLog("isEdit=======================================" + isEdit);
    if (imagefileId > 0) {
        RecordSet.executeQuery("select max(a.imageFileId) as imageFileId  from DocImageFile a  where a.docId=" + docid + " and exists(select 1  from DocImageFile b  where b.id=a.id and b.docId=" + docid + " and b.imageFileId=" + imagefileId + ")");
        if (RecordSet.next()) {
            int imagefileId_new = Util.getIntValue(RecordSet.getString("imageFileId"));
            if (imagefileId_new > imagefileId) {
                imagefileId = imagefileId_new;
            }
        }
    }
    String agent = (String)request.getHeader("user-agent");
    //判断客户端是否Windows操作系统
    boolean isWindows = false;
    if(agent.contains("Windows")){
        isWindows = true;
    }
    boolean isFuxinReader = "1".equals(RecordSet.getPropValue("weaver_OFDReader","readerType"));
    if(isFuxinReader){
        if(isWindows){
            response.sendRedirect("/docs/ofd4fuxin/OfdShow.jsp?docid="+docid+"&imagefileId="+imagefileId+"&isEdit="+isEdit+"&requestId="+ requestid+"&isrequest="+isrequest);
            return;
        }else{
            response.sendRedirect("/docs/ofd4fuxin/OfdShow4Linux.jsp?docid="+docid+"&imagefileId="+imagefileId+"&isEdit="+isEdit+"&requestId="+ requestid+"&isrequest="+isrequest);
            return;
        }
    }


    //从Cookie中获取sessionKey
    Map<String, Cookie> cookieMap = new HashMap<String, Cookie>();
    Cookie[] cookies = request.getCookies();
    String sessionKey = "jsessionid";
    RecordSet.writeLog("session.getId()====111======================================" + session.getId());
    RecordSet.writeLog("session.getId()====222======================================" + session.getId());
    if (null != cookies) {
        for (Cookie cookie : cookies) {
            RecordSet.writeLog("cookie.getName()====111======================================" + cookie.getName());
            RecordSet.writeLog("cookie.getName()====222======================================" + response.encodeURL(cookie.getName()));
            RecordSet.writeLog("cookie.getValue()====111======================================" + cookie.getValue());
            if(cookie.getValue().equals(session.getId())){
                if(cookie.getName().equalsIgnoreCase("jsessionid")){
                    sessionKey = "jsessionid";
                    break;
                }
                sessionKey = cookie.getName();
            }
        }
    }
    RecordSet.writeLog("sessionKey====111======================================" + sessionKey);
    String hostStr = request.getServerName() + ":" + request.getServerPort();
    String path = "/weaver/weaver.file.FileDownload;" + sessionKey + "=" + session.getId() + "?docId=" + docid + "&imageFileId=" + imagefileId + "&type=ofd";
    //String uploadPath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+"/weaver/weaver.odoc.ofd.web.UploadServlet;jsessionid=" + session.getId() + "?docId="+docid+"&imageFileId="+imagefileId+"&isrequest="+isrequest+"&requestid="+requestid;
    String uploadPath = "/docs/ofd/OfdUpload.jsp;" + sessionKey + "=" + session.getId() + "?docId="+docid+"&imageFileId="+imagefileId+"&isrequest="+isrequest+"&requestid="+requestid;
//path="http://localhost:8080/weaver/weaver.odoc.ofd.web.DownloadServlet?docId="+docid+"&imageFileId="+imagefileId;
    RecordSet.writeLog("path====111======================================" + path);
    RecordSet.writeLog("uploadPath====111======================================" + uploadPath);

%>

<LINK href="/css/Weaver_wev8.css" type=text/css rel=STYLESHEET>
<LINK href="/FCKEditor/editor/css/fck_editorarea_docdsp_wev8.css" type=text/css rel=STYLESHEET>
<SCRIPT language="javascript" src="/js/jquery/jquery_wev8.js"></script>
<SCRIPT language="javascript" src="/js/odoc/suwell_ofdReader.js"></script>


<style>
    #spanContent A {
        COLOR: blue;
        TEXT-DECORATION: underline
    }

    #spanContent A:hover {
        COLOR: red;
        TEXT-DECORATION: underline
    }

    #spanContent A:link {
        COLOR: blue;
        TEXT-DECORATION: underline
    }

    #spanContent A:visited {
        TEXT-DECORATION: underline
    }

    body {
        padding: 0;
    }

    .HtmlShowTable .HtmlShowTd {
        border: none;
    }

</style>
<body>

<div id="OFDActiveXDIV" style="float:left;width:100%;height:100%;"></div>

</body>
<script type="text/javascript">
    var downloadPath = "";
    var uploadPath = "";

    /*定义js页面使用的多语言*/
    var js_ret = "<%=SystemEnv.getHtmlLabelName(503086, user.getLanguage())%>";
    var js_html_one = "<%=SystemEnv.getHtmlLabelName(503087, user.getLanguage())%>";
    var js_load = "<%=SystemEnv.getHtmlLabelName(258, user.getLanguage())%>";
    var js_mess = "<%=SystemEnv.getHtmlLabelName(503089, user.getLanguage())%>";
    var js_mess_two = "<%=SystemEnv.getHtmlLabelName(503090, user.getLanguage())%>";
    var js_mess_the = "<%=SystemEnv.getHtmlLabelName(503091, user.getLanguage())%>";
    var js_mess_fou = "<%=SystemEnv.getHtmlLabelName(503092, user.getLanguage())%>";
    var js_mess_fiv = "<%=SystemEnv.getHtmlLabelName(503093, user.getLanguage())%>";


    var rightMenu = null;
    var initSignatureCount;
    var isEdit=<%=isEdit%>;

    var oldSignCount = 0;
    jQuery(document).ready(function () {
        rightMenu = parent.document.getElementById('rightMenu');


        try {
            parent.finalDo();
        } catch (e) {
        }

        initObject();



        if (!Boolean(isEdit)) {
            //hideTool();
        }
        if(isHttpsRequest()){
            downloadPath = "https://" + "<%=hostStr%>" + "<%=path%>";
            uploadPath = "https://" + "<%=hostStr%>" + "<%=uploadPath%>";
        }else{
            downloadPath = "http://" + "<%=hostStr%>" + "<%=path%>";
            uploadPath = "http://" + "<%=hostStr%>" + "<%=uploadPath%>";
        }
        openFile();

    });

    function isHttpsRequest(){
        if(window.location.href.indexOf('https://') === 0){
            return true;
        }else{
            return false;
        }
    }

    function showRightClickMenu(e) {
        var event = e ? e : (window.event ? window.event : null);
        var loc = event.clientY + 70;
        var rightedge = document.body.clientWidth - event.clientX;
        var bottomedge = document.body.clientHeight - event.clientY;
        if (rightedge < rightMenu.offsetWidth)
            rightMenu.style.left = (event.clientX - rightMenu.offsetWidth) + "px";
        else
            rightMenu.style.left = event.clientX + "px";
        if (bottomedge < rightMenu.offsetHeight)
            rightMenu.style.top = (loc - rightMenu.offsetHeight) + "px";
        else
            rightMenu.style.top = loc + "px";
        rightMenu.style.visibility = "visible"
        rightMenu.style.display = "block";
        if (!!event) {
            try {
                event.stopPropagation();
                event.preventDefault();
            } catch (e) {
                window.event.cancelBubble = true;
                return false;
            }
        }
        return false;
    }

    function hideRightClickMenu() {
        rightMenu.style.visibility = "hidden"
        rightMenu.style.display = "none";

    }

    var ocx;

    function initObject() {
        var propTabHeight = 3;
        var pageHeight = document.body.clientHeight;
        var pageWidth = document.body.clientWidth;
        ocx = suwell.ofdReaderInit("OFDActiveXDIV", pageWidth + "px", (pageHeight - propTabHeight) + "px");
        //此监听用于判断远程保存文件的成败。如果此监听被触发说明文件保存成功。如果不被触发说明文件保存失败。
        if (ocx) {
            //ocx.registListener("f_saveurl","savePerformed",true);
            //增加打开文件监听
            ocx.registListener("f_open", "openPerformed", true);
        }





    }

    function openPerformed() {
        ocx.setScale(150);
    }

    //打开远程服务上的文件。
    function openFile() {
        ocx.openFile(downloadPath, false);
        ocx.setCompsiteVisible("open", false);
        ocx.setCompsiteVisible("save", false);

        //签章计数
        oldsignCount = ocx.getSignaturesCount();

    }
    //上传文件至远程服务
    var saveFile = function (){

        //签章计数
        var newSignCount = ocx.getSignaturesCount();
        if(newSignCount > 0 ){
            jQuery.ajax({
                url:'/odoc/docs/odocCommonAjax.jsp',
                data:{action:'saveGinatureCount',
                    requestid:'<%=requestid%>',
                    docid:'<%=docid%>',
                    singCount:newSignCount,
                },
                type:'POST',
                dataType:'json',
                success:function(){
                }
            });
        }
        if(ocx.saveFile(uploadPath)){
            alert("<%=SystemEnv.getHtmlLabelName(501784, user.getLanguage())%>");
        }else{
            alert("<%=SystemEnv.getHtmlLabelName(501785, user.getLanguage())%>");
        }

    }

    <%if(userightmenu==1){%>
    document.oncontextmenu = showRightClickMenu;
    document.body.onclick = hideRightClickMenu;
    <%}%>

    //var clock=self.setInterval("getVersion()",5000)
    var count = 0
    setTimeout("getVersion()","500");

    function getVersion() {
        var v = ocx.version();
        //console.log("vvvv"+v);
        if(v){
            //window.clearInterval(clock);
        }
        else{
            if(count <= 20){
                count++;
                setTimeout("getVersion()","500");
            }else{
                location.href = "/docs/ofd/sysRemind.jsp?labelid=667";
            }
            //window.clearInterval(clock);
        }

    }



    function hideTool() {
        ocx.setCompsiteVisible("t_sealsign",false);
        ocx.setCompsiteVisible("t_pageseal",false);
        ocx.setCompsiteVisible("t_formsign",false);
        ocx.setCompsiteVisible("t_tableteraser",false);
        ocx.setCompsiteVisible("t_tabletdlg",false);
        ocx.setCompsiteVisible("t_tablet",false);
        ocx.setCompsiteVisible("toolbar_annott",false);
        ocx.setCompsiteVisible("toolbar_annotp",false);
    }
</script>