<%@ page contentType="text/html;charset=gbk" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="java.util.Collection" %>
<%@ page import="net.sz600.basicdata.*" %>
<%@ page import="net.sz600.tool.SzConvert" %>
<%@ page import="net.sz600.database.SzPageInfo" %>
<%@ page import="net.sz600.system.SzProperties" %>
<%@ page import="net.sz600.system.SzLevelNumber" %>
<%@ page import="net.sz600.system.SzPageHelp" %>
<%@ page import="net.sz600.flow.*" %>
<%@ page import="net.sz600.formEngine2.*" %>
<%@ include file="/sessionInfo.jsp"%>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<link href="<%=strSkin_SESSION%>/css2007.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="<%=strLevel_SESSION%>/share/js/operatorWin.js"></script>
<style type="text/css">
.div{
	position: absolute;
	z-index: 1;
	display:none;
	background-color: #cccccc;
	border: 0px;
	border-color: black;
	border-style: solid;
}
</style>
</head>
<%
/*
if (true) {
	out.println("开发中...");
	return;
}
*/
    int iFormID = SzConvert.toInt(request.getParameter("FormID"));
    //取得表单的信息
    String moduleName = "";
    String formName = "";
	//根据表单取得moduleName, formName
	LcForm lcForm = new LcForm();
	LcFormInfo lcFormInfo = null;    
    if (iFormID == 0) {
    	moduleName = SzConvert.toSpaceStr(request.getParameter("moduleName"));
    	formName = SzConvert.toSpaceStr(request.getParameter("formName")); 
    	//
    	iFormID = lcForm.getKeyByCond(moduleName, formName); 
    } else {
    	lcFormInfo = (LcFormInfo)lcForm.getInfoByKey(iFormID);    
    	if (lcFormInfo != null) {
    		moduleName = lcFormInfo.getBDLJ();
    		formName = lcFormInfo.getBDBY1();  
    	}
    }
    //System.out.println("moduleName=" + moduleName);
    //System.out.println("formName=" + formName);
    if (moduleName.equals("") || formName.equals("")) {
    	out.println("还没有设置相关表单信息！");
    	return;
    }
    
	BdValueControl bdValueControl = new BdValueControl(moduleName, formName);
	String assistant = bdValueControl.getAssistant(); 
    String sKeyField = bdValueControl.getKeyField();
    boolean hasFlow = bdValueControl.getHasFlow();
	String printTemp = bdValueControl.getPrintTemp();
	String sWeboffice = bdValueControl.getWebOffice();
	int iFlowID = 0;    
%>	
<%@ include file="/share/title.jsp"%>
<%
    //获取提交的参数
    String sType = SzConvert.toZeroStr(request.getParameter("type"));
    String sPKEY = SzConvert.toZeroStr(request.getParameter("PKEY"));
    String sPage = SzConvert.toZeroStr(request.getParameter("page"));
    String sSearch = SzConvert.strWriteData(request.getParameter("txtSearch"));
    String sSearchName = SzConvert.strWriteData(request.getParameter("txtSearchName"));
  
    /////////////////////////////////////////流程相关
    LcFlowControl lcFlowControl = new LcFlowControl();
    //根据信息ID，获取流程总体办理状态FlowState
    String sState = "";
    //sState = lcFlowControl.getFlowStateName(iFormID, iInfoID); 
    //判断是否能删除、修改
    boolean hasSend = false; //是否已经发送出去
    //hasSend = lcFlowControl.hasSend(iFormID, iInfoID);
    //获取待办的信息ID
    String str_InfoID = lcFlowControl.getTransactInfoID(iFormID, iDLID_SESSION);      

    String sTable_type = "";
    //读取数据

    String sCond = sKeyField + " IN (" + str_InfoID + ")";
    if (!sPKEY.equals("0")) {
        sCond += "";
    }
    String sSortField = SzConvert.toSpaceStr(request.getParameter("txtSortField")); 
    int iSortOrder    = Integer.parseInt(SzConvert.toZeroStr(request.getParameter("txtSortOrder"))); 
    if (sSortField.equals("")) { 
      sSortField = sKeyField;
      iSortOrder = SzProperties.I_SortOrder_DESC;
    } 
    int iCurrentPage = 1;
    try {
        iCurrentPage =  Integer.parseInt(sPage);
    }catch(Exception e) {
    }

    Collection coll = bdValueControl.getArrayList(sCond, sSortField, iSortOrder, iCurrentPage, sSearch); 
    Iterator iter = null;
    if (coll != null) {
    	iter = coll.iterator();
    } else {
    	out.println("读取不到数据");
    	return;
    }
    SzPageInfo pageInfo = bdValueControl.getPageInfo();
    int iPageCount = pageInfo.getPageCount();
    int iRecordCount = pageInfo.getRecordCount();
    iCurrentPage = pageInfo.getCurrentPage();
    int i = 0;
    SzData szData = null;  
        
    boolean bPress = false;
		if ((";" + assistant + ";").indexOf(";6;") >=0) {
			bPress = true;
		}    
		boolean bSkip = false;
		if ((";" + assistant + ";").indexOf(";7;") >=0) {
			bSkip = true;
		}   
    BdFormControl bdFormControl = new BdFormControl();  
