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

📄 flow_report.php

📁 1、激活企业硬件投资
💻 PHP
📖 第 1 页 / 共 2 页
字号:
                  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;
        }

        $query1="select * from FLOW_RUN_DATA".$WHERE_STR;
        $cursor1= exequery($connection,$query1);
        if(!$ROW=mysql_fetch_array($cursor1))
        {
           $NOT_FOUND=1;
           break;
        }

      }//if($FIELDVALUE!="")
    }//for

	if($NOT_FOUND==1) //数据部份未查询到
       continue;

    //流程状态显示
    if($FLOW_STATUS=="ALL")
    {
       if(find_id($STATUS_RUN,$RUN_ID))
          $STATUS="<font color=red>执行中</font>";
       else
          $STATUS="已结束";
    }
    elseif($FLOW_STATUS=="0")
       $STATUS="<font color=red>执行中</font>";
    else
       $STATUS="已结束";

    $DATA_ARRAY[$RUN_COUNT][1]=$STATUS;

    //--- 读取数据 ---
    $query1 = "SELECT * from FLOW_RUN_DATA where RUN_ID=$RUN_ID order by ITEM_ID";
    $cursor1 = exequery($connection,$query1);
    while($ROW=mysql_fetch_array($cursor1))
    {
       $ITEM_ID=$ROW["ITEM_ID"];
       $ITEM_DATA=$ROW["ITEM_DATA"];
       $STR="DATA_LIST_".$ITEM_ID;
       $$STR=$ITEM_DATA;
    }

    //-------- Html 智能分析,数据转换 -----------
    $ITEM_ID=0;
    for($J=0;$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"||$ECLASS=="USER")
         continue;

      $ITEM_ID++;

      $STR="DATA_LIST_".$ITEM_ID;
      $ITEM_VALUE=$$STR;

      if($ECLASS!="LIST_VIEW")
      {
         $ITEM_DATA=str_replace(chr(10)," ",$ITEM_DATA);
         $ITEM_DATA=str_replace(chr(13)," ",$ITEM_DATA);
      }

      //--- 用值替换控件 ----
      if($ECLASS=="AUTO" && $ENAME=="SELECT" && $ITEM_VALUE!="") //--- 下拉菜单型宏控件 ---
      {
         $EDATAFLD=get_attr($ELEMENT,"DATAFLD");
         switch($EDATAFLD)
         {
            case "SYS_LIST_DEPT":
                          $query_auto="SELECT DEPT_NAME from DEPARTMENT where DEPT_ID='$ITEM_VALUE'";
                          $cursor_auto = exequery($connection,$query_auto);
                          if($ROW=mysql_fetch_array($cursor_auto))
                             $ITEM_VALUE=$ROW["DEPT_NAME"];
                          break;
            case "SYS_LIST_PRIV":
                          $query_auto="SELECT PRIV_NAME from USER_PRIV where USER_PRIV=$ITEM_VALUE";
                          $cursor_auto = exequery($connection,$query_auto);
                          if($ROW=mysql_fetch_array($cursor_auto))
                             $ITEM_VALUE=$ROW["PRIV_NAME"];
                          break;
            case "SYS_LIST_USER":
            case "SYS_LIST_PRCSUSER1":
            case "SYS_LIST_PRCSUSER2":
                          $query_auto="SELECT USER_NAME from USER where USER_ID='$ITEM_VALUE'";
                          $cursor_auto = exequery($connection,$query_auto);
                          if($ROW=mysql_fetch_array($cursor_auto))
                             $ITEM_VALUE=$ROW["USER_NAME"];
                          break;
            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";
        }
      }
      elseif($ECLASS=="SIGN")  //手写控件
      {
          $ITEM_VALUE="";
      }
      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"||$ECLASS=="USER")
      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 + -