function get_parts_group($start_date, $end_date, $use_dep = '') { $results = array(); // 总的累加和 $results['sum'] = array('work_hours' => 0, 'work_prices' => 0); $parts = Part::find('all', array('conditions' => array(' DATE(`return_date`) >= ? AND DATE(`return_date`) <= ? ', $start_date, $end_date))); foreach ($parts as $part) { // 按领用部门筛选 if ($use_dep) { if ($part->production->use_dep != $use_dep) { continue; } } $sum = get_total_work_hours_and_prices($part->processes); $results[$part->production->use_dep]['parts'][] = array('id' => $part->id, 'num' => $part->num, 'name' => $part->name, 'count' => $part->count, 'count_done' => $part->count_done, 'work_hours' => $sum['part_work_hours'], 'work_prices' => $sum['part_work_prices']); // 累加 if (!isset($results[$part->production->use_dep]['sum'])) { $results[$part->production->use_dep]['sum'] = array('work_hours' => 0, 'work_prices' => 0); } // 分组累加 $results[$part->production->use_dep]['sum']['work_hours'] += $sum['part_work_hours']; $results[$part->production->use_dep]['sum']['work_prices'] += $sum['part_work_prices']; // 累加所有分组的每一条记录的工时和金额 $results['sum']['work_hours'] += $sum['part_work_hours']; $results['sum']['work_prices'] += $sum['part_work_prices']; //debug( $results[$part->production->use_dep]['sum'] ); } return $results; }
function done_but_empty_return_date() { $parts = Part::find('all', array('conditions' => array(" is_done = 1 AND return_date=0 "))); $results = array(); foreach ($parts as $part) { $results[] = array('num' => $part->num, 'name' => $part->name, 'count' => $part->count, 'completion_date' => $part->completion_date ? date('Y-m-d', strtotime($part->completion_date)) : '', 'work_hours' => get_total_work_hours_and_prices($part->processes)['part_work_hours']); } render_with_layout('misc.php', 'Parts/empty_return_date.php', compact('results')); }