Merge branch 'master' of https://gitlab.zcorp.cc/easycorp/zentaopms into sprint/253_tianshujie_dashboard

This commit is contained in:
tianshujie
2022-10-26 14:31:44 +08:00
7 changed files with 67 additions and 17 deletions
+10 -17
View File
@@ -33,6 +33,11 @@ class weekly extends control
*/
public function commonAction($projectID = 0)
{
if(common::hasPriv('weekly', 'exportweeklyreport'))
{
$this->lang->TRActions = "<div class='btn-toolbar pull-right'>" . html::a($this->createLink('weekly', 'exportweeklyreport', 'module=' . $this->app->getModuleName() . '&projectID=' . $projectID), $this->lang->export, '', "class='btn btn-primary' data-width='30%' id='exportreport' data-group='project'") . '</div';
}
$this->loadModel('project')->setMenu($projectID);
}
@@ -52,24 +57,12 @@ class weekly extends control
$this->weekly->save($projectID, $date);
/* Get report data from module and assign data to view object. */
$data = $this->weekly->getReportData($projectID, $date);
foreach($data as $key => $val) $this->view->$key = $val;
$this->view->title = $this->lang->weekly->common;
$PVEV = $this->weekly->getPVEV($projectID, $date);
$this->view->pv = $PVEV['PV'];
$this->view->ev = $PVEV['EV'];
$this->view->ac = $this->weekly->getAC($projectID, $date);
$this->view->sv = $this->weekly->getSV($this->view->ev, $this->view->pv);
$this->view->cv = $this->weekly->getCV($this->view->ev, $this->view->ac);
$this->view->project = $this->loadModel('project')->getByID($projectID);
$this->view->weekSN = $this->weekly->getWeekSN($this->view->project->begin, $date);
$this->view->monday = $this->weekly->getThisMonday($date);
$this->view->lastDay = $this->weekly->getLastDay($date);
$this->view->staff = $this->weekly->getStaff($projectID, $date);
$this->view->finished = $this->weekly->getFinished($projectID, $date);
$this->view->postponed = $this->weekly->getPostponed($projectID, $date);
$this->view->nextWeek = $this->weekly->getTasksOfNextWeek($projectID, $date);
$this->view->workload = $this->weekly->getWorkloadByType($projectID, $date);
$this->view->date = $date;
$this->lang->modulePageNav = $this->weekly->getPageNav($this->view->project, $date);
$this->display();
+2
View File
@@ -39,3 +39,5 @@ $lang->weekly->sv = 'Schedule Variance(SV%)';
$lang->weekly->cv = 'Cost Variance(CV%)';
$lang->weekly->totalCount = 'Total : %u tasks';
$lang->weekly->exportWeeklyReport = 'Export Weekly Report';
+2
View File
@@ -39,3 +39,5 @@ $lang->weekly->sv = 'Schedule Variance(SV%)';
$lang->weekly->cv = 'Cost Variance(CV%)';
$lang->weekly->totalCount = 'Total : %u tasks';
$lang->weekly->exportWeeklyReport = 'Export Weekly Report';
+2
View File
@@ -39,3 +39,5 @@ $lang->weekly->sv = 'Schedule Variance(SV%)';
$lang->weekly->cv = 'Cost Variance(CV%)';
$lang->weekly->totalCount = 'Total : %u tasks';
$lang->weekly->exportWeeklyReport = 'Export Weekly Report';
+2
View File
@@ -39,3 +39,5 @@ $lang->weekly->sv = '进度偏差率(SV%)';
$lang->weekly->cv = '成本偏差率(CV%';
$lang->weekly->totalCount = '总计 : %u 个任务';
$lang->weekly->exportWeeklyReport = '导出周报';
+40
View File
@@ -531,4 +531,44 @@ class weeklyModel extends model
return '';
}
/**
* Get report data.
*
* @param int $projectID
* @param string $date
* @param bool $loadMaster
* @access public
* @return stdclass
*/
public function getReportData($projectID = 0, $date = '', $loadMaster = false)
{
$data = new stdclass();
$PVEV = $this->getPVEV($projectID, $date);
$data->pv = $PVEV['PV'];
$data->ev = $PVEV['EV'];
$data->ac = $this->getAC($projectID, $date);
$data->sv = $this->getSV($data->ev, $data->pv);
$data->cv = $this->getCV($data->ev, $data->ac);
$data->project = $this->loadModel('project')->getByID($projectID);
$data->weekSN = $this->getWeekSN($data->project->begin, $date);
$data->monday = $this->getThisMonday($date);
$data->lastDay = $this->getLastDay($date);
$data->staff = $this->getStaff($projectID, $date);
$data->finished = $this->getFinished($projectID, $date);
$data->postponed = $this->getPostponed($projectID, $date);
$data->nextWeek = $this->getTasksOfNextWeek($projectID, $date);
$data->workload = $this->getWorkloadByType($projectID, $date);
$data->progress = $this->getTips('progress', $data->sv);
if($loadMaster)
{
$data->users = $this->loadModel('user')->getPairs('noletter');
$data->master = zget($data->users, $data->project->PM, '');
}
return $data;
}
}
+9
View File
@@ -10,6 +10,15 @@
*/
?>
<?php include '../../common/view/header.html.php';?>
<?php js::set('selectedWeekBegin', $date);?>
<?php if(common::hasPriv('weekly', 'exportweeklyreport')):?>
<script>
$(function()
{
$('#exportreport').modalTrigger();
});
</script>
<?php endif;?>
<div id="mainMenu" class="clearfix text-center">
<div id='mainContent' >
<div class='main-table'>