%>
<!-----上面的工具栏------>

<table width="100%">
<form name="formList" method="post">
  <input type="hidden" name="page" value="<%=sPage%>">
  <input type="hidden" name="type" value="<%=sType%>">
  <input type="hidden" name="txtSortField" value="<%=sSortField%>"> 
  <input type="hidden" name="txtSortOrder" value="<%=iSortOrder%>"> 
  <input type="hidden" name="FormID" value="<%=iFormID%>">   
  <tr>
    <td><% out.println(bdFormControl.printFormDesc(Integer.parseInt(sMKID_SESSION),iFormID));%>&nbsp;模糊搜索：
		  <input type="text" name="txtSearch" class="txtClassSearch" value="<%=sSearch%>" size="10">
      <input type="button" name="btnGoPage" class="btnClass" value="确定" OnClick="javascript:FormSubmit(formList,'index_transact_all.jsp');">
      &nbsp;办理意见：
      <input type="text" name="txtBLYJ" class="txtClass1" value="同意">    
      <input type="button" name="btnGoPage" class="btnClass" value="同意" OnClick="javascript:Transact(1);">
      <input type="button" name="btnGoPage" class="btnClass" value="重改" OnClick="javascript:Transact(2);">
    </td>
  </tr>
</table>

<!-----信息列表----->
<table width="100%" border="1" bordercolorlight="#C0C0C0" bordercolordark="#FFFFFF" class="tableClass" cellpadding="1" cellspacing="0">
  <input type="hidden" name="OPERATOR" value="">
  <tr class="trClassTitle">
    <td width="5"><input type="checkbox" name="chkCheckAll" OnClick="javascript:CheckAll(formList, chkCheckAll, 'chkId');"></td>
	<%=bdValueControl.printTableTitle(sSortField, iSortOrder)%>  
	  <td>剩余时间</td>
	  <% if (bPress) { %>
	  <td>被催办</td>
	  <% } %>
	  <td>下一办理人</td>
    <td>总状态</td>       
    <td>操作</td>
  </tr>
