excel_report.php

来自「通达OA2007SE源代码 非常好的」· PHP 代码 · 共 345 行

PHP
345
字号
<?
  include_once 'inc/auth.php';
  include_once 'inc/utility_all.php';
  include_once 'inc/check_type.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 .= '
');
  $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) OR ($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) OR ($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 != '') OR ($BIRTHDAY_MAX != '')) OR ($AGE_MIN != '')) OR ($AGE_MAX != '')))
  {
    ($query .= ' and HR_BIRTHDAY!=\'0000-00-00\' and HR_BIRTHDAY!=\'1900-01-01\'');
  }
  if (($DEPT_ID != ''))
  {
    ($query .= ((''.' and b.DEPT_ID=').$DEPT_ID));
  }
  if (($SEX != ''))
  {
    ($query .= (((''.' and 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.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,
           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 e ON a.CONTRACTTYPE=e.CODE_NO AND e.PARENT_NO = \'CONTRACTTYPE\'
          LEFT OUTER JOIN DEPARTMENT f ON b.DEPT_ID=f.DEPT_ID';
  $query1 = ((($query1.' where 1=1').$query).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]];
      if (($STYLE_ARRAY[$I] == 'MARRY'))
      {
        if (($MESSAGE == '0'))
        {
          $MESSAGE = '未婚';
        }
        else
        {
          if (($MESSAGE == '1'))
          {
            $MESSAGE = '已婚';
          }
          else
          {
            if (($MESSAGE == '2'))
            {
              $MESSAGE = '离异';
            }
          }
        }
      }
      if (($STYLE_ARRAY[$I] == 'SEX'))
      {
        if (($MESSAGE == '0'))
        {
          $MESSAGE = '男';
        }
        else
        {
          if (($MESSAGE == '1'))
          {
            $MESSAGE = '女';
          }
        }
      }
      if (($STYLE_ARRAY[$I] == 'EDUCATION'))
      {
        if (($MESSAGE == 1))
        {
          $MESSAGE = '小学';
        }
        else
        {
          if (($MESSAGE == 2))
          {
            $MESSAGE = '初中';
          }
          else
          {
            if (($MESSAGE == 3))
            {
              $MESSAGE = '高中';
            }
            else
            {
              if (($MESSAGE == 4))
              {
                $MESSAGE = '中专';
              }
              else
              {
                if (($MESSAGE == 5))
                {
                  $MESSAGE = '大专';
                }
                else
                {
                  if (($MESSAGE == 6))
                  {
                    $MESSAGE = '大本';
                  }
                  else
                  {
                    if (($MESSAGE == 7))
                    {
                      $MESSAGE = '硕士';
                    }
                    else
                    {
                      if (($MESSAGE == 8))
                      {
                        $MESSAGE = '博士';
                      }
                      else
                      {
                        if (($MESSAGE == 9))
                        {
                          $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 ($MESSAGE).','));
    }
    ($EXCEL_OUT .= '
');
  }
  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 + =
减小字号Ctrl + -
显示快捷键?