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

📄 flow_report.php

📁 通达OA3.0源代码
💻 PHP
📖 第 1 页 / 共 2 页
字号:
            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="&nbsp;";
                   $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("<","&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="否";
         }
      }

      $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("<","&lt",$ETITLE);
   $ETITLE=str_replace(">","&gt",$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]?>&nbsp;</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]?>&nbsp;</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]?>&nbsp;</td>
     <td><?=$DATA_INDEX_ARRAY[1][$I]?>&nbsp;</td>
   </tr>
<?
 }

 //--- 输出分组数组 ---
 for($I=0;$I<=$GROUP_COUNT;$I++)
 {
?>
   <tr class="TableContent">
     <td><?=$DATA_GROUP_ARRAY[$I][0]?>&nbsp;</td>
     <td><?=$DATA_GROUP_ARRAY[$I][1]?>&nbsp;</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]?>&nbsp;</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]?>&nbsp;</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]?>&nbsp;</td>
 <?
   }
   echo "</tr>";
 }
?>
</table>

</body>
</html>

⌨️ 快捷键说明

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