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

📄 import.php

📁 通达OA官方提供的30源代码,感觉很实在
💻 PHP
字号:
<?
include_once("inc/auth.php");
include_once("inc/utility_all.php");
?>
<html>
<head>
<title>导入数据</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body class="bodycolor" topmargin="5">
<?
if($FILE_NAME=="")
{
?>
<script 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);
     document.form1.FILE_NAME.value=file_name;
   }

   return (true);
}

</script>
  <table border="0" width="100%" cellspacing="0" cellpadding="3" class="small">
    <tr>
      <td class="Big"><img src="/images/sys_config.gif" align="absmiddle"><span class="big3"> 导入人事数据</span><br>
      </td>
    </tr>
  </table>
  <br>
  <br>
  <div align="center" class="Big1">
  <b>请指定用于导入的CSV文件:</b>
  <form name="form1" method="post" action="import.php?FLOW_ID=<?=$FLOW_ID?>" 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="<?=$GROUP_ID?>">
    <input type="submit" value="导入" class="BigButton">
  </form>
  请使用人事档案模板导入数据!<a href="#" onClick="window.location='templet_export.php'">人事档案模板下载</a>
  <br>
  <?
  if($FILE_NAME=="")
  Message("说明","1)EXECL的人事报表的第一列必须为姓名,余下的列名称必须与人员档案基本信息相对应;<BR>2)将改好的EXECL人员信息报表另存为CSV格式的文件;");
  ?>
  </div>
<?
   exit;
}
if(strtolower(substr($FILE_NAME,-3))!="csv")
{
   Message("错误","只能导入CSV文件!");
   Button_Back();
   exit;
}
$title=array("姓名"=>"USER_ID","部门"=>"DEPT_NAME","编号"=>"NO","身份证号码"=>"CARD_NO","婚姻状况"=>"MARRY","民族"=>"NATION","籍贯"=>"NATIVE_PLACE","户口所在地"=>"HUKOU_PLACE","参加工作时间"=>"WORK_DATE","加入本单位时间"=>"JOIN_DATE","学历"=>"EDUCATION","专业"=>"SPECIALITY","毕业院校"=>"SCHOOL","政治面貌"=>"POLITICS","职务"=>"POST","职称"=>"TECH_POST","家庭住址"=>"HOME_ADDR","家庭电话"=>"HOME_TEL","职务情况"=>"CERTIFICATE","奖惩记录"=>"REWARD","培训记录"=>"TRAIN","教育背景"=>"EDU","工作简历"=>"WORK","社会关系"=>"SOCIATY","岗位变动情况"=>"POST_CHANGE","担保记录"=>"SURETY","劳动合同签订情况"=>"CONTRACT","社保缴纳情况"=>"INSURE","体检记录"=>"BODY_EXAMIM","备 注"=>"RESUME","出生日期"=>"HR_BIRTHDAY","员工类型"=>"CONTRACTTYPE","性别"=>"SEX","合同开始日期"=>"CONTRACT_DATE1","合同结束日期"=>"CONTRACT_DATE2","电子邮件"=>"EMAIL");

$ROW_COUNT = 0;
$data=file_get_contents($CSV_FILE);
if(!$data)
{
   Message("错误","打开文件错误!");
   Button_Back();
   exit;
}
$lines=CSV2Array($data, $title);
$MSG_ERROR = array();

