WorkflowManageRequestPicture.jsp 14.3 KB
<%@ page import="weaver.general.Util" %>
<%@ page import="weaver.conn.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.Timestamp" %>

<%@ page language="java" contentType="text/html; charset=UTF-8" %> <%@ include file="/systeminfo/init_wev8.jsp" %>

<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page"/>
<jsp:useBean id="CustomerInfoComInfo" class="weaver.crm.Maint.CustomerInfoComInfo" scope="page" />
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rs1" class="weaver.conn.RecordSet" scope="page" />


<%

String requestid = Util.null2String(request.getParameter("requestid")) ;
String workflowid = Util.null2String(request.getParameter("workflowid")) ;
String nodeid = Util.null2String(request.getParameter("nodeid")) ;
String isbill = Util.null2String(request.getParameter("isbill")) ;
String formid = Util.null2String(request.getParameter("formid")) ;
String sql = "" ;
%>

<DIV id=wait style="filter:alpha(opacity=30); height:100%; width:100%">
<TABLE width="100%" height="100%">
	<TR><TD align=center style="font-size: 36pt;"><%=SystemEnv.getHtmlLabelName(16334,user.getLanguage())%></TD></TR>
</TABLE>
</DIV>

<SCRIPT language=VBS>
Sub window_onload()
    wait.style.display="none"
    On Error Resume Next
    Baco.Refresh.focus
End Sub

Sub oc_CurrentMenuOnMouseOut(icount)
    document.all("oc_divMenuDivision"&icount).style.visibility = "hidden"
End Sub

Sub oc_CurrentMenuOnClick(icount)
    document.all("oc_divMenuDivision"&icount).style.visibility = ""
End Sub
</SCRIPT>




<div  id=oDiv>
<img src = "/weaver/weaver.workflow.workflow.ShowWorkFlow?requestid=<%=requestid%>" border=0>
<%

int top0 = 17;   // 顶部空间
int left0 = 12 ; // 左边空间
int nodexsize = 60;
int nodeysize = 40;
String currentnodeid="" + nodeid;

String bkcol = "";          // 节点方框颜色
int icount = 0;             // 节点计数
int curnodetype = 0;        // 节点状态  0: 已通过  1: 当前 2:其它

ArrayList operatednode = new ArrayList();               // 该工作流的所有已通过的节点

ArrayList operaternode = new ArrayList();               // 所有的非保存操作的操作者

ArrayList viewernode = new ArrayList();                 // 当前节点所有已查看者

ArrayList canoperaternode = new ArrayList();            // 当前节点的所有未操作者


 
/*  
logtype : 
1: 保存
2: 提交
3: 退回

4: 重新打开
5: 删除
6: 激活

9: 转发
*/

// 该工作流的所有已通过的节点 logtype = 2
sql = "select distinct nodeid from workflow_requestLog where (logtype='2' or logtype='0' ) and requestid = "+requestid;
rs.executeSql(sql);
while(rs.next())
{
	String nodeid1 = Util.null2String(rs.getString("nodeid"));
	operatednode.add(nodeid1);
}

// 当前节点所有已查看者

sql = "select distinct viewer,viewtype from workflow_requestViewLog where id = "+ requestid + " and currentnodeid = "+currentnodeid;
rs.executeSql(sql);
while(rs.next())
{
	String operator = Util.null2String(rs.getString("viewer"));
	String operatortype = Util.null2String(rs.getString("viewtype"));
	viewernode.add(operator+"_"+operatortype);
}

// 当前节点的所有未操作者

sql = "select distinct userid,usertype from workflow_currentoperator where isremark = '0' and requestid = "+ requestid ;
rs.executeSql(sql);
while(rs.next())
{
	String operator = Util.null2String(rs.getString("userid"));
	String operatortype = Util.null2String(rs.getString("usertype"));
	canoperaternode.add(operator+"_"+operatortype);
}

// 所有的非保存操作的操作者

sql = "select distinct nodeid,operator,operatortype from workflow_requestLog where requestid = "+requestid + " and logtype != '1' " ;
rs.executeSql(sql);
while(rs.next())
{
	String nodeid1 = Util.null2String(rs.getString("nodeid"));
	String operator = Util.null2String(rs.getString("operator"));
	String operatortype = Util.null2String(rs.getString("operatortype"));
	operaternode.add(nodeid1+"_"+operator+"_"+operatortype);
}

