📄 progress_map.php
字号:
<?
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 " ";?></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"> </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 + -