* @package * @uses func * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html) * @Link https://www.zentao.net */ class day_of_annual_effort extends baseCalc { public $dataset = 'getEfforts'; public $fieldList = array('t1.date', 't1.consumed'); public $result = array(); public function calculate($row) { $year = $this->getYear($row->date); if(!$year) return false; $consumed = $row->consumed; $defaultHours = $row->defaultHours; if(!isset($this->result[$year])) $this->result[$year] = array('consumed' => 0, 'defaultHours' => $defaultHours); $this->result[$year]['consumed'] += $consumed; } public function getResult($options = array()) { $records = array(); foreach($this->result as $year => $value) { $consumed = $value['consumed']; $defaultHours = $value['defaultHours']; $dayPerson = round($consumed / $defaultHours, 2); $records[] = array('year' => $year, 'value' => $dayPerson); } return $this->filterByOptions($records, $options); } }