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

📄 flow_report.php

📁 通达OA3.0源代码
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?
include_once("inc/auth.php");
include_once("inc/utility_html.php");
include_once("inc/utility_all.php");
include_once("../prcs_role.php");

$query = "SELECT * from FLOW_TYPE WHERE FLOW_ID=$FLOW_ID";
$cursor1= exequery($connection,$query);
if($ROW=mysql_fetch_array($cursor1))
{
   $FLOW_NAME=$ROW["FLOW_NAME"];
   $FORM_ID=$ROW["FORM_ID"];
   $FLOW_NAME=$ROW["FLOW_NAME"];
   $MANAGE_USER = $ROW["MANAGE_USER"];
   $QUERY_USER = $ROW["QUERY_USER"];
}

$query = "SELECT * from FLOW_FORM_TYPE WHERE FORM_ID=$FORM_ID";
$cursor1= exequery($connection,$query);
if($ROW=mysql_fetch_array($cursor1))
{
   $FORM_NAME=$ROW["FORM_NAME"];
   $PRINT_MODEL=$ROW["PRINT_MODEL"];
   $ELEMENT_ARRAY=html_element($PRINT_MODEL);
}

//-- 名称 --
$HTML_NAME=$FLOW_NAME;

$LETTER_STR="\\,/,:,*,?,\",<,>,|";
$MY_ARRAY=explode(",",$LETTER_STR);
$ARRAY_COUNT=sizeof($MY_ARRAY);
if($MY_ARRAY[$ARRAY_COUNT-1]=="")
   $ARRAY_COUNT--;
for($I=0;$I<$ARRAY_COUNT;$I++)
  $HTML_NAME=str_replace($MY_ARRAY[$I],"",$HTML_NAME);

if($OP==1)
{
?>
<html>
<head>
<title>工作流分组统计报表 - <?=$HTML_NAME?></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<body topmargin="5">
<?
}
else
{
  ob_end_clean();
  Header("Cache-control: private");
  Header("Content-type: application/vnd.ms-excel");
  Header("Content-Disposition: attachment; filename= 工作流分组统计报表 - $HTML_NAME.xls");
?>

<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<?
}

 //-------------------------------------------- 数据查询 -----------------------------------------
 $query = "SELECT * from FLOW_RUN WHERE FLOW_ID=$FLOW_ID";

 //--- 文号条件 ---
 if($RUN_NAME!="")
 {
   $FIELDVALUE=$RUN_NAME;
   $WHERE_STR=" and RUN_NAME";
   switch($RUN_NAME_RELATION)
   {
     case 1: $WHERE_STR.="='".$FIELDVALUE."'";
             break;
     case 2: $WHERE_STR.=">'".$FIELDVALUE."'";
             break;
     case 3: $WHERE_STR.="<'".$FIELDVALUE."'";
             break;
     case 4: $WHERE_STR.=">='".$FIELDVALUE."'";
             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;
   }

   $query.=$WHERE_STR;
 }

 //--- 公共附件条件 ---
 if($ATTACHMENT_NAME!="")
    $query.=" and ATTACHMENT_NAME like '%$ATTACHMENT_NAME%'";

 $query.=" order by RUN_ID desc";
 $cursor = exequery($connection,$query);

 $RUN_COUNT=0;
 while($ROW=mysql_fetch_array($cursor))
 {
    $RUN_ID=$ROW["RUN_ID"];
    $RUN_NAME=$ROW["RUN_NAME"];
    $ATTACHMENT_ID=$ROW["ATTACHMENT_ID"];
    $ATTACHMENT_NAME=$ROW["ATTACHMENT_NAME"];

    $DATA_ARRAY[$RUN_COUNT][0]=$RUN_NAME;

    //--- 排除不是自己经手的流程 ---
    if($LOGIN_USER_PRIV!="1" && !find_id($MANAGE_USER,$LOGIN_USER_ID) && !find_id($QUERY_USER,$LOGIN_USER_ID))
    {
      $query1 = "SELECT * from FLOW_RUN_PRCS WHERE RUN_ID=$RUN_ID AND USER_ID='$LOGIN_USER_ID'";
      $cursor1= exequery($connection,$query1);
      if(!mysql_fetch_array($cursor1))
         continue;
    }

    //--- 开始时间条件检查 ---
    $PRCS_TIME="";
    $query1 = "SELECT * from FLOW_RUN_PRCS WHERE RUN_ID=$RUN_ID AND PRCS_ID=1";
    $cursor1= exequery($connection,$query1);
    if($ROW=mysql_fetch_array($cursor1))
    {
       $PRCS_TIME=$ROW["PRCS_TIME"];
       $PRCS_DATE=strtok($PRCS_TIME," ");

       if($PRCS_DATE1!="" && compare_date($PRCS_DATE,$PRCS_DATE1)<0)
          continue;

       if($PRCS_DATE2!="" && compare_date($PRCS_DATE,$PRCS_DATE2)>0)
          continue;

       if($PRCS_TIME=="0000-00-00 00:00:00")
          $PRCS_TIME="";
    }

    $DATA_ARRAY[$RUN_COUNT][2]=$PRCS_DATE;
    $DATA_ARRAY[$RUN_COUNT][3]=$PRCS_TIME;

    //--- 流程状态条件检查 ---
    $query1 = "SELECT * from FLOW_RUN_PRCS WHERE RUN_ID=$RUN_ID AND PRCS_FLAG<>'4'";
    $cursor1= exequery($connection,$query1);
    if($ROW=mysql_fetch_array($cursor1))
    {
       $STATUS="执行中";
       if($FLOW_STATUS=="1")
          continue;
    }
    else
    {
       $STATUS="已结束";
       if($FLOW_STATUS=="0")
          continue;
    }
    $DATA_ARRAY[$RUN_COUNT][1]=$STATUS;

    //--- 数据条件检查 ---
    $NOT_FOUND=0;
    for($I=1;$I<=$ITEM_ID_MAX;$I++)
    {
      $STR="DATA_".$I;
      $FIELDVALUE=$$STR;

      if($FIELDVALUE!="" && $FIELDVALUE!="SELECT_ALL_VALUE")
      {
      	$STR="RELATION_".$I;
      	$RELATION=$$STR;

      	if($FIELDVALUE=="CHECKBOX_ON")
      	   $FIELDVALUE="on";
      	else if($FIELDVALUE=="CHECKBOX_OFF")
      	   $FIELDVALUE="";

        $WHERE_STR=" where RUN_ID=$RUN_ID and ITEM_ID=$I and ITEM_DATA";
        switch($RELATION)
        {
          case 1: $WHERE_STR.="='".$FIELDVALUE."'";
                  break;
          case 2: $WHERE_STR.=">'".$FIELDVALUE."'";
                  break;
          case 3: $WHERE_STR.="<'".$FIELDVALUE."'";
                  break;
          case 4: $WHERE_STR.=">='".$FIELDVALUE."'";
                  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;


    //--- 读取数据 ---
    $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")
         $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=="DATE" )
         $ITEM_VALUE="";

      elseif($ECLASS=="AUTO" && $ENAME=="SELECT" && $ITEM_VALUE!="") //--- 下拉菜单型宏控件 ---
      {
         $EDATAFLD=get_attr($ELEMENT,"DATAFLD");
         switch($EDATAFLD)
         {
            case "SYS_LIST_DEPT":
                          $query_auto="SELECT * 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 * 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 * 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;

⌨️ 快捷键说明

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