⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 report_download.php

📁 泛微协同办公系统标准版E-office V5.5的源代码内含泛微办公系统V5.5自动注册文件。
💻 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( "<", "&lt", $ETITLE );
	$ETITLE = str_replace( ">", "&gt", $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( "<", "&lt", $ITEM_VALUE );
					$ITEM_VALUE = str_replace( ">", "&gt", $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 + -