import.php

来自「通达OA2007SE源代码 非常好的」· PHP 代码 · 共 185 行

PHP
185
字号
<?
  include_once 'inc/auth.php';
  echo '<html>
<head>
<title>导入数据</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body class="bodycolor" topmargin="5">
';
  if (($FILE_NAME == ''))
  {
    $query = (((''.'SELECT count(*) from SAL_DATA where FLOW_ID=\'').$FLOW_ID).'\'');
    $cursor = exequery ($connection, $query);
    if ($ROW = mysql_fetch_array ($cursor))
    {
      $ROW_COUNT = $ROW[0];
    }
    echo '<s';
    echo 'cript Language="JavaScript">
function CheckForm()
{
   if(document.form1.CSV_FILE.value=="")
   { alert("请选择要导入的文件!");
     return (false);
   }
   if (document.form1.CSV_FILE.value!="")
   {
     var file_temp=document.form1.CSV_FILE.value,file_name;
     var Pos;
     Pos=file_temp.lastIndexOf("\\\\");
     file_name=file_temp.substring(Pos+1,file_temp.length);
     docume';
    echo 'nt.form1.FILE_NAME.value=file_name;
   }
   return (true);
}
</script>
  <table border="0" width="100%" cellspacing="0" cellpadding="3" class="small">
    <tr>
';
    if (($ROW_COUNT != 0))
    {
      echo '      <td class="Big"><img src="/images/sys_config.gif" align="absmiddle">';
      echo '<s';
      echo 'pan class="big3"> 导入CSV工资数据(该流程已录入过数据)</span><br>
      </td>
';
    }
    else
    {
      echo '      <td class="Big"><img src="/images/sys_config.gif" align="absmiddle">';
      echo '<s';
      echo 'pan class="big3"> 导入CSV工资数据</span><br>
      </td>
';
    }
    echo '    </tr>
  </table>
  <br>
  <br>
  <div align="center" class="Big1">
  <b>请指定用于导入的CSV文件:</b>
  <form name="form1" method="post" action="import.php?FLOW_ID=';
    echo $FLOW_ID;
    echo '" enctype="multipart/form-data" onsubmit="return CheckForm();">
    <input type="file" name="CSV_FILE" class="BigInput" size="30">
    <input type="hidden" name="FILE_NAME">
    <input type="hidden" name="GROUP_ID" value="';
    echo $GROUP_ID;
    echo '">
    <input type="submit" value="导入" class="BigButton">
  </form>
  <br>
  <input type="button" value="返回" class="BigButton" onclick="location=\'index.php\'">
  ';
    if (($FILE_NAME == ''))
    {
      message ('说明', '1)EXECL的工资报表的列顺序为姓名、工资项目,将部门、职务等列删除;<BR>2)将改好的EXECL工资报表另存为CSV格式的文件;');
    }
    echo '
  </div>
';
    exit ();
  }
  if ((strtolower (substr ($FILE_NAME, -3)) != 'csv'))
  {
    message ('错误', '只能导入CSV文件!');
    button_back ();
    exit ();
  }
  $ROW_COUNT = 0;
  $handle = fopen ($CSV_FILE, 'r');
  if (!$handle)
  {
    message ('错误', '打开文件错误!');
    button_back ();
    exit ();
  }
  $count = 0;
  $query = 'SELECT ITEM_ID ,ITEM_NAME from SAL_ITEM';
  $cursor = exequery ($connection, $query);
  while ($ROW = mysql_fetch_array ($cursor))
  {
    $DATA_ITEM[$count] = $ROW['ITEM_NAME'];
    $DATA_ID[$count] = $ROW['ITEM_ID'];
    $DATA_INDEX[$count] = -1;
    ++$count;
  }
  $query = (((''.'DELETE FROM `SAL_DATA` WHERE `FLOW_ID` = \'').$FLOW_ID).'\'');
  $cursor = exequery ($connection, $query);
  while (true)
  {
    while ($DATA = fgetcsv ($handle, 10000, ','))
    {
      $DATA_NUM = count ($DATA);
      if (($ROW_COUNT == 0))
      {
        for ($I = 1; ($I < $DATA_NUM); ++$I)
        {
          for ($Temp = 0; ($Temp < $count); ++$Temp)
          {
            if (($DATA_ITEM[$Temp] == $DATA[$I]))
            {
              $DATA_INDEX[$Temp] = $I;
              break;
            }
          }
          if (($Temp == $count))
          {
            echo (('<font color=#FF6633><b>'.$DATA[$I]).'尚未在OA系统中的工资项目中定义!!</b></font><br>');
            continue;
          }
        }
        break;
      }
      $query = 'insert into SAL_DATA(FLOW_ID,USER_ID';
      for ($I = 1; ($I <= $count); ++$I)
      {
        ($query .= (',S'.$I));
      }
      $query1 = (((''.'SELECT USER_ID from USER where USER_NAME=\'').$DATA['0']).'\'');
      $cursor1 = exequery ($connection, $query1);
      if (!$ROW = mysql_fetch_array ($cursor1))
      {
        echo (('<font color=#FF6633><b>员工'.$DATA[0]).'尚未在OA系统中注册!!</b></font><br>');
        continue;
      }
      else
      {
        ($query .= (((((''.') values (\'').$FLOW_ID).'\',\'').$ROW['0']).'\''));
        for ($I = 1; ($I <= $count); ++$I)
        {
          if (($DATA_INDEX[($I - 1)] == -1))
          {
            ($query .= ',0');
            continue;
          }
          else
          {
            $INDEX = $DATA_INDEX[($I - 1)];
            ($query .= (','.(((''.'\'').$DATA[$INDEX]).'\'')));
            continue;
          }
        }
        ($query .= ')');
        echo (('员工'.$DATA[0]).'的工资导入完成!!<br>');
        exequery ($connection, $query);
      }
    }
    break;
  }
  fclose ($handle);
  if (file_exists ($CSV_FILE))
  {
    unlink ($CSV_FILE);
  }
  message ('', (('共'.($ROW_COUNT - 1)).'条数据导入!'));
  echo '<div align="center">
<input type="button" value="返回" class="BigButton" onClick="location=\'index.php\';" title="返回">
</div>
</body>
</html>
';
?>

⌨️ 快捷键说明

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