Merge branch release/21.7.6 of zentao/zentaopms (#11576)

This commit is contained in:
刘刚
2025-09-19 16:34:42 +08:00
committed by Gitfox
21 changed files with 96 additions and 155 deletions
+1 -1
View File
@@ -112,7 +112,7 @@ $config->upgrade->execFlow['21_6_beta'] = array('functions' => 'processCharter
$config->upgrade->execFlow['21_6_1'] = array('xxsqls' => "$appRoot/db/upgradexuanxuan9.1.2.sql");
$config->upgrade->execFlow['21_7'] = array('functions' => 'fixWorkflowNameForExecution');
$config->upgrade->execFlow['21_7_1'] = array('functions' => 'convertCharset,processActionProduct');
$config->upgrade->execFlow['21_7_5'] = array('functions' => 'weekly-addBuiltinWeeklyTemplate,weekly-upgradeMilestoneData');
$config->upgrade->execFlow['21_7_5'] = array('functions' => 'weekly-addBuiltinWeeklyTemplate');
if(!empty($config->isINT))
{
+19 -19
View File
@@ -545,11 +545,11 @@ class upgrade extends control
* @param string $skipMoveFile
* @param string $skipUpdateDocs
* @param string $skipUpdateDocTemplates
* @param string $skipUpdateWeeklyReports
* @param string $skipUpdateProjectReports
* @access public
* @return void
*/
public function afterExec($fromVersion, $processed = 'no', $skipMoveFile = 'no', $skipUpdateDocs = 'no', $skipUpdateDocTemplates = 'no', $skipUpdateWeeklyReports = 'no')
public function afterExec($fromVersion, $processed = 'no', $skipMoveFile = 'no', $skipUpdateDocs = 'no', $skipUpdateDocTemplates = 'no', $skipUpdateProjectReports = 'no')
{
/* 如果数据库有冲突,显示更改的 sql。*/
/* If there is a conflict with the standard database, display the changed sql. */
@@ -597,15 +597,15 @@ class upgrade extends control
}
}
/* 如果有需要升级的周报,显示升级周报界面。*/
/* 如果有需要升级的周报、里程碑报告,显示升级周报、里程碑报告界面。*/
$openVersion = $this->upgrade->getOpenVersion(str_replace('.', '_', $fromVersion));
if($skipUpdateWeeklyReports == 'no' && version_compare($openVersion, '21.7.6', '<'))
if($skipUpdateProjectReports == 'no' && version_compare($openVersion, '21.7.6', '<'))
{
$upgradeWeeklyReports = $this->upgrade->getUpgradeWeeklyReports();
if(!empty($upgradeWeeklyReports))
$upgradeProjectReports = $this->upgrade->getUpgradeProjectReports();
if(!empty($upgradeProjectReports))
{
$this->session->set('upgradeWeeklyReports', $upgradeWeeklyReports);
$this->locate(inlink('upgradeWeeklyReports', "fromVersion={$fromVersion}"));
$this->session->set('upgradeProjectReports', $upgradeProjectReports);
$this->locate(inlink('upgradeProjectReports', "fromVersion={$fromVersion}"));
}
}
@@ -1051,42 +1051,42 @@ class upgrade extends control
}
/**
* 升级周报数据。
* Upgrade weekly reports.
* 升级项目报告数据。
* Upgrade project reports.
*
* @param string $fromVersion
* @param string $processed
* @access public
* @return void
*/
public function upgradeWeeklyReports(string $fromVersion = '', string $processed = 'no')
public function upgradeProjectReports(string $fromVersion = '', string $processed = 'no')
{
$upgradeReports = $this->session->upgradeWeeklyReports;
$upgradeReports = $this->session->upgradeProjectReports;
if($processed === 'yes' || empty($upgradeReports))
{
if(!empty($upgradeReports)) $this->session->set('upgradeWeeklyReports', true);
$this->locate(inlink('afterExec', "fromVersion={$fromVersion}&processed=no&skipMoveFile=yes&skipUpdateDocs=yes&skipUpdateDocTemplates=yes&skipUpdateWeeklyReports=yes"));
if(!empty($upgradeReports)) $this->session->set('upgradeProjectReports', true);
$this->locate(inlink('afterExec', "fromVersion={$fromVersion}&processed=no&skipMoveFile=yes&skipUpdateDocs=yes&skipUpdateDocTemplates=yes&skipUpdateProjectReports=yes"));
}
$this->view->title = $this->lang->upgrade->upgradeWeeklyReports;
$this->view->title = $this->lang->upgrade->upgradeProjectReports;
$this->view->upgradeReports = $upgradeReports;
$this->view->fromVersion = $fromVersion;
$this->display();
}
/**
* 升级周报数据。
* Upgrade weekly reports.
* 升级项目报告数据。
* Upgrade project reports.
*
* @access public
* @return void
*/
public function ajaxUpgradeWeeklyReport()
public function ajaxUpgradeProjectReport()
{
if($_POST)
{
$data = isset($_POST['data']) ? $_POST['data'] : array();
if($data) $this->upgrade->upgradeWeeklyReport($data);
if($data) $this->upgrade->upgradeProjectReport($data);
$this->send(array('result' => 'success'));
}
}
@@ -1,4 +1,4 @@
/* 开始升级周报。*/
/* 开始升级项目报告。*/
window.startUpgradeReports = function(event, reportList, upgradingReportsText, nextText)
{
const $btn = $('#upgradeReportsBtn');
@@ -21,7 +21,7 @@ window.startUpgradeReports = function(event, reportList, upgradingReportsText, n
});
};
/* 更新升级周报进度。*/
/* 更新升级项目报告进度。*/
async function upgradeReports(reportList, options)
{
let current = 0;
@@ -38,11 +38,11 @@ async function upgradeReports(reportList, options)
return reportList;
}
/* 升级周报。*/
/* 升级项目报告。*/
async function upgradeReport(report)
{
let result;
await $.post($.createLink('upgrade', 'ajaxUpgradeWeeklyReport'), {data: report}, (res) =>
await $.post($.createLink('upgrade', 'ajaxUpgradeProjectReport'), {data: report}, (res) =>
{
result = res.result === 'success' ? true : res.message;
}, 'json');
+5 -4
View File
@@ -114,10 +114,11 @@ $lang->upgrade->upgradeDocTemplates = 'Upgrade templates data';
$lang->upgrade->upgradingDocTemplates = 'Upgrading templates data, please wait...';
$lang->upgrade->upgradeDocTemplatesTip = 'We are upgrading the historical data of the template. After the upgrade, it can be viewed and maintained in the template square under the document.';
$lang->upgrade->weeklyReportTitle = 'Week % s (% s ~% s)';
$lang->upgrade->upgradeWeeklyReports = "Upgrading {$lang->projectCommon} weekly report data";
$lang->upgrade->upgradingWeeklyReports = "Upgrading {$lang->projectCommon} weekly report data, please wait...";
$lang->upgrade->upgradeWeeklyReportsTip = "Detected %s {$lang->projectCommon} weekly report-related data requiring an upgrade";
$lang->upgrade->weeklyReportTitle = 'Week % s (% s ~% s)';
$lang->upgrade->milestoneTitle = '%s Milestone Report';
$lang->upgrade->upgradeProjectReports = "Upgrading {$lang->projectCommon} report data";
$lang->upgrade->upgradingProjectReports = "Upgrading {$lang->projectCommon} report data, please wait...";
$lang->upgrade->upgradeProjectReportsTip = "Detected %s {$lang->projectCommon} report-related data requiring an upgrade";
$lang->upgrade->newProgram = 'Create';
$lang->upgrade->editedName = 'New Name';
+5 -4
View File
@@ -114,10 +114,11 @@ $lang->upgrade->upgradeDocTemplates = 'Upgrade templates data';
$lang->upgrade->upgradingDocTemplates = 'Upgrading templates data, please wait...';
$lang->upgrade->upgradeDocTemplatesTip = 'We are upgrading the historical data of the template. After the upgrade, it can be viewed and maintained in the template square under the document.';
$lang->upgrade->weeklyReportTitle = 'Week % s (% s ~% s)';
$lang->upgrade->upgradeWeeklyReports = "Upgrading {$lang->projectCommon} weekly report data";
$lang->upgrade->upgradingWeeklyReports = "Upgrading {$lang->projectCommon} weekly report data, please wait...";
$lang->upgrade->upgradeWeeklyReportsTip = "Detected %s {$lang->projectCommon} weekly report-related data requiring an upgrade";
$lang->upgrade->weeklyReportTitle = 'Week % s (% s ~% s)';
$lang->upgrade->milestoneTitle = '%s Milestone Report';
$lang->upgrade->upgradeProjectReports = "Upgrading {$lang->projectCommon} report data";
$lang->upgrade->upgradingProjectReports = "Upgrading {$lang->projectCommon} report data, please wait...";
$lang->upgrade->upgradeProjectReportsTip = "Detected %s {$lang->projectCommon} report-related data requiring an upgrade";
$lang->upgrade->newProgram = 'Create';
$lang->upgrade->editedName = 'New Name';
+5 -4
View File
@@ -114,10 +114,11 @@ $lang->upgrade->upgradeDocTemplates = 'Upgrade templates data';
$lang->upgrade->upgradingDocTemplates = 'Upgrading templates data, please wait...';
$lang->upgrade->upgradeDocTemplatesTip = 'We are upgrading the historical data of the template. After the upgrade, it can be viewed and maintained in the template square under the document.';
$lang->upgrade->weeklyReportTitle = 'Week % s (% s ~% s)';
$lang->upgrade->upgradeWeeklyReports = "Upgrading {$lang->projectCommon} weekly report data";
$lang->upgrade->upgradingWeeklyReports = "Upgrading {$lang->projectCommon} weekly report data, please wait...";
$lang->upgrade->upgradeWeeklyReportsTip = "Detected %s {$lang->projectCommon} weekly report-related data requiring an upgrade";
$lang->upgrade->weeklyReportTitle = 'Week % s (% s ~% s)';
$lang->upgrade->milestoneTitle = '%s Milestone Report';
$lang->upgrade->upgradeProjectReports = "Upgrading {$lang->projectCommon} report data";
$lang->upgrade->upgradingProjectReports = "Upgrading {$lang->projectCommon} report data, please wait...";
$lang->upgrade->upgradeProjectReportsTip = "Detected %s {$lang->projectCommon} report-related data requiring an upgrade";
$lang->upgrade->newProgram = 'Create';
$lang->upgrade->editedName = 'New Name';
+5 -4
View File
@@ -114,10 +114,11 @@ $lang->upgrade->upgradeDocTemplates = '升级文档模板数据';
$lang->upgrade->upgradingDocTemplates = '正在升级文档模板,请稍候...';
$lang->upgrade->upgradeDocTemplatesTip = '正在升级后台文档模板的历史数据,升级后可在文档下模板广场中查看与维护。';
$lang->upgrade->weeklyReportTitle = '第 %s 周( %s ~ %s)';
$lang->upgrade->upgradeWeeklyReports = "升级{$lang->projectCommon}周报数据";
$lang->upgrade->upgradingWeeklyReports = "正在升级{$lang->projectCommon}周报数据,请稍候...";
$lang->upgrade->upgradeWeeklyReportsTip = "检测到 %s 个{$lang->projectCommon}周报相关数据需要升级";
$lang->upgrade->weeklyReportTitle = '第 %s 周( %s ~ %s)';
$lang->upgrade->milestoneTitle = '%s里程碑报告';
$lang->upgrade->upgradeProjectReports = "升级{$lang->projectCommon}报告数据";
$lang->upgrade->upgradingProjectReports = "正在升级{$lang->projectCommon}报告数据,请稍候...";
$lang->upgrade->upgradeProjectReportsTip = "检测到 %s 个{$lang->projectCommon}报告相关数据需要升级";
$lang->upgrade->newProgram = '新建';
$lang->upgrade->editedName = '调整后名称';
+32 -22
View File
@@ -11203,30 +11203,28 @@ class upgradeModel extends model
}
/**
* 获取需要更新的周报数据。
* Get weekly reports that need to be updated.
* 获取需要更新的项目报告数据。
* Get project reports that need to be updated.
*
* @access public
* @return array
*/
public function getUpgradeWeeklyReports(): array
public function getUpgradeProjectReports(): array
{
$reports = $this->dao->select('t1.id,t1.project,t1.weekStart,t2.status as projectStatus,t2.realBegan,t2.realEnd,t2.suspendedDate')->from(TABLE_WEEKLYREPORT)->alias('t1')
->leftJoin(TABLE_PROJECT)->alias('t2')->on('t1.project = t2.id')
->where('t2.status')->ne('wait')
->orderBy('t1.project asc, t1.weekStart asc')
->fetchAll();
if(empty($reports)) return array();
$projectReports = $this->dao->select('id,name,project')->from(TABLE_PROJECT)->where('type')->eq('stage')->andWhere('milestone')->eq('1')->fetchAll();
if(empty($reports) && empty($projectReports)) return array();
$thisSunday = date('Y-m-d', strtotime('this Sunday'));
foreach($reports as $key => $report)
{
if($report->projectStatus == 'doing') $report->realBegan = !helper::isZeroDate($report->realBegan) ? $report->realBegan : $report->weekStart;
if(helper::isZeroDate($report->realBegan))
{
unset($reports[$key]);
continue;
}
if(helper::isZeroDate($report->realBegan)) continue;
$beginTimestame = strtotime($report->realBegan);
$day = date('w', $beginTimestame);
@@ -11234,7 +11232,7 @@ class upgradeModel extends model
$report->projectBegin = date('Y-m-d', $beginTimestame - (($day - 1) * 24 * 3600));
/* Filter date < project begin date report. */
if($report->weekStart < $report->projectBegin) unset($reports[$key]);
if($report->weekStart < $report->projectBegin) continue;
if($report->projectStatus == 'doing') $report->projectEnd = $thisSunday;
if($report->projectStatus == 'suspended') $report->projectEnd = $report->suspendedDate;
@@ -11242,32 +11240,44 @@ class upgradeModel extends model
/* Filter date > project end date report. */
$report->projectEnd = date('Y-m-d', strtotime($report->projectEnd));
if($report->weekStart > $report->projectEnd) unset($reports[$key]);
if($report->weekStart > $report->projectEnd) continue;
$projectReports[] = $report;
}
return array_values($reports);
return $projectReports;
}
/**
* 升级周报数据。
* Upgrade Weekly Report.
* 升级项目报告数据。
* Upgrade project report data.
*
* @param array $data
* @access public
* @return bool
*/
public function upgradeWeeklyReport(array $data): bool
public function upgradeProjectReport(array $data): bool
{
$weekNumber = ceil(helper::diffDate($data['weekStart'], $data['projectBegin']) / 7) + 1;
$weekEnd = date('Y-m-d', strtotime('+6 day', strtotime($data['weekStart'])));
$report = new stdclass();
$report->title = sprintf($this->lang->upgrade->weeklyReportTitle, $weekNumber, $data['weekStart'], $weekEnd);
if(!empty($data['weekStart']))
{
$weekNumber = ceil(helper::diffDate($data['weekStart'], $data['projectBegin']) / 7) + 1;
$weekEnd = date('Y-m-d', strtotime('+6 day', strtotime($data['weekStart'])));
$report->title = sprintf($this->lang->upgrade->weeklyReportTitle, $weekNumber, $data['weekStart'], $weekEnd);
$report->module = 'week';
$report->addedDate = $data['weekStart'] . ' 00:00:00';
$report->weeklyDate = str_replace('-', '', $data['weekStart']);
}
else
{
$report->title = sprintf($this->lang->upgrade->milestoneTitle, $data['name']);
$report->module = 'milestone';
$report->execution = $data['id'];
$report->addedDate = helper::now();
}
$report->project = $data['project'];
$report->templateType = 'projectReport';
$report->module = 'week';
$report->weeklyDate = str_replace('-', '', $data['weekStart']);
$report->addedBy = 'system';
$report->addedDate = $data['weekStart'] . ' 00:00:00';
$this->dao->insert(TABLE_DOC)->data($report)->exec();
return !dao::isError();
@@ -904,16 +904,16 @@ class upgradeTest
}
/**
* 升级周报数据。
* Upgrade Weekly Report.
* 升级项目报告数据。
* Upgrade project report data.
*
* @param array $data
* @access public
* @return object
*/
public function upgradeWeeklyReportTest(array $data): object
public function upgradeProjectReportTest(array $data): object
{
$this->objectModel->upgradeWeeklyReport($data);
$this->objectModel->upgradeProjectReport($data);
return $this->objectModel->dao->select('*')->from(TABLE_DOC)->orderBy('id_desc')->limit(1)->fetch();
}
}
@@ -2,7 +2,7 @@
<?php
/**
title=测试 projectModel->getUpgradeWeeklyReports();
title=测试 projectModel->getUpgradeProjectReports();
timeout=0
cid=1
@@ -11,7 +11,7 @@ cid=1
- 属性project @2
- 属性weekStart @2025-01-08
- 属性projectStatus @doing
- 属性projectBegin @2025-01-01
- 属性projectBegin @2024-12-30
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
@@ -28,7 +28,7 @@ su('admin');
global $tester;
$upgradeModel = $tester->loadModel('upgrade');
$result = $upgradeModel->getUpgradeWeeklyReports();
$result = $upgradeModel->getUpgradeProjectReports();
r(count($result)) && p() && e('8'); // 检查周报数量
r($result[0]) && p('project,weekStart,projectStatus,projectBegin') && e('2,2025-01-08,doing,2025-01-01'); // 检查周报信息
r($result[0]) && p('project,weekStart,projectStatus,projectBegin') && e('2,2025-01-08,doing,2024-12-30'); // 检查周报信息
@@ -2,20 +2,20 @@
<?php
/**
title=测试 projectModel->upgradeWeeklyReport();
title=测试 projectModel->upgradeProjectReport();
timeout=0
cid=1
- 测试升级开始日期跟项目开始日期相同的周报
- 属性title @第 1 周( 2025-01-01 ~ 2025-01-07)
- 属性project @1
- 属性templateType @weekly
- 属性templateType @projectReport
- 属性weeklyDate @20250101
- 属性addedBy @system
- 测试升级开始日期跟项目开始日期不同的周报
- 属性title @第 4 周( 2025-09-08 ~ 2025-09-14)
- 属性title @第 5 周( 2025-09-08 ~ 2025-09-14)
- 属性project @1
- 属性templateType @weekly
- 属性templateType @projectReport
- 属性weeklyDate @20250908
- 属性addedBy @system
@@ -31,5 +31,5 @@ $data[] = array('weekStart' => '2025-01-01', 'projectBegin' => '2025-01-01', 'pr
$data[] = array('weekStart' => '2025-09-08', 'projectBegin' => '2025-08-11', 'project' => 1);
$upgradeTester = new upgradeTest();
r($upgradeTester->upgradeWeeklyReportTest($data[0])) && p('title,project,templateType,weeklyDate,addedBy') && e('第 1 周( 2025-01-01 ~ 2025-01-07),1,weekly,20250101,system'); // 测试升级开始日期跟项目开始日期相同的周报
r($upgradeTester->upgradeWeeklyReportTest($data[1])) && p('title,project,templateType,weeklyDate,addedBy') && e('第 4 周( 2025-09-08 ~ 2025-09-14),1,weekly,20250908,system'); // 测试升级开始日期跟项目开始日期不同的周报
r($upgradeTester->upgradeProjectReportTest($data[0])) && p('title,project,templateType,weeklyDate,addedBy') && e('第 1 周( 2025-01-01 ~ 2025-01-07),1,projectReport,20250101,system'); // 测试升级开始日期跟项目开始日期相同的周报
r($upgradeTester->upgradeProjectReportTest($data[1])) && p('title,project,templateType,weeklyDate,addedBy') && e('第 5 周( 2025-09-08 ~ 2025-09-14),1,projectReport,20250908,system'); // 测试升级开始日期跟项目开始日期不同的周报
@@ -1,7 +1,7 @@
<?php
declare(strict_types=1);
/**
* The upgradeWeeklyReports view file of upgrade module of ZenTaoPMS.
* The upgradeProjectReports view file of upgrade module of ZenTaoPMS.
* @copyright Copyright 2009-2025 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
* @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
* @author Shujie Tian <tianshujie@chandao.com>
@@ -22,7 +22,7 @@ div
panel
(
setStyle('width', '600px'),
set::title(sprintf($lang->upgrade->upgradeWeeklyReportsTip, count($upgradeReports))),
set::title(sprintf($lang->upgrade->upgradeProjectReportsTip, count($upgradeReports))),
set::size('lg'),
progressBar
(
@@ -37,11 +37,11 @@ div
(
setID('upgradeReportsBtn'),
set::type('primary'),
set::url('upgrade', 'upgradeWeeklyReports', "fromVersion={$fromVersion}&processed=yes"),
on::click()->call('startUpgradeReports', jsRaw('event'), $upgradeReports, $lang->upgrade->upgradingWeeklyReports, $lang->upgrade->next),
span(setClass('hidden as-upgrading-text'), $lang->upgrade->upgradingWeeklyReports),
set::url('upgrade', 'upgradeProjectReports', "fromVersion={$fromVersion}&processed=yes"),
on::click()->call('startUpgradeReports', jsRaw('event'), $upgradeReports, $lang->upgrade->upgradingProjectReports, $lang->upgrade->next),
span(setClass('hidden as-upgrading-text'), $lang->upgrade->upgradingProjectReports),
span(setClass('hidden as-finish-text'), $lang->upgrade->next),
$lang->upgrade->upgradeWeeklyReports
$lang->upgrade->upgradeProjectReports
)
)
)
-1
View File
@@ -21,7 +21,6 @@ $lang->weekly->finished = 'Work finished this week (100% completed work)';
$lang->weekly->postponed = 'Work unfinished this week';
$lang->weekly->nextWeek = 'Work planned for next week';
$lang->weekly->workloadByType = 'Workload Summary';
$lang->weekly->milestoneTitle = '%s Milestone Report';
$lang->weekly->term = 'Reporting Cycle';
$lang->weekly->project = $lang->projectCommon . ' Name';
-1
View File
@@ -21,7 +21,6 @@ $lang->weekly->finished = 'Work finished this week (100% completed work)';
$lang->weekly->postponed = 'Work unfinished this week';
$lang->weekly->nextWeek = 'Work planned for next week';
$lang->weekly->workloadByType = 'Workload Summary';
$lang->weekly->milestoneTitle = '%s Milestone Report';
$lang->weekly->term = 'Reporting Cycle';
$lang->weekly->project = $lang->projectCommon . ' Name';
-1
View File
@@ -21,7 +21,6 @@ $lang->weekly->finished = 'Work finished this week (100% completed work)';
$lang->weekly->postponed = 'Work unfinished this week';
$lang->weekly->nextWeek = 'Work planned for next week';
$lang->weekly->workloadByType = 'Workload Summary';
$lang->weekly->milestoneTitle = '%s Milestone Report';
$lang->weekly->term = 'Reporting Cycle';
$lang->weekly->project = $lang->projectCommon . ' Name';
-1
View File
@@ -21,7 +21,6 @@ $lang->weekly->finished = '本周工作完成情况(100%完成的工作
$lang->weekly->postponed = '本周未完成工作';
$lang->weekly->nextWeek = '下周工作计划';
$lang->weekly->workloadByType = '工作量统计';
$lang->weekly->milestoneTitle = '%s里程碑报告';
$lang->weekly->term = '报告周期';
$lang->weekly->project = $lang->projectCommon . '名称';
-28
View File
@@ -795,32 +795,4 @@ class weeklyModel extends model
return json_encode($rawContent);
}
/**
* 升级里程碑报告数据。
* Upgrade milestone report data.
*
* @access public
* @return bool
*/
public function upgradeMilestoneData(): bool
{
/* Set milestone report data. */
$report = new stdclass();
$report->addedBy = 'system';
$report->addedDate = helper::now();
$report->templateType = 'projectReport';
$report->module = 'milestone';
$stages = $this->dao->select('id,name,project')->from(TABLE_PROJECT)->where('type')->eq('stage')->andWhere('milestone')->eq('1')->fetchAll('id');
foreach($stages as $stageID => $stage)
{
$report->project = $stage->project;
$report->execution = $stageID;
$report->title = sprintf($this->lang->weekly->milestoneTitle, $stage->name);
$this->dao->insert(TABLE_DOC)->data($report)->exec();
}
return !dao::isError();
}
}
@@ -464,17 +464,4 @@ class weeklyTest
return $objects;
}
/**
* 升级里程碑报告数据。
* Upgrade milestone report data.
*
* @access public
* @return array
*/
public function upgradeMilestoneDataTest(): array
{
$this->objectModel->upgradeMilestoneData();
return $this->objectModel->dao->select('*')->from(TABLE_DOC)->where('module')->eq('milestone')->andWhere('templateType')->eq('projectReport')->fetchAll();
}
}
@@ -1,28 +0,0 @@
#!/usr/bin/env php
<?php
/**
title=测试 weeklyModel->upgradeMilestoneData();
timeout=0
cid=1
- 获取里程碑报告的数量 @5
- 获取里程碑报告的信息
- 第0条的title属性 @阶段14里程碑报告
- 第0条的project属性 @2
- 第0条的execution属性 @14
- 第0条的templateType属性 @projectReport
- 第0条的module属性 @milestone
*/
include dirname(__FILE__, 5) . '/test/lib/init.php';
include dirname(__FILE__, 2) . '/lib/weekly.unittest.class.php';
zenData('project')->loadYaml('execution')->gen(20);
zenData('doc')->gen(0);
zenData('user')->gen(5);
su('admin');
$weeklyTester = new weeklyTest();
$result = $weeklyTester->upgradeMilestoneDataTest();
r(count($result)) && p() && e('5'); // 获取里程碑报告的数量
r($result) && p('0:title,project,execution,templateType,module') && e('阶段14里程碑报告,2,14,projectReport,milestone'); // 获取里程碑报告的信息