turn_next.php

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

PHP
820
字号
<?
  function dept_parent ($DEPT_ID, $FLAG)
  {
    global $connection;
    $query = (((''.'SELECT DEPT_PARENT from DEPARTMENT where DEPT_ID=\'').$DEPT_ID).'\'');
    $cursor = exequery ($connection, $query);
    if ($ROW = mysql_fetch_array ($cursor))
    {
      $DEPT_PARENT = $ROW['DEPT_PARENT'];
      if ((($DEPT_PARENT == '0') OR ($DEPT_PARENT == '')))
      {
        return $DEPT_ID;
      }
      else
      {
        if ($FLAG)
        {
          return $DEPT_PARENT;
        }
        else
        {
          return dept_parent ($DEPT_PARENT, $FLAG);
        }
      }
    }
  }
  include_once 'inc/auth.php';
  include_once '../../prcs_role.php';
  include_once 'inc/utility_all.php';
  include_once 'condition.php';
  if (!run_role ($RUN_ID, $PRCS_ID))
  {
    exit ();
  }
  echo '
<html>
<head>
<title>工作办结</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body class="bodycolor" topmargin="5">
';
  $query = ((''.'SELECT FLOW_NAME,FORM_ID 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'];
  }
  $query = ((''.'SELECT RUN_NAME from FLOW_RUN WHERE RUN_ID=').$RUN_ID);
  $cursor = exequery ($connection, $query);
  if ($ROW = mysql_fetch_array ($cursor))
  {
    $RUN_NAME = $ROW['RUN_NAME'];
  }
  echo '
<table border="0" width="100%" cellspacing="0" cellpadding="3" class="small">
  <tr>
    <td class="Big"><img src="/images/green_arrow.gif" align="absmiddle">';
  echo '<s';
  echo 'pan class="big3"> 转交下一步骤</span>
    </td>
  </tr>
</table>
';
  $FORM_DATA = get_form ($FORM_ID, $RUN_ID);
  $query = ((((''.'SELECT FLOW_PRCS from FLOW_RUN_PRCS where RUN_ID=').$RUN_ID).' and PRCS_ID=').$PRCS_ID);
  $cursor = exequery ($connection, $query);
  if ($ROW = mysql_fetch_array ($cursor))
  {
    $FLOW_PRCS = $ROW['FLOW_PRCS'];
  }
  $query = ((((''.'SELECT PRCS_OUT,PRCS_OUT_SET from FLOW_PROCESS WHERE FLOW_ID=').$FLOW_ID).' and PRCS_ID=').$FLOW_PRCS);
  $cursor = exequery ($connection, $query);
  if ($ROW = mysql_fetch_array ($cursor))
  {
    $PRCS_OUT = $ROW['PRCS_OUT'];
    $PRCS_OUT_SET = $ROW['PRCS_OUT_SET'];
  }
  $NOT_PASS = check_condition ($FORM_DATA, $PRCS_OUT, $PRCS_OUT_SET, $RUN_ID, $PRCS_ID);
  if ((substr ($NOT_PASS, 0, 5) == 'SETOK'))
  {
    $NOT_PASS = '';
  }
  if (($NOT_PASS != ''))
  {
    $NOT_PASS = str_replace ('
', '<br>', $NOT_PASS);
    message ('转出条件检查', $NOT_PASS);
    button_back ();
    exit ();
  }
  echo '
<table border="0" cellspacing="1" class="small" bgcolor="#000000" cellpadding="3" width="100%">
<form action="turn_submit.php" method="post" name="form1">
    <tr class="TableHeader" height=30>
      <td nowrap class="Big" colspan="2" align=center>
      	<img src="/images/menu/workflow.gif" align="absmiddle"> <b>';
  echo $FLOW_NAME;
  echo '</b>&nbsp;&nbsp;
      </td>
    </tr>
';
  $query = ((''.'SELECT MAX(PRCS_ID) from FLOW_PROCESS WHERE FLOW_ID=').$FLOW_ID);
  $PRCS_MAX = 0;
  $cursor = exequery ($connection, $query);
  if ($ROW = mysql_fetch_array ($cursor))
  {
    $PRCS_MAX = $ROW[0];
  }
  for ($PRCS_ID_I = 1; ($PRCS_ID_I <= $PRCS_ID); ++$PRCS_ID_I)
  {
    $query = ((((''.'SELECT * from FLOW_RUN_PRCS where RUN_ID=').$RUN_ID).' and PRCS_ID=').$PRCS_ID_I);
    $cursor = exequery ($connection, $query);
    $USER_NAME_STR = '';
    while ($ROW = mysql_fetch_array ($cursor))
    {
      $USER_ID = $ROW['USER_ID'];
      $FLOW_PRCS = $ROW['FLOW_PRCS'];
      $PRCS_FLAG = $ROW['PRCS_FLAG'];
      ($FLOW_PRCS_UP .= ($FLOW_PRCS.','));
      $query1 = (((''.'SELECT * from USER where USER_ID=\'').$USER_ID).'\'');
      $cursor1 = exequery ($connection, $query1);
      if ($ROW = mysql_fetch_array ($cursor1))
      {
        if (($PRCS_FLAG == 1))
        {
          ($USER_NAME_STR .= (('<font color=red title=未接收办理>'.$ROW['USER_NAME']).'(未接收)</font>,'));
        }
        else
        {
          if (($PRCS_FLAG == 2))
          {
            ($USER_NAME_STR .= (('<font color=red title=正在办理>'.$ROW['USER_NAME']).'(办理中)</font>,'));
          }
          else
          {
            if (($PRCS_FLAG == 4))
            {
              ($USER_NAME_STR .= (('<font color=green title=已办理完毕>'.$ROW['USER_NAME']).'(已办结)</font>,'));
            }
            else
            {
              ($USER_NAME_STR .= ($ROW['USER_NAME'].','));
            }
          }
        }
      }
      if (($PRCS_ID_I == 1))
      {
        $PRCS_NEW_USER_ID = $USER_ID;
        $PRCS_NEW_USER_NAME = $ROW['USER_NAME'];
        $PRCS_NEW_DEPT_ID = $ROW['DEPT_ID'];
        $PRCS_NEW_USER_PRIV = $ROW['USER_PRIV'];
      }
      if (((($PRCS_ID_I == $PRCS_ID) AND ($PRCS_FLAG != 4)) AND ($USER_ID != $LOGIN_USER_ID)))
      {
        ($NOT_ALL_FINISH .= ($ROW['USER_NAME'].','));
        continue;
      }
    }
    $query1 = ((((''.'SELECT PRCS_NAME from FLOW_PROCESS WHERE FLOW_ID=').$FLOW_ID).' and PRCS_ID=').$FLOW_PRCS);
    $cursor1 = exequery ($connection, $query1);
    if ($ROW = mysql_fetch_array ($cursor1))
    {
      $PRCS_NAME = $ROW['PRCS_NAME'];
    }
    $USER_NAME_STR = substr ($USER_NAME_STR, 0, (strlen ($USER_NAME_STR) - 1));
    echo '   <tr class="TableData" height="25">
     <td nowrap width="10%">&nbsp;第<b>';
    echo '<s';
    echo 'pan class=big4>';
    echo $PRCS_ID_I;
    echo '</span></b>步:';
    echo $PRCS_NAME;
    if (($PRCS_ID_I == $PRCS_ID))
    {
      echo '(当前步骤)';
    }
    echo '     </td>
     <td>';
    echo $USER_NAME_STR;
    echo '</td>
   </tr>
';
  }
  if ((($PRCS_FLAG == 3) OR ($PRCS_FLAG == 4)))
  {
    message ('提示', '已经转交,不能重复转交');
    exit ();
  }
  $PRCS_NEXT = ($PRCS_ID + 1);
  echo '   <tr class="TableHeader">
     <td colspan=2><img src="/images/menu/workflow.gif" align="absmiddle"> <b>选择步骤</b>&nbsp;&nbsp;
        <a href="javascript:view_graph(';
  echo $FLOW_ID;
  echo ')"><u class=small>查看流程设计图</u></a>
     </td>
   </tr>
   <tr class="TableData" height=35>
     <td colspan=2>
';
  $query1 = ((((''.'SELECT PRCS_TO from FLOW_PROCESS where FLOW_ID=').$FLOW_ID).' and PRCS_ID=').$FLOW_PRCS);
  $cursor1 = exequery ($connection, $query1);
  if ($ROW = mysql_fetch_array ($cursor1))
  {
    $PRCS_TO = $ROW['PRCS_TO'];
    $PRCS_TO = str_replace (',,', ',', $PRCS_TO);
  }
  if (($PRCS_TO == ''))
  {
    if (($FLOW_PRCS != $PRCS_MAX))
    {
      $PRCS_TO = ($FLOW_PRCS + 1);
    }
    else
    {
      $PRCS_TO = '0';
    }
  }
  $MY_ARRAY = explode (',', $PRCS_TO);
  $ARRAY_COUNT = sizeof ($MY_ARRAY);
  if (($MY_ARRAY[($ARRAY_COUNT - 1)] == ''))
  {
    --$ARRAY_COUNT;
  }
  if (($PRCS_TO_CHOOSE == ''))
  {
    $PRCS_TO_CHOOSE = 0;
  }
  $FLOW_STOP = 0;
  $PRCS_ENABLE_COUNT = 0;
  for ($I = 0; ($I < $ARRAY_COUNT); ++$I)
  {
    $NOT_PASS = '';
    if (($MY_ARRAY[$I] == '0'))
    {
      $PRCS_NAME = '结束流程';
      $PRCS_ID_TO = '';
      if (($PRCS_TO_CHOOSE == $I))
      {
        $FLOW_STOP = 1;
      }
      ++$PRCS_ENABLE_COUNT;
      echo '        ';
      echo '<s';
      echo 'pan style="cursor:hand;background:#F4A8BD;';
      if (($PRCS_TO_CHOOSE == $I))
      {
        echo 'color:red';
      }
      echo '" onclick="location=\'turn_next.php?MENU_FLAG=';
      echo $MENU_FLAG;
      echo '&RUN_ID=';
      echo $RUN_ID;
      echo '&FLOW_ID=';
      echo $FLOW_ID;
      echo '&PRCS_ID=';
      echo $PRCS_ID;
      echo '&PRCS_TO_CHOOSE=';
      echo $I;
      echo '&OP=';
      echo $OP;
      echo '\'"><input type="radio" name="FLOW_PRCS" value="';
      echo $PRCS_ID_TO;
      echo '" ';
      if (($PRCS_TO_CHOOSE == $I))
      {
        echo 'checked';
      }
      echo '><img src="/images/arrow_down.gif">
        	<u><b>';
      echo $PRCS_NAME;
      echo '</b></u>&nbsp;</span>
';
      continue;
    }
    else
    {
      $query1 = ((((''.'SELECT * from FLOW_PROCESS where FLOW_ID=').$FLOW_ID).' and PRCS_ID=').$MY_ARRAY[$I]);
      $cursor1 = exequery ($connection, $query1);
      if ($ROW = mysql_fetch_array ($cursor1))
      {
        $PRCS_ID_TO = $ROW['PRCS_ID'];
        $PRCS_NAME = $ROW['PRCS_NAME'];
        $PRCS_IN = $ROW['PRCS_IN'];
        $PRCS_IN_SET = $ROW['PRCS_IN_SET'];
        if (($PRCS_TO_CHOOSE == $I))
        {
          $PRCS_ID_NEXT = $PRCS_ID_TO;
          $PRCS_USER = $ROW['PRCS_USER'];
          $PRCS_DEPT = $ROW['PRCS_DEPT'];
          $PRCS_PRIV = $ROW['PRCS_PRIV'];
          $AUTO_TYPE = $ROW['AUTO_TYPE'];
          $AUTO_USER_OP = $ROW['AUTO_USER_OP'];
          $AUTO_USER = $ROW['AUTO_USER'];
        }
        $PRCS_IN_DESC = str_replace ('\'include\'', '\'包含\'', $PRCS_IN);
        $PRCS_IN_DESC = str_replace ('\'exclude\'', '\'不包含\'', $PRCS_IN_DESC);
        $PRCS_IN_DESC = str_replace ('\'\'', '\'空\'', $PRCS_IN_DESC);
        $PRCS_IN_DESC = str_replace ('\'', ' ', $PRCS_IN_DESC);
        $NOT_PASS = check_condition ($FORM_DATA, $PRCS_IN, $PRCS_IN_SET, $RUN_ID, $PRCS_ID);
        if ((substr ($NOT_PASS, 0, 5) == 'SETOK'))
        {
          $PRCS_IN_DESC = substr ($NOT_PASS, 5);
          $NOT_PASS = '';
        }
        if (($MY_ARRAY[$I] == $FLOW_PRCS))
        {
          $IMAGE_NAME = 'arrow_right';
        }
        else
        {
          if (find_id ($FLOW_PRCS_UP, $MY_ARRAY[$I]))
          {
            $IMAGE_NAME = 'arrow_up';
          }
          else
          {
            $IMAGE_NAME = 'arrow_down';
          }
        }
        if (($NOT_PASS == ''))
        {
          ++$PRCS_ENABLE_COUNT;
          echo '             ';
          echo '<s';
          echo 'pan style="cursor:hand;background:#80FF80;';
          if (($PRCS_TO_CHOOSE == $I))
          {
            echo 'color:red';
          }
          echo '" onclick="location=\'turn_next.php?MENU_FLAG=';
          echo $MENU_FLAG;
          echo '&RUN_ID=';
          echo $RUN_ID;
          echo '&FLOW_ID=';
          echo $FLOW_ID;
          echo '&PRCS_ID=';
          echo $PRCS_ID;
          echo '&PRCS_TO_CHOOSE=';
          echo $I;
          echo '&OP=';
          echo $OP;
          echo '\'">
             <input type="radio" name="FLOW_PRCS" value="';
          echo $PRCS_ID_TO;
          echo '" ';
          if (($PRCS_TO_CHOOSE == $I))
          {
            echo 'checked';
          }
          echo '><img src="/images/';
          echo $IMAGE_NAME;
          echo '.gif">
             <u><b>';
          echo $PRCS_NAME;
          echo '</b></u>&nbsp;</span>
';
          if (($PRCS_IN != ''))
          {
            echo '               <a href="javascript:alert(\'符合条件:';
            echo $PRCS_IN_DESC;
            echo '\')" title="符合条件:';
            echo $PRCS_IN_DESC;
            echo '">条件符合</a>
';
          }
        }
        else
        {
          if ((($I == 0) AND ($PRCS_TO_CHOOSE == '')))
          {
            $NOT_PASS_FIRST = 1;
          }
          echo '             <img src="/images/';
          echo $IMAGE_NAME;
          echo '.gif">
             <font color=gray>';
          echo $PRCS_NAME;
          echo '</font>
             <a href="javascript:alert(\'';
          echo $NOT_PASS;
          echo '\')" title="';
          echo $NOT_PASS;
          echo '">条件不符</a>
';
        }
        echo '&nbsp;';
        continue;
      }
      continue;
    }
  }
  if (($PRCS_ENABLE_COUNT == '0'))
  {
    if (($NOT_PASS == ''))
    {
      message ('提示', '流程定义存在问题,管理员尚未定义下一步骤,请与管理员联系!');
    }
    else
    {
      message ('提示', '无符合条件的下一步骤!');
    }
    button_back ();
    exit ();
  }
  if ($NOT_PASS_FIRST)
  {
    message ('提示', '请选择条件符合的步骤!');

⌨️ 快捷键说明

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