// 选出所有的该工作流的节点和坐标信息
sql = "SELECT nodeid , nodename , drawxpos, drawypos FROM workflow_flownode,workflow_nodebase WHERE (workflow_nodebase.IsFreeNode is null or workflow_nodebase.IsFreeNode!='1') and workflow_flownode.nodeid = workflow_nodebase.id and workflow_flownode.workflowid = "+workflowid;
rs.executeSql(sql);

while(rs.next()){
	icount ++;
    if(Util.null2String(rs.getString("nodeid")).equals(currentnodeid)){     // 当前节点
        curnodetype = 1;
        bkcol = "#005979";
    }
    else if(operatednode.indexOf(Util.null2String(rs.getString("nodeid")))!=-1){  // 已经通过的节点

        curnodetype = 0;
        bkcol = "#0079A4";
    }
    else {
        bkcol = "#00BDFF";          // 其它节点
        curnodetype =2;
    }
	
    int drawxpos = rs.getInt("drawxpos");
    int drawypos = rs.getInt("drawypos");
    String nodename = Util.toScreen(rs.getString("nodename"),user.getLanguage());
%>




<TABLE cellpadding=1 cellspacing=1 Class=ChartCompany 
STYLE="POSITION:absolute;Z-INDEX:100;FONT-SIZE:8pt;LETTER-SPACING:-1pt;
TOP:<%=drawypos-nodeysize+top0%>;LEFT:<%=drawxpos-nodexsize+left0%>;
height:<%=nodeysize*2%>;width:<%=nodexsize*2%>" LANGUAGE=javascript 
onclick="return oc_CurrentMenuOnClick(<%=icount%>)" onmouseout="return oc_CurrentMenuonmouseout(<%=icount%>)" >
    <tr height=15px>		
    <TD VALIGN=TOP style="padding-left:2px;background-color:<%=bkcol%>;color:white;border:1px solid black">
    <B><%=nodename%></B></TD>
    </TR><TR>
    <%
        if(Util.null2String(rs.getString("nodeid")).equals(currentnodeid)){
    %>
    <TD VALIGN=TOP align=left style="background-color:#F5F5F5;border:4px solid red;padding-left:2px">
    <%
        }else{
    %>
    <TD VALIGN=TOP align=left style="background-color:#F5F5F5;border:1px solid black;padding-left:2px">
    <%  
        }
    %>
        <%if(curnodetype==0){%>
	<img src="/images/iconemp_wev8.gif" title="<%=SystemEnv.getHtmlLabelName(16353,user.getLanguage())%>">
		<%
            for(int i=0;i<operaternode.size();i++){
                String tmp = ""+operaternode.get(i);
                if((tmp).startsWith(""+rs.getString("nodeid")+"_"))
                {
                    String tmptype = tmp.substring(tmp.lastIndexOf("_")+1);
                    String tmpid = tmp.substring(tmp.indexOf("_")+1,tmp.lastIndexOf("_"));
	                if(tmptype.equals("0")){
    %>
	<a href="javaScript:openhrm(<%=tmpid%>);" onclick='pointerXY(event);'><%=Util.toScreen(ResourceComInfo.getResourcename(tmpid),user.getLanguage())%></A>
	<%              
                    }else if(tmptype.equals("1")){
    %>
	<a href="/CRM/data/ViewCustomer.jsp?CustomerID=<%=tmpid%>"><%=Util.toScreen(CustomerInfoComInfo.getCustomerInfoname(tmpid),user.getLanguage())%></a>
	<%              
                    }else{
    %>
	<%=SystemEnv.getHtmlLabelName(468,user.getLanguage())%>
	<%              
                    }
            		break;
		        }
            }               //  end of for
    %>
	<br>&nbsp<br>
	<div align=right>
	>>>
	</div>
    <%
        } else if(curnodetype==1){
    %>
	<img src="/images/imgPersonHead_wev8.gif" title="<%=SystemEnv.getHtmlLabelName(16354,user.getLanguage())%>">
	<%
            for(int i=0;i<canoperaternode.size();i++){
                String tmp = ""+canoperaternode.get(i);
                String tmptype = tmp.substring(tmp.lastIndexOf("_")+1);
                String tmpid = tmp.substring(0,tmp.indexOf("_"));
	            
                if(tmptype.equals("0")){
    %>
	<a href="javaScript:openhrm(<%=tmpid%>);" onclick='pointerXY(event);'><%=Util.toScreen(ResourceComInfo.getResourcename(tmpid),user.getLanguage())%></A>
	<%
                } else if(tmptype.equals("1")){
    %>
	<a href="/CRM/data/ViewCustomer.jsp?CustomerID=<%=tmpid%>"><%=Util.toScreen(CustomerInfoComInfo.getCustomerInfoname(tmpid),user.getLanguage())%></a>
	<%
                } else {
    %>
	<%=SystemEnv.getHtmlLabelName(468,user.getLanguage())%>
	<%
                }
		        break;
		    }               // end of for
    %>
	<br>&nbsp<br>
	<div align=right>
	>>>
	</div>
    <%
        }else if(curnodetype==2){
    %>
	<img src="/images/imgPersonHead_wev8.gif" title="<%=SystemEnv.getHtmlLabelName(16354,user.getLanguage())%>">
	<%
	        sql = " select id , groupname from workflow_nodegroup where nodeid = " + rs.getString("nodeid");
	        rs1.executeSql(sql);
	        if(rs1.next()){
	%>
	<a href="/workflow/workflow/editoperatorgroup.jsp?isview=1&formid=<%=formid%>&isbill=<%=isbill%>&id=<%=rs1.getString("id")%>"><%=Util.toScreen(rs1.getString("groupname"),user.getLanguage())%></a>
	<%
            }
    %>
	<br>&nbsp<br>
	<div align=right>
	>>>
	</div>
    <%
        }
    %>
    </TD></TR></TABLE>

    <DIV id="oc_divMenuDivision<%=icount%>" name="oc_divMenuDivision<%=icount%>" 
    style="visibility:hidden; LEFT:<%=drawxpos%>; POSITION:absolute; TOP:<%=drawypos+top0%>; WIDTH:240px; Z-INDEX: 200">
    <TABLE cellpadding=2 cellspacing=0 class="MenuPopup" LANGUAGE=javascript 
     onmouseout="return oc_CurrentMenuonmouseout(<%=icount%>)" onmouseover="return oc_CurrentMenuOnClick(<%=icount%>)" 
     style="HEIGHT: 79px; WIDTH: 246px">
    <%
         if(curnodetype==0){
    %>
	 <TR id=D3><TD class=MenuPopup><img src="/images/iconemp_wev8.gif" title="<%=SystemEnv.getHtmlLabelName(16353,user.getLanguage())%>">
	<%
	        for(int i=0;i<operaternode.size();i++){
                String tmp = ""+operaternode.get(i);
                if((tmp).startsWith(""+rs.getString("nodeid")+"_"))
                {
                    String tmptype = tmp.substring(tmp.lastIndexOf("_")+1);
                    String tmpid = tmp.substring(tmp.indexOf("_")+1,tmp.lastIndexOf("_"));
                    if(tmptype.equals("0")){
    %>
	<a href="javaScript:openhrm(<%=tmpid%>);" onclick='pointerXY(event);'><%=Util.toScreen(ResourceComInfo.getResourcename(tmpid),user.getLanguage())%></A>
	<%
                    } else if(tmptype.equals("1")){
    %>
	<a href="/CRM/data/ViewCustomer.jsp?CustomerID=<%=tmpid%>"><%=Util.toScreen(CustomerInfoComInfo.getCustomerInfoname(tmpid),user.getLanguage())%></a>
	<%
                    } else{ 
    %>
	<%=SystemEnv.getHtmlLabelName(468,user.getLanguage())%>
	<%
                    }
    %>
	&nbsp
	<%
                }
            }               // end of for
    %>
	&nbsp
	</TD></TR>
    <%  
        } else if(curnodetype==1){
    %>
	<TR id=D1><TD class=MenuPopup><img src="/images/imgPersonHead_wev8.gif" title="<%=SystemEnv.getHtmlLabelName(16354,user.getLanguage())%>">
	<%
            for(int i=0;i<canoperaternode.size();i++){
                String tmp = ""+canoperaternode.get(i);
                String tmptype = tmp.substring(tmp.lastIndexOf("_")+1);
                String tmpid = tmp.substring(0,tmp.indexOf("_"));
	            if(tmptype.equals("0")){
    %>
	<a href="javaScript:openhrm(<%=tmpid%>);" onclick='pointerXY(event);'><%=Util.toScreen(ResourceComInfo.getResourcename(tmpid),user.getLanguage())%></A>
	<%
                } else if(tmptype.equals("1")){
    %>
	<a href="/CRM/data/ViewCustomer.jsp?CustomerID=<%=tmpid%>"><%=Util.toScreen(CustomerInfoComInfo.getCustomerInfoname(tmpid),user.getLanguage())%></a>
	<%          
                } else{
    %>
	<%=SystemEnv.getHtmlLabelName(468,user.getLanguage())%>
	<%
                }
    %>
	&nbsp
	<%
            }       // end of for
    %>
	&nbsp
	</TD></TR>
	<TR id=D2><TD class=MenuPopup><img src="/images/icon_resource_flat_wev8.gif" title="<%=SystemEnv.getHtmlLabelName(16355,user.getLanguage())%>">
	<%
        for(int i=0;i<viewernode.size();i++){
            String tmp = ""+viewernode.get(i);
            String tmptype = tmp.substring(tmp.lastIndexOf("_")+1);
            String tmpid = tmp.substring(0,tmp.indexOf("_"));
            if(tmptype.equals("0")){
    %>
	<a href="javaScript:openhrm(<%=tmpid%>);" onclick='pointerXY(event);'><%=Util.toScreen(ResourceComInfo.getResourcename(tmpid),user.getLanguage())%></A>
	<%
            } else if(tmptype.equals("1")){
    %>
	<a href="/CRM/data/ViewCustomer.jsp?CustomerID=<%=tmpid%>"><%=Util.toScreen(CustomerInfoComInfo.getCustomerInfoname(tmpid),user.getLanguage())%></a>
	<%
            } else{
    %>
	<%=SystemEnv.getHtmlLabelName(468,user.getLanguage())%>
	<%
            }
    %>
	&nbsp
	<%
        }           // end of for
    %>
	&nbsp
	</TD></TR>
    <TR id=D3><TD class=MenuPopup><img src="/images/iconemp_wev8.gif" title="<%=SystemEnv.getHtmlLabelName(16353,user.getLanguage())%>">
	<%
        for(int i=0;i<operaternode.size();i++){
            String tmp = ""+operaternode.get(i);
            if((tmp).startsWith(""+rs.getString("nodeid")+"_"))
            {
                String tmptype = tmp.substring(tmp.lastIndexOf("_")+1);
                String tmpid = tmp.substring(tmp.indexOf("_")+1,tmp.lastIndexOf("_"));
	            if(tmptype.equals("0")){
    %>
	<a href="javaScript:openhrm(<%=tmpid%>);" onclick='pointerXY(event);'><%=Util.toScreen(ResourceComInfo.getResourcename(tmpid),user.getLanguage())%></A>
	<%
                } else if(tmptype.equals("1")){
    %>
	<a href="/CRM/data/ViewCustomer.jsp?CustomerID=<%=tmpid%>"><%=Util.toScreen(CustomerInfoComInfo.getCustomerInfoname(tmpid),user.getLanguage())%></a>
	<%
                } else{
    %>
	<%=SystemEnv.getHtmlLabelName(468,user.getLanguage())%>
	<%
                }
    %>
	&nbsp
	<%
            }
        }           //  end of for
    %>
	&nbsp
	</TD></TR>
    <%
        } else if(curnodetype==2){ 
    %>
	<TR id=D1><TD class=MenuPopup><img src="/images/imgPersonHead_wev8.gif" title="<%=SystemEnv.getHtmlLabelName(16354,user.getLanguage())%>">
	<%
	        sql = " select id, groupname from workflow_nodegroup where nodeid = " + rs.getString("nodeid");
	        rs1.executeSql(sql);
	        while(rs1.next()){
	%>
	<a href="/workflow/workflow/editoperatorgroup.jsp?isview=1&formid=<%=formid%>&isbill=<%=isbill%>&id=<%=rs1.getString("id")%>"><%=Util.toScreen(rs1.getString("groupname"),user.getLanguage())%></a>
	&nbsp
	<%
            }
    %>
	</TD></TR>
    <%
        }
    %>
</TABLE>
</DIV>

<%
}       // end of the max while
%>
</div>