Merge branch 'master' of https://git.zcorp.cc/easycorp/zentaopms
This commit is contained in:
@@ -1932,7 +1932,7 @@ class projectModel extends model
|
||||
* @access public
|
||||
* @return array $changes|false
|
||||
*/
|
||||
public function activate($project) :array|false
|
||||
public function activate(object $project) :array|false
|
||||
{
|
||||
$now = helper::now();
|
||||
$projectID = $project->id;
|
||||
@@ -1948,7 +1948,7 @@ class projectModel extends model
|
||||
if($project->readjustTime and $project->readjustTask)
|
||||
{
|
||||
$beginTimeStamp = strtotime($project->begin);
|
||||
$tasks = $this->projectTao->fetchUndoneTasks($projectID);
|
||||
$tasks = $this->projectTao->fetchUndoneTasks((int)$projectID);
|
||||
$this->projectTao->updateTasksStartAndEndDate($tasks);
|
||||
}
|
||||
/* Activate the shadow product of the project. (only change product status) */
|
||||
|
||||
@@ -16,7 +16,7 @@ class projectTao extends projectModel
|
||||
* @access protected
|
||||
* @return void
|
||||
*/
|
||||
protected function doStart(int $projectID, object $project):void
|
||||
protected function doStart(int $projectID, object $project) :void
|
||||
{
|
||||
$this->dao->update(TABLE_PROJECT)->data($project)
|
||||
->autoCheck()
|
||||
@@ -26,14 +26,15 @@ class projectTao extends projectModel
|
||||
->where('id')->eq((int)$projectID)
|
||||
->exec();
|
||||
}
|
||||
|
||||
/**
|
||||
* Update project.
|
||||
*
|
||||
* @param object $project
|
||||
* @param object $project
|
||||
* @access protected
|
||||
* @return void
|
||||
*/
|
||||
protected function updateProject($project) :void
|
||||
protected function updateProject(object $project) :void
|
||||
{
|
||||
$this->dao->update(TABLE_PROJECT)->data($project)
|
||||
->autoCheck()
|
||||
@@ -45,11 +46,11 @@ class projectTao extends projectModel
|
||||
/**
|
||||
* Fetch undone tasks.
|
||||
*
|
||||
* @param int $projectID
|
||||
* @param int $projectID
|
||||
* @access protected
|
||||
* @return array
|
||||
*/
|
||||
protected function fetchUndoneTasks($projectID) :array
|
||||
protected function fetchUndoneTasks(int $projectID) :array
|
||||
{
|
||||
return $this->dao->select('id,estStarted,deadline,status')->from(TABLE_TASK)
|
||||
->where('deadline')->notZeroDate()
|
||||
@@ -61,11 +62,11 @@ class projectTao extends projectModel
|
||||
/**
|
||||
* Update start and end date of tasks.
|
||||
*
|
||||
* @param array $tasks
|
||||
* @param array $tasks
|
||||
* @access protected
|
||||
* @return void
|
||||
*/
|
||||
protected function updateTasksStartAndEndDate($tasks) :void
|
||||
protected function updateTasksStartAndEndDate(array $tasks) :void
|
||||
{
|
||||
foreach($tasks as $task)
|
||||
{
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . "/test/lib/init.php";
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
@@ -9,16 +9,36 @@ title=测试 projectModel->activate();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
激活id为66状态是closed的项目 >> status,closed,doing
|
||||
激活id为73状态是suspended的项目 >> status,suspended,doing
|
||||
激活id为20的项目 >> object
|
||||
激活id为20的项目 >> object
|
||||
|
||||
*/
|
||||
|
||||
global $tester;
|
||||
$tester->loadModel('project');
|
||||
|
||||
$changes1 = $tester->project->activate(66);
|
||||
$changes2 = $tester->project->activate(73);
|
||||
$project = new Project();
|
||||
|
||||
$data1 = array(
|
||||
'id' => 2,
|
||||
'begin'=> '2023-04-26',
|
||||
'end'=> '10001-01-07',
|
||||
'readjustTime'=> 1,
|
||||
'readjustTask'=> 1,
|
||||
'status'=> 'doing',
|
||||
'comment'=> 'sdfsdf'
|
||||
);
|
||||
|
||||
$data2 = array(
|
||||
'id' => 3,
|
||||
'begin'=> '2023-04-26',
|
||||
'end'=> '10001-01-07',
|
||||
'readjustTime'=> 1,
|
||||
'readjustTask'=> 1,
|
||||
'status'=> 'doing',
|
||||
'comment'=> 'sdfsdf'
|
||||
);
|
||||
|
||||
r($project->activate($data1)) && p('1:field,old,new') && e('status,closed,doing'); // 激活id为2状态是closed的项目
|
||||
r($project->activate($data2)) && p('1:field,old,new') && e('status,suspended,doing'); // 激活id为3状态是suspended的项目
|
||||
|
||||
r($changes1) && p('1:field,old,new') && e('status,closed,doing'); // 激活id为66状态是closed的项目
|
||||
r($changes2) && p('1:field,old,new') && e('status,suspended,doing'); // 激活id为73状态是suspended的项目
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
su('admin');
|
||||
|
||||
/**
|
||||
|
||||
title=测试 projectModel->activate();
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
激活id为66状态是closed的项目 >> status,closed,doing
|
||||
激活id为73状态是suspended的项目 >> status,suspended,doing
|
||||
|
||||
*/
|
||||
|
||||
global $tester;
|
||||
$tester->loadModel('project');
|
||||
|
||||
$changes1 = $tester->project->activate(66);
|
||||
$changes2 = $tester->project->activate(73);
|
||||
|
||||
r($changes1) && p('1:field,old,new') && e('status,closed,doing'); // 激活id为66状态是closed的项目
|
||||
r($changes2) && p('1:field,old,new') && e('status,suspended,doing'); // 激活id为73状态是suspended的项目
|
||||
Reference in New Issue
Block a user