📄 html_report.php
字号:
<?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 = "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;
}
$I = 0;
for ( ; $I < $ARRAY_COUNT; ++$I )
{
$HTML_NAME = str_replace( $MY_ARRAY[$I], "", $HTML_NAME );
}
echo "\r\n<html>\r\n<head>\r\n<title>工作流分组统计报表 - ";
echo $HTML_NAME;
echo "</title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">\r\n<body topmargin=\"5\">\r\n\r\n";
$query = "SELECT * from FLOW_RUN WHERE FLOW_ID={$FLOW_ID}";
if ( $RUN_NAME != "" )
{
$FIELDVALUE = $RUN_NAME;
$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."'";
}
$query .= $WHERE_STR;
}
if ( $ATTACHMENT_NAME != "" )
{
$query .= " and ATTACHMENT_NAME like '%{$ATTACHMENT_NAME}%'";
}
$query .= " order by RUN_ID desc";
$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'];
$DATA_ARRAY[$RUN_COUNT][0] = $RUN_NAME;
if ( $LOGIN_USER_PRIV != "1" && !find_id( $MANAGE_USER, $LOGIN_USER_ID ) )
{
$query1 = "SELECT * from FLOW_RUN_PRCS WHERE RUN_ID={$RUN_ID} AND USER_ID='{$LOGIN_USER_ID}'";
$cursor1 = exequery( $connection, $query1 );
if ( !mysql_fetch_array( $cursor1 ) )
{
continue;
}
}
$PRCS_TIME = "";
$query1 = "SELECT * from FLOW_RUN_PRCS WHERE RUN_ID={$RUN_ID} AND PRCS_ID=1";
$cursor1 = exequery( $connection, $query1 );
if ( $ROW = mysql_fetch_array( $cursor1 ) )
{
$PRCS_TIME = $ROW['PRCS_TIME'];
$PRCS_DATE = strtok( $PRCS_TIME, " " );
if ( $PRCS_DATE1 != "" && compare_date( $PRCS_DATE, $PRCS_DATE1 ) < 0 )
{
}
else if ( $PRCS_DATE2 != "" && 0 < compare_date( $PRCS_DATE, $PRCS_DATE2 ) )
{
}
else if ( $PRCS_TIME == "0000-00-00 00:00:00" )
{
$PRCS_TIME = "";
}
}
$DATA_ARRAY[$RUN_COUNT][2] = $PRCS_DATE;
$DATA_ARRAY[$RUN_COUNT][3] = $PRCS_TIME;
$query1 = "SELECT * from FLOW_RUN_PRCS WHERE RUN_ID={$RUN_ID} AND PRCS_FLAG<>'4'";
$cursor1 = exequery( $connection, $query1 );
if ( $ROW = mysql_fetch_array( $cursor1 ) )
{
$STATUS = "执行中";
if ( $FLOW_STATUS == "1" )
{
continue;
}
}
else
{
$STATUS = "已结束";
if ( $FLOW_STATUS == "0" )
{
}
}
$DATA_ARRAY[$RUN_COUNT][1] = $STATUS;
$NOT_FOUND = 0;
$I = 1;
for ( ; $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 :
$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."'";
}
$query1 = "select * from FLOW_RUN_DATA".$WHERE_STR;
$cursor1 = exequery( $connection, $query1 );
if ( !( $ROW = mysql_fetch_array( $cursor1 ) ) )
{
$NOT_FOUND = 1;
break;
}
}
}
if ( $NOT_FOUND == 1 )
{
}
else
{
$query1 = "SELECT * from FLOW_RUN_DATA where RUN_ID={$RUN_ID} order by ITEM_ID";
$cursor1 = exequery( $connection, $query1 );
while ( $ROW = mysql_fetch_array( $cursor1 ) )
{
$ITEM_ID = $ROW['ITEM_ID'];
$ITEM_DATA = $ROW['ITEM_DATA'];
$STR = "DATA_LIST_".$ITEM_ID;
$$STR = $ITEM_DATA;
}
$ITEM_ID = 0;
$J = 0;
for ( ; $J < $ITEM_ID_MAX; ++$J )
{
$ELEMENT = $ELEMENT_ARRAY[$J];
$ENAME = get_attr( $ELEMENT, "NAME" );
$EVALUE = get_attr( $ELEMENT, "VALUE" );
$ECLASS = get_attr( $ELEMENT, "CLASS" );
if ( $ECLASS != "DATE" )
{
++$ITEM_ID;
}
$STR = "DATA_LIST_".$ITEM_ID;
$ITEM_VALUE = $$STR;
if ( $ECLASS != "LIST_VIEW" )
{
$ITEM_DATA = str_replace( chr( 10 ), " ", $ITEM_DATA );
$ITEM_DATA = str_replace( chr( 13 ), " ", $ITEM_DATA );
}
if ( $ECLASS == "DATE" )
{
$ITEM_VALUE = "";
}
else if ( $ECLASS == "AUTO" && $ENAME == "SELECT" && $ITEM_VALUE != "" )
{
$EDATAFLD = get_attr( $ELEMENT, "DATAFLD" );
switch ( $EDATAFLD )
{
case "SYS_LIST_DEPT" :
$query_auto = "SELECT * from DEPARTMENT where DEPT_ID='{$ITEM_VALUE}'";
$cursor_auto = exequery( $connection, $query_auto );
if ( !( $ROW = mysql_fetch_array( $cursor_auto ) ) )
{
break;
}
$ITEM_VALUE = $ROW['DEPT_NAME'];
break;
case "SYS_LIST_PRIV" :
$query_auto = "SELECT * from USER_PRIV where USER_PRIV={$ITEM_VALUE}";
$cursor_auto = exequery( $connection, $query_auto );
if ( !( $ROW = mysql_fetch_array( $cursor_auto ) ) )
{
break;
}
$ITEM_VALUE = $ROW['PRIV_NAME'];
break;
case "SYS_LIST_USER" :
case "SYS_LIST_PRCSUSER1" :
case "SYS_LIST_PRCSUSER2" :
$query_auto = "SELECT * from USER where USER_ID='{$ITEM_VALUE}'";
$cursor_auto = exequery( $connection, $query_auto );
if ( !( $ROW = mysql_fetch_array( $cursor_auto ) ) )
{
break;
}
$ITEM_VALUE = $ROW['USER_NAME'];
break;
case "SYS_LIST_SQL" :
}
}
else
{
if ( $ECLASS == "LIST_VIEW" )
{
if ( $ITEM_VALUE != "" )
{
$LV_TITLE = get_attr( $ELEMENT, "LV_TITLE" );
$LV_SIZE = get_attr( $ELEMENT, "LV_SIZE" );
$MY_ARRAY_SIZE = explode( "`", $LV_SIZE );
$LV_VALUE = $ITEM_VALUE;
$ITEM_VALUE = "<TABLE class='small' style='border-collapse:collapse' border=1 cellspacing=0 cellpadding=2 bordercolor='#000000'><TR class=TableHeader>\n";
$MY_ARRAY = explode( "`", $LV_TITLE );
$ARRAY_COUNT_TITLE = sizeof( $MY_ARRAY );
if ( $MY_ARRAY[$ARRAY_COUNT_TITLE - 1] == "" )
{
--$ARRAY_COUNT_TITLE;
}
$K = 0;
for ( ; $K < $ARRAY_COUNT_TITLE; ++$K )
{
$ITEM_VALUE .= "<TD nowrap>".$MY_ARRAY[$K]."</TD>\n";
}
$ITEM_VALUE .= "</TR>\n";
$MY_ARRAY = explode( "\r\n", $LV_VALUE );
$ARRAY_COUNT = sizeof( $MY_ARRAY );
if ( $MY_ARRAY[$ARRAY_COUNT - 1] == "" )
{
--$ARRAY_COUNT;
}
$K = 0;
for ( ; $K < $ARRAY_COUNT; ++$K )
{
$ITEM_VALUE .= "<tr>\n";
$TR_DATA = $MY_ARRAY[$K];
$MY_ARRAY1 = explode( "`", $TR_DATA );
$L = 0;
for ( ; $L < $ARRAY_COUNT_TITLE; ++$L )
{
$TD_DATA = $MY_ARRAY1[$L];
if ( $TD_DATA == "" )
{
$TD_DATA = " ";
}
$ITEM_VALUE .= ( "<td width=".$MY_ARRAY_SIZE[$L] * 9 ).">".$TD_DATA."</td>\n";
}
$ITEM_VALUE .= "</tr>\n";
}
$ITEM_VALUE .= "</TABLE>\n";
}
}
else
{
if ( $ECLASS == "AUTO" && $ITEM_VALUE == "{宏控件}" )
{
$ITEM_VALUE = "";
}
$ITEM_VALUE = str_replace( "<", "<", $ITEM_VALUE );
$ITEM_VALUE = str_replace( ">", ">", $ITEM_VALUE );
$ITEM_VALUE = stripslashes( $ITEM_VALUE );
$ITEM_VALUE = str_replace( chr( 10 ), "<br>", $ITEM_VALUE );
if ( $ENAME == "INPUT" && strstr( $ELEMENT, "type=checkbox" ) )
{
if ( $ITEM_VALUE == "on" )
{
$ITEM_VALUE = "是";
}
else
{
$ITEM_VALUE = "否";
}
}
}
}
$DATA_ARRAY[$RUN_COUNT][$ITEM_ID + 3] = $ITEM_VALUE;
}
++$RUN_COUNT;
}
}
if ( $RUN_COUNT == 0 )
{
message( "提示", "无符合条件的记录" );
exit( );
}
$ROW_COUNT = $RUN_COUNT;
$COL_COUNT = $ITEM_ID + 4;
$TITLE_ARRAY[0] = "文号/说明";
$TITLE_ARRAY[1] = "流程状态";
$TITLE_ARRAY[2] = "流程开始日期";
$TITLE_ARRAY[3] = "开始时间";
$J = 0;
$I = 0;
for ( ; $I < $ITEM_ID_MAX; ++$I )
{
$ELEMENT = $ELEMENT_ARRAY[$I];
$ETITLE = get_attr( $ELEMENT, "TITLE" );
$ECLASS = get_attr( $ELEMENT, "CLASS" );
if ( $ECLASS == "DATE" )
{
}
else
{
$ETITLE = str_replace( "<", "<", $ETITLE );
$ETITLE = str_replace( ">", ">", $ETITLE );
$ETITLE = stripslashes( $ETITLE );
$TITLE_ARRAY[$J + 4] = $ETITLE;
++$J;
}
}
echo "\r\n<table cellspacing=\"0\" width=\"100%\" cellpadding=\"3\" class=\"small\">\r\n <tr class=\"TableContent\">\r\n";
echo " <td class=\"TableControl\" style=\"border: 1px solid black\" align=\"center\"><b>分组:";
echo $TITLE_ARRAY[$GROUP_FLD];
echo " </b></td>\r\n";
$ARRAY_COUNT = sizeof( $TITLE_ARRAY );
$I = 0;
for ( ; $I < $ARRAY_COUNT; ++$I )
{
if ( $I == $GROUP_FLD )
{
}
else
{
echo " <td style=\"border-top: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black\" align=\"center\"><b>";
echo $TITLE_ARRAY[$I];
echo " </b></td>\r\n";
}
}
echo " </tr>\r\n <tr class=\"TableData\">\r\n";
$I = 0;
for ( ; $I < $ROW_COUNT; ++$I )
{
$DATA_INDEX_ARRAY[0][$I] = $DATA_ARRAY[$I][$GROUP_FLD];
$DATA_INDEX_ARRAY[1][$I] = $I;
}
if ( $GROUP_SORT == "ASC" )
{
array_multisort( $DATA_INDEX_ARRAY[0], SORT_STRING, SORT_ASC, $DATA_INDEX_ARRAY[1], SORT_STRING, SORT_ASC );
}
else
{
array_multisort( $DATA_INDEX_ARRAY[0], SORT_STRING, SORT_DESC, $DATA_INDEX_ARRAY[1], SORT_STRING, SORT_ASC );
}
$CUR_VALUE_PREV = "OA_NULL_VALUE";
$GROUP_COUNT = -1;
$I = 0;
for ( ; $I < $ROW_COUNT; ++$I )
{
if ( $DATA_INDEX_ARRAY[0][$I] != $CUR_VALUE_PREV )
{
++$GROUP_COUNT;
}
$DATA_GROUP_ARRAY[$GROUP_COUNT][0] = $DATA_INDEX_ARRAY[0][$I];
$DATA_GROUP_ARRAY[$GROUP_COUNT][1] .= $DATA_INDEX_ARRAY[1][$I].",";
$CUR_VALUE_PREV = $DATA_INDEX_ARRAY[0][$I];
}
$I = 0;
for ( ; $I <= $GROUP_COUNT; ++$I )
{
unset( $SUM_DATA_ARRAY );
$ROW_ARRAY = explode( ",", $DATA_GROUP_ARRAY[$I][1] );
$ARRAY_COUNT = sizeof( $ROW_ARRAY ) - 1;
$ROWSPAN = $ARRAY_COUNT;
if ( $SUM_FLD != "" )
{
++$ROWSPAN;
}
$J = 0;
for ( ; $J < $ARRAY_COUNT; ++$J )
{
echo " <tr class=\"TableData\">\r\n";
if ( $J == 0 )
{
echo " <td rowspan=\"";
echo $ROWSPAN;
echo "\" class=\"TableContent\" style=\"border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black\">\r\n ";
echo $DATA_GROUP_ARRAY[$I][0];
echo "<br><b>(共";
echo $ARRAY_COUNT;
echo "项)</b></td>\r\n";
}
$K = 0;
for ( ; $K < $COL_COUNT; ++$K )
{
if ( $K == $GROUP_FLD )
{
}
else
{
if ( find_id( $SUM_FLD, $K ) )
{
$SUM_DATA_ARRAY[$K] += $DATA_ARRAY[$ROW_ARRAY[$J]][$K];
$SUM_TOTAL_DATA_ARRAY[$K] += $DATA_ARRAY[$ROW_ARRAY[$J]][$K];
}
echo " <td style=\"border-right: 1px solid black; border-bottom: 1px solid black\" ";
if ( find_id( $SUM_FLD, $K ) )
{
echo "align=right";
}
echo ">";
echo $DATA_ARRAY[$ROW_ARRAY[$J]][$K];
echo " </td>\r\n";
}
}
echo " </tr>\r\n";
}
if ( $SUM_FLD != "" )
{
echo " <tr class=\"TableData\">\r\n";
$flag = 0;
$K = 0;
for ( ; $K < $COL_COUNT; ++$K )
{
if ( $K == $GROUP_FLD )
{
}
else if ( $flag == 0 )
{
$flag = 1;
echo " \t <td class=\"TableControl\" style=\"border-right: 1px solid black; border-bottom: 1px solid black\" align=right><b>小计</b></td>\r\n";
}
else
{
echo " <td class=\"TableControl\" style=\"border-right: 1px solid black; border-bottom: 1px solid black\" align=right>";
echo $SUM_DATA_ARRAY[$K];
echo " </td>\r\n";
}
}
echo "</tr>";
}
}
if ( $SUM_FLD != "" )
{
echo " <tr class=\"TableControl\">\r\n <td style=\"border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black\" align=\"center\"><b>合计</b></td>\r\n";
$K = 0;
for ( ; $K < $COL_COUNT; ++$K )
{
if ( $K == $GROUP_FLD )
{
}
else
{
echo " <td style=\"border-right: 1px solid black; border-bottom: 1px solid black\" align=\"right\">";
echo $SUM_TOTAL_DATA_ARRAY[$K];
echo " </td>\r\n ";
}
}
echo "</tr>";
}
echo "</table>\r\n\r\n</body>\r\n</html>";
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -