📄 excel_report.php
字号:
<?php
include_once( "inc/auth.php" );
include_once( "inc/utility_all.php" );
include_once( "inc/utility_org.php" );
include_once( "inc/utility_field.php" );
include_once( "inc/check_type.php" );
include_once( "check_priv.php" );
$STYLE_ARRAY = explode( ",", $FIELDMSGNAME );
$ARRAY_COUNT = sizeof( $STYLE_ARRAY );
$COUNT = 0;
if ( $STYLE_ARRAY[$ARRAY_COUNT - 1] == "" )
{
--$ARRAY_COUNT;
}
$I = 0;
for ( ; $I < $ARRAY_COUNT; ++$I )
{
$EXCEL_OUT .= $STYLE_ARRAY[$I].",";
}
$EXCEL_OUT .= "\n";
$CUR_DATE = date( "Y-m-d", time( ) );
$query = "";
if ( $BIRTHDAY_MIN != "" )
{
$TIME_OK = is_date( $BIRTHDAY_MIN );
if ( !$TIME_OK )
{
message( "错误", "\"生日\"的\"开始日期\"格式不对,应形如 ".$CUR_DATE );
button_back( );
exit( );
}
$query .= " and HR_BIRTHDAY>='".$BIRTHDAY_MIN."'";
}
if ( $BIRTHDAY_MAX != "" )
{
$TIME_OK = is_date( $BIRTHDAY_MAX );
if ( !$TIME_OK )
{
message( "错误", "\"生日\"的\"结束日期\"格式不对,应形如 ".$CUR_DATE );
button_back( );
exit( );
}
$query .= " and HR_BIRTHDAY<='".$BIRTHDAY_MAX."'";
}
if ( $WORK_DATE_MIN != "" )
{
$TIME_OK = is_date( $WORK_DATE_MIN );
if ( !$TIME_OK )
{
message( "错误", "\"参加工作时间\"的\"开始日期\"格式不对,应形如 ".$CUR_DATE );
button_back( );
exit( );
}
$query .= " and WORK_DATE>='".$WORK_DATE_MIN."'";
}
if ( $WORK_DATE_MAX != "" )
{
$TIME_OK = is_date( $WORK_DATE_MAX );
if ( !$TIME_OK )
{
message( "错误", "\"参加工作时间\"的\"结束日期\"格式不对,应形如 ".$CUR_DATE );
button_back( );
exit( );
}
$query .= " and WORK_DATE<='".$WORK_DATE_MAX."'";
}
if ( $JOIN_DATE_MIN != "" )
{
$TIME_OK = is_date( $JOIN_DATE_MIN );
if ( !$TIME_OK )
{
message( "错误", "\"加入本单位时间\"的\"开始日期\"格式不对,应形如 ".$CUR_DATE );
button_back( );
exit( );
}
$query .= " and JOIN_DATE>='".$JOIN_DATE_MIN."'";
}
if ( $JOIN_DATE_MAX != "" )
{
$TIME_OK = is_date( $JOIN_DATE_MAX );
if ( !$TIME_OK )
{
message( "错误", "\"加入本单位时间\"的\"结束日期\"格式不对,应形如 ".$CUR_DATE );
button_back( );
exit( );
}
$query .= " and JOIN_DATE<='".$JOIN_DATE_MAX."'";
}
if ( $AGE_MIN != "" )
{
$AGE = intval( $AGE_MIN );
if ( !is_int( $AGE ) && $AGE <= 0 )
{
message( "错误", "年龄应为正整数!" );
button_back( );
exit( );
}
$YEAR_MIN = date( "Y", time( ) ) - $AGE;
$YEAR_MIN .= date( "-m-d", time( ) );
$query .= " and HR_BIRTHDAY<='".$YEAR_MIN."'";
}
if ( $AGE_MAX != "" )
{
$AGE = intval( $AGE_MAX );
if ( !is_int( $AGE ) && $AGE <= 0 )
{
message( "错误", "年龄应为正整数!" );
button_back( );
exit( );
}
$YEAR_MAX = date( "Y", time( ) ) - $AGE;
$YEAR_MAX .= date( "-m-d", time( ) );
$query .= " and HR_BIRTHDAY>='".$YEAR_MAX."'";
}
if ( $BIRTHDAY_MIN != "" || $BIRTHDAY_MAX != "" || $AGE_MIN != "" || $AGE_MAX != "" )
{
$query .= " and HR_BIRTHDAY!='0000-00-00' and HR_BIRTHDAY!='1900-01-01'";
}
if ( $TO_ID != "" && $TO_ID != "ALL_DEPT" )
{
$DEPT_ID = $TO_ID;
if ( substr( $DEPT_ID, -1 ) == "," )
{
$DEPT_ID = substr( $DEPT_ID, 0, -1 );
}
$DEPT_ID = "(".$DEPT_ID.")";
$query .= " and b.DEPT_ID in ".$DEPT_ID;
}
if ( $SEX != "" )
{
$query .= " and a.SEX='".$SEX."'";
}
if ( $MARRY != "" )
{
$query .= " and MARRY='".$MARRY."'";
}
if ( $EDUCATION != "" )
{
$query .= " and EDUCATION='".$EDUCATION."'";
}
if ( $POLITICS != "" )
{
$query .= " and POLITICS='".$POLITICS."'";
}
if ( $NO != "" )
{
$query .= " and NO like '%".$NO."%'";
}
if ( $NATION != "" )
{
$query .= " and NATION like '%".$NATION."%'";
}
if ( $CARD_NO != "" )
{
$query .= " and CARD_NO like '%".$CARD_NO."%'";
}
if ( $NATIVE_PLACE != "" )
{
$query .= " and NATIVE_PLACE='".$NATIVE_PLACE."'";
}
if ( $HUKOU_PLACE != "" )
{
$query .= " and HUKOU_PLACE like '%".$HUKOU_PLACE."%'";
}
if ( $SPECIALITY != "" )
{
$query .= " and SPECIALITY like '%".$SPECIALITY."%'";
}
if ( $SCHOOL != "" )
{
$query .= " and SCHOOL like '%".$SCHOOL."%'";
}
if ( $CONTRACTTYPE != "" )
{
$query .= " and CONTRACTTYPE='".$CONTRACTTYPE."'";
}
if ( $POST != "" )
{
$query .= " and POST like '%".$POST."%'";
}
if ( $TECH_POST != "" )
{
$query .= " and TECH_POST='".$TECH_POST."'";
}
$HRMS_COUNT = 0;
$query1 = "select a.CONTRACT_DATE1 as CONTRACT_DATE1,a.CONTRACT_DATE2 as CONTRACT_DATE2,a.USER_ID as USER_ID,USER_NAME,HR_BIRTHDAY,a.SEX as SEX,NO,CARD_NO,MARRY,NATION,c.CODE_NAME as NATIVE_PLACE,HUKOU_PLACE,WORK_DATE,JOIN_DATE,\r\n h.CODE_NAME as EDUCATION,SPECIALITY,SCHOOL,POLITICS,POST,d.CODE_NAME as TECH_POST,e.CODE_NAME as CONTRACTTYPE,HOME_ADDR,HOME_TEL,\r\n a.EMAIL as EMAIL,CERTIFICATE,REWARD,TRAIN,EDU,WORK,SOCIATY,POST_CHANGE,SURETY,CONTRACT,INSURE,BODY_EXAMIM,RESUME,f.DEPT_NAME as DEPT_NAME \r\n from HRMS a \r\n LEFT OUTER JOIN USER b ON a.USER_ID = b.USER_ID\r\n LEFT OUTER JOIN SYS_CODE c ON a.NATIVE_PLACE=c.CODE_NO AND c.PARENT_NO = 'AREA'\r\n LEFT OUTER JOIN SYS_CODE d ON a.TECH_POST=d.CODE_NO AND d.PARENT_NO = 'TECH_POST'\r\n\t\t LEFT OUTER JOIN SYS_CODE h ON a.EDUCATION=h.CODE_NO AND h.PARENT_NO = 'EDUCATION' \r\n\t\t LEFT OUTER JOIN SYS_CODE e ON a.CONTRACTTYPE=e.CODE_NO AND e.PARENT_NO = 'CONTRACTTYPE'\r\n LEFT OUTER JOIN DEPARTMENT f ON b.DEPT_ID=f.DEPT_ID\r\n LEFT OUTER JOIN USER_PRIV g ON b.USER_PRIV=g.USER_PRIV";
$query1 = $query1." where 1=1".$query.$WHERE_STR.field_where_str( "HRMS", $_POST, "a.USER_ID" );
$cursor = exequery( $connection, $query1 );
$USER_COUNT = 0;
while ( $ROW = mysql_fetch_array( $cursor ) )
{
$USER_ID = $ROW['USER_ID'];
$DEF_FIELD_ARRAY = get_field_text( "HRMS", $USER_ID );
$STYLE_ARRAY = explode( ",", $FIELDMSG );
$ARRAY_COUNT = sizeof( $STYLE_ARRAY );
$COUNT = 0;
if ( $STYLE_ARRAY[$ARRAY_COUNT - 1] == "" )
{
--$ARRAY_COUNT;
}
$I = 0;
for ( ; $I < $ARRAY_COUNT; ++$I )
{
$MESSAGE = $ROW[$STYLE_ARRAY[$I]];
if ( $STYLE_ARRAY[$I] == "MARRY" )
{
if ( $MESSAGE == "0" )
{
$MESSAGE = "未婚";
}
else if ( $MESSAGE == "1" )
{
$MESSAGE = "已婚";
}
else if ( $MESSAGE == "2" )
{
$MESSAGE = "离异";
}
else if ( $MESSAGE == "2" )
{
$MESSAGE = "丧偶";
}
}
if ( $STYLE_ARRAY[$I] == "SEX" )
{
if ( $MESSAGE == "0" )
{
$MESSAGE = "男";
}
else if ( $MESSAGE == "1" )
{
$MESSAGE = "女";
}
}
if ( $STYLE_ARRAY[$I] == "POLITICS" )
{
if ( $MESSAGE == 1 )
{
$MESSAGE = "群众";
}
else if ( $MESSAGE == 2 )
{
$MESSAGE = "团员";
}
else if ( $MESSAGE == 3 )
{
$MESSAGE = "党员";
}
else if ( $MESSAGE == 4 )
{
$MESSAGE = "预备党员";
}
}
if ( substr( $STYLE_ARRAY[$I], 0, 7 ) == "USERDEF" )
{
$MESSAGE = $DEF_FIELD_ARRAY[$STYLE_ARRAY[$I]]['HTML'];
}
$EXCEL_OUT .= format_cvs( chr( 9 ).$MESSAGE ).",";
}
$EXCEL_OUT .= "\n";
}
ob_end_clean( );
header( "Cache-control: private" );
header( "Content-type: application/vnd.ms-excel" );
header( "Accept-Ranges: bytes" );
header( "Accept-Length: ".strlen( $EXCEL_OUT ) );
header( "Content-Disposition: attachment; filename=人事档案.csv" );
echo $EXCEL_OUT;
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -