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

📄 fun_compute.php

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

function comput_allitem( $FLOW_ID, $USER_ID )
{
	global $connection;
	$count = 0;
	$count1 = 0;
	$length = 0;
	$query = "SELECT * from SAL_ITEM";
	$cursor = exequery( $connection, $query );
	while ( $ROW = mysql_fetch_array( $cursor ) )
	{
		if ( $ROW['ISCOMPUTER'] == "1" )
		{
			$DATA_FORMULA[$count1] = $ROW['FORMULA'];
			$DATA_FORMULAID[$count1] = $ROW['ITEM_ID'];
			++$count1;
		}
		else
		{
			$Sequence[$count] = $ROW['ITEM_ID'];
			++$length;
			++$count;
		}
	}
	$count = 0;
	$count1 = 0;
	while ( computearray( $DATA_FORMULAID ) != 0 )
	{
		$ARRAY_COUNT = sizeof( $DATA_FORMULA );
		$I = 0;
		for ( ;	$I < $ARRAY_COUNT;	++$I	)
		{
			if ( !( $DATA_FORMULAID[$I] != 0 ) && !( issonformula( $DATA_FORMULA[$I], $Sequence ) == "1" ) )
			{
				$Sequence[$length + $count1] = $DATA_FORMULAID[$I];
				$Compute_Formula[$count1] = $DATA_FORMULA[$I];
				$DATA_FORMULAID[$I] = 0;
				++$count1;
			}
		}
		++$count;
		if ( !( 50 < $count ) )
		{
			continue;
		}
		$ARRAY_COUNT = sizeof( $DATA_FORMULAID );
		$I = 0;
		for ( ;	$I < $ARRAY_COUNT;	++$I	)
		{
			if ( $DATA_FORMULAID[$I] != 0 )
			{
				echo $DATA_FORMULA[$I]."公式定义有误!!<br>";
			}
		}
		return;
	}
	$ARRAY_COUNT = sizeof( $Sequence );
	$query = "SELECT * from SAL_DATA where FLOW_ID='".$FLOW_ID."'and USER_ID='{$USER_ID}'";
	$cursor = exequery( $connection, $query );
	if ( $ROW = mysql_fetch_array( $cursor ) )
	{
		$USER_ID = $ROW['USER_ID'];
		$I = 0;
		for ( ;	$I < $ARRAY_COUNT;	++$I	)
		{
			$Update_Date[$I] = $ROW["S".$Sequence[$I]];
		}
		$Update_Date = compute_all( $Update_Date, $Sequence, $Compute_Formula );
		$query = "update SAL_DATA set ";
		$I = 0;
		for ( ;	$I < $ARRAY_COUNT;	++$I	)
		{
			$STR = "S".$Sequence[$I];
			if ( $Update_Date[$I] == "" )
			{
				$Update_Date[$I] = "0";
			}
			$query .= $STR."=".$Update_Date[$I];
			if ( $I != $ARRAY_COUNT - 1 )
			{
				$query .= ",";
			}
		}
		$query .= " where FLOW_ID=".$FLOW_ID." and USER_ID='{$USER_ID}'";
		exequery( $connection, $query );
	}
}

function issonformula( $formul, $ARRAY_Sequence )
{
	$temp = explode( "\$", $formul );
	$ARRAY_COUNT = sizeof( $temp );
	if ( $temp[$ARRAY_COUNT - 1] == "" )
	{
		--$ARRAY_COUNT;
	}
	$I = 0;
	for ( ;	$I < $ARRAY_COUNT;	++$I	)
	{
		if ( !( substr( $temp[$I], 0, strpos( $temp[$I], "]" ) ) != "" ) )
		{
			continue;
		}
		$ARRAY_COUNT1 = sizeof( $ARRAY_Sequence );
		$h = 0;
		for ( ;	$h < $ARRAY_COUNT1;	++$h	)
		{
			$tempid = substr( $temp[$I], 0, strpos( $temp[$I], "]" ) );
			if ( !( $ARRAY_Sequence[$h] == $tempid ) )
			{
				continue;
			}
			break;
		}
		if ( !( $h == $ARRAY_COUNT1 ) )
		{
			continue;
		}
		return "0";
	}
	return "1";
}

