Merge branch release/21.7.6 of zentao/zentaopms (#11576)
This commit is contained in:
@@ -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
@@ -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'));
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -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');
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -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'); // 检查周报信息
|
||||
+6
-6
@@ -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'); // 测试升级开始日期跟项目开始日期不同的周报
|
||||
+6
-6
@@ -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
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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 . '名称';
|
||||
|
||||
@@ -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'); // 获取里程碑报告的信息
|
||||
Reference in New Issue
Block a user