📄 import.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 + -