From f563acb6404f2f4750355daa039ec2b638d2d548 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Mon, 26 Apr 2021 10:31:52 +0800 Subject: [PATCH] * adjust code. --- module/productplan/model.php | 29 +++++++++++++++++++++++------ module/search/model.php | 2 +- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/module/productplan/model.php b/module/productplan/model.php index 7b15c399e4..9b413759bd 100644 --- a/module/productplan/model.php +++ b/module/productplan/model.php @@ -96,6 +96,7 @@ class productplanModel extends model $plans = $this->reorder4Children($plans); $planIdList = array_keys($plans); + $storyCountInTable = $this->dao->select('plan,count(story) as count')->from(TABLE_PLANSTORY)->where('plan')->in($planIdList)->groupBy('plan')->fetchPairs('plan', 'count'); $product = $this->loadModel('product')->getById($product); if($product->type == 'normal') { @@ -127,6 +128,22 @@ class productplanModel extends model $plan->hour = array_sum($storyPairs); $plan->projectID = $plan->project; + /* Sync linked stories. */ + if(!isset($storyCountInTable[$plan->id]) or $storyCountInTable[$plan->id] != $plan->stories) + { + $this->dao->delete()->from(TABLE_PLANSTORY)->where('plan')->eq($plan->id)->exec(); + + $order = 1; + foreach($storyPairs as $storyID => $estimate) + { + $planStory = new stdclass(); + $planStory->plan = $plan->id; + $planStory->story = $storyID; + $planStory->order = $order ++; + $this->dao->replace(TABLE_PLANSTORY)->data($planStory)->exec(); + } + } + if(!isset($parentStories[$plan->parent])) $parentStories[$plan->parent] = 0; if(!isset($parentBugs[$plan->parent])) $parentBugs[$plan->parent] = 0; if(!isset($parentHour[$plan->parent])) $parentHour[$plan->parent] = 0; @@ -292,8 +309,8 @@ class productplanModel extends model /** * Get Children plan. - * - * @param int $planID + * + * @param int $planID * @access public * @return array */ @@ -433,8 +450,8 @@ class productplanModel extends model /** * Change parent field by planID. - * - * @param int $planID + * + * @param int $planID * @access public * @return void */ @@ -562,8 +579,8 @@ class productplanModel extends model /** * Reorder for children plans. - * - * @param array $plans + * + * @param array $plans * @access public * @return array */ diff --git a/module/search/model.php b/module/search/model.php index 1bb60ef7af..19faf9d00f 100644 --- a/module/search/model.php +++ b/module/search/model.php @@ -1015,7 +1015,7 @@ class searchModel extends model while(true) { $query = $this->buildIndexQuery($module); - $dataList = $query->beginIF($lastID)->andWhere('t1.id')->gt($lastID)->fi()->limit($limit)->fetchAll('id'); + $dataList = $query->beginIF($lastID)->andWhere('t1.id')->gt($lastID)->fi()->orderBy('t1.id')->limit($limit)->fetchAll('id'); if(empty($dataList)) { $lastID = 0;