Merge branch 'sgm_waterfall' into 'master'

* Fix weekly bug.

See merge request easycorp/zentaopms!2216
This commit is contained in:
朱金勇
2022-03-13 11:01:04 +00:00
2 changed files with 13 additions and 9 deletions
+3 -1
View File
@@ -908,14 +908,16 @@ class programplanModel extends model
* Get milestone by product.
*
* @param int $productID
* @param int $projectID
* @access public
* @return object
*/
public function getMilestoneByProduct($productID)
public function getMilestoneByProduct($productID, $projectID)
{
return $this->dao->select('t1.id, t1.name')->from(TABLE_PROJECT)->alias('t1')
->leftJoin(TABLE_PROJECTPRODUCT)->alias('t2')->on('t1.id=t2.project')
->where('t2.product')->eq($productID)
->andWhere('t1.project')->eq($projectID)
->andWhere('t1.type')->eq('stage')
->andWhere('t1.milestone')->eq(1)
->andWhere('t1.deleted')->eq(0)
+10 -8
View File
@@ -21,24 +21,26 @@ class weeklyModel extends model
*/
public function getPageNav($project, $date)
{
$date = date('Ymd', strtotime($this->getThisMonday($date)));
$date = date('Ymd', strtotime($this->getThisMonday($date)));
$today = helper::today();
$thisSunday = date('Ymd', strtotime($this->getThisSunday($today)));
switch($project->status)
{
case 'wait':
$begin = helper::now();
$end = $begin;
$end = $begin;
break;
case 'doing':
$begin = $project->realBegan != '0000-00-00' ? $project->realBegan : $date;
$end = $date;
$end = $thisSunday;
break;
case 'suspended':
$begin = $project->realBegan != '0000-00-00' ? $project->realBegan : $project->suspendedDate;
$end = $project->suspendedDate;
$end = $project->suspendedDate;
break;
case 'closed':
$begin = $project->realBegan != '0000-00-00' ? $project->realBegan : $project->realEnd;
$end = $project->realEnd;
$end = $project->realEnd;
break;
}
@@ -72,12 +74,12 @@ class weeklyModel extends model
{
$sn = $end != '' ? $this->getWeekSN($begin, $end) : $this->getWeekSN($begin, date('Y-m-d'));
$weeks = array();
for($i = 0; $i <= $sn; $i++)
for($i = 0; $i < $sn; $i++)
{
$monday = $this->getThisMonday($begin);
$sunday = $this->getThisSunday($begin);
$begin = date('Y-m-d', strtotime("$begin +7 days"));
$key = date('Ymd', strtotime($monday));
$begin = date('Y-m-d', strtotime("$begin +7 days"));
$key = date('Ymd', strtotime($monday));
$weeks[$key] = sprintf($this->lang->weekly->weekDesc, $i + 1, $monday, $sunday);
}
krsort($weeks);