SocialUserRightManagerOperation.jsp 4.82 KB
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<%@page import="weaver.conn.RecordSet"%>
<%@page import="weaver.conn.BatchRecordSet"%>
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.hrm.*" %>
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<%
    User user = HrmUserVarify.getUser (request , response) ;
    String dataType = Util.null2String(request.getParameter("dataType"));
    String method = Util.null2String(request.getParameter("method"));
    if(dataType.isEmpty()) return;
    // 删除
    if ("delete".equals(method)) {
        String id = Util.null2String(request.getParameter("id"));
        RecordSet.executeQuery("delete from Social_IMUserRightManager where id =? and dataType=?", id,dataType);
        response.sendRedirect("/social/manager/SocialUserRightManager.jsp?dataType="+dataType);
        return;
    }
    // 批量删除
    else if ("batchDelete".equals(method)) {
        String id = Util.null2String(request.getParameter("id"));
        RecordSet.executeSql("delete from Social_IMUserRightManager where id in (" + id + ") and dataType='"+dataType+"'");
        response.sendRedirect("/social/manager/SocialUserRightManager.jsp?dataType="+dataType);
        return;
    }
    // 添加
    else if ("add".equals(method)) {
        String id = Util.null2String(request.getParameter("id"));
        String permissionType = Util.null2String(request.getParameter("permissionType"));
        String relatedshareid = Util.null2String(request.getParameter("relatedshareid"));
        String seclevel = Math.min(Util.getIntValue(request.getParameter("seclevel")), Util.getIntValue(request.getParameter("seclevelMax"))) + "";
        String seclevelMax = Math.max(Util.getIntValue(request.getParameter("seclevel")), Util.getIntValue(request.getParameter("seclevelMax"))) + "";
        String jobtitlelevel = Util.null2String(request.getParameter("jobtitlelevel"));
        String jobtitlesubcompany = Util.null2String(request.getParameter("jobtitlesubcompany"));
        String jobtitledepartment = Util.null2String(request.getParameter("jobtitledepartment"));
        String scopeid = "0";
        if (jobtitlelevel.equals("1")) {
            scopeid = jobtitledepartment;
        } else if (jobtitlelevel.equals("2")) {
            scopeid = jobtitlesubcompany;
        }
        scopeid = "," + scopeid + ",";

        String jobtitleid = "-1";

        boolean isfromtab = Util.null2String(request.getParameter("isfromtab")).equals("true") ? true : false;

        if (permissionType.equals("6"))
            jobtitleid = relatedshareid;

        jobtitleid = "," + jobtitleid + ",";
        String[] shaveVauesList = Util.TokenizerString2(relatedshareid, ",");
        List<String> paraList = new ArrayList<String>();
        char flag = Util.getSeparator();
		String para = "";
        String wherejob = " and scopeid = '" + scopeid + "'";
        if (jobtitleid != null && !"".equals(jobtitleid))
            wherejob += " and jobtitleid = '" + jobtitleid + "'";
        if (jobtitlelevel != null && !"".equals(jobtitlelevel))
            wherejob += " and joblevel = " + jobtitlelevel;
        
        String minSeclevel = seclevel;
        String maxSeclevel = seclevelMax;

        for (String shaveVaue : shaveVauesList) {
            if (shaveVaue.equals("")) {
                continue;
            }
            para = shaveVaue + flag +
                    permissionType + flag +
                    minSeclevel + flag +
                    maxSeclevel + flag +
                    jobtitleid + flag +
                    jobtitlelevel + flag +
                    scopeid +flag+
                    dataType;
            RecordSet reSet = new RecordSet();
            String minSeclevelwhere = " seclevel = " + minSeclevel;
            if (minSeclevel == null || "".equals(minSeclevel))
                minSeclevelwhere = " seclevel is null ";
            String selsql = "select id from Social_IMUserRightManager where  dataType='"+dataType+"' and contents = '" + shaveVaue + "' and permissionType = "
                    + permissionType + " and " + minSeclevelwhere + " and seclevelMax = "
                    + maxSeclevel + wherejob;
            reSet.execute(selsql);
            if (!reSet.next()) {
                paraList.add(para);
            }
        }
        new BatchRecordSet().executeSqlBatch("insert into Social_IMUserRightManager(contents,permissionType,seclevel,seclevelMax,jobtitleid,joblevel,scopeid,datatype)"
                                + " values (?,?,?,?,?,?,?,?)", paraList);
        if (!isfromtab) {
            RecordSet.executeSql("delete from Social_IMUserRightManager where id in (" + id + ") dataType='"+dataType+"'");
        } else {
            out.print("<script>parent.getParentWindow(window).addShareCallback();</script>");
        }
        return;
    }
%>