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

📄 gantt.php

📁 通达网络办公 - Office Anywhere 2008 增强版100%源码(3.4.081216) 内含 通达OA2008增強版接近完美破解补丁20081216集 及 最新通达OA2008ADV(
💻 PHP
字号:
<?php

include_once( "inc/utility_all.php" );
include( "inc/jpgraph/jpgraph.php" );
include( "inc/jpgraph/jpgraph_gantt.php" );
$query = "SELECT * from PROJ_PROJECT where PROJ_ID='".$PROJ_ID."'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
	$PROJ_NAME = $ROW['PROJ_NAME'];
}
$query = "SELECT min(TASK_START_TIME) as start_date,max(TASK_END_TIME) as end_date from PROJ_TASK where PROJ_ID='".$PROJ_ID."'";
$cursor = exequery( $connection, $query );
if ( $ROW = mysql_fetch_array( $cursor ) )
{
	$start_date = $ROW['start_date'];
	$end_date = $ROW['end_date'];
}
( );
$graph = new GanttGraph( );
$graph->title->Set( $PROJ_NAME );
$graph->title->SetFont( FF_SIMSUN, FS_BOLD, 13 );
$graph->ShowHeaders( GANTT_HYEAR | GANTT_HMONTH | GANTT_HDAY | GANTT_HWEEK );
$graph->scale->SetDateLocale( "chs" );
$graph->scale->week->SetStyle( WEEKSTYLE_TDOA );
if ( $start_date && $end_date )
{
	$day_diff = floor( ( strtotime( $end_date ) - strtotime( $start_date ) ) / 86400 );
	if ( 240 < $day_diff )
	{
		$graph->ShowHeaders( GANTT_HYEAR | GANTT_HMONTH );
	}
	else if ( 90 < $day_diff )
	{
		$graph->ShowHeaders( GANTT_HYEAR | GANTT_HMONTH | GANTT_HWEEK );
		$graph->scale->week->SetStyle( WEEKSTYLE_WNBR );
	}
	if ( date( "w", strtotime( $end_date ) ) == 0 )
	{
		$end_date = date( "Y-m-d", strtotime( "+1 week", strtotime( $end_date ) ) );
	}
	$graph->SetDateRange( $start_date, $end_date );
}
$graph->scale->actinfo->vgrid->SetColor( "gray" );
$graph->scale->actinfo->SetColor( "darkgray" );
$graph->scale->actinfo->SetColTitles( array( "任务名称", "负责人", "工期", "开始日期", "结束日期" ), array( 120, 80, 30, 60, 60 ) );
$graph->scale->actinfo->SetFont( FF_SIMSUN, FS_NORMAL, 9 );
$query = "SELECT * from PROJ_TASK where PROJ_ID='".$PROJ_ID."' order by TASK_NO";
$cursor = exequery( $connection, $query );
$TASK_COUNT = 0;
while ( $ROW = mysql_fetch_array( $cursor ) )
{
	++$TASK_COUNT;
	$TASK_ID = $ROW['TASK_ID'];
	$TASK_NO = $ROW['TASK_NO'];
	$TASK_NAME = $ROW['TASK_NAME'];
	$TASK_USER = $ROW['TASK_USER'];
	$DETAIL_DESC = $ROW['DETAIL_DESC'];
	$TASK_START_TIME = $ROW['TASK_START_TIME'];
	$TASK_END_TIME = $ROW['TASK_END_TIME'];
	$TASK_TIME = $ROW['TASK_TIME'];
	$START_END = $ROW['START_END'];
	$TASK_MILESTONE = $ROW['TASK_MILESTONE'];
	$TASK_PERCENT_COMPLETE = $ROW['TASK_PERCENT_COMPLETE'];
	$query1 = "SELECT USER_NAME from USER where USER_ID='".$TASK_USER."'";
	$cursor1 = exequery( $connection, $query1 );
	if ( $ROW = mysql_fetch_array( $cursor1 ) )
	{
		$TASK_USER_NAME = $ROW['USER_NAME'];
	}
	if ( $TASK_MILESTONE == 1 )
	{
		( $TASK_COUNT, array(
			$TASK_NAME."(里程碑)",
			$TASK_USER_NAME,
			"-",
			"-",
			"-"
		), $TASK_START_TIME, "" );
		$bar = new MileStone( );
		$bar->title->SetFont( FF_SIMSUN, FS_NORMAL );
		$graph->Add( $bar );
	}
	else
	{
		if ( 100 < $TASK_PERCENT_COMPLETE )
		{
			$TASK_PERCENT_COMPLETE = 100;
		}
		else if ( $TASK_PERCENT_COMPLETE < 0 )
		{
			$TASK_PERCENT_COMPLETE = 0;
		}
		$caption = "[".$TASK_PERCENT_COMPLETE."%]";
		( $TASK_COUNT, array(
			$TASK_NAME,
			$TASK_USER_NAME,
			$TASK_TIME."工作日",
			$TASK_START_TIME,
			$TASK_END_TIME
		), $TASK_START_TIME, $TASK_END_TIME );
		$bar = new GanttBar( );
		$bar->title->SetFont( FF_SIMSUN, FS_NORMAL );
		$bar->progress->Set( $TASK_PERCENT_COMPLETE / 100 );
		$bar->SetPattern( BAND_RDIAG, "blue" );
		( $caption );
		$bar->caption = new TextProperty( );
		$bar->caption->SetFont( FF_SIMSUN, FS_NORMAL, 10 );
		$bar->caption->Align( "left", "center" );
		$graph->Add( $bar );
	}
}
$graph->Stroke( );
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -