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

📄 user_duty.php

📁 极限网络智能办公系统 Office Automation V3.0官方100%源代码.
💻 PHP
字号:
<?
include_once("inc/auth.php");
include_once("inc/check_type.php");
include_once("inc/utility_all.php");
?>

<html>
<head>
<title>上下班记录查询</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<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;
  }

 $connection=OpenConnection();
 $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"];
 }
?>

<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"><span class="big3"> 上下班查询结果(<?=$USER_NAME?>) -  [从 <?=format_date($DATE1)?> 至 <?=format_date($DATE2)?> 共 <?=$DAY_TOTAL?> 天]</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"];
 }
?>

<table border="0" cellspacing="1" width="95%" class="small" bgcolor="#000000" cellpadding="3" align="center">
  <tr class="TableHeader">
    <td nowrap align="center">日期</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=="")
             continue;
       
          if($DUTY_TYPE_I=="1")
             $DUTY_TYPE_DESC="上班";
          else
             $DUTY_TYPE_DESC="下班";
?>
    <td nowrap align="center"><?=$DUTY_TYPE_DESC?> (<?=$DUTY_TIME_I?>)</td>
<?
       }
?>
  </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>";
?>
    <tr class="<?=$TableLine?>">
      <td nowrap align="center"><?=$SOME_DATE?>(周<?=get_week($SOME_DATE)?>)</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=="" || $DUTY_TIME_I=="00:00:00")
       continue;
       
    $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==""&&$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="";
    $REMARK11="";
    $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_TIME=$ROW["REGISTER_TIME"];
       $REMAK=$ROW["REMARK"];
       $REGISTER_TIME=strtok($REGISTER_TIME," ");
       $REGISTER_TIME=strtok(" ");

       if($HOLIDAY1=="" && $DUTY_TYPE_I=="1" && compare_time($REGISTER_TIME,$DUTY_TIME_I)==1)
          {$REGISTER_TIME.=" 迟到";$REMARK11="<br>"."备注:".$REMAK;}

       if($HOLIDAY1=="" && $DUTY_TYPE_I=="2" && compare_time($REGISTER_TIME,$DUTY_TIME_I)==-1)
          {$REGISTER_TIME.=" 早退";$REMARK11="<br>"."备注:".$REMAK;}
    }
    else
    {
       if($HOLIDAY1=="")
          $REGISTER_TIME="未登记";
       else
          $REGISTER_TIME=$HOLIDAY1;
    }

?>
      <td nowrap align="center"><?=$REGISTER_TIME?><?=$REMARK11?></td>
<?
 }
?>
    </tr>
<?
}//while
?>

</table>

<?
Button_Back();
?>

</body>
</html>

⌨️ 快捷键说明

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