import.php

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

PHP
226
字号
<?
  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 == ''))
  {
    $operate = '0';
    $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 chk(input)
  {
    for(var i=0;i<document.form1.c1.length;i++)
    {
      document.form1.c1[i].checked = false;
    }
    input.checked = true;
    return true;
  }
function CheckForm()
{
   if(document.form1.CSV_FILE.value=="")
   { alert("请选择要导入的文件!");
     return (false);
   }
   if (document.form1.CSV_FILE.value!="")
   {
 ';
    echo '    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);
     document.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">
    <br><br>
';
    if (($ROW_COUNT != 0))
    {
      echo '     <input type="checkbox" name="c1" id="Id_c1" value="1" onclick="return chk(this);" checked><label for="Id_c1">插入新数据</label>&nbsp;&nbsp;
     <input type="checkbox" name="c1" id="Id_c2" value="2" onclick="return chk(this);" ><label for="Id_c2">更新已有的数据</label>&nbsp;&nbsp;
';
    }
    echo '   <br><br>
  </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 ();
  }
  echo $c1;
  $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;
  }
  $operate = '0';
  if (($c1 == '2'))
  {
    $operate = '1';
  }
  else
  {
    $query = (((''.'delete from SAL_DATA where FLOW_ID=\'').$FLOW_ID).'\'');
    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]))
            {
              $UPDATA_ITEMID[$I] = $DATA_ID[$Temp];
              $DATA_INDEX[$Temp] = $I;
              break;
            }
          }
          if (($Temp == $count))
          {
            echo (('<font color=#FF6633><b>'.$DATA[$I]).'尚未在OA系统中的工资项目中定义!!</b></font><br>');
            $UPDATA_ITEMID[$I] = '-1';
            continue;
          }
        }
        break;
      }
      if (($operate == '0'))
      {
        $query = 'insert into SAL_DATA(FLOW_ID,USER_ID';
        for ($I = 1; ($I < $DATA_NUM); ++$I)
        {
          if (($UPDATA_ITEMID[$I] == '-1'))
          {
            continue;
          }
          else
          {
            ($query .= (',S'.$UPDATA_ITEMID[$I]));
            continue;
          }
        }
        $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 < $DATA_NUM); ++$I)
          {
            if (($UPDATA_ITEMID[$I] == '-1'))
            {
              continue;
            }
            else
            {
              ($query .= (','.(((''.'\'').$DATA[$I]).'\'')));
              continue;
            }
          }
          ($query .= ')');
          echo (('员工'.$DATA[0]).'的工资导入完成!!<br>');
          exequery ($connection, $query);
          break;
        }
        continue;
      }
    }
    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 + -
显示快捷键?