?? flow_report.php
字號:
case "SYS_LIST_SQL":
break;
}
}
elseif($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--;
for($K=0;$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--;
for($K=0;$K<$ARRAY_COUNT;$K++)
{
$ITEM_VALUE.="<tr>\n";
$TR_DATA=$MY_ARRAY[$K];
$MY_ARRAY1=explode("`",$TR_DATA);
for($L=0;$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;
}//for
$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;
for($I=0;$I<$ITEM_ID_MAX;$I++)
{
$ELEMENT=$ELEMENT_ARRAY[$I];
$ETITLE=get_attr($ELEMENT,"TITLE");
$ECLASS=get_attr($ELEMENT,"CLASS");
if($ECLASS=="DATE")
continue;
$ETITLE=str_replace("<","<",$ETITLE);
$ETITLE=str_replace(">",">",$ETITLE);
$ETITLE=stripslashes($ETITLE);
$TITLE_ARRAY[$J+4]=$ETITLE;
$J++;
}
?>
<table cellspacing="0" width="100%" style="border-collapse:collapse" border=1 cellspacing=0 cellpadding=3 bordercolor='#000000' class="small">
<?
if($OP==1)
{
?>
<tr class="TableContent">
<?
}
else
{
?>
<tr style="BACKGROUND: #D3E5FA; color: #000000; font-weight: bold;">
<?
}
//--- 輸出表頭 ---
?>
<td class="TableControl" align="center" nowrap><b>分組:<?=$TITLE_ARRAY[$GROUP_FLD]?> </b></td>
<?
$ARRAY_COUNT=sizeof($TITLE_ARRAY);
for($I=0;$I<$ARRAY_COUNT;$I++)
{
if($I==$GROUP_FLD)
continue;
?>
<td nowrap align="center"><b><?=$TITLE_ARRAY[$I]?> </b></td>
<?
}
?>
</tr>
<?
//--- 建立排序索引數組,并排序 ---
for($I=0;$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;
for($I=0;$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];
}
/*
//--- 輸出排序索引數組 ---
for($I=0;$I<$ROW_COUNT;$I++)
{
?>
<tr class="TableData">
<td><?=$DATA_INDEX_ARRAY[0][$I]?> </td>
<td><?=$DATA_INDEX_ARRAY[1][$I]?> </td>
</tr>
<?
}
//--- 輸出分組數組 ---
for($I=0;$I<=$GROUP_COUNT;$I++)
{
?>
<tr class="TableContent">
<td><?=$DATA_GROUP_ARRAY[$I][0]?> </td>
<td><?=$DATA_GROUP_ARRAY[$I][1]?> </td>
</tr>
<?
}
*/
//----------------------------------------- 輸出表格正文 -----------------------------------------
for($I=0;$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++;
for($J=0;$J<$ARRAY_COUNT;$J++)
{
?>
<tr class="TableData">
<?
if($J==0)
{
?>
<td rowspan="<?=$ROWSPAN?>" class="TableContent">
<?=$DATA_GROUP_ARRAY[$I][0]?><br><b>(共<?=$ARRAY_COUNT?>項)</b></td>
<?
}
for($K=0;$K<$COL_COUNT;$K++)
{
if($K==$GROUP_FLD)
continue;
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];
}
?>
<td <?if(find_id($SUM_FLD,$K))echo "align=right";?>><?=$DATA_ARRAY[$ROW_ARRAY[$J]][$K]?> </td>
<?
}//col
?>
</tr>
<?
}//row
//--- 小計 ---
if($SUM_FLD!="")
{
?>
<tr class="TableData">
<?
$flag=0;
for($K=0;$K<$COL_COUNT;$K++)
{
if($K==$GROUP_FLD)
continue;
if($flag==0)
{
$flag=1;
?>
<td class="TableControl" align=right><b>小計</b></td>
<?
continue;
}
?>
<td class="TableControl" align=right><?=$SUM_DATA_ARRAY[$K]?> </td>
<?
}
echo "</tr>";
}
}//group
//-------------------- 合計 ----------------
if($SUM_FLD!="")
{
?>
<tr class="TableControl">
<td align="center"><b>合計</b></td>
<?
for($K=0;$K<$COL_COUNT;$K++)
{
if($K==$GROUP_FLD)
continue;
?>
<td align="right"><?=$SUM_TOTAL_DATA_ARRAY[$K]?> </td>
<?
}
echo "</tr>";
}
?>
</table>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -