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

📄 progress_map.php

📁 通达OA官方提供的30源代码,感觉很实在
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?
include_once("inc/auth.php");
include_once("inc/utility_all.php");
include_once("inc/utility_file.php");
?>

<html>
<head>
<title>进度图</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script src="/inc/js/attach.js"></script>
<script src="/inc/js/utility.js"></script>
<script>
function my_note(DETAIL_ID)
{
  myleft=(screen.availWidth-250)/2;
  mytop=(screen.availHeight-200)/2;
  window.open("note.php?DETAIL_ID="+DETAIL_ID,"note_win"+DETAIL_ID,"height=300,width=350,status=0,toolbar=no,menubar=no,location=no,scrollbars=auto,resizable=yes,top="+mytop+",left="+myleft);
}

function plan_detail(PLAN_ID)
{
  URL="plan_detail.php?PLAN_ID="+PLAN_ID;
  window.open(URL,"plan_detail","height=550,width=800,status=1,toolbar=no,menubar=no,location=no,scrollbars=yes,top=60,left=110,resizable=yes");
}

setInterval("document.getElementById('showmsg').style.display='none'",3000);

</script>
</head>
<?
$query = "SELECT NAME,BEGIN_DATE,END_DATE from WORK_PLAN where PLAN_ID='$PLAN_ID'";
$cursor= exequery($connection,$query);
if($ROW=mysql_fetch_array($cursor))
{

   $NAME=$ROW['NAME'];

   $URL_BEGIN_DATE=$BEGIN_DATE1=$ROW['BEGIN_DATE'];
   $URL_END_DATE=$END_DATE1=$ROW['END_DATE'];
   $BEGIN_DATE=$ROW['BEGIN_DATE']." 00:00:01";
   $END_DATE=$ROW['END_DATE']." 23:59:59";

   $COUNT_DATE=round((strtotime($END_DATE)-strtotime($BEGIN_DATE))/86400);
   if($COUNT_DATE<=0)
      $COUNT_DATE=1;

   $STR=strtok($BEGIN_DATE1,"-");
   $YEAR=$STR;
   $STR=strtok("-");
   $MONTH=$STR;
   $STR=strtok(" ");
   $DAY=$STR;
   $TIME1=mktime(0,0,0,$MONTH,$DAY,$YEAR);

   if($END_DATE1=="0000-00-00")
   {
      $COUNT_DATE=30;
      $URL_END_DATE=$END_DATE1=date("Y-m-d",dateadd("d",30,$BEGIN_DATE1));
    }

   $COUNT_DATE1=$COUNT_DATE;

   $STR1=strtok($END_DATE1,"-");
   $YEAR1=$STR1;
   $STR1=strtok("-");
   $MONTH1=$STR1;
   $STR1=strtok(" ");
   $DAY1=$STR1;
   $TIME2=mktime(0,0,0,$MONTH1,$DAY1,$YEAR1);

   if(date("w", $TIME2)==0)
      $COUNT_DATE=$COUNT_DATE + date("w", $TIME1) + 1;
   else
      $COUNT_DATE=$COUNT_DATE + date("w", $TIME1);

   $COUNT_WEEK=ceil($COUNT_DATE/7);

   $COUNT_DATE=$COUNT_WEEK*7;

}

?>
<body class="bodycolor" topmargin="5" onload="self.resizeTo(screen.availWidth,screen.availHeight);">
<div id="showmsg" style="display:none;z-index:1000;background:FF7F50;position:absolute;font-size:13px;padding:4px 10px 4px 10px;top:180px;left:135px;">无计划任务</div>
<table border="0" width="100%" cellspacing="0" cellpadding="3" class="small">
 <tr>
  <td class="Big"><img src="/images/menu/work_plan.gif" width="22" height="18" align="absMiddle"><span class="big3"> 进度图 (<?=$NAME?> <?=format_date($BEGIN_DATE1)?> - <? if($END_DATE1!="0000-00-00") echo format_date($END_DATE1);?>)</span><br>
  </td>
 </tr>
</table><br>

<table align="center" style='border-collapse:collapse' border=1 cellspacing=0 cellpadding=3 bordercolor='#000000' width="100%" class="small">
 <tr class="TableData" valign="top">
 	<td rowspan="2" nowrap valign="center" align="center" width="115"> 姓名
 		<a href="#" onclick="javascript:expand_sub_plan();return false;" style="cursor:hand"><img src="/images/plan_exp.gif" id="expand_img" border=0 align="absmiddle" alt="全部展开/全部折叠"></a></a></td>
<?
for($I=0;$I < $COUNT_WEEK;$I++)
{
	 if($I==0)
	    $Y_M_D1=$Y_M_D=date("Y-m-d",dateadd("d",-date("w", $TIME1),$BEGIN_DATE1));
	 else
	    $Y_M_D=date("Y-m-d",dateadd("d",7,$Y_M_D));
?>
  <td colspan="<?=7?>" nowrap><?=format_date($Y_M_D)?></td>
<?
}
?>
 </tr>
 <tr class="TableData" valign="top">
<?
for($I=0;$I < $COUNT_DATE;$I++)
{
  if($I%7==0)
     $WEEK_STR="日";
  if($I%7==1)
     $WEEK_STR="一";
  if($I%7==2)
     $WEEK_STR="二";
  if($I%7==3)
     $WEEK_STR="三";
  if($I%7==4)
     $WEEK_STR="四";
  if($I%7==5)
     $WEEK_STR="五";
  if($I%7==6)
     $WEEK_STR="六";

  $M_D_STR=date("m-d",strtotime($Y_M_D1)+$I*86400);
  $TIME_STR=date("m-d",time());
?>
   <td align="center" style="cursor:hand" title="<?=$M_D_STR?>" bgcolor="<? if($M_D_STR==$TIME_STR) echo '#cccccc';?>"><?=$WEEK_STR?></td>
<?
}
?>
 </tr>
<?
$query = "SELECT PARTICIPATOR,MANAGER,TO_ID,OPINION_LEADER,TO_PERSON_ID,CREATOR from WORK_PLAN where PLAN_ID='$PLAN_ID'";
$cursor= exequery($connection,$query);
if($ROW=mysql_fetch_array($cursor))
{
   $PARTICIPATOR=$ROW["PARTICIPATOR"];
   $MANAGER=$ROW["MANAGER"];
   $TO_ID=$ROW["TO_ID"];
   $CREATOR=$ROW["CREATOR"];
   $TO_PERSON_ID=$ROW["TO_PERSON_ID"];
   $OPINION_LEADER=$ROW["OPINION_LEADER"];

   $FLAG1="";
   if(find_id($OPINION_LEADER.$MANAGER.$CREATOR,$LOGIN_USER_ID)) //负责人,批注领导和创建人有批注权
      $FLAG1 = "1";

   $MANAGER_ARRAY=explode(",",$MANAGER);
   for($I=0;$I< count($MANAGER_ARRAY);$I++)
   {
      if(!find_id(str_replace(" ,","",$PARTICIPATOR),$MANAGER_ARRAY[$I]) && $MANAGER_ARRAY[$I]!="")
         $PARTICIPATOR.= $MANAGER_ARRAY[$I].",";
   }
}

$TOTAL_PERCENT=0;
$PEOPLE=0;
$TOK=strtok($PARTICIPATOR,",");
$PARTICIPATOR_ARRAY=explode(",",$PARTICIPATOR);
for($I=0;$I< count($PARTICIPATOR_ARRAY);$I++)
{
	 if($PARTICIPATOR_ARRAY[$I]!="")
	    $PERSON_COUNT++;
}

if($PERSON_COUNT==1)
   $ARRAY_FLAG=0;
else
   $ARRAY_FLAG=1;

