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

📄 excel_report.php

📁 通达OA官方提供的30源代码,感觉很实在
💻 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--;
for($I=0;$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!="")
 {
   if ($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,
           h.CODE_NAME as EDUCATION,SPECIALITY,SCHOOL,POLITICS,POST,d.CODE_NAME as TECH_POST,e.CODE_NAME as CONTRACTTYPE,HOME_ADDR,HOME_TEL,
           a.EMAIL as EMAIL,CERTIFICATE,REWARD,TRAIN,EDU,WORK,SOCIATY,POST_CHANGE,SURETY,CONTRACT,INSURE,BODY_EXAMIM,RESUME,f.DEPT_NAME as DEPT_NAME 
           from HRMS a 
           LEFT OUTER JOIN USER b ON a.USER_ID = b.USER_ID
           LEFT OUTER JOIN SYS_CODE c ON a.NATIVE_PLACE=c.CODE_NO AND c.PARENT_NO = 'AREA'
           LEFT OUTER JOIN SYS_CODE d ON a.TECH_POST=d.CODE_NO AND d.PARENT_NO = 'TECH_POST'
		       LEFT OUTER JOIN SYS_CODE h ON a.EDUCATION=h.CODE_NO AND h.PARENT_NO = 'EDUCATION' 
		       LEFT OUTER JOIN SYS_CODE e ON a.CONTRACTTYPE=e.CODE_NO AND e.PARENT_NO = 'CONTRACTTYPE'
           LEFT OUTER JOIN DEPARTMENT f ON b.DEPT_ID=f.DEPT_ID
           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--;
   for($I=0;$I<$ARRAY_COUNT;$I++)
   { 
     
     $MESSAGE=$ROW[$STYLE_ARRAY[$I]];
     //echo $MESSAGE."<br>";
     if($STYLE_ARRAY[$I]=="MARRY")
     {
       if($MESSAGE=="0")    $MESSAGE="未婚";
       elseif($MESSAGE=="1")$MESSAGE="已婚";
       elseif($MESSAGE=="2")$MESSAGE="离异";
	   elseif($MESSAGE=="2")$MESSAGE="丧偶";
     }
      if($STYLE_ARRAY[$I]=="SEX")
     {
       if($MESSAGE=="0")    $MESSAGE="男";
       elseif($MESSAGE=="1")$MESSAGE="女";
     }
     if($STYLE_ARRAY[$I]=="POLITICS")
     {
     	 if($MESSAGE==1)	 $MESSAGE="群众";
         elseif($MESSAGE==2) $MESSAGE="团员";
         elseif($MESSAGE==3) $MESSAGE="党员";
         elseif($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 + -