From 302a68291c087935dad3ef08d400873072a16691 Mon Sep 17 00:00:00 2001 From: leiyong <1549684884@qq.com> Date: Tue, 24 Nov 2020 23:23:54 +0800 Subject: [PATCH] * Adjust getExecutionsByProject method. --- module/doc/control.php | 12 ++++++------ module/product/model.php | 2 +- module/programplan/model.php | 13 ++++++++----- module/project/model.php | 13 +++++++++++-- 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/module/doc/control.php b/module/doc/control.php index eca2134874..09c8dc534a 100644 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -120,7 +120,7 @@ class doc extends control $this->lang->navGroup->doc = 'project'; $this->lang->doc->menu = $this->lang->project->menu; $this->lang->doc->menuOrder = $this->lang->project->menuOrder; - $this->project->setMenu($this->project->getExecutionPairs($this->session->PRJ, 'all', 'nocode'), $lib->project); + $this->project->setMenu($this->project->getExecutionsByProject($this->session->PRJ, 'all', 0, true), $lib->project); $this->lang->set('menugroup.doc', 'project'); } else @@ -226,7 +226,7 @@ class doc extends control $projectID = $this->session->PRJ; $products = $this->product->getProductPairsByProject($projectID, 'noclosed'); - $projects = $this->project->getExecutionPairs($projectID, 'all', 'noclosed'); + $projects = $this->project->getExecutionsByProject($projectID, 'all', 0, true); $libTypeList = $this->lang->doc->libTypeList; if(empty($products)) unset($libTypeList['product']); @@ -355,7 +355,7 @@ class doc extends control $this->lang->navGroup->doc = 'program'; $this->lang->doc->menu = $this->lang->project->menu; $this->lang->doc->menuOrder = $this->lang->project->menuOrder; - $this->project->setMenu($this->project->getExecutionPairs($this->session->PRJ, 'all', 'nocode'), $lib->project); + $this->project->setMenu($this->project->getExecutionsByProject($this->session->PRJ, 'all', 0, true), $lib->project); $this->lang->set('menugroup.doc', 'project'); $this->lang->TRActions = common::hasPriv('doc', 'createLib') ? html::a(helper::createLink('doc', 'createLib'), " " . $this->lang->doc->createLib, '', "class='btn btn-secondary iframe' data-width='70%'") : ''; @@ -721,7 +721,7 @@ class doc extends control $this->app->loadClass('pager', $static = true); $pager = new pager($recTotal, $recPerPage, $pageID); - $libs = $this->doc->getAllLibsByType($type, $pager, $product); + $libs = $this->doc->getAllLibsByType($type, $pager); $subLibs = array(); if($type == 'product' or $type == 'project') { @@ -776,7 +776,7 @@ class doc extends control $this->lang->navGroup->doc = 'program'; $this->lang->doc->menu = $this->lang->project->menu; $this->lang->doc->menuOrder = $this->lang->project->menuOrder; - $this->project->setMenu($this->project->getExecutionPairs($this->session->PRJ, 'all', 'nocode'), $objectID); + $this->project->setMenu($this->project->getExecutionsByProject($this->session->PRJ, 'all', 0, true), $objectID); $this->lang->set('menugroup.doc', 'project'); } else @@ -872,7 +872,7 @@ class doc extends control $this->lang->navGroup->doc = 'project'; $this->lang->doc->menu = $this->lang->project->menu; $this->lang->doc->menuOrder = $this->lang->project->menuOrder; - $this->project->setMenu($this->project->getExecutionPairs($this->session->PRJ, 'all', 'nocode'), $objectID); + $this->project->setMenu($this->project->getExecutionsByProject($this->session->PRJ, 'all', 0, true), $objectID); $this->lang->set('menugroup.doc', 'project'); } else diff --git a/module/product/model.php b/module/product/model.php index 12e50851c7..30dc6b22c6 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -772,7 +772,7 @@ class productModel extends model ->beginIF($branch)->andWhere('t1.branch')->in($branch)->fi() ->beginIF(!$this->app->user->admin)->andWhere('t2.id')->in($this->app->user->view->sprints)->fi() ->andWhere('t2.deleted')->eq('0') - ->orderBy('t2.id desc') + ->orderBy('t2.path_asc') ->fetchAll('id'); /* The waterfall project needs to show the hierarchy and remove the parent stage. */ diff --git a/module/programplan/model.php b/module/programplan/model.php index 5d34304ac0..3e71a05299 100644 --- a/module/programplan/model.php +++ b/module/programplan/model.php @@ -675,12 +675,15 @@ class programplanModel extends model /* If child plan has milestone, update parent plan set milestone eq 0 . */ if($plan->milestone and $parentPlan->milestone) $this->dao->update(TABLE_PROJECT)->set('milestone')->eq(0)->where('id')->eq($oldPlan->parent)->exec(); } + else + { + /* The workload of the parent plan cannot exceed 100%. */ + $oldPlan->parent = $plan->parent; + $totalPercent = $this->getTotalPercent($oldPlan); + $totalPercent = $totalPercent + $plan->percent; + if($totalPercent > 100) return dao::$errors['percent'][] = $this->lang->programplan->error->percentOver; + } - /* The workload of the parent plan cannot exceed 100%. */ - $oldPlan->parent = $plan->parent; - $totalPercent = $this->getTotalPercent($oldPlan); - $totalPercent = $totalPercent + $plan->percent; - if($totalPercent > 100) return dao::$errors['percent'][] = $this->lang->programplan->error->percentOver; /* Set planDuration and realDuration. */ $plan->planDuration = $this->getDuration($plan->begin, $plan->end); diff --git a/module/project/model.php b/module/project/model.php index 97d1412838..d8cc0ede6a 100644 --- a/module/project/model.php +++ b/module/project/model.php @@ -911,10 +911,11 @@ class projectModel extends model * @param int $projectID * @param string $status * @param int $limit + * @param string $pairs * @access public * @return array */ - public function getExecutionsByProject($projectID, $status = 'all', $limit = 0) + public function getExecutionsByProject($projectID, $status = 'all', $limit = 0, $pairs = false) { if(!$projectID) return array(); @@ -924,7 +925,7 @@ class projectModel extends model ->beginIF($status == 'undone')->andWhere('status')->notIN('done,closed')->fi() ->beginIF($status != 'all' and $status != 'undone')->andWhere('status')->in($status)->fi() ->andWhere('deleted')->eq('0') - ->orderBy('begin_asc') + ->orderBy('path_asc') ->beginIF($limit)->limit($limit)->fi() ->fetchAll('id'); @@ -935,9 +936,17 @@ class projectModel extends model { if($execution->parent and isset($executions[$execution->parent])) $executions[$execution->id]->name = $executions[$execution->parent]->name . '/' . $execution->name; } + foreach($executions as $execution) if($execution->grade == 2) unset($executions[$execution->parent]); } + if($pairs) + { + $executionPairs = array(); + foreach($executions as $execution) $executionPairs[$execution->id] = $execution->name; + $executions = $executionPairs; + } + return $executions; }