import.php
来自「通达OA2007SE源代码 非常好的」· PHP 代码 · 共 305 行
PHP
305 行
<?
include_once 'inc/auth.php';
include_once 'inc/utility_all.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 == ''))
{
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>
<td class="Big"><img src="/images/sys_config.gif" align="absmiddle">';
echo '<s';
echo 'pan 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=';
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>
';
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;
$FIELDMSG = 'USER_ID,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';
$FIELDMSGNAME = '姓名,编号,身份证号码,婚姻状况,民族,籍贯,户口所在地,参加工作时间,加入本单位时间,学历,专业,毕业院校,政治面貌,职务,职称,家庭住址,家庭电话,职务情况,奖惩记录,培训记录,教育背景,工作简历,社会关系,岗位变动情况,担保记录,劳动合同签订情况,社保缴纳情况,体检记录,备 注,出生日期,用工类型,性别';
$DATA_ID = explode (',', $FIELDMSG);
$DATA_ITEM = explode (',', $FIELDMSGNAME);
$ARRAY_COUNT = sizeof ($DATA_ID);
if (($DATA_ID[($ARRAY_COUNT - 1)] == ''))
{
--$ARRAY_COUNT;
}
for ($I = 0; ($I < $ARRAY_COUNT); ++$I)
{
$DATA_INDEX[$I] = -1;
++$count;
}
$ISNOT_COUNT = 0;
while ($DATA = fgetcsv ($handle, 10000, ','))
{
$DATA_NUM = count ($DATA);
if (($ROW_COUNT == 0))
{
for ($I = 2; ($I < $DATA_NUM); ++$I)
{
for ($Temp = 0; ($Temp < $count); ++$Temp)
{
if (($DATA_ITEM[$Temp] == $DATA[$I]))
{
$UPDATA_ITEMID[$I] = $DATA_ID[$Temp];
$DATA_INDEX[$I] = $Temp;
break;
}
}
if (($Temp == $count))
{
++$ISNOT_COUNT;
echo (('<font color=#FF6633><b>'.$DATA[$I]).'尚未在OA系统中的人员档案基本信息中定义!!</b></font><br>');
$UPDATA_ITEMID[$I] = '-1';
continue;
}
}
}
else
{
$query = 'insert into HRMS (USER_ID ';
for ($I = 2; ($I < $DATA_NUM); ++$I)
{
if (($UPDATA_ITEMID[$I] == '-1'))
{
continue;
}
($query .= (','.$UPDATA_ITEMID[$I]));
}
$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=\'').$DATA['0']).'\' and b.DEPT_NAME=\'').$DATA['1']).'\'');
$cursor1 = exequery ($connection, $query1);
if (!$ROW = mysql_fetch_array ($cursor1))
{
if (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))
{
}
}
$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=\'').$DATA['1']).'\'');
$cursor1 = exequery ($connection, $query1);
if ($ROW = mysql_fetch_array ($cursor1))
{
$DEPT_ID = $ROW['DEPT_ID'];
}
$PASSWORD = crypt ('');
if (($DATA[2] == '男'))
{
$SEX = '0';
}
else
{
$SEX = '1';
}
$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,MENU_HIDE,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).'\',\'').$DATA['0']).'\',\'').$SEX).'\',\'').$PASSWORD).'\',\'').$USER_PRIV).'\',\'0\',\'\',\'0\',\'').$DEPT_ID).'\',\'1\',\'1\',\'1\',\'1\',\'2\',0,0,\'\',\'').$USER_NO).'\',\'1\',\'1\',\'1\',\'\',\'').$BIRTHDAY).'\',\'1\',\'\',\'\')');
exequery ($connection, $query1);
add_log (6, $USER_ID, $LOGIN_USER_ID);
}
else
{
$USER_ID = $ROW['USER_ID'];
}
($query .= (((''.') values (\'').$USER_ID).'\''));
for ($I = 2; ($I < $DATA_NUM); ++$I)
{
if (($UPDATA_ITEMID[$I] == -1))
{
continue;
}
if (((($UPDATA_ITEMID[$I] == 'NATIVE_PLACE') OR ($UPDATA_ITEMID[$I] == 'TECH_POST')) OR ($UPDATA_ITEMID[$I] == 'CONTRACTTYPE')))
{
$query1 = (((((''.'select CODE_NO from SYS_CODE where PARENT_NO=\'').$UPDATA_ITEMID[$I]).'\' and CODE_NAME=\'').$DATA[$I]).'\'');
if (($UPDATA_ITEMID[$I] == 'NATIVE_PLACE'))
{
$query1 = (((''.'select CODE_NO from SYS_CODE where PARENT_NO=\'AREA\' and CODE_NAME=\'').$DATA[$I]).'\'');
}
$cursor1 = exequery ($connection, $query1);
if ($ROW = mysql_fetch_array ($cursor1))
{
$DATA[$I] = $ROW['CODE_NO'];
}
}
switch ($DATA[$I])
{
case '未婚':
{
$DATA[$I] = '0';
break;
}
case '已婚':
{
$DATA[$I] = '1';
break;
}
case '离异':
{
$DATA[$I] = '2';
break;
}
case '群众':
{
$DATA[$I] = '1';
break;
}
case '团员':
{
$DATA[$I] = '2';
break;
}
case '预备党员':
{
$DATA[$I] = '4';
break;
}
case '党员':
{
$DATA[$I] = '3';
break;
}
case '小学':
{
$DATA[$I] = '1';
break;
}
case '初中':
{
$DATA[$I] = '2';
break;
}
case '高中':
{
$DATA[$I] = '3';
break;
}
case '中专':
{
$DATA[$I] = '4';
break;
}
case '大专':
{
$DATA[$I] = '5';
break;
}
case '大本':
{
$DATA[$I] = '6';
break;
}
case '硕士':
{
$DATA[$I] = '7';
break;
}
case '博士':
{
$DATA[$I] = '8';
break;
}
case '博士后':
{
$DATA[$I] = '9';
break;
}
case '男':
{
$DATA[$I] = '0';
break;
}
case '女':
{
$DATA[$I] = '1';
break;
}
}
($query .= (','.(((''.'\'').$DATA[$I]).'\'')));
}
($query .= ')');
echo (('员工'.$DATA[0]).'的人事档案导入完成!!<br>');
exequery ($connection, $query);
}
++$ROW_COUNT;
}
fclose ($handle);
if (file_exists ($CSV_FILE))
{
unlink ($CSV_FILE);
}
message ('', (('共'.($ROW_COUNT - 1)).'条数据导入!'));
echo '</body>
</html>
';
?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?