<%
    String value_str[] = null;
    int iKeyValue = 0;
    int iListFieldLen = bdValueControl.getListFieldLen() + 4;
    if (bPress) {
    	iListFieldLen ++;
    }
    String s_transact[] = null;
    LcAssistant lcAssistant = new LcAssistant();
    String sPressCount = "";
    int iNextStepID = 0;
    while (iter != null && iter.hasNext()) {    	
    	value_str = (String[])iter.next();
    	iKeyValue = Integer.parseInt(value_str[0]);
    	if (value_str == null) {
    		continue;
    	}
      i++;
      hasSend = lcFlowControl.hasSend(iFormID, iKeyValue);
      iFlowID = lcFlowControl.getFlowID(iFormID, iKeyValue);
      s_transact = lcFlowControl.getCurrentTransactingInfo(iFormID, iKeyValue, "<br>", true);
			sPressCount = Integer.toString(lcAssistant.getPressCount(iFormID, iKeyValue, SzConvert.toInt(s_transact[3])))
        + "次/总"
        + Integer.toString(lcAssistant.getPressCount(iFormID, iKeyValue, 0))
        + "次";
			
			//取得下一个办理人的信息
			iNextStepID = lcFlowControl.getSkipStepID(SzConvert.toInt(s_transact[3]),s_transact[2]);
%>
  <tr  onMouseOver="javascript:this.className='trMouseOver'" 
       onMouseOut="javascript:this.className='trMouseOut'"
       onDblClick="javascript:showOperatorWin('div','<%=i %>',85)"       
       >
    <td width="5" title="<%=i%>">
    <% if (!hasSend) { %>
      <input type="checkbox" name="chkId" id="chkId" value="<%=iKeyValue%>">    
    <% } else { %>
      <!--   <input type="checkbox" disabled>   -->
      <input type="checkbox" name="chkId" id="chkId" value="<%=iKeyValue%>">    
    <% } %>
    </td>
    <%=bdValueControl.printTableValue(value_str,"","",1)%>    
    <td><%=s_transact[1] %></td>
    <% if (bPress) { %>
    <td><%=sPressCount %></td>
    <% } %>
    <td><%out.println(lcFlowControl.printTransactPersonName(iNextStepID, s_transact[2], " "));%></td>
    <td><%=lcFlowControl.getFlowStateName(iFormID, iKeyValue) %>&nbsp;</td>
    
    <td>
      <a onclick="showOperatorWin('div','<%=i %>',85)" href="#">操作</a>    
      <div id="div<%=i %>" class="div" style="left: 10px;top: 200px;width: 70px;">
      	<div style="padding-top:5px;padding-bottom:5px;position:relative; background-color:#cccccc;border: 0px;">
 				<div style="padding-left:5px;padding-top:5px;padding-bottom:5px;position:absolute;left:-3px;top:-8px; background-color:#F4FEFF; width:70px; border:1px solid #000000;">    
    
      <a href="javascript:FormSubmit(formPage,'update.jsp?OPERATOR=detail&type=<%=sType%>&KEY=<%=iKeyValue%>');">详情</a><br>
      <a href="javascript:FormSubmit(formPage,'update.jsp?OPERATOR=transact&type=<%=sType%>&KEY=<%=iKeyValue%>');">办理</a><br>
      <% if (!printTemp.equals("")) { %>
      <a href="#" OnClick="javascript:PrintWinWord('<%=iKeyValue%>')">打印浏览</a><br>
      <% } %>
      <% if (hasFlow) { %>
      <a href="#" OnClick="javascript:FlowDetailWin('<%=iFlowID%>','<%=iKeyValue%>');">查看流程</a>
      <% } %>
      <% if (!sWeboffice.equals("")) { %>
      <a href="#" OnClick="javascript:OfficeDetailWin('<%=iKeyValue%>');">查看正文</a>
      <% } %>
      
      <a href="#" OnClick="javascript:hideOperatorWin('div');">取消菜单</a>
   			</div>
   			</div>
   		</div>             
    </td>
  </tr>  
<%
    }
    //out.println(SzPageHelp.outIndexTableTr(i, SzProperties.I_PageSize, iListFieldLen));
%>
<% if (!bdValueControl.printTableTotal(1).equals("")) { %>
  <tr  onMouseOver="javascript:this.className='trMouseOver'" 
       onMouseOut="javascript:this.className='trMouseOut'"   
       >
    <td width="5" title="<%=i%>">&nbsp;</td>
    <% out.println(bdValueControl.printTableTotal(1));%>    
    <td>&nbsp;</td>
    <% if (bPress) { %>
    <td>&nbsp;</td>
    <% } %>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>  
<% } else { out.println("<tr><td colspan='20' align='center'>无审批数据</td></tr>"); } %>
  </form>
</table>

<!-----下面的工具栏------>
<table width="100%">
  <form name="formPage" method="post">
  <input type="hidden" name="type" value="<%=sType%>">
  <input type="hidden" name="txtSearchName" value="<%=sSearchName%>">
  <input type="hidden" name="txtSortField" value="<%=sSortField%>"> 
  <input type="hidden" name="txtSortOrder" value="<%=iSortOrder%>"> 
  <input type="hidden" name="FormID" value="<%=iFormID%>">    
  <input type="hidden" name="txtSearch" value="<%=sSearch%>">
  <input type="hidden" name="from" value="index_transact_all">
  </form>
</table>

<!-----这里包含要提交的内容--->
<form name="formHidden" method="post">
  <input type="hidden" name="type" value="<%=sType%>">
  <input type="hidden" name="page" value="<%=iCurrentPage%>">
  <input type="hidden" name="txtSearch" value="<%=sSearch%>">
  <input type="hidden" name="txtSortField" value="<%=sSortField%>"> 
  <input type="hidden" name="txtSortOrder" value="<%=iSortOrder%>"> 
  <input type="hidden" name="FormID" value="<%=iFormID%>">    
</form>
<script language="javascript" src="../../share/js/commonTool.js"></script>
<script language="javascript">
  //弹出窗口，选择人员。这里特定是流程里某个步骤的选择人员。
  function OpenPigonholeWin(vFormID, vInfoID) {
    hideOperatorWin("div");
    var type = "all";
    var url = "../../flow/pigonhole/type_select.jsp?moduleId=23&FormID=" + vFormID + "&InfoID=" + vInfoID;
    window.showModalDialog(url,window,"status=no;dialogWidth=750px;dialogHeight=450px");
  } 
  function OpenPressWin(vFormID, vInfoID) {
    hideOperatorWin("div");
    var type = "all";
    var url = "../../flow/press/win.jsp?FormID=" + vFormID + "&InfoID=" + vInfoID;
    window.showModalDialog(url,window,"status=no;dialogWidth=650px;dialogHeight=300px");
  }  
  function PrintWinWord(vKey) {
    var vUrl = "printTemp.jsp?FormID=<%=iFormID%>&KEY=" + vKey + "&type=0&printTemp=<%=printTemp%>";
  	//window.open(vUrl,"","left=20,top=20,width=600,height=600");
  	window.showModalDialog(vUrl,window,"status=no;dialogWidth=720px;dialogHeight=550px");
  	//window.showModalDialog(vUrl,window,"status=no;dialogWidth=720px;");
  }
  
  function FlowDetailWin(vFlowID, vKey) {
  	hideOperatorWin("div");
    var vUrl = "../../flow/flow/draft.jsp?type=" + vFlowID + "&FormID=<%=iFormID%>&InfoID=" + vKey + "&OPERATOR=detail"; 
  	//window.open(vUrl,"","left=20,top=20,width=600,height=600");
  	window.showModalDialog(vUrl,window,"status=no;dialogWidth=720px;dialogHeight=550px");
  }  
  function OfficeDetailWin(vKey) {
    hideOperatorWin("div");
    var vUrl = "documentEdit.jsp?WebOffice=<%=sWeboffice%>&FormID=<%=iFormID%>&KEY=" + vKey; 
  	//window.open(vUrl,"","left=20,top=20,width=600,height=600");
  	window.showModalDialog(vUrl,window,"status=no;dialogWidth=850px;dialogHeight=800px");
  }
  function Transact(v) {
    //请选择
    var vNumber = NumberOfCheck(formList.chkId);
    if (vNumber == "0") {
    	alert("请至少选择一条数据");
    	return false;
    }
    var vMessage = "";
    if (v == "1") {
    	//同意
    	formList.OPERATOR.value = "transactAll1";
    	vMessage = "同意，是否继续？";
    } else if (v == "2") {
    	//重改
    	formList.OPERATOR.value = "transactAll2";
    	vMessage = "重改，是否继续？";    	
    }
    if (confirm(vMessage)) {
    	
    	formList.action = "control.jsp";
    	formList.submit();
    }
    
  }    
</script>