function computearray( $FORMULAID )
{
	$ARRAY_COUNT = sizeof( $FORMULAID );
	$SUM = 0;
	$I = 0;
	for ( ;	$I < $ARRAY_COUNT;	++$I	)
	{
		$SUM += $FORMULAID[$I];
	}
	return $SUM;
}

function compute_all( $Update_Date, $Sequence, $Compute_Formula )
{
	$ARRAY_COUNT = sizeof( $Sequence );
	$I = $ARRAY_COUNT - sizeof( $Compute_Formula );
	for ( ;	$I < $ARRAY_COUNT;	++$I	)
	{
		if ( strlen( strrchr( $Compute_Formula[$I - ( $ARRAY_COUNT - sizeof( $Compute_Formula ) )], "<" ) ) == 0 )
		{
			$temp = formula_swap( $Sequence, $Compute_Formula[$I - ( $ARRAY_COUNT - sizeof( $Compute_Formula ) )], $Update_Date );
			eval( "\$O=".$temp.";" );
		}
		else
		{
			$temp = str_replace( "<", "", formula_swap( $Sequence, $Compute_Formula[$I - ( $ARRAY_COUNT - sizeof( $Compute_Formula ) )], $Update_Date ) );
			$temp = str_replace( ">", "", $temp );
			eval( "\$O=".$temp.";" );
			$O = compute_tax( round( $O, 2 ) );
		}
		$Update_Date[$I] = round( $O, 2 );
	}
	return $Update_Date;
}

function formula_swap( $Sequence, $Formula, $Update_Date )
{
	$Formula = str_replace( "[", "", $Formula );
	$Formula = str_replace( "]", "", $Formula );
	$Formula = str_replace( "\$", "S", $Formula );
	$ARRAY_COUNT = sizeof( $Sequence );
	$I = $ARRAY_COUNT - 1;
	for ( ;	0 <= $I;	--$I	)
	{
		$temp = "S".( $I + 1 );
		$index = findinarray( $I + 1, $Sequence );
		$Formula = str_replace( $temp, $Update_Date[$index], $Formula );
	}
	return $Formula;
}

function findinarray( $a, $Sequence )
{
	$ARRAY_COUNT = sizeof( $Sequence );
	$I = 0;
	for ( ;	$I < $ARRAY_COUNT;	++$I	)
	{
		if ( !( $Sequence[$I] == $a ) )
		{
			continue;
		}
		return $I;
	}
}

function compute_tax( $cha )
{
	if ( $cha <= 0 )
	{
		return 0;
	}
	if ( 0 < $cha && $cha <= 500 )
	{
		return round( $cha * 0.05, 2 );
	}
	if ( 500 < $cha && $cha <= 2000 )
	{
		return round( $cha * 0.1 - 25, 2 );
	}
	if ( 2000 < $cha && $cha <= 5000 )
	{
		return round( $cha * 0.15 - 125, 2 );
	}
	if ( 5000 < $cha && $cha <= 20000 )
	{
		return round( $cha * 0.2 - 375, 2 );
	}
	if ( 20000 < $cha && $cha <= 40000 )
	{
		return round( $cha * 0.25 - 1375, 2 );
	}
	if ( 40000 < $cha && $cha <= 60000 )
	{
		return round( $cha * 0.3 - 3375, 2 );
	}
	if ( 60000 < $cha && $cha <= 80000 )
	{
		return round( $cha * 0.35 - 6375, 2 );
	}
	if ( 80000 < $cha && $cha <= 100000 )
	{
		return round( $cha * 0.4 - 10375, 2 );
	}
	if ( 100000 < $cha && 100000 < $cha )
	{
		return round( $cha * 0.45 - 15375, 2 );
	}
}

echo "  ";
?>

⌨️ 快捷键说明

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