📄 report_download.php
字号:
<?php
include_once( "inc/auth.php" );
include_once( "inc/utility_all.php" );
include_once( "inc/utility_html.php" );
ob_end_clean( );
$query = "SELECT * from FLOW_RUN fr,flow_type ft,flow_sort fs WHERE 1 ";
$query .= " AND fr.FLOW_ID=ft.FLOW_ID AND fs.ID=ft.FLOW_SORT ";
if ( $_REQUEST['FLOW_ID'] != "" )
{
$query .= " AND fr.FLOW_ID=".$_REQUEST['FLOW_ID'];
}
if ( $_REQUEST['FLOW_SORT'] != "" )
{
$query .= " AND fs.ID=".$_REQUEST['FLOW_SORT'];
}
if ( $RUN_NAME != "" )
{
$FIELDVALUE = $RUN_NAME;
$WHERE_STR = " and fr.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."%'";
}
$query .= $WHERE_STR;
}
$query .= " order by fr.RUN_ID desc";
$cursor = exequery( $connection, $query );
$FLOW_COUNT = 0;
$flowct = 0;
while ( $ROW = mysql_fetch_array( $cursor ) )
{
$RUN_ID = $ROW['RUN_ID'];
$FLOW_ID = $ROW['FLOW_ID'];
$RUN_NAME = $ROW['RUN_NAME'];
$ATTACHMENT_ID = $ROW['ATTACHMENT_ID'];
$ATTACHMENT_NAME = $ROW['ATTACHMENT_NAME'];
$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'];
$USER_ID = $ROW['USER_ID'];
$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 ( $CREATE_USER != "" && $USER_ID != $CREATE_USER )
{
}
else
{
if ( $REPORT_TYPE == "year" && $TIME_YEAR != "" && $TIME_YEAR != date( "Y", strtotime( $PRCS_TIME ) ) )
{
continue;
}
if ( $REPORT_TYPE == "month" && $TIME_MONTH != "" )
{
if ( $TIME_YEAR != date( "Y", strtotime( $PRCS_TIME ) ) )
{
}
else if ( $TIME_MONTH != date( "n", strtotime( $PRCS_TIME ) ) )
{
continue;
}
}
if ( $REPORT_TYPE == "day" && $TIME_DAY != "" )
{
if ( $TIME_YEAR != date( "Y", strtotime( $PRCS_TIME ) ) )
{
}
else if ( $TIME_MONTH != date( "n", strtotime( $PRCS_TIME ) ) )
{
}
else if ( $TIME_DAY != date( "j", strtotime( $PRCS_TIME ) ) )
{
continue;
}
}
if ( $REPORT_TYPE == "week" && $TIME_WEEK != "" && $TIME_WEEK != date( "W", strtotime( $PRCS_TIME ) ) )
{
continue;
}
if ( $PRCS_TIME == "0000-00-00 00:00:00" )
{
$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" )
{
}
}
$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
{
if ( $REPORT_TYPE == "year" )
{
$i = 1;
for ( ; $i <= 12; ++$i )
{
if ( $i == date( "n", strtotime( $PRCS_TIME ) ) )
{
$arrayRunStr[$i] .= $RUN_ID.",";
}
}
}
if ( $REPORT_TYPE == "month" )
{
$mend = date( "t", strtotime( $TIME_YEAR."-".$TIME_MONTH."-01 00:00:00" ) );
$i = 1;
for ( ; $i <= $mend; ++$i )
{
if ( $i == date( "d", strtotime( $PRCS_TIME ) ) )
{
$arrayRunStr[$i] .= $RUN_ID.",";
}
}
}
if ( $REPORT_TYPE == "week" )
{
$i = 1;
for ( ; $i <= 7; ++$i )
{
if ( $i == date( "w", strtotime( $PRCS_TIME ) + 1 ) )
{
$arrayRunStr[$i] .= $RUN_ID.",";
}
}
}
if ( $REPORT_TYPE == "day" )
{
$i = 1;
for ( ; $i <= 24; ++$i )
{
if ( $i == date( "H", strtotime( $PRCS_TIME ) + 1 ) )
{
$arrayRunStr[$i] .= $RUN_ID.",";
}
}
}
++$FLOW_COUNT;
++$flowct;
$RUN_ID_STR .= $RUN_ID.",";
}
}
$sql = "SELECT * FROM flow_report_field WHERE REPORT_ID=".$_REQUEST['REPORT_ID'];
$rs = exequery( $connection, $sql );
$parval = ",TML,";
while ( $row = mysql_fetch_array( $rs ) )
{
$parval .= $row['FIELD_NAME'].",";
$arrayItemVal[$row['FIELD_NAME']]['FIELD_IMG'] = $row['FIELD_IMG'];
}
$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'];
}
$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'];
}
$EXCEL_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 )
{
$EXCEL_NAME = str_replace( $MY_ARRAY[$I], "", $EXCEL_NAME );
}
$EXCEL_OUT = "文号/说明\t流程状态\t流程开始时间\t";
$ELEMENT_ARRAY = html_element( $PRINT_MODEL );
$ITEM_ID_MAX = sizeof( $ELEMENT_ARRAY );
$I = 0;
for ( ; $I < $ITEM_ID_MAX; ++$I )
{
$ELEMENT = $ELEMENT_ARRAY[$I];
$ETITLE = get_attr( $ELEMENT, "TITLE" );
$ETITLE = str_replace( "<", "<", $ETITLE );
$ETITLE = str_replace( ">", ">", $ETITLE );
$ETITLE = stripslashes( $ETITLE );
$arrayItemValTml[$I]['FIELD_IMG'] = $arrayItemVal[$ETITLE]['FIELD_IMG'];
$arrayItemValTml[$I]['FIELD_NAME'] = $ETITLE;
$EXCEL_OUT .= $ETITLE."\t";
}
$EXCEL_OUT .= "\n";
if ( $REPORT_TYPE == "year" )
{
$startNum = 1;
$totalNum = 12;
}
if ( $REPORT_TYPE == "month" )
{
$startNum = 1;
$totalNum = date( "t", strtotime( $TIME_YEAR."-".$TIME_MONTH."-01 00:00:00" ) );
}
if ( $REPORT_TYPE == "week" )
{
$startNum = 1;
$totalNum = 7;
}
if ( $REPORT_TYPE == "day" )
{
$startNum = 1;
$totalNum = 24;
}
$iNum = $startNum;
for ( ; $iNum <= $totalNum; ++$iNum )
{
$RUN_ID_STR = $arrayRunStr[$iNum];
$M = 0;
for ( ; $M < $ITEM_ID_MAX; ++$M )
{
$arrayData[$iNum][$M]['FIELD_IMG'] = $arrayItemValTml[$M]['FIELD_IMG'];
$arrayData[$iNum][$M]['FIELD_NAME'] = $arrayItemValTml[$M]['FIELD_NAME'];
$arrayData[$iNum][$M]['FIELD_VALUE'] = 0;
}
$MY_ARRAY = explode( ",", $RUN_ID_STR );
$ARRAY_COUNT = sizeof( $MY_ARRAY );
if ( $MY_ARRAY[$ARRAY_COUNT - 1] == "" )
{
--$ARRAY_COUNT;
}
$I = 0;
for ( ; $I < $ARRAY_COUNT; ++$I )
{
$query1 = "SELECT * from FLOW_RUN where RUN_ID={$MY_ARRAY[$I]}";
$cursor1 = exequery( $connection, $query1 );
if ( $ROW = mysql_fetch_array( $cursor1 ) )
{
$EXCEL_OUT .= $ROW['RUN_NAME']."\t";
}
$query1 = "SELECT * from FLOW_RUN_PRCS WHERE RUN_ID={$MY_ARRAY[$I]} AND PRCS_FLAG<>'4'";
$cursor1 = exequery( $connection, $query1 );
if ( $ROW = mysql_fetch_array( $cursor1 ) )
{
$STATUS = "执行中";
}
else
{
$STATUS = "已完成";
}
$EXCEL_OUT .= $STATUS."\t";
$PRCS_TIME = "";
$query1 = "SELECT * from FLOW_RUN_PRCS WHERE RUN_ID={$MY_ARRAY[$I]} AND PRCS_ID=1";
$cursor1 = exequery( $connection, $query1 );
if ( $ROW = mysql_fetch_array( $cursor1 ) )
{
$PRCS_TIME = $ROW['PRCS_TIME'];
if ( $PRCS_TIME == "0000-00-00 00:00:00" )
{
$PRCS_TIME = "";
}
$EXCEL_OUT .= $PRCS_TIME."\t";
}
$query = "SELECT * from FLOW_RUN_DATA where RUN_ID={$MY_ARRAY[$I]} order by ITEM_ID";
$cursor = exequery( $connection, $query );
while ( $ROW = mysql_fetch_array( $cursor ) )
{
$ITEM_ID = $ROW['ITEM_ID'];
$ITEM_DATA = $ROW['ITEM_DATA'];
$ITEM_DATA = str_replace( chr( 10 ), " ", $ITEM_DATA );
$ITEM_DATA = str_replace( chr( 13 ), " ", $ITEM_DATA );
$STR = "DATA_".$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_".$ITEM_ID;
$ITEM_VALUE = $$STR;
$arrayEtitle[$J] = $ITEM_VALUE + $arrayEtitle[$J];
$arrayData[$iNum][$J]['FIELD_IMG'] = $arrayItemValTml[$J]['FIELD_IMG'];
$arrayData[$iNum][$J]['FIELD_NAME'] = $arrayItemValTml[$J]['FIELD_NAME'];
$arrayData[$iNum][$J]['FIELD_VALUE'] = $arrayEtitle[$J];
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 == "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 = "否";
}
}
}
}
$EXCEL_OUT .= $ITEM_VALUE."\t";
}
$EXCEL_OUT .= "\n";
}
unset( $arrayEtitle );
}
$sql = "SELECT * FROM flow_report WHERE REPORT_ID=".$_REQUEST['REPORT_ID']."";
$rs = exequery( $connection, $sql );
$row = mysql_fetch_array( $rs );
$reportname = $row['REPORT_NAME'];
$file_name = $reportname.date( "YdmHis" ).".xls";
ob_end_clean( );
header( "Cache-control: private" );
header( "Content-type: application/vnd.ms-excel" );
header( "Accept-Ranges: bytes" );
header( "Accept-Length: ".strlen( $EXCEL_OUT ) );
header( "Content-Disposition: attachment; filename=".$file_name );
echo $EXCEL_OUT;
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -