user_duty.php

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

PHP
357
字号
<?
  include_once 'inc/auth.php';
  include_once 'inc/check_type.php';
  include_once 'inc/utility_all.php';
  echo '
<html>
<head>
<title>上下班记录查询</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
';
  echo '<s';
  echo 'cript language="JavaScript">
function remark(USER_ID,REGISTER_TYPE,REGISTER_TIME)
{
  URL="remark.php?USER_ID="+USER_ID+"&REGISTER_TYPE="+REGISTER_TYPE+"&REGISTER_TIME="+REGISTER_TIME;
  myleft=(screen.availWidth-650)/2;
  window.open(URL,"formul_edit","height=250,width=450,status=0,toolbar=no,menubar=no,location=no,scrollbars=yes,top=150,left="+myleft+",resizable=yes");
}
</script>
</head';
  echo '>
<body class="bodycolor" topmargin="5">
';
  if (($DATE1 != ''))
  {
    $TIME_OK = is_date ($DATE1);
    if (!$TIME_OK)
    {
      message ('错误', '起始日期格式不对,应形如 1999-1-2');
      button_back ();
      exit ();
    }
  }
  if (($DATE2 != ''))
  {
    $TIME_OK = is_date ($DATE2);
    if (!$TIME_OK)
    {
      message ('错误', '截止日期格式不对,应形如 1999-1-2');
      button_back ();
      exit ();
    }
  }
  if ((compare_date ($DATE1, $DATE2) == 1))
  {
    message ('错误', '查询的起始日期不能晚于截止日期');
    button_back ();
    exit ();
  }
  $query = (((((''.'SELECT to_days(\'').$DATE2).'\')-to_days(\'').$DATE1).'\') from ATTEND_CONFIG');
  $cursor = exequery ($connection, $query);
  if ($ROW = mysql_fetch_array ($cursor))
  {
    $DAY_TOTAL = ($ROW[0] + 1);
  }
  $query = (((''.'SELECT * from USER where USER_ID=\'').$USER_ID).'\'');
  $cursor = exequery ($connection, $query);
  if ($ROW = mysql_fetch_array ($cursor))
  {
    $DUTY_TYPE = $ROW['DUTY_TYPE'];
    $USER_NAME = $ROW['USER_NAME'];
  }
  echo '
<table border="0" width="100%" cellspacing="0" cellpadding="3" class="small">
  <tr>
    <td class="Big"><img src="/images/menu/attendance.gif" WIDTH="22" HEIGHT="20" align="absmiddle">
    ';
  echo '<s';
  echo 'pan class="big3"> 上下班查询结果 - [';
  echo format_date ($DATE1);
  echo ' 至 ';
  echo format_date ($DATE2);
  echo ' 共 ';
  echo $DAY_TOTAL;
  echo ' 天]</span><br>
    </td>
  </tr>
</table>
<br>
';
  $query = ((''.'SELECT * from ATTEND_CONFIG where DUTY_TYPE=').$DUTY_TYPE);
  $cursor = exequery ($connection, $query);
  if ($ROW = mysql_fetch_array ($cursor))
  {
    $DUTY_NAME = $ROW['DUTY_NAME'];
    $GENERAL = $ROW['GENERAL'];
    $DUTY_TIME1 = $ROW['DUTY_TIME1'];
    $DUTY_TIME2 = $ROW['DUTY_TIME2'];
    $DUTY_TIME3 = $ROW['DUTY_TIME3'];
    $DUTY_TIME4 = $ROW['DUTY_TIME4'];
    $DUTY_TIME5 = $ROW['DUTY_TIME5'];
    $DUTY_TIME6 = $ROW['DUTY_TIME6'];
    $DUTY_TYPE1 = $ROW['DUTY_TYPE1'];
    $DUTY_TYPE2 = $ROW['DUTY_TYPE2'];
    $DUTY_TYPE3 = $ROW['DUTY_TYPE3'];
    $DUTY_TYPE4 = $ROW['DUTY_TYPE4'];
    $DUTY_TYPE5 = $ROW['DUTY_TYPE5'];
    $DUTY_TYPE6 = $ROW['DUTY_TYPE6'];
  }
  echo '
<table border="0" cellspacing="1" width="95%" class="small" bgcolor="#000000" cellpadding="3" align="center">
  <tr class="TableHeader">
    <td nowrap align="center">日期</td>
';
  if (($DUTY_TIME1 != ''))
  {
    if (($DUTY_TYPE1 == '1'))
    {
      $DUTY_TYPE_DESC = '上班';
    }
    else
    {
      $DUTY_TYPE_DESC = '下班';
    }
    echo '    <td nowrap align="center">';
    echo $DUTY_TYPE_DESC;
    echo '(';
    echo $DUTY_TIME1;
    echo ')</td>
';
  }
  if (($DUTY_TIME2 != ''))
  {
    if (($DUTY_TYPE2 == '1'))
    {
      $DUTY_TYPE_DESC = '上班';
    }
    else
    {
      $DUTY_TYPE_DESC = '下班';
    }
    echo '    <td nowrap align="center">';
    echo $DUTY_TYPE_DESC;
    echo '(';
    echo $DUTY_TIME2;
    echo ')</td>
';
  }
  if (($DUTY_TIME3 != ''))
  {
    if (($DUTY_TYPE3 == '1'))
    {
      $DUTY_TYPE_DESC = '上班';
    }
    else
    {
      $DUTY_TYPE_DESC = '下班';
    }
    echo '    <td nowrap align="center">';
    echo $DUTY_TYPE_DESC;
    echo '(';
    echo $DUTY_TIME3;
    echo ')</td>
';
  }
  if (($DUTY_TIME4 != ''))
  {
    if (($DUTY_TYPE4 == '1'))
    {
      $DUTY_TYPE_DESC = '上班';
    }
    else
    {
      $DUTY_TYPE_DESC = '下班';
    }
    echo '    <td nowrap align="center">';
    echo $DUTY_TYPE_DESC;
    echo '(';
    echo $DUTY_TIME4;
    echo ')</td>
';
  }
  if (($DUTY_TIME5 != ''))
  {
    if (($DUTY_TYPE5 == '1'))
    {
      $DUTY_TYPE_DESC = '上班';
    }
    else
    {
      $DUTY_TYPE_DESC = '下班';
    }
    echo '    <td nowrap align="center">';
    echo $DUTY_TYPE_DESC;
    echo '(';
    echo $DUTY_TIME5;
    echo ')</td>
';
  }
  if (($DUTY_TIME6 != ''))
  {
    if (($DUTY_TYPE6 == '1'))
    {
      $DUTY_TYPE_DESC = '上班';
    }
    else
    {
      $DUTY_TYPE_DESC = '下班';
    }
    echo '    <td nowrap align="center">';
    echo $DUTY_TYPE_DESC;
    echo '(';
    echo $DUTY_TIME6;
    echo ')</td>
';
  }
  echo '  </tr>
';
  $query1 = (((((((''.'SELECT * from ATTEND_DUTY where USER_ID=\'').$USER_ID).'\' and to_days(REGISTER_TIME)>=to_days(\'').$DATE1).'\') and to_days(REGISTER_TIME)<=to_days(\'').$DATE2).'\') GROUP by to_days(REGISTER_TIME)');
  $cursor1 = exequery ($connection, $query1);
  $LINE_COUNT = 0;
  while ($ROW = mysql_fetch_array ($cursor1))
  {
    ++$LINE_COUNT;
    $REGISTER_TIME = $ROW['REGISTER_TIME'];
    $SOME_DATE = strtok ($REGISTER_TIME, ' ');
    $WEEK = date ('w', strtotime ($SOME_DATE));
    $HOLIDAY = '';
    $query = (((((''.'select * from ATTEND_HOLIDAY where BEGIN_DATE <=\'').$SOME_DATE).'\' and END_DATE>=\'').$SOME_DATE).'\'');
    $cursor = exequery ($connection, $query);
    if ($ROW = mysql_fetch_array ($cursor))
    {
      $HOLIDAY = '<font color=\'#008000\'>节假日</font>';
    }
    else
    {
      if (find_id ($GENERAL, $WEEK))
      {
        $HOLIDAY = '<font color=\'#008000\'>公休日</font>';
      }
    }
    if (($HOLIDAY == ''))
    {
      $TableLine = 'TableData';
    }
    else
    {
      $TableLine = 'TableContent';
    }
    $query = (((((((''.'select * from ATTEND_EVECTION where USER_ID=\'').$USER_ID).'\' and ALLOW=\'1\' and to_days(EVECTION_DATE1)<=to_days(\'').$SOME_DATE).'\') and to_days(EVECTION_DATE2)>=to_days(\'').$SOME_DATE).'\')');
    $cursor = exequery ($connection, $query);
    if ($ROW = mysql_fetch_array ($cursor))
    {
      $HOLIDAY = '<font color=\'#008000\'>出差</font>';
    }
    echo '    <tr class="';
    echo $TableLine;
    echo '">
      <td nowrap align="center">';
    echo $SOME_DATE;
    echo '(周';
    echo get_week ($SOME_DATE);
    echo ')</td>
';
    for ($I = 1; ($I <= 6); ++$I)
    {
      $DUTY_TIME_I = ('DUTY_TIME'.$I);
      $DUTY_TIME_I = $$DUTY_TIME_I;
      $DUTY_TYPE_I = ('DUTY_TYPE'.$I);
      $DUTY_TYPE_I = $$DUTY_TYPE_I;
      if ((($DUTY_TIME_I == '') OR ($DUTY_TIME_I == '00:00:00')))
      {
        continue;
      }
      else
      {
        $HOLIDAY1 = '';
        if (($HOLIDAY == ''))
        {
          $query = (((((((((((''.'select * from ATTEND_LEAVE where USER_ID=\'').$USER_ID).'\' and ALLOW=\'1\' and LEAVE_DATE1<=\'').$SOME_DATE).' ').$DUTY_TIME_I).'\' and LEAVE_DATE2>=\'').$SOME_DATE).' ').$DUTY_TIME_I).'\'');
          $cursor = exequery ($connection, $query);
          if ($ROW = mysql_fetch_array ($cursor))
          {
            $HOLIDAY1 = '<font color=\'#008000\'>请假</font>';
          }
        }
        else
        {
          $HOLIDAY1 = $HOLIDAY;
        }
        if ((($HOLIDAY == '') AND ($HOLIDAY1 == '')))
        {
          $query = (((((((((''.'select * from ATTEND_OUT where USER_ID=\'').$USER_ID).'\' and ALLOW=\'1\' and to_days(SUBMIT_TIME)=to_days(\'').$SOME_DATE).'\') and OUT_TIME1<=\'').substr ($DUTY_TIME_I, 0, strrpos ($DUTY_TIME_I, ':'))).'\' and OUT_TIME2>=\'').substr ($DUTY_TIME_I, 0, strrpos ($DUTY_TIME_I, ':'))).'\'');
          $cursor = exequery ($connection, $query);
          if ($ROW = mysql_fetch_array ($cursor))
          {
            $HOLIDAY1 = '<font color=\'#008000\'>外出</font>';
          }
        }
        $REGISTER_TIME = '';
        $REMARK = '';
        $REGISTER_IP = '';
        $query = (((((((''.'SELECT * from ATTEND_DUTY where USER_ID=\'').$USER_ID).'\' and to_days(REGISTER_TIME)=to_days(\'').$SOME_DATE).'\') and REGISTER_TYPE=\'').$I).'\'');
        $cursor = exequery ($connection, $query);
        if ($ROW = mysql_fetch_array ($cursor))
        {
          $REGISTER_IP = $ROW['REGISTER_IP'];
          $REGISTER_TIME2 = $ROW['REGISTER_TIME'];
          $REGISTER_TIME = $ROW['REGISTER_TIME'];
          $REMARK = $ROW['REMARK'];
          $REMARK = str_replace ('
', '<br>', $REMARK);
          $REGISTER_TIME = strtok ($REGISTER_TIME, ' ');
          $REGISTER_TIME = strtok (' ');
          if (((($HOLIDAY1 == '') AND ($DUTY_TYPE_I == '1')) AND (compare_time ($REGISTER_TIME, $DUTY_TIME_I) == 1)))
          {
            ($REGISTER_TIME .= ' 迟到');
          }
          if (((($HOLIDAY1 == '') AND ($DUTY_TYPE_I == '2')) AND (compare_time ($REGISTER_TIME, $DUTY_TIME_I) == -1)))
          {
            ($REGISTER_TIME .= ' 早退');
          }
          if (($REMARK != ''))
          {
            $REMARK = ('<br>备注:'.$REMARK);
          }
        }
        else
        {
          if (($HOLIDAY1 == ''))
          {
            $REGISTER_TIME = '未登记';
          }
          else
          {
            $REGISTER_TIME = $HOLIDAY1;
          }
        }
        echo '      <td nowrap align="center" title="';
        echo $REGISTER_IP;
        echo '">';
        echo $REGISTER_TIME;
        echo $REMARK;
        echo '&nbsp;
';
        if (($REMARK != ''))
        {
          echo (((((((''.'<a href="javascript:remark(\'').$USER_ID).'\',\'').$I).'\',\'').$REGISTER_TIME2).'\');" title="修改备注">修改</a>');
        }
        echo '	
      </td>
';
        continue;
      }
    }
    echo '    </tr>
';
  }
  echo '
</table>
';
  button_back ();
  echo '
</body>
</html>';
?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?