foreach($lines as $line)
{
   $DATA_NUM = count ($line);
   $STR_VALUE="";
   $STR_UPDATE="";
   $STR_KEY="";
   $STR_UPDATEKEY="";
   $MSG_ERROR[$ROW_COUNT]="成功";
   foreach ($line as $key => $value) 
   { 	
    $value=ltrim($value);	  
	  if (($key!="DEPT_NAME")&&($key!="USER_ID"))
    {
		 $STR_KEY.=$key.",";
		 $STR_UPDATEKEY.=$key.",";
    }
	  else
	  {
	    if ($key=="DEPT_NAME")
  		 {
	 	 	   $DEPT_NAME=$value;
		   }
		  if ($key=="USER_ID")
		  {
		 	   $USER_NAME=$value;
		 	   if($value=="")  //用户名为空不导入
		 	   {
		 	   	 $MSG_ERROR[$ROW_COUNT]="<font color=red>用户为空,未导入</font>";
		 	     continue;
		 	   }
		  }
	  }//end else
	  if ($key=="HR_BIRTHDAY")
      {
         $BIRTHDAY=$value;
      }
		   
	  if ($key=="SEX")
      {
       if ($value=="男")
		   $SEX="0";
	     else
		   $SEX="1";
      }
		   
	  switch ($value)
	  {
			case "未婚":    {$value="0";break;}
			case "已婚":    {$value="1";break;}
			case "离异":    {$value="2";break;}
			case "丧偶":    {$value="3";break;}
			case "群众":    {$value="1";break;}
			case "团员":    {$value="2";break;}
			case "党员":    {$value="3";break;}
			case "预备党员":{$value="4";break;}
			case "男":      {$value="0";break;}
			case "女":      {$value="1";break;}
	   }	

	  if (($key!="NATIVE_PLACE")&&($key!="EDUCATION")&&($key!="TECH_POST")&&($key!="CONTRACTTYPE")&&($key!="DEPT_NAME")&&($key!="USER_ID"))
       { 
          $STR_VALUE.="'$value',";
          $STR_UPDATE.="$key='$value',";
       }
	  else
	   {
	      if (($key!="DEPT_NAME")&&($key!="USER_ID"))
		    {  
			     $query1="select CODE_NO from SYS_CODE where PARENT_NO='$key' and CODE_NAME='$value'";
	         if ($key=="NATIVE_PLACE")
			       $query1="select CODE_NO from SYS_CODE where PARENT_NO='AREA' and CODE_NAME='$value'";
				   if ($key=="EDUCATION")
			       $query1="select CODE_NO from SYS_CODE where PARENT_NO='EDUCATION' and CODE_NAME='$value'";
	         $cursor1= exequery($connection,$query1);
	         if($ROW=mysql_fetch_array($cursor1))
	           {
	              $STR_VALUE.="'$ROW[0]',";
	              $STR_UPDATE.="$key='$ROW[0]',";
	           }
			     else
			       {
			        $STR_VALUE.="'$value'".",";
			        $STR_UPDATE.="$key='$value',";
			       }
		    }
	   }
    }//end foreach
  
   if (substr($STR_KEY,-1)==",")
   {
      $STR_KEY=substr($STR_KEY,0,-1);
      $STR_UPDATEKEY=substr($STR_UPDATEKEY,0,-1);
   }
   if (substr($STR_VALUE,-1)==",")
   {
      $STR_VALUE=substr($STR_VALUE,0,-1);
      $STR_UPDATE=substr($STR_UPDATE,0,-1);
	 } 

   
   $query1 = "SELECT a.USER_ID,a.DEPT_ID from USER a left outer join DEPARTMENT b on a.DEPT_ID=b.DEPT_ID where a.USER_NAME='$USER_NAME' and b.DEPT_NAME='$DEPT_NAME'";
   $cursor1= exequery($connection,$query1);

   //已是oa用户
   if($ROW=mysql_fetch_array($cursor1))
   {   
   	 $USER_ID=$ROW["USER_ID"];
	   $MSG_ERROR[$ROW_COUNT]="<font color=green>已有用户,资料已更新</font>";
  
     $query1 = "SELECT * from HRMS where USER_ID='$USER_ID'";
     $cursor= exequery($connection,$query1);
     if(mysql_num_rows($cursor)==0)  //已是OA用户但无档案
     {
     	 $query="insert into HRMS (USER_ID,".$STR_KEY.") values ('$USER_ID',".$STR_VALUE.")";
       exequery($connection,$query);
     }
     else
     {
       $query1="update `HRMS` SET ".$STR_UPDATE." where USER_ID='".$USER_ID."'";
       //echo "[$query1]<br>";
       $cursor1=exequery($connection,$query1);     	
     }
   }
   else   //不是oa用户
   {
     	 while(true)
       {
	      $USER_ID=rand(1000,20000);
	      $query1="select USER_ID from USER where USER_ID='$USER_ID'";
        $cursor1= exequery($connection,$query1);
        if($ROW=mysql_fetch_array($cursor1))
        {
         continue;
        }
        else
        {
  	     break;
        }
       }//end while
       $query1="select USER_PRIV from USER_PRIV order by PRIV_NO DESC";
       $cursor1= exequery($connection,$query1);
       if($ROW=mysql_fetch_array($cursor1))
       {
      	  $USER_PRIV=$ROW["USER_PRIV"];
       }
	   
	     $query1="select DEPT_ID from DEPARTMENT where DEPT_NAME='$DEPT_NAME'";
       $cursor1= exequery($connection,$query1);
       if($ROW=mysql_fetch_array($cursor1))
       {
          $DEPT_ID=$ROW["DEPT_ID"];
       }
       else
         $DEPT_ID=0;
       $PASSWORD=crypt("");
       if($USER_NAME!="")
       {
   	     $query1="insert into USER (USER_ID,USER_NAME,SEX,PASSWORD,USER_PRIV,POST_PRIV,POST_DEPT,CANBROADCAST,DEPT_ID,AVATAR,CALL_SOUND,DUTY_TYPE,SMS_ON,EMAIL_CAPACITY,FOLDER_CAPACITY,USER_PRIV_OTHER,USER_NO,NOT_LOGIN,NOT_VIEW_USER,NOT_VIEW_TABLE,BYNAME,BIRTHDAY,THEME,MOBIL_NO,MOBIL_NO_HIDDEN)
                      values ('$USER_ID','$USER_NAME','$SEX','$PASSWORD','$USER_PRIV','0','','0','$DEPT_ID','1','1','1','1',0,0,'','$USER_NO','1','1','1','','$BIRTHDAY','1','','')";
         exequery($connection,$query1);
         add_log(6,$USER_ID,$LOGIN_USER_ID);

      }	
   }
   //echo "员工".$USER_NAME."的人事档案导入完成!!<br>";
   $ROW_COUNT++;
}

