LdapSync.jsp 9.05 KB
<%@ page import="com.api.integration.ldap.constant.LdapConstant" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ include file="/systeminfo/init_wev8.jsp" %>
<%@ taglib uri="/WEB-INF/weaver.tld" prefix="wea" %>
<%@ taglib uri="/WEB-INF/tld/browser.tld" prefix="brow" %>
<%
    if (!HrmUserVarify.checkUserRight(LdapConstant.LDAP_RIGHT_KEY, user)) {
        response.sendRedirect("/notice/noright.jsp");
        return;
    }

    //LDAP集成
    String titlename = "LDAP" + SystemEnv.getHtmlLabelName(26267, user.getLanguage());

    String ldapId = Util.null2String(request.getParameter("ldapid"));

    String lastupdate = TimeUtil.getCurrentDateString();
%>
<HTML>
<HEAD>
    <LINK href="/css/Weaver_wev8.css" type=text/css rel=STYLESHEET>
    <SCRIPT language="javascript" src="/js/weaver_wev8.js"></script>

    <script type='text/javascript' src='/js/jquery-autocomplete/lib/jquery.bgiframe.min_wev8.js'></script>
    <script type='text/javascript' src='/js/jquery-autocomplete/lib/jquery.ajaxQueue_wev8.js'></script>
    <script type='text/javascript' src='/js/jquery-autocomplete/jquery.autocomplete_wev8.js'></script>
    <script type='text/javascript' src='/js/jquery-autocomplete/browser_wev8.js'></script>
    <link rel="stylesheet" type="text/css" href="/js/jquery-autocomplete/jquery.autocomplete_wev8.css"/>
    <link rel="stylesheet" type="text/css" href="/js/jquery-autocomplete/browser_wev8.css"/>

    <script language=javascript src="/js/ecology8/request/e8.browser_wev8.js"></script>
    <link rel="stylesheet" href="/wui/theme/ecology8/weaveredittable/css/WeaverEditTable_wev8.css">
    <script src="/wui/theme/ecology8/weaveredittable/js/WeaverEditTable_wev8.js"></script>


</head>
<body>
<div class="zDialog_div_content">
    <%@ include file="/systeminfo/TopTitle_wev8.jsp" %>
    <%@ include file="/systeminfo/RightClickMenuConent_wev8.jsp" %>
    <%
        if (HrmUserVarify.checkUserRight("SystemSetEdit:Edit", user)) {
            RCMenu += "{" + SystemEnv.getHtmlLabelName(32632, user.getLanguage()) + ",javascript:syncAll(\\\"all\\\"),_self} ";
            RCMenuHeight += RCMenuHeightStep;
            RCMenu += "{" + SystemEnv.getHtmlLabelName(32633, user.getLanguage()) + ",javascript:syncAll(\\\"syncdate\\\"),_self} ";
            RCMenuHeight += RCMenuHeightStep;
        }
    %>
    <%@ include file="/systeminfo/RightClickMenu_wev8.jsp" %>
    <table id="topTitle" cellpadding="0" cellspacing="0">
        <tr>
            <td></td>
            <td class="rightSearchSpan" style="text-align:right; width:500px!important">
                <%if (HrmUserVarify.checkUserRight("SystemSetEdit:Edit", user)) {%>
                <input type="button" value="<%=SystemEnv.getHtmlLabelName(32632 ,user.getLanguage()) %>"
                       class="e8_btn_top" onclick="syncAll('all');"/>
                <input type="button" value="<%=SystemEnv.getHtmlLabelName(32633 ,user.getLanguage()) %>"
                       class="e8_btn_top" onclick="syncAll('syncdate');"/>
                <%}%>
                <span id="advancedSearch" class="advancedSearch"
                      style='display:none;'><%=SystemEnv.getHtmlLabelName(21995, user.getLanguage()) %></span>&nbsp;&nbsp;
                <span title="<%=SystemEnv.getHtmlLabelName(23036 ,user.getLanguage()) %>" class="cornerMenu"></span>
            </td>
        </tr>
    </table>
    <div id="tabDiv">
        <span style="font-size:14px;font-weight:bold;"><%=titlename%></span>
    </div>

    <FORM style="MARGIN-TOP: 0px" id="frmMain" name="frmMain" method=post action="">
        <input type="hidden" id="ldapId" name="ldapId" value="<%=ldapId%>"/>

        <wea:layout>
            <%--同步内容--%>
            <wea:group context='<%=SystemEnv.getHtmlLabelName(32328,user.getLanguage())%>'
                       attributes="{'samePair':'BaseInfo','groupOperDisplay':'none'}">
                <wea:item>
                    <%--日期--%>
                    <%=SystemEnv.getHtmlLabelName(31131, user.getLanguage())%>
                </wea:item>
                <wea:item>
                    <button type=button class=calendar id=lastupdateBtn
                            onclick="gettheDate(lastupdate,lastupdatespan)"></BUTTON>
                    <SPAN id=lastupdatespan><%=lastupdate%></SPAN>
                    <input type="hidden" id="lastupdate" name="lastupdate" value="<%=lastupdate%>">
                </wea:item>
            </wea:group>

            <%--执行情况--%>
            <wea:group context='<%=SystemEnv.getHtmlLabelName(20564,user.getLanguage())%>'
                       attributes="{'samePair':'ExportInfo','groupOperDisplay':'none','itemAreaDisplay':'block'}">
                <wea:item attributes="{'colspan':'2','isTableList':'true'}">
                    <textarea id="syncLogShow" readonly="readonly" style="overflow:auto;margin:20px;border-style:solid;border-color: #FFFFFF;width:790px;height:450px;"></textarea>
                </wea:item>
            </wea:group>

        </wea:layout>
    </FORM>
