public function attendance() { // Getting all records from model associates table. // $data = Attendance::all(); // $data = Attendance::first(); $data = Attendance::paginate(15); // Returning data on view. return view('laporan.attendance', ['data' => $data]); }
public function getIndex() { // Getting all records from model associates table. // $data = Attendance::all(); // $data = Attendance::first(); $data = Attendance::paginate(15); // Returning data on view. return view('planner.index', ['data' => $data]); //return view('planner.mycalendar'); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Attendance::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'train_id' => $this->train_id, 'user_id' => $this->user_id, 'day' => $this->day, 'status' => $this->status]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Attendance::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'present' => $this->present, 'Student_Module_id' => $this->Student_Module_id, 'date' => $this->date]); $query->andFilterWhere(['like', 'notes', $this->notes]); return $dataProvider; }
/** * 计算评分。 * * 评分:实践(满分100分)理论(满分100分)规则(满分100分) 总评((实践分数+理论分数+规则分数)/3) * * 考勤:迟到20,早退20,旷课40,请假10 * * 评估:优,90以上,良,60-89,差0-59 * * 评价结果: * * 1:推荐晋级(80以上) 这种不需要获得活动中的晋级积分 优 * 2:实践1年推荐晋级(60-79)需要获得80分晋级积分,满12个月晋级 良 * 3:仅限当前级(60-79)无法晋级 * 4:通过(60以上)满80分可晋级 * 5:未通过(0-59)差 * * @param $practice_score * @param $theory_score * @param $rule_score * @param $train_id * @param $user_id * */ public function getSource($trainId, $userId, $practiceScore, $theoryScore, $ruleScore) { if (!empty($practiceScore) && !empty($theoryScore) && !empty($ruleScore)) { //成绩总评 $scoreAppraise = intval(($practiceScore + $theoryScore + $ruleScore) / 3); //考勤 $attendanceList = Attendance::getAllByTrainIdAndUserId($trainId, $userId); $attendanceScore = 100; foreach ($attendanceList as $key => $val) { if ($val['status'] == Attendance::LATER) { $attendanceScore -= Attendance::LATER_SOURCE; } elseif ($val['status'] == Attendance::EARLY) { $attendanceScore -= Attendance::EARLY_SOURCE; } elseif ($val['status'] == Attendance::ABSENCES) { $attendanceScore -= Attendance::ABSENCES_SOURCE; } elseif ($val['status'] == Attendance::LEAVE) { $attendanceScore -= Attendance::LEAVE_SOURCE; } else { $attendanceScore == $attendanceScore; } } if ($attendanceScore < 0) { $attendanceScore = 1; } //得到最少的一项评分,用来计算成绩评价结果和判断是否通过 $performanceSource = min($practiceScore, $theoryScore, $ruleScore); //获取评估 foreach (TrainUsers::$assessRules as $k => $v) { if ($attendanceScore > $v['small'] && $attendanceScore <= $v['big']) { //考勤结果 $attendanceComment = TrainUsers::$assessList[$k]; } if ($scoreAppraise > $v['small'] && $scoreAppraise <= $v['big']) { //评估总评 $commentAppraise = TrainUsers::$assessList[$k]; } if ($practiceScore > $v['small'] && $practiceScore <= $v['big']) { //实践评估 $practiceComment = TrainUsers::$assessList[$k]; } if ($theoryScore > $v['small'] && $theoryScore <= $v['big']) { //理论评估 $theoryComment = TrainUsers::$assessList[$k]; } if ($ruleScore > $v['small'] && $ruleScore <= $v['big']) { //规则评估 $rulesComment = TrainUsers::$assessList[$k]; } //成绩评价结果 if ($performanceSource > $v['small'] && $performanceSource <= $v['big']) { //成绩评价结果 $performance = TrainUsers::$performanceList[$k]; } } foreach (TrainUsers::$statusRules as $kk => $vv) { if ($performanceSource > $vv['small'] && $performanceSource <= $vv['big']) { $status = $kk; } } $result = ['scoreAppraise' => $scoreAppraise, 'performance' => $performance, 'attendanceComment' => $attendanceComment, 'practiceComment' => $practiceComment, 'theoryComment' => $theoryComment, 'rulesComment' => $rulesComment, 'commentAppraise' => $commentAppraise, 'status' => $status]; } return $result; }
/** * Finds the Attendance model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Attendance the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Attendance::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * @return \yii\db\ActiveQuery */ public function getAttendances() { return $this->hasMany(Attendance::className(), ['att_clss_id' => 'clss_id']); }
/** * Updates an existing Train model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); $transaction = Yii::$app->db->beginTransaction(); if (Yii::$app->request->isPost) { $postInfo = Yii::$app->request->post(); if (!empty($postInfo['Train']['begin_time'])) { $postInfo['Train']['code'] = date('Ymd', strtotime($postInfo['Train']['begin_time'])); } if ($model->load($postInfo) && $model->save()) { //课程开始 if ($model->status == Train::DOING) { //获取该课程下已录取的学员 $trainUsers = TrainUsers::getApprovedTrainUsersByTrainId($model->id); if (!empty($trainUsers)) { //根据课程id,用户id更新用户状态为正在进行 // TrainUsers::updateTrainUsersStatusByTrainId(TrainUsers::DOING, $model->id); foreach ($trainUsers as $key => $val) { //创建考勤信息 for ($i = strtotime($model->begin_time); $i < strtotime($model->end_time); $i += 86400) { $day = date('Y-m-d H:i:s', $i); $isExist = Attendance::findOne(['train_id' => $model->id, 'user_id' => $val['user_id'], 'day' => $day]); if (empty($isExist)) { $attendance = ['train_id' => $model->id, 'user_id' => $val['user_id'], 'day' => $day]; Attendance::add($attendance); } } } } else { $transaction->rollBack(); throw new ServerErrorHttpException('更新状态失败,原因:该培训课程下没有学员!'); } } $transaction->commit(); return $this->redirect(['view', 'id' => $model->id]); } } else { return $this->render('update', ['model' => $model]); } }
/** * Get the post register / login redirect path. * * @return string */ public function redirectPath() { switch (\Auth::user()->role_id) { case '4': return '/admin'; break; case '3': return '/promoter'; break; case '2': //aqui agregamos una entrada a la asistencia $dateToday = new Carbon(); $dateToday = $dateToday->toDateString(); $dateTimeToday = new Carbon(); $id = Auth::user()->id; $Attendance = Attendance::where('datetime', $dateToday)->where('salesman_id', $id)->get(); if ($Attendance->count() == 0) { // si no lo encuentro creo la fecha $assitance = new Attendance(); $assitance->datetime = $dateToday; $assitance->salesman_id = $id; $assitance->datetimestart = $dateTimeToday; $assitance->save(); // sleep(0.1); } else { // si lo encuentro actualizo la fecha de finalizacion de sesion a null $assitance = Attendance::find($Attendance[0]->id); $assitance->datetimeend = NULL; $assitance->save(); } //////////////////////////////////////////////////////////////////////////////////////////////////////// //ahora creo el detalle de la asistencia. esto es si o si //////////////////////////////////////////////////////////////////////////////////////////////////////// $assitancedetail = new AttendanceDetail(); $assitancedetail->datetime = $dateTimeToday; $assitancedetail->tipo = Config::get('constants.in'); // ya que se trata de un ingreso $id = Auth::user()->id; $Attendance = Attendance::where('datetime', $dateToday)->where('salesman_id', $id)->get(); $assitancedetail->attendance_id = $Attendance[0]->id; $assitancedetail->save(); //tambien agregamos una salida $assitancedetail = new AttendanceDetail(); $assitancedetail->tipo = 2; // ya que se trata de un ingreso $id = Auth::user()->id; $Attendance = Attendance::where('datetime', $dateToday)->where('salesman_id', $id)->get(); $assitancedetail->attendance_id = $Attendance[0]->id; $assitancedetail->datetime = NULL; $assitancedetail->save(); return '/salesman'; break; case '1': return '/client/home'; break; default: return '/'; break; } }
public function attendanceUpdate(AttendanceUpdate $request, $idAttendanceDetail) { $input = $request->all(); $attendanceDetail = AttendanceDetail::find($idAttendanceDetail); $attendanceDetail->datetime = Carbon::parse($input['horaFin']); $attendanceDetail->save(); $Attendance = Attendance::find($attendanceDetail->attendance_id); $Attendance->datetimeend = Carbon::parse($input['horaFin']); $salesman = User::find($Attendance->salesman_id); $detailsAttendances = AttendanceDetail::where('attendance_id', $attendanceDetail->attendance_id)->get(); $index = 0; $Attendance->save(); return view('internal.admin.attendanceDetail ', compact('detailsAttendances', 'index', 'salesman', 'Attendance')); }
public function actionTrainView() { $trainUsersId = \Yii::$app->request->get('trainUsersId'); if (empty($trainUsersId)) { throw new ServerErrorHttpException('查看课程信息失败,原因:参数错误!'); } $levelName = Level::getOneLevelNameById(\Yii::$app->user->identity->level_id); $photo = UsersInfo::getPhotoByUserId(\Yii::$app->user->id); $messageCount = MessagesUsers::getCountByUserIdAndType(\Yii::$app->user->id); $currentTrain = TrainUsers::getTrainByUserId(\Yii::$app->user->id); //培训信息 $trainModel = TrainUsers::getTrainInfoById($trainUsersId); if (empty($trainModel)) { throw new ServerErrorHttpException('查看课程信息失败,原因:不存在的培训课程!'); } //考勤信息 $attendanceModel = Attendance::getAllByTrainIdAndUserId($trainModel['train_id'], $trainModel['user_id']); //迟到数量 $laterCount = Attendance::getCount($trainModel['train_id'], $trainModel['user_id'], Attendance::LATER); $arlyCount = Attendance::getCount($trainModel['train_id'], $trainModel['user_id'], Attendance::EARLY); $absencesCount = Attendance::getCount($trainModel['train_id'], $trainModel['user_id'], Attendance::ABSENCES); $leaveCount = Attendance::getCount($trainModel['train_id'], $trainModel['user_id'], Attendance::LEAVE); $trainTeachersModel = TrainTeachers::getAllTeachersByTrainId($trainModel['id']); $usersModel = TrainUsers::getAllUsersByTrainId($trainModel['id']); if (!empty($usersModel)) { foreach ($usersModel as $key => $val) { $usersModel[$key]['img'] = ''; for ($i = 1; $i <= $val['score_appraise'] / 20; $i++) { $usersModel[$key]['img'] .= '<img src="/images/user/xx1.jpg" />'; } if ($val['score_appraise'] % 20 > 0) { $usersModel[$key]['img'] .= '<img src="/images/user/xx2.jpg" />'; } } } $data = ['levelName' => $levelName, 'currentTrain' => $currentTrain, 'trainModel' => $trainModel, 'attendanceModel' => $attendanceModel, 'laterCount' => $laterCount, 'arlyCount' => $arlyCount, 'absencesCount' => $absencesCount, 'leaveCount' => $leaveCount, 'attendanceAppraise' => $trainModel['attendance_appraise'], 'trainTeachersModel' => $trainTeachersModel, 'usersModel' => $usersModel, 'photo' => $photo, 'messageCount' => $messageCount]; return $this->render('train-view', ['data' => $data]); }
public function assistanceExcel(Request $request) { if ($request['ty_report'] == 1) { $salesmans = User::where('role_id', 2)->get(); $date_at = $request['date_at']; $auxSalesman = []; foreach ($salesmans as $salesman) { if (date_format(date_create($salesman->created_at), "Y-m-d") <= date_format(date_create($date_at), "Y-m-d")) { array_push($auxSalesman, $salesman); } } $salesmans = $auxSalesman; $assiInformation = []; foreach ($salesmans as $salesman) { $assistances = Attendance::where('salesman_id', $salesman->id)->where('datetimestart', 'LIKE', '%' . date_format(date_create($date_at), "Y-m-d") . '%')->get(); if (count($assistances) == 0) { $aux = ModuleAssigment::where('dateAssigments', '<', date_format(date_create(date("Y-m-d", strtotime($date_at) + 86400)), "Y-m-d"))->where('salesman_id', $salesman->id)->get()->last(); if (count($aux) == 0) { array_push($assiInformation, array($salesman->name, $salesman->lastname, "-", "-", "No Asistió", "No Asistió", "No tiene Módulo")); } else { $module = Module::find($aux->module_id); if ($aux->dateMoveAssigments == null) { array_push($assiInformation, array($salesman->name, $salesman->lastname, "-", "-", "No Asistió", "No Asistió", $module->name)); } else { if (date_format(date_create($aux->dateMoveAssigments), "Y-m-d") < $date_at) { array_push($assiInformation, array($salesman->name, $salesman->lastname, "-", "-", "No Asistió", "No Asistió", "No tiene Módulo")); } else { array_push($assiInformation, array($salesman->name, $salesman->lastname, "-", "-", "No Asistió", "No Asistió", $module->name)); } } } } else { foreach ($assistances as $assistance) { $aux = ModuleAssigment::where('dateAssigments', '<', date_format(date_create(date("Y-m-d", strtotime($date_at) + 86400)), "Y-m-d"))->where('salesman_id', $salesman->id)->get()->last(); if (count($aux) == 0) { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), date_format(date_create($assistance->datetimeend), "H:i:s"), "-", "-", "No tiene Módulo")); } else { $module = Module::find($aux->module_id); if ($aux->dateMoveAssigments == null || date_format(date_create($aux->dateMoveAssigments), "Y-m-d") >= $date_at) { $openHour = date_format(date_create($module->starTime), "H:i:s"); if ($openHour >= date_format(date_create($assistance->datetimestart), "H:i:s")) { if ($assistance->datetimeend == null) { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), "-", "Llegó Puntual", "Sigue Trabajando", $module->name)); } else { $endHour = date_format(date_create($module->endTime), "H:i:s"); if ($endHour <= date_format(date_create($assistance->datetimeend), "H:i:s")) { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), date_format(date_create($assistance->datetimeend), "H:i:s"), "Llegó Puntual", "Salio Puntual", $module->name)); } else { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), date_format(date_create($assistance->datetimeend), "H:i:s"), "Llego Puntual", "Salió Temprano", $module->name)); } } } else { if ($assistance->datetimeend == null) { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), "-", "Llegó Tarde", "Sigue Trabajando", $module->name)); } else { $endHour = date_format(date_create($module->endTime), "H:i:s"); if ($endHour <= date_format(date_create($assistance->datetimeend), "H:i:s")) { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), date_format(date_create($assistance->datetimeend), "H:i:s"), "Llegó Tarde", "Salió Puntual", $module->name)); } else { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), date_format(date_create($assistance->datetimeend), "H:i:s"), "Llegó Tarde", "Salió Temprano", $module->name)); } } } } else { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), date_format(date_create($assistance->datetimeend), "H:i:s"), "-", "-", "No tiene Módulo")); } } } } //} } return view('internal.admin.reports.assistance', compact('assiInformation', 'date_at')); } elseif ($request['ty_report'] == 2) { $input = $request->all(); $salesmans = User::where('role_id', 2)->get(); $date_at = $request['date_at']; $auxSalesman = []; foreach ($salesmans as $salesman) { if (date_format(date_create($salesman->created_at), "Y-m-d") <= date_format(date_create($date_at), "Y-m-d")) { array_push($auxSalesman, $salesman); } } $salesmans = $auxSalesman; $assiInformation = []; foreach ($salesmans as $salesman) { $assistances = Attendance::where('salesman_id', $salesman->id)->where('datetimestart', 'LIKE', '%' . date_format(date_create($date_at), "Y-m-d") . '%')->get(); if (count($assistances) == 0) { $aux = ModuleAssigment::where('dateAssigments', '<', date_format(date_create(date("Y-m-d", strtotime($date_at) + 86400)), "Y-m-d"))->where('salesman_id', $salesman->id)->get()->last(); if (count($aux) == 0) { array_push($assiInformation, array($salesman->name, $salesman->lastname, "-", "-", "No Asistió", "No Asistió", "No tiene Módulo")); } else { $module = Module::find($aux->module_id); if ($aux->dateMoveAssigments == null) { array_push($assiInformation, array($salesman->name, $salesman->lastname, "-", "-", "No Asistió", "No Asistió", $module->name)); } else { if (date_format(date_create($aux->dateMoveAssigments), "Y-m-d") < $date_at) { array_push($assiInformation, array($salesman->name, $salesman->lastname, "-", "-", "No Asistió", "No Asistió", "No tiene Módulo")); } else { array_push($assiInformation, array($salesman->name, $salesman->lastname, "-", "-", "No Asistió", "No Asistió", $module->name)); } } } } else { foreach ($assistances as $assistance) { $aux = ModuleAssigment::where('dateAssigments', '<', date_format(date_create(date("Y-m-d", strtotime($date_at) + 86400)), "Y-m-d"))->where('salesman_id', $salesman->id)->get()->last(); if (count($aux) == 0) { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), date_format(date_create($assistance->datetimeend), "H:i:s"), "-", "-", "No tiene Módulo")); } else { $module = Module::find($aux->module_id); if ($aux->dateMoveAssigments == null || date_format(date_create($aux->dateMoveAssigments), "Y-m-d") >= $date_at) { $openHour = date_format(date_create($module->starTime), "H:i:s"); if ($openHour >= date_format(date_create($assistance->datetimestart), "H:i:s")) { if ($assistance->datetimeend == null) { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), "-", "Llegó Puntual", "Sigue Trabajando", $module->name)); } else { $endHour = date_format(date_create($module->endTime), "H:i:s"); if ($endHour <= date_format(date_create($assistance->datetimeend), "H:i:s")) { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), date_format(date_create($assistance->datetimeend), "H:i:s"), "Llegó Puntual", "Salio Puntual", $module->name)); } else { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), date_format(date_create($assistance->datetimeend), "H:i:s"), "Llego Puntual", "Salió Temprano", $module->name)); } } } else { if ($assistance->datetimeend == null) { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), "-", "Llegó Tarde", "Sigue Trabajando", $module->name)); } else { $endHour = date_format(date_create($module->endTime), "H:i:s"); if ($endHour <= date_format(date_create($assistance->datetimeend), "H:i:s")) { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), date_format(date_create($assistance->datetimeend), "H:i:s"), "Llegó Tarde", "Salió Puntual", $module->name)); } else { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), date_format(date_create($assistance->datetimeend), "H:i:s"), "Llegó Tarde", "Salió Temprano", $module->name)); } } } } else { array_push($assiInformation, array($salesman->name, $salesman->lastname, date_format(date_create($assistance->datetimestart), "H:i:s"), date_format(date_create($assistance->datetimeend), "H:i:s"), "-", "-", "No tiene Módulo")); } } } } //} } if ($input['type'] == 1) { Excel::create('Reporte de asistencia de vendedores starkticket', function ($excel) use($assiInformation, $date_at) { $excel->sheet('Reporte de ventas', function ($sheet) use($assiInformation, $date_at) { $sheet->mergeCells('A1:G2'); $sheet->setCellValue('A1', "Reporte de asistencia de vendedores"); $sheet->cells('A1:G1', function ($cells) { $cells->setAlignment('center'); $cells->setValignment('center'); $cells->setFontSize(30); }); $sheet->mergeCells('A3:G3'); if (date_format(date_create($date_at), "d/m/Y") == date_format(date_create(new Carbon()), "d/m/Y")) { $sheet->setCellValue('A3', 'Fecha del día ' . date_format(date_create($date_at), "d/m/Y") . ' a las ' . date_format(date_create(new Carbon()), "H:i")); } else { $sheet->setCellValue('A3', 'Fecha del día ' . date_format(date_create($date_at), "d/m/Y")); } $sheet->cells('A3:G3', function ($cells) { $cells->setAlignment('center'); $cells->setValignment('center'); $cells->setFontSize(14); }); $cantidad = count($assiInformation) + 4; $sheet->setBorder('A4:G' . $cantidad, 'thin'); $sheet->setCellValue('A4', "Nombres del Vendedor"); $sheet->setCellValue('B4', "Apellidos del Vendedor"); $sheet->setCellValue('C4', "Hora de Entrada"); $sheet->setCellValue('D4', "Hora de Salida"); $sheet->setCellValue('E4', "Situación de Entrada"); $sheet->setCellValue('F4', "Situación de Salida"); $sheet->setCellValue('G4', "Punto de Venta"); //$cells->setAlignment('center'); $sheet->cells('A4:G4', function ($cells) { $cells->setFontWeight('bold'); $cells->setBackground('#008000'); $cells->setFontColor('#FFFFFF'); $cells->setAlignment('center'); $cells->setValignment('center'); }); $sheet->cells('A4:G500', function ($cells) { $cells->setAlignment('center'); $cells->setValignment('center'); }); $sheet->setWidth(array('A' => '30', 'B' => '30', 'C' => '30', 'D' => '30', 'E' => '30', 'F' => '30', 'G' => '30')); $sheet->setHeight(array('1' => '20')); $data = $assiInformation; $sheet->fromArray($data, true, 'A5', true, false); }); })->download('xlsx'); } else { Excel::create('Reporte de ventas starkticket', function ($excel) use($assiInformation, $date_at) { $excel->sheet('Reporte de ventas', function ($sheet) use($assiInformation, $date_at) { $sheet->mergeCells('A1:G2'); $sheet->setCellValue('A1', "Reporte de asistencia de vendedores"); $sheet->cells('A1:G1', function ($cells) { $cells->setAlignment('center'); $cells->setValignment('center'); $cells->setFontSize(30); }); $sheet->mergeCells('A3:G3'); if (date_format(date_create($date_at), "d/m/Y") == date_format(date_create(new Carbon()), "d/m/Y")) { $sheet->setCellValue('A3', 'Fecha del día ' . date_format(date_create($date_at), "d/m/Y") . ' a las ' . date_format(date_create(new Carbon()), "H:i")); } else { $sheet->setCellValue('A3', 'Fecha del día ' . date_format(date_create($date_at), "d/m/Y")); } $sheet->cells('A3:G3', function ($cells) { $cells->setAlignment('center'); $cells->setValignment('center'); $cells->setFontSize(14); }); $cantidad = count($assiInformation) + 4; $sheet->setBorder('A4:G' . $cantidad, 'thin'); $sheet->setCellValue('A4', "Nombres del Vendedor"); $sheet->setCellValue('B4', "Apellidos del Vendedor"); $sheet->setCellValue('C4', "Hora de Entrada"); $sheet->setCellValue('D4', "Hora de Salida"); $sheet->setCellValue('E4', "Situación de Entrada"); $sheet->setCellValue('F4', "Situación de Salida"); $sheet->setCellValue('G4', "Total"); //$cells->setAlignment('center'); $sheet->cells('A4:G4', function ($cells) { $cells->setFontWeight('bold'); $cells->setBackground('#008000'); $cells->setFontColor('#FFFFFF'); $cells->setAlignment('center'); $cells->setValignment('center'); }); $sheet->cells('A4:G500', function ($cells) { $cells->setAlignment('center'); $cells->setValignment('center'); }); $sheet->setWidth(array('A' => '30', 'B' => '30', 'C' => '30', 'D' => '30', 'E' => '30', 'F' => '30', 'G' => '30')); $sheet->setHeight(array('1' => '20')); $data = $assiInformation; $sheet->fromArray($data, true, 'A5', true, false); }); })->export('pdf'); } } }
/** * @return \yii\db\ActiveQuery */ public function getAttendances() { return $this->hasMany(Attendance::className(), ['Student_Module_id' => 'id']); }
public function actionPie() { $dataProvider = new ActiveDataProvider(['query' => Attendance::find()->where(['present' => '1'])->all(), 'pagination' => false]); return $this->render('pie', ['dataProvider' => $dataProvider]); }