while($TOK!="")
{
  $query1="select DEPT_ID,USER_NAME,USER_ID from USER where USER_ID='$TOK'";
  $cursor1= exequery($connection,$query1);
  if($ROW=mysql_fetch_array($cursor1))
  {
     $DEPT_ID=$ROW["DEPT_ID"];
     $USER_ID=$ROW["USER_ID"];

     $USER_SUB_ITEMS = 0;
     $query = "SELECT count(*) from WORK_PERSON where PLAN_ID='$PLAN_ID' and PUSER_ID='$USER_ID'";
     $cursor= exequery($connection,$query);
     if($ROW1=mysql_fetch_array($cursor))
        $USER_SUB_ITEMS = $ROW1["0"];

     $USER_NAME=$ROW["USER_NAME"];
     $DEPT_NAME=dept_long_name($DEPT_ID);

     $query = "SELECT MAX(PERCENT) as PERCENT from WORK_DETAIL where PLAN_ID='$PLAN_ID' and WRITER='$TOK'";
     $cursor=exequery($connection,$query);
	   if($ROW1=mysql_fetch_array($cursor))
     {
        $PERCENT=$ROW1["PERCENT"];
        $TOTAL_PERCENT=$TOTAL_PERCENT + $PERCENT;
     }

     	$PEOPLE++;
?>
 <tr class="TableData" valign="top">
   <td align="center" nowrap>
   	<div style="float:left;width=70%;padding-top:3px;" title="<?=$DEPT_NAME?>"><?=$USER_NAME?></div>
   	<div style="float:right;width=30%;display:inline;">
   		<img style="cursor:hand" title="指派计划任务" onClick="window.open('plan_resource.php?USER_ID=<?=$USER_ID?>&PLAN_ID=<?=$PLAN_ID?>&USER_NAME=<?=urlencode($USER_NAME)?>&NAME=<?=urlencode($NAME)?>&URL_BEGIN_DATE=<?=$URL_BEGIN_DATE?>&URL_END_DATE=<?=$URL_END_DATE?>','','height=550,width=800,status=1,toolbar=no,menubar=no,location=no,scrollbars=yes,left=110,top=60,resizable=yes');" src="/images/newwork.gif">
   		<a style="cursor:hand" href="#" onclick="javascript:my_view('<?=$PEOPLE?>','<?=$ARRAY_FLAG?>','<?=$USER_SUB_ITEMS?>','<?=$USER_NAME?>');return false;"><img src="/images/updown2.gif" name="arrow_img" id="sub_plan_<?=$PEOPLE?>" border=0 align="absmiddle" alt="显示/隐藏计划任务"></a></div>
   </td>
<?
if(date("w", $TIME1)==0)
{
?>
   <td align="left" colspan="<?=$COUNT_DATE-(7-date("w", $TIME2))+1?>">
<?
$query = "SELECT DETAIL_ID,WRITE_TIME,PROGRESS,PERCENT,WRITER from WORK_DETAIL where TYPE_FLAG='0'and PLAN_ID='$PLAN_ID' and WRITER='$TOK' order by WRITE_TIME asc";
$cursor=exequery($connection,$query);
$NUM_ROWS=mysql_num_rows($cursor);
if($NUM_ROWS>0)
{
?>
      <table align="center" style='border-collapse:collapse' border=1 cellspacing=0 bordercolor='#000000' width="100%" class="small">
        <tr height="10">
<?
}

$DETAIL_COUNT=0;
$PERCENT1=0;
$DAYS1=0;
$DAYS2=0;
while($ROW=mysql_fetch_array($cursor))
{
  $DETAIL_COUNT++;
  $DETAIL_ID=$ROW["DETAIL_ID"];
  $WRITE_TIME=$ROW["WRITE_TIME"];
	$PROGRESS=$ROW["PROGRESS"];
  $PERCENT =$ROW["PERCENT"];
	$WRITER=$ROW["WRITER"];

  $STR2=substr($WRITE_TIME,0,4);
  $YEAR2=$STR2;
  $WRITE_TIME;
  $STR2=substr($WRITE_TIME,5,2);
  $MONTH2=$STR2;
  $STR2=substr($WRITE_TIME,8,2);
  $DAY2=$STR2;
  $TIME3=mktime(0,0,0,$MONTH2,$DAY2,$YEAR2);

  $DAYS=round(($TIME3-$TIME1)/3600/24);

	$PERCENT1=$PERCENT1 + $ROW["PERCENT"];

  $DAYS2=$DAYS - $DAYS1;
  if($DAYS2==0)
     $DAYS2=1;
  $DAYS1=$DAYS1 + $DAYS2;
?>
          <td width="<? echo ceil($DAYS2/$COUNT_DATE1*100)?>%" background="/images/finish.gif" align="center" title="日期:<?=$MONTH2."月".$DAY2."日"?>,<?="合计:".$PERCENT1."%"?>" style="cursor:hand" onclick="my_note('<?=$DETAIL_ID?>')"><?=$PERCENT."%";?></td>
<?
}

if($NUM_ROWS>0)
{
	 if(round((1-$DAYS1/$COUNT_DATE1)*100)!=0)
	 {
	 	  if($DAYS1!=$COUNT_DATE1)
	 	  {
	 	     if($PERCENT==0)
	 	        $ESTIMATE=$COUNT_DATE1;
	 	     else
	 	        $ESTIMATE=ceil($DAYS1/$PERCENT*(100-$PERCENT));
	 	     $BAR_LEN_ESTIMATE= round($ESTIMATE/$COUNT_DATE1*100);
	 	  }
?>
<style>
	#bar_<?=$TOK?>{float:left;margin:0px 0px 0px 0px;padding:0px;background:#cccccc;width:<?=$BAR_LEN_ESTIMATE?>%;height:5px;},
</style>
         <td width="<? echo round((1-$DAYS1/$COUNT_DATE1)*100);?>%" align="center"><div id="bar_<?=$TOK?>" title="预计<?=$ESTIMATE?>天完成,还剩下<? if((100-$PERCENT)!=0) echo (100-$PERCENT)."%";?>" style="cursor:hand"></div></td>
<?
   }
?>
        </tr>
      </table>
<?
}
?>
   </td>
<?
if(date("w", $TIME2)!=6)
{
?>
   <td colspan="<?=7?>" bgcolor="#cccccc" align="left" valign="middle" nowrap><?if($PERCENT==100) echo "完成";else echo "&nbsp;";?></td>
<?
}
}

if(date("w", $TIME1)!=0)
{
	 $COLSPAN_DAY = $COUNT_DATE-(7-date("w", $TIME2))-date("w", $TIME1)+1;
?>
   <td align="center" colspan="<?=date("w", $TIME1)?>" bgcolor="#cccccc">&nbsp;</td>
   <td align="left" colspan="<?=$COLSPAN_DAY?>">
<?
$query = "SELECT DETAIL_ID,WRITE_TIME,PROGRESS,PERCENT,WRITER from WORK_DETAIL where TYPE_FLAG='0'and PLAN_ID='$PLAN_ID' and WRITER='$TOK' order by WRITE_TIME asc";
$cursor=exequery($connection,$query);
$NUM_ROWS=mysql_num_rows($cursor);
if($NUM_ROWS>0)
{
?>
      <table align="center" style='border-collapse:collapse' border=1 cellspacing=0 bordercolor='#000000' width="100%" class="small">
        <tr height="10">
<?
}

$DETAIL_COUNT=0;
$DAYS1=0;
$DAYS2=0;
$PERCENT=0;
while($ROW=mysql_fetch_array($cursor))
{
  $DETAIL_COUNT++;
  $DETAIL_ID=$ROW["DETAIL_ID"];
  $WRITE_TIME=$ROW["WRITE_TIME"];
	$PROGRESS=$ROW["PROGRESS"];
  $PERCENT =$ROW["PERCENT"];
	$WRITER=$ROW["WRITER"];

  $query1 = "SELECT MAX(PERCENT) AS PERCENT_CM from WORK_DETAIL where TYPE_FLAG='0'and PLAN_ID='$PLAN_ID' and WRITER='$TOK' and PERCENT < '$PERCENT'";
  $cursor1= exequery($connection,$query1);
  if($ROW1=mysql_fetch_array($cursor1))
     $LAST_PERCENT=$ROW1["PERCENT_CM"];

  $STR2=substr($WRITE_TIME,0,4);
  $YEAR2=$STR2;
  $STR2=substr($WRITE_TIME,5,2);
  $MONTH2=$STR2;
  $STR2=substr($WRITE_TIME,8,2);
  $DAY2=$STR2;
  $TIME3=mktime(0,0,0,$MONTH2,$DAY2,$YEAR2);

  $DAYS=round(($TIME3-$TIME1)/3600/24);

⌨️ 快捷键说明

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