</div>
<div id="zDialog_div_bottom" class="zDialog_div_bottom">
    <wea:layout needImportDefaultJsAndCss="false">
        <wea:group context="">
            <wea:item type="toolbar">
                <input class="zd_btn_cancle" type="submit" id="btnClose" onclick="closeWin();"
                       value="<%=SystemEnv.getHtmlLabelName(309,user.getLanguage())%>"/><!-- 取消 -->
            </wea:item>
        </wea:group>
    </wea:layout>
</div>
</body>
</HTML>
<script language="javascript">

    var FINAL_LDAP_ID = encodeURIComponent("<%=ldapId%>");

    /**
     * 检测LDAP是否启用
     * @returns {boolean} true:启用,false:未启用
     */
    function checkLdapUser() {

        if ("1" == "0") {
            return true;
        } else {
            top.Dialog.alert("<%=SystemEnv.getHtmlLabelNames("34148,32386",user.getLanguage()) %>");
            return false
        }
    }

    /**
     * 提交同步请求,无参数全部同步,有参数按时间同步
     */
    function syncAll(type) {
//        if (!checkLdapUser()) {
//            return;
//        }

        if(!isSync){
            $("#syncLogShow").val("<%=SystemEnv.getHtmlLabelName(131322,user.getLanguage())%>" + "\n\r");

            currentLineNumber = 0;
            isSync = true;

            var url = "/api/integration/ldap/run/" + FINAL_LDAP_ID;
            if("syncdate" == type){
                url += "?syncDate=" + $("#lastupdate").val();
            }

            $.ajax({
                type: "post",
                url: url,
                success: function (data) {

                    data = jQuery.parseJSON(data);

                    //code == 100表示保存成功,其它都是失败。
                    if ("100" == data.code) {
                        showSyncLog();

                    } else if("103" == data.code){
                        top.Dialog.alert(data.description, function () {
                            showSyncLog();
                        });
                    } else {
                        top.Dialog.alert(data.description);
                    }
                },
                error: function (jqXHR) {
                    releasePage();
                    top.Dialog.alert(jqXHR.statusText);
                }
            });
        } else {
            top.Dialog.alert("<%=SystemEnv.getHtmlLabelName(131202,user.getLanguage())%>");
        }
    }

    /**
     * 当前同步信息显示位置(文件行号)
     */
    var currentLineNumber = 0;
    var isSync = false;

    /**
     * 显示同步信息
     */
    function showSyncLog(){
        var url = "/api/integration/ldap/run/" + FINAL_LDAP_ID + "/show?lineNumber=" + currentLineNumber;
        $.ajax({
            type: "get",
            url: url,
            success: function (data) {

                data = jQuery.parseJSON(data);

                $("#syncLogShow").val($("#syncLogShow").val() + data.description);
                document.getElementById('syncLogShow').scrollTop = document.getElementById('syncLogShow').scrollHeight;

                //code == 100 同步完成。
                if ("100" == data.code) {
                    currentLineNumber = 0;
                    isSync = false;

                } else {
                    if(data.ext && !isNaN(data.ext)){
                        currentLineNumber = parseInt(data.ext) + 1;
                    }
                    setTimeout("showSyncLog()",1000);
                }
            },
            error: function (jqXHR) {
                top.Dialog.alert(jqXHR.statusText);
            }
        });
    }

    function forbiddenPage() {
        parent.forbiddenPage();
    }

    function releasePage() {
        parent.releasePage();
    }

    function closeWin(){
        var parentWin = parent.parent.getParentWindow(parent.window);
        parentWin.closeDialog();
    }

    function closeWinAFrsh() {
        var parentWin = parent.parent.getParentWindow(parent.window);
        parentWin.closeDlgARfsh();
    }

</script>
<SCRIPT language="javascript" src="/js/datetime_wev8.js"></script>
<SCRIPT language="javascript" src="/js/JSDateTime/WdatePicker_wev8.js"></script>