Esempio n. 1
0
 function get_works_detail($works, $switch = 'default')
 {
     $results = array();
     // 按员工分组现场工时
     foreach ($works as $work) {
         if ($switch == 'default') {
             $work_hours = get_work_hours($work);
         }
         if ($switch == 'unchecked') {
             $work_hours = get_uncheck_work_hours($work);
         }
         if ($switch == 'unsubmitted') {
             $work_hours = get_unsubmitted_work_hours($work);
         }
         // 考核率
         $assessment_rate = cal_assessment($work);
         $assessment_work_hours = round($work_hours * (1 - $assessment_rate), 2);
         $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['works'][] = array('overdue_days' => daysbetweendates($work->check_date, $work->process->planned_completion_date), 'work_count' => $work->count, 'work_count_valid' => $work->count_valid, 'work_count_concession' => $work->count_concession, 'work_count_invalid' => $work->count_invalid, 'work_count_check' => $work->count_check, 'work_ticket' => $work->ticket, 'work_hours' => $work_hours, 'work_check_date' => $work->check_date ? date('Y/m/d', strtotime($work->check_date)) : '', 'work_completion_date' => $work->completion_date ? date('Y/m/d', strtotime($work->completion_date)) : '', 'work_remark' => get_proc_plan_source($work->process->part->production), 'assessment_rate' => $assessment_rate, 'assessment_work_hours' => $assessment_work_hours, 'proc_priority' => $work->process->priority, 'proc_name' => get_proc_name($work->process->name), 'proc_takt_time' => $work->process->takt_time ? $work->process->takt_time : 0, 'proc_preparation_time' => $work->process->preparation_time ? $work->process->preparation_time : 0, 'proc_production_date' => $work->process->production_date ? date('Y/m/d', strtotime($work->process->production_date)) : '', 'proc_planned_completion_date' => $work->process->planned_completion_date ? date('Y/m/d', strtotime($work->process->planned_completion_date)) : '', 'part_num' => $work->process->part->num, 'part_name' => $work->process->part->name, 'part_return_date' => $work->process->part->return_date ? date('Y/m/d', strtotime($work->process->part->return_date)) : '', 'prod_type' => get_prod_type($work->process->part->production->type), 'prod_graphic_src' => get_prod_graphic_src($work->process->part->production->graphic_src));
         // 累加同种工序现场工时小计
         if (!isset($results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['work_hours_sum'])) {
             $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['work_hours_sum'] = 0;
         }
         $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['work_hours_sum'] += $work_hours;
         // 累加同种工序考核现场工时小计
         if (!isset($results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['a_work_hours_sum'])) {
             $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['a_work_hours_sum'] = 0;
         }
         $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['works'][$work->process->name]['a_work_hours_sum'] += $assessment_work_hours;
         // 累加所有工时小计
         if (!isset($results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['work_hours_sum'])) {
             $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['work_hours_sum'] = 0;
         }
         $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['work_hours_sum'] += $work_hours;
         // 累加所有考核工时小计
         if (!isset($results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['a_work_hours_sum'])) {
             $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['a_work_hours_sum'] = 0;
         }
         $results[$work->staff->group_id][$work->staff->identifier . '_' . $work->staff->name]['a_work_hours_sum'] += $assessment_work_hours;
     }
     return $results;
 }
Esempio n. 2
0
 function get_undo_parts()
 {
     $results = array();
     $count_sum = 0;
     /* 生产数量合计 */
     $feeding_price_sum = 0;
     /* 投料金额合计 */
     $parts = Part::find('all', array('conditions' => array('is_done = ?', 0), 'order' => 'id asc'));
     //
     foreach ($parts as $part) {
         $results['parts'][] = array('part_num' => $part->num, 'part_name' => $part->name, 'part_count' => $part->count, 'part_feeding_price' => $part->feeding_price, 'prod_type' => get_prod_type($part->production->type), 'prod_graphic_src' => get_prod_graphic_src($part->production->graphic_src));
         $count_sum += $part->count;
         $feeding_price_sum += $part->feeding_price;
     }
     $results['count_sum'] = $count_sum;
     $results['feeding_price_sum'] = $feeding_price_sum;
     return $results;
 }
Esempio n. 3
0
						</a>

					</div>
				</div>
				<div class="col-xs-6">
					<div class="list-group">

						<a href="#" class="list-group-item">
							<h4 class="list-group-item-heading">图纸信息</h4>
							<p class="list-group-item-text">
								<h5><span class="customLabel">图纸编号:</span> <strong><?php 
echo $prod->graphic_num;
?>
</strong></h5>
								<h5><span class="customLabel">图纸来源:</span> <strong><?php 
echo get_prod_graphic_src($prod->graphic_src);
?>
</strong></h5>
								<h5><span class="customLabel">图纸张数:</span> <strong><?php 
echo $prod->graphic_count;
?>
</strong></h5>
							</p>
						</a>

						<a href="#" class="list-group-item">
							<h4 class="list-group-item-heading">部门与联系人</h4>
							<p class="list-group-item-text">
								<h5><span class="customLabel">领用部门:</span> <strong><?php 
echo get_prod_use_dep($prod->use_dep);
?>
Esempio n. 4
0
 function outport($type)
 {
     // 工装管理员 生产安全部
     if (!has_perm(6, 1)) {
         exit;
     }
     $app = get_app();
     $type = $type == 'is_done' ? 1 : 0;
     // 查询
     $prods = Production::find('all', array('conditions' => array('is_done = ?', $type), 'order' => 'id desc'));
     // data
     $data[0] = array('指令号', '名称', '图号', '数量', '计划完工时间', '是否完工', '图纸来源', '项目来源', '联系人', '联系电话', '备注');
     foreach ($prods as $prod) {
         $data[] = array($prod->num, $prod->name, $prod->graphic_num, $prod->count, $prod->planned_completion_date ? date('Y-m-d', strtotime($prod->planned_completion_date)) : '', $type ? '是' : '否', get_prod_graphic_src($prod->graphic_src), $prod->project_src, $prod->completion_contact_person, $prod->completion_contact_phone, $prod->remark);
     }
     // xml
     $app->response->headers->set('Content-Type', 'application/vnd.ms-excel; charset=UTF-8');
     $xls = new \Excel_XML('UTF-8', true, date('Y-m-d') . '_Prod');
     $xls->addArray($data);
     $xls->generateXML(date('Y-m-d') . '_Prod');
 }