if(file_exists($CSV_FILE))
   @unlink($CSV_FILE);
?>
<br>
<table class="TableList" width="100%" align="center">
  <thead class="TableHeader">
    <td nowrap align="center">姓名</td>
    <td nowrap align="center">部门</td>
    <td nowrap align="center">性别</td>
    <td nowrap align="center">出生年月</td>
    <td nowrap align="center">民族</td>
    <td nowrap align="center">籍贯</td>
	  <td nowrap align="center">政治面貌</td>
	  <td nowrap align="center">身份证号码</td>
    <td nowrap align="center">信息</td>
	  <td nowrap align="center">备注</td>
  </thead>
<?

for($I=0;$I< count($lines);$I++)
{
?>
  <tr align="center" style="<?=$TR_STYLE?>" class="TableData">
    <td><?=$lines[$I]["USER_ID"]?></td>
    <td><?=$lines[$I]["DEPT_NAME"]?></td>
    <td><?=$lines[$I]["SEX"]?></td>
    <td><?=$lines[$I]["HR_BIRTHDAY"]?></td>
	  <td><?=$lines[$I]["NATION"]?></td>     
    <td><?=$lines[$I]["NATIVE_PLACE"]?></td>
	  <td><?=$lines[$I]["POLITICS"]?></td>
	  <td><?=$lines[$I]["CARD_NO"]?></td>
	  <td><?=$lines[$I]["RESUME"]?></td>
    <td align="left"><?=$MSG_ERROR[$I]?></td>
  </tr>
<?
}
?>
</table>
<?
Message("","共".$ROW_COUNT."条数据导入!");
?>
</body>
</html>

⌨️ 快捷键说明

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