flow_report.php

来自「通达OA2007SE源代码 非常好的」· PHP 代码 · 共 736 行 · 第 1/2 页

PHP
736
字号
<?
  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))
  {
    echo '<html>
<head>
<title>工作流分组统计报表 - ';
    echo $HTML_NAME;
    echo '</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'));
    echo '
<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">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
';
  }
  $query = (((''.'SELECT FLOW_RUN.RUN_ID,RUN_NAME,PRCS_TIME,FLOW_TYPE.FLOW_ID,FLOW_NAME,FLOW_TYPE,MANAGE_USER,QUERY_USER,ATTACHMENT_ID,ATTACHMENT_NAME from FLOW_TYPE,FLOW_RUN,FLOW_RUN_PRCS WHERE FLOW_TYPE.FLOW_ID=FLOW_RUN.FLOW_ID and FLOW_RUN.RUN_ID=FLOW_RUN_PRCS.RUN_ID and FLOW_TYPE.FLOW_ID=\'').$FLOW_ID).'\'');
  if (($RUN_ID != ''))
  {
    ($query .= (((''.' and FLOW_RUN.RUN_ID=\'').$RUN_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).'%\''));
  }
  if (($PRCS_DATE1 != ''))
  {
    ($query .= (((''.' and PRCS_TIME>=\'').$PRCS_DATE1).' 00:00:00\''));
  }
  if (($PRCS_DATE2 != ''))
  {
    ($query .= (((''.' and PRCS_TIME<=\'').$PRCS_DATE2).' 23:59:59\''));
  }
  $query_global = $query;
  if (((($FLOW_QUERY_TYPE == 'ALL') AND ($LOGIN_USER_PRIV != 1)) OR ($FLOW_QUERY_TYPE == '2')))
  {
    $query_my = ($query.(((''.' and USER_ID=\'').$LOGIN_USER_ID).'\''));
    $cursor = exequery ($connection, $query_my);
    while ($ROW = mysql_fetch_array ($cursor))
    {
      ($MY_RUN_ID .= ($ROW['RUN_ID'].','));
    }
    if (($MY_RUN_ID != ''))
    {
      $MY_RUN_ID = substr ($MY_RUN_ID, 0, -1);
    }
    else
    {
      $MY_RUN_ID = '0';
    }
  }
  if ((($FLOW_QUERY_TYPE == 'ALL') AND ($LOGIN_USER_PRIV != 1)))
  {
    ($query .= (((((((((((''.' and (FLOW_RUN.RUN_ID in (').$MY_RUN_ID).') or MANAGE_USER like \'%,').$LOGIN_USER_ID).',%\' or  MANAGE_USER like \'').$LOGIN_USER_ID).',%\' or QUERY_USER like \'%,').$LOGIN_USER_ID).',%\' or QUERY_USER like \'').$LOGIN_USER_ID).',%\')'));
  }
  else
  {
    if (($FLOW_QUERY_TYPE == '1'))
    {
      ($query .= (((''.' and USER_ID=\'').$LOGIN_USER_ID).'\''));
    }
    else
    {
      if (($FLOW_QUERY_TYPE == '2'))
      {
        ($query .= (((''.' and FLOW_RUN.RUN_ID in (').$MY_RUN_ID).')'));
      }
      else
      {
        if ((($FLOW_QUERY_TYPE == '3') AND ($LOGIN_USER_PRIV != 1)))
        {
          ($query .= (((((((((''.' and (MANAGE_USER like \'%,').$LOGIN_USER_ID).',%\' or  MANAGE_USER like \'').$LOGIN_USER_ID).',%\' or QUERY_USER like \'%,').$LOGIN_USER_ID).',%\' or QUERY_USER like \'').$LOGIN_USER_ID).',%\')'));
        }
      }
    }
  }
  $query_run = ($query_global.' and PRCS_FLAG<>\'4\'');
  $cursor = exequery ($connection, $query_run);
  while ($ROW = mysql_fetch_array ($cursor))
  {
    ($STATUS_RUN .= ($ROW['RUN_ID'].','));
  }
  if (($STATUS_RUN != ''))
  {
    $STATUS_RUN = substr ($STATUS_RUN, 0, -1);
  }
  else
  {
    $STATUS_RUN = 0;
  }
  if (($FLOW_STATUS != 'ALL'))
  {
    if (($FLOW_STATUS == 0))
    {
      ($query .= (((''.' and FLOW_RUN.RUN_ID in (').$STATUS_RUN).')'));
    }
    else
    {
      ($query .= (((''.' and FLOW_RUN.RUN_ID not in (').$STATUS_RUN).')'));
    }
  }
  ($query .= ' and PRCS_ID=1 order by FLOW_RUN.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;
    $PRCS_TIME = $ROW['PRCS_TIME'];
    $PRCS_DATE = strtok ($PRCS_TIME, ' ');
    $DATA_ARRAY[$RUN_COUNT][2] = $PRCS_DATE;
    $DATA_ARRAY[$RUN_COUNT][3] = $PRCS_TIME;
    $NOT_FOUND = 0;
    for ($I = 1; ($I <= $ITEM_ID_MAX); ++$I)
    {
      $STR = ('DATA_'.$I);
      $FIELDVALUE = $$STR;
      if ((($FIELDVALUE != '') AND ($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:
          {
            if (is_numeric ($FIELDVALUE))
            {
              ($WHERE_STR .= (('>'.$FIELDVALUE).''));
              break;
            }
            else
            {
              ($WHERE_STR .= (('>\''.$FIELDVALUE).'\''));
              break;
            }
            break;
          }
          case 3:
          {
            if (is_numeric ($FIELDVALUE))
            {
              ($WHERE_STR .= (('<'.$FIELDVALUE).''));
              break;
            }
            else
            {
              ($WHERE_STR .= (('<\''.$FIELDVALUE).'\''));
              break;
            }
            break;
          }
          case 4:
          {
            if (is_numeric ($FIELDVALUE))
            {
              ($WHERE_STR .= (('>='.$FIELDVALUE).''));
              break;
            }
            else
            {
              ($WHERE_STR .= (('>=\''.$FIELDVALUE).'\''));
              break;
            }
            break;
          }
          case 5:
          {
            if (is_numeric ($FIELDVALUE))
            {
              ($WHERE_STR .= (('<='.$FIELDVALUE).''));
              break;
            }
            else
            {
              ($WHERE_STR .= (('<=\''.$FIELDVALUE).'\''));
              break;
            }
            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 1 from FLOW_RUN_DATA'.$WHERE_STR).' limit 1');
        $cursor1 = exequery ($connection, $query1);
        if (!$ROW = mysql_fetch_array ($cursor1))
        {
          $NOT_FOUND = 1;
          break;
        }
        continue;
      }
    }
    if (($NOT_FOUND == 1))
    {
      continue;
    }
    else
    {
      if (($FLOW_STATUS == 'ALL'))
      {
        if (find_id ($STATUS_RUN, $RUN_ID))
        {
          $STATUS = '<font color=red>执行中</font>';
        }
        else
        {
          $STATUS = '已结束';
        }
      }
      else
      {
        if (($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;
      }
      $ITEM_ID = 0;
      for ($J = 0; ($J < $ITEM_ID_MAX); ++$J)
      {

⌨️ 快捷键说明

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