From 8ed0e6ac3dcfe0fd5506ecc77462c8680a171ff0 Mon Sep 17 00:00:00 2001 From: tanghucheng Date: Thu, 11 Jan 2024 09:52:26 +0800 Subject: [PATCH] * Code for task #110589. --- module/execution/model.php | 2 +- module/programplan/model.php | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/module/execution/model.php b/module/execution/model.php index 4b8a97792e..3ce9d2e65d 100755 --- a/module/execution/model.php +++ b/module/execution/model.php @@ -5418,7 +5418,7 @@ class executionModel extends model $title = ''; $disabled = $execution->status == 'wait' ? '' : 'disabled'; $this->app->loadLang('stage'); - if($project and $project->model == 'ipd') + if($project and $project->model == 'ipd' and !$execution->parallel) { $title = ($execution->ipdStage['canStart'] or $execution->ipdStage['isFirst']) ? '' : sprintf($this->lang->execution->disabledTip->startTip, $this->lang->stage->ipdTypeList[$execution->ipdStage['preAttribute']], $this->lang->stage->ipdTypeList[$execution->attribute]); $disabled = $execution->ipdStage['canStart'] ? $disabled : 'disabled'; diff --git a/module/programplan/model.php b/module/programplan/model.php index 94e2e25ff4..9f78bdc802 100755 --- a/module/programplan/model.php +++ b/module/programplan/model.php @@ -822,6 +822,7 @@ class programplanModel extends model $project = $this->loadModel('project')->getByID($projectID); $setCode = (isset($this->config->setCode) and $this->config->setCode == 1) ? true : false; $sameCodes = $setCode ? $this->checkCodeUnique($codes, isset($planIDList) ? $planIDList : '') : false; + $parallel = isset($parallel) ? $parallel : $project->parallel; $setPercent = (isset($this->config->setPercent) and $this->config->setPercent == 1) ? true : false; $datas = array(); @@ -835,18 +836,19 @@ class programplanModel extends model $plan->project = $projectID; $plan->parent = $parentID ? $parentID : $projectID; $plan->name = $names[$key]; - if($setCode) $plan->code = $codes[$key]; - if($setPercent) $plan->percent = $percents[$key]; $plan->attribute = (empty($parentID) or $parentAttribute == 'mix') ? $attributes[$key] : $parentAttribute; - $plan->milestone = $milestone[$key] ? 1 : 0; $plan->output = empty($output[$key]) ? '' : implode(',', $output[$key]); $plan->acl = empty($parentID) ? $acl[$key] : $parentACL; $plan->PM = empty($PM[$key]) ? '' : $PM[$key]; $plan->desc = empty($desc[$key]) ? '' : $desc[$key]; + $plan->milestone = empty($milestone[$key]) ? 0 : 1; $plan->hasProduct = $project->hasProduct; $plan->vision = $this->config->vision; $plan->market = $project->market; + $plan->parallel = $parallel; + if($setCode) $plan->code = $codes[$key]; + if($setPercent) $plan->percent = $percents[$key]; if(!empty($begin[$key])) $plan->begin = $begin[$key]; if(!empty($end[$key])) $plan->end = $end[$key]; if(!empty($realBegan[$key])) $plan->realBegan = $realBegan[$key]; @@ -1139,6 +1141,8 @@ class programplanModel extends model /* If child plans has milestone, update parent plan set milestone eq 0 . */ if($parentID and $milestone) $this->dao->update(TABLE_PROJECT)->set('milestone')->eq(0)->where('id')->eq($parentID)->exec(); + if($project->model == 'ipd') $this->dao->update(TABLE_PROJECT)->set('parallel')->eq($parallel)->where('id')->eq($projectID)->exec(); + if(dao::isError()) return print(js::error(dao::getError())); } }