📄 flow_report.php
字号:
<?
include_once("inc/auth.php");
include_once("inc/utility_html.php");
include_once("inc/utility_all.php");
include_once("../prcs_role.php");
$query = "SELECT * from FLOW_TYPE WHERE FLOW_ID=$FLOW_ID";
$cursor1= exequery($connection,$query);
if($ROW=mysql_fetch_array($cursor1))
{
$FLOW_NAME=$ROW["FLOW_NAME"];
$FORM_ID=$ROW["FORM_ID"];
$FLOW_NAME=$ROW["FLOW_NAME"];
$MANAGE_USER = $ROW["MANAGE_USER"];
$QUERY_USER = $ROW["QUERY_USER"];
}
$query = "SELECT * from FLOW_FORM_TYPE WHERE FORM_ID=$FORM_ID";
$cursor1= exequery($connection,$query);
if($ROW=mysql_fetch_array($cursor1))
{
$FORM_NAME=$ROW["FORM_NAME"];
$PRINT_MODEL=$ROW["PRINT_MODEL"];
$ELEMENT_ARRAY=html_element($PRINT_MODEL);
}
//-- 名称 --
$HTML_NAME=$FLOW_NAME;
$LETTER_STR="\\,/,:,*,?,\",<,>,|";
$MY_ARRAY=explode(",",$LETTER_STR);
$ARRAY_COUNT=sizeof($MY_ARRAY);
if($MY_ARRAY[$ARRAY_COUNT-1]=="")
$ARRAY_COUNT--;
for($I=0;$I<$ARRAY_COUNT;$I++)
$HTML_NAME=str_replace($MY_ARRAY[$I],"",$HTML_NAME);
if($OP==1)
{
?>
<html>
<head>
<title>工作流分组统计报表 - <?=$HTML_NAME?></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<body topmargin="5">
<?
}
else
{
ob_end_clean();
Header("Cache-control: private");
Header("Content-type: application/vnd.ms-excel");
Header("Content-Disposition: attachment; filename= 工作流分组统计报表 - $HTML_NAME.xls");
?>
<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<?
}
//-------------------------------------------- 数据查询 -----------------------------------------
$query = "SELECT FLOW_RUN.RUN_ID,RUN_NAME,PRCS_TIME,FLOW_TYPE.FLOW_ID,FLOW_NAME,FLOW_TYPE,MANAGE_USER,QUERY_USER,QUERY_FLAG,ATTACHMENT_ID,ATTACHMENT_NAME from FLOW_TYPE,FLOW_RUN,FLOW_RUN_PRCS WHERE FLOW_TYPE.FLOW_ID=FLOW_RUN.FLOW_ID and FLOW_RUN.RUN_ID=FLOW_RUN_PRCS.RUN_ID and FLOW_TYPE.FLOW_ID='$FLOW_ID' and DELETE_FLAG='0'";
//--- 流水号条件 ---
if($RUN_ID!="")
$query.=" and FLOW_RUN.RUN_ID='$RUN_ID'";
//--- 文号条件 ---
if($RUN_NAME!="")
{
$EXPLODE=explode('|',$RUN_NAME);
$EXPLODE_COUNT=count($EXPLODE);
for($I=0;$I<$EXPLODE_COUNT;$I++)
{
$FIELDVALUE=$EXPLODE[$I];
$WHERE_STR=" and RUN_NAME";
switch($RUN_NAME_RELATION)
{
case 1: $WHERE_STR.="='".$FIELDVALUE."'";
break;
case 2: $WHERE_STR.=">'".$FIELDVALUE."'";
break;
case 3: $WHERE_STR.="<'".$FIELDVALUE."'";
break;
case 4: $WHERE_STR.=">='".$FIELDVALUE."'";
break;
case 5: $WHERE_STR.="<='".$FIELDVALUE."'";
break;
case 6: $WHERE_STR.="!='".$FIELDVALUE."'";
break;
case 7: $WHERE_STR.=" like '".$FIELDVALUE."%'";
break;
case 8: $WHERE_STR.=" like '%".$FIELDVALUE."%'";
break;
case 9:
$WHERE_STR.=" like '%".$FIELDVALUE."'";
break;
default:
$WHERE_STR.=" like '%".$FIELDVALUE."%'";
break;
}
$query.=$WHERE_STR;
}
}
//--- 公共附件条件 ---
if($ATTACHMENT_NAME!="")
{
$EXPLODE=explode('|',$ATTACHMENT_NAME);
$EXPLODE_COUNT=count($EXPLODE);
for($I=0;$I<$EXPLODE_COUNT;$I++)
{
$FIELDVALUE=$EXPLODE[$I];
$WHERE_STR=" and ATTACHMENT_NAME like '%".$FIELDVALUE."%'";
$query.=$WHERE_STR;
}
}
//--- 日期范围 ---
if($PRCS_DATE1!="")
$query.=" and PRCS_TIME>='$PRCS_DATE1 00:00:00'";
if($PRCS_DATE2!="")
$query.=" and PRCS_TIME<='$PRCS_DATE2 23:59:59'";
$query_global=$query;
//--- 查询我经办的 RUN_ID 列表 ---
if(($FLOW_QUERY_TYPE=="ALL" && $LOGIN_USER_PRIV!=1)||$FLOW_QUERY_TYPE=="2")
{
$query_my=$query." and USER_ID='$LOGIN_USER_ID'";
$cursor = exequery($connection,$query_my);
while($ROW=mysql_fetch_array($cursor))
$MY_RUN_ID.=$ROW["RUN_ID"].",";
if($MY_RUN_ID!="")
$MY_RUN_ID=substr($MY_RUN_ID,0,-1);
else
$MY_RUN_ID="0";
}
//--- 查询范围 ---
if($FLOW_QUERY_TYPE=="ALL" && $LOGIN_USER_PRIV!=1)
$query.=" and (FLOW_RUN.RUN_ID in ($MY_RUN_ID) or MANAGE_USER like '%,$LOGIN_USER_ID,%' or MANAGE_USER like '$LOGIN_USER_ID,%' or QUERY_USER like '%,$LOGIN_USER_ID,%' or QUERY_USER like '$LOGIN_USER_ID,%')";
elseif($FLOW_QUERY_TYPE=="1")
$query.=" and USER_ID='$LOGIN_USER_ID'";
elseif($FLOW_QUERY_TYPE=="2")
$query.=" and FLOW_RUN.RUN_ID in ($MY_RUN_ID)";
elseif($FLOW_QUERY_TYPE=="3" && $LOGIN_USER_PRIV!=1)
$query.=" and (MANAGE_USER like '%,$LOGIN_USER_ID,%' or MANAGE_USER like '$LOGIN_USER_ID,%' or QUERY_USER like '%,$LOGIN_USER_ID,%' or QUERY_USER like '$LOGIN_USER_ID,%')";
//--- 流程状态条件检查 ---
$query_run = $query_global." and PRCS_FLAG<>'4'";
$cursor= exequery($connection,$query_run);
while($ROW=mysql_fetch_array($cursor))
$STATUS_RUN.=$ROW["RUN_ID"].",";
if($STATUS_RUN!="")
$STATUS_RUN=substr($STATUS_RUN,0,-1);
else
$STATUS_RUN=0;
if($FLOW_STATUS!="ALL")
{
if($FLOW_STATUS==0)
$query.=" and FLOW_RUN.RUN_ID in ($STATUS_RUN)";
else
$query.=" and FLOW_RUN.RUN_ID not in ($STATUS_RUN)";
}
if($TO_ID!="")
$query.=" and USER_ID='$TO_ID'";
//--- 开始进行查询 ---
$query.=" and PRCS_ID=1 order by FLOW_RUN.RUN_ID desc";
//echo $query;
$cursor = exequery($connection,$query);
$RUN_COUNT=0;
while($ROW=mysql_fetch_array($cursor))
{
$RUN_ID=$ROW["RUN_ID"];
$RUN_NAME=$ROW["RUN_NAME"];
$ATTACHMENT_ID=$ROW["ATTACHMENT_ID"];
$ATTACHMENT_NAME=$ROW["ATTACHMENT_NAME"];
$QUERY_USER = $ROW["QUERY_USER"];
$QUERY_FLAG = $ROW["QUERY_FLAG"];
$query = "SELECT USER_ID,FLOW_PRCS,PRCS_ID from FLOW_RUN_PRCS,FLOW_RUN WHERE FLOW_RUN_PRCS.RUN_ID=FLOW_RUN.RUN_ID and PRCS_FLAG in('1','2','4')and OP_FLAG=1";
if($FLOW_ID!="ALL")
$query.= " and FLOW_ID='$FLOW_ID'";
if($RUN_ID!="")
$query.= " and FLOW_RUN.RUN_ID='$RUN_ID'";
$query.= " group by FLOW_RUN_PRCS.RUN_ID,PRCS_ID order by PRCS_TIME DESC";
$cursor1 = exequery($connection,$query);
if($ROW=mysql_fetch_array($cursor1))
{
$USER_ID=$ROW["USER_ID"];
$FLOW_PRCS=$ROW["FLOW_PRCS"];
$PRCS_ID=$ROW["PRCS_ID"];
}
$query = "SELECT DEPT_ID FROM USER WHERE USER_ID='$USER_ID'";
$cursor2= exequery($connection,$query);
if($ROW2=mysql_fetch_array($cursor2))
$DEPT_ID=$ROW2["DEPT_ID"];
if($QUERY_FLAG==1 && $LOGIN_DEPT_ID!=$DEPT_ID)
continue;
$DATA_ARRAY[$RUN_COUNT][0]=$RUN_NAME;
$PRCS_TIME=$ROW["PRCS_TIME"];
$PRCS_DATE=strtok($PRCS_TIME," ");
$DATA_ARRAY[$RUN_COUNT][2]=$PRCS_DATE;
$DATA_ARRAY[$RUN_COUNT][3]=$PRCS_TIME;
//--- 数据条件检查 ---
$NOT_FOUND=0;
for($I=1;$I<=$ITEM_ID_MAX;$I++)
{
$STR="DATA_".$I;
$FIELDVALUE=$$STR;
if($FIELDVALUE!="" && $FIELDVALUE!="SELECT_ALL_VALUE")
{
$STR="RELATION_".$I;
$RELATION=$$STR;
if($FIELDVALUE=="CHECKBOX_ON")
$FIELDVALUE="on";
else if($FIELDVALUE=="CHECKBOX_OFF")
$FIELDVALUE="";
/*
$WHERE_STR=" where RUN_ID='$RUN_ID' and ITEM_ID=$I and ITEM_DATA";
switch($RELATION)
{
case 1: $WHERE_STR.="='".$FIELDVALUE."'";
break;
case 2:
if(is_numeric($FIELDVALUE))
$WHERE_STR.=">".$FIELDVALUE."";
else
$WHERE_STR.=">'".$FIELDVALUE."'";
break;
case 3:
if(is_numeric($FIELDVALUE))
$WHERE_STR.="<".$FIELDVALUE."";
else
$WHERE_STR.="<'".$FIELDVALUE."'";
break;
case 4:
if(is_numeric($FIELDVALUE))
$WHERE_STR.=">=".$FIELDVALUE."";
else
$WHERE_STR.=">='".$FIELDVALUE."'";
break;
case 5:
if(is_numeric($FIELDVALUE))
$WHERE_STR.="<=".$FIELDVALUE."";
else
$WHERE_STR.="<='".$FIELDVALUE."'";
break;
case 6: $WHERE_STR.="!='".$FIELDVALUE."'";
break;
case 7: $WHERE_STR.=" like '".$FIELDVALUE."%'";
break;
case 8: $WHERE_STR.=" like '%".$FIELDVALUE."%'";
break;
case 9: $WHERE_STR.=" like '%".$FIELDVALUE."'";
break;
}
$query1="select 1 from FLOW_RUN_DATA".$WHERE_STR." limit 1";
$cursor1= exequery($connection,$query1);
if(!$ROW=mysql_fetch_array($cursor1))
{
$NOT_FOUND=1;
break;
}
*/
$EXPLODE=explode('|',$FIELDVALUE);
$EXPLODE_COUNT=count($EXPLODE);
$WHERE_STR1='';
for($J=0;$J<$EXPLODE_COUNT;$J++)
{
$FIELDVALUE1=$EXPLODE[$J];
$WHERE_STR=" and ITEM_DATA";
switch($RELATION)
{
case 1: $WHERE_STR.="='".$FIELDVALUE1."'";
break;
case 2:
if(is_numeric($FIELDVALUE1))
$WHERE_STR.=">".$FIELDVALUE1."";
else
$WHERE_STR.=">'".$FIELDVALUE1."'";
break;
case 3:
if(is_numeric($FIELDVALUE1))
$WHERE_STR.="<".$FIELDVALUE1."";
else
$WHERE_STR.="<'".$FIELDVALUE1."'";
break;
case 4:
if(is_numeric($FIELDVALUE1))
$WHERE_STR.=">=".$FIELDVALUE1."";
else
$WHERE_STR.=">='".$FIELDVALUE1."'";
break;
case 5:
if(is_numeric($FIELDVALUE1))
$WHERE_STR.="<=".$FIELDVALUE1."";
else
$WHERE_STR.="<='".$FIELDVALUE1."'";
break;
case 6: $WHERE_STR.="!='".$FIELDVALUE1."'";
break;
case 7: $WHERE_STR.=" like '".$FIELDVALUE1."%'";
break;
case 8: $WHERE_STR.=" like '%".$FIELDVALUE1."%'";
break;
case 9: $WHERE_STR.=" like '%".$FIELDVALUE1."'";
break;
}
$WHERE_STR1.=$WHERE_STR;
}
$query1="select * from FLOW_RUN_DATA where RUN_ID='$RUN_ID' and ITEM_ID=$I ".$WHERE_STR1;
$cursor1= exequery($connection,$query1);
if(!$ROW=mysql_fetch_array($cursor1))
{
$NOT_FOUND=1;
break;
}
}//if($FIELDVALUE!="")
}//for
if($NOT_FOUND==1) //数据部份未查询到
continue;
//--- 数据条件检查2 ---
$NOT_FOUND=0;
for($I=1;$I<=$ITEM_ID_MAX;$I++)
{
$STR="DATA_".$I."_2";
$FIELDVALUE=$$STR;
if($FIELDVALUE!="" && $FIELDVALUE!="SELECT_ALL_VALUE")
{
$STR="RELATION_".$I."_2";
$RELATION=$$STR;
if($FIELDVALUE=="CHECKBOX_ON")
$FIELDVALUE="on";
else if($FIELDVALUE=="CHECKBOX_OFF")
$FIELDVALUE="";
$WHERE_STR=" where RUN_ID=$RUN_ID and ITEM_ID=$I and ITEM_DATA";
switch($RELATION)
{
case 1: $WHERE_STR.="='".$FIELDVALUE."'";
break;
case 2: $WHERE_STR.=">'".$FIELDVALUE."'";
break;
case 3: $WHERE_STR.="<'".$FIELDVALUE."'";
break;
case 4: $WHERE_STR.=">='".$FIELDVALUE."'";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -