/**
  * Create a new controller instance.
  *
  * @return void
  */
 public function __construct()
 {
     $this->middleware('auth');
     $this->viewData['user_id'] = (int) Auth::User()->id;
     $this->viewData['controller_heading'] = 'Initiatives';
     $this->viewData['controller_name'] = $this->controller;
     $this->viewData['whatisit'] = 'Initiative';
     $this->viewData['plans'] = Plan::where('user_id', $this->viewData['user_id'])->where('status', 0)->orderBy('name')->lists('name', 'id');
     $this->viewData['currentPlan'] = NULL;
     if (!empty($_GET['plan_id'])) {
         $this->viewData['currentPlan'] = Plan::find($_GET['plan_id']);
     } else {
         if (!empty($this->viewData['plans'])) {
             $this->viewData['currentPlan'] = Plan::where('user_id', $this->viewData['user_id'])->where('status', 0)->orderBy('name')->get()->first();
         }
     }
     $this->viewData['dimensions'] = Dimension::leftJoin('plans', 'plans.id', '=', 'dimensions.plan_id')->where('plans.user_id', $this->viewData['user_id'])->where('dimensions.plan_id', $this->viewData['currentPlan']->id)->where('dimensions.status', 0)->orderBy('dimensions.name')->select('dimensions.*')->lists('dimensions.name', 'dimensions.id');
     $this->viewData['currentDimension'] = NULL;
     if (!empty($_GET['dimension_id'])) {
         $this->viewData['currentDimension'] = Dimension::find($_GET['dimension_id']);
     } else {
         if (!empty($this->viewData['dimensions'])) {
             $this->viewData['currentDimension'] = Dimension::where('dimensions.plan_id', $this->viewData['currentPlan']->id)->where('dimensions.status', 0)->orderBy('dimensions.name')->get()->first();
         }
     }
     $this->viewData['currentDimensionId'] = !empty($this->viewData['currentDimension']) ? $this->viewData['currentDimension']->id : '';
     $this->viewData['objectives'] = Objective::leftJoin('dimensions', 'dimensions.id', '=', 'objectives.dimension_id')->leftJoin('plans', 'plans.id', '=', 'dimensions.plan_id')->where('plans.user_id', '=', $this->viewData['user_id'])->where('objectives.dimension_id', '=', $this->viewData['currentDimensionId'])->where('objectives.status', 0)->orderBy('objectives.name')->select('objectives.*')->lists('objectives.name', 'objectives.id');
 }
示例#2
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function edit($id)
 {
     $plan = Plan::find($id);
     $rubros = Rubro::lists('nombre', 'id');
     $periodos = Period::lists('nombre', 'id');
     return view('plan.edit', compact('plan', 'rubros', 'periodos'));
 }
示例#3
0
 public function planes(Request $request)
 {
     $planes = Plan::orderBy('nombre')->get();
     $enterprises = new Enterprise();
     $order = $request->input('order') == 'asc' ? 'ASC' : 'DESC';
     if ($request->input('sort') == 'razon_social') {
         $enterprises = Enterprise::orderBy('razon_social', $order);
     } elseif ($request->input('sort') == 'created_at') {
         $enterprises = Enterprise::orderBy('created_at', $order);
     } elseif ($request->input('sort') == 'plan') {
         $enterprises = Enterprise::select('enterprises.*', 'planes.created_at AS created_date', 'planes.id AS plan_id')->leftJoin('planes', 'planes.id', '=', 'enterprises.plan_id')->orderBy('planes.nombre', $order);
     } elseif ($request->input('sort') == 'totals') {
         $enterprises = Enterprise::select('enterprises.*', 'planes.created_at AS created_date', 'planes.id AS plan_id', \DB::raw('(select SUM(so.total) from sale_orders as so where so.enterprise_id = enterprises.id) AS total_sales'))->leftJoin('planes', 'planes.id', '=', 'enterprises.plan_id')->orderBy('total_sales', $order);
     }
     //Filters
     $filtros = array();
     $monto_plan = $planObj = null;
     if ($request->input('tipo_plan')) {
         $enterprises = $enterprises->where('plan_id', $request->input('tipo_plan'));
         $filtros['tipo_plan'] = $request->input('tipo_plan');
         $planObj = Plan::find($request->input('tipo_plan'));
         $monto_plan = Enterprise::select(\DB::raw('SUM(payment_orders.monto) AS total_sales'))->where('plan_id', $request->input('tipo_plan'))->leftJoin('payment_orders', 'payment_orders.enterprise_id', '=', 'enterprises.id')->first();
     }
     if ($request->input('fecha_inic') != '' && $request->input('fecha_fin') != '') {
         $inic_arr = explode('/', $request->input('fecha_inic'));
         $inic = $inic_arr[2] . "-" . $inic_arr[1] . "-" . $inic_arr[0] . " 00:00:00";
         $fin_arr = explode('/', $request->input('fecha_fin'));
         $fin = $fin_arr[2] . "-" . $fin_arr[1] . "-" . $fin_arr[0] . " 11:59:59";
         $enterprises = $enterprises->whereBetween('created_at', [$inic, $fin]);
         $filtros['fecha_inic'] = $request->input('fecha_inic');
         $filtros['fecha_fin'] = $request->input('fecha_fin');
     } elseif ($request->input('fecha_inic') != '' && $request->input('fecha_fin') == '') {
         $inic_arr = explode('/', $request->input('fecha_inic'));
         $inic = $inic_arr[2] . "-" . $inic_arr[1] . "-" . $inic_arr[0] . " 00:00:00";
         $enterprises = $enterprises->where('created_at', '>', $inic);
         $filtros['fecha_fin'] = $request->input('fecha_fin');
     } elseif ($request->input('fecha_inic') == '' && $request->input('fecha_fin') != '') {
         $fin_arr = explode('/', $request->input('fecha_fin'));
         $fin = $fin_arr[2] . "-" . $fin_arr[1] . "-" . $fin_arr[0] . " 11:59:59";
         $enterprises = $enterprises->where('created_at', '<', $fin);
         $filtros['fecha_inic'] = $request->input('fecha_inic');
     }
     $enterprises = $enterprises->paginate(10);
     //Log::info($lastQuery);
     $order_colunm = $order == 'ASC' ? 'desc' : 'asc';
     $param_nombre = array_merge(['sort' => 'razon_social', 'order' => $order_colunm], $filtros);
     $param_date = array_merge(['sort' => 'created_at', 'order' => $order_colunm], $filtros);
     $param_plan = array_merge(['sort' => 'plan', 'order' => $order_colunm], $filtros);
     $param_total = array_merge(['sort' => 'totals', 'order' => $order_colunm], $filtros);
     return view('report.index', compact('enterprises', 'order_colunm', 'planes', 'filtros', 'param_nombre', 'param_date', 'param_plan', 'param_total', 'monto_plan', 'planObj'));
 }
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function show($id)
 {
     $this->viewData['success'] = true;
     $this->viewData['content'] = [];
     $plan = _MODEL::find($id);
     // plan
     if (empty($plan)) {
         $this->viewData['success'] = false;
         return response()->json($this->viewData);
     }
     $this->viewData['content']['plan'] = $plan;
     $this->viewData['content']['plan']['dimensions'] = $plan->dimensions;
     return response()->json($this->viewData);
 }
示例#5
0
 /**
  * Get the validation rules that apply to the request.
  *
  * @return array
  */
 public function rules()
 {
     $plan = Plan::find($this->plans);
     switch ($this->method()) {
         case 'GET':
         case 'DELETE':
             return [];
         case 'POST':
             return ['curriculum_id' => 'required', 'course_id' => 'required', 'number_year' => 'integer|max:10', 'number_semester' => 'integer|max:5'];
         case 'PUT':
         case 'PATCH':
             return ['curriculum_id' => 'required', 'course_id' => 'required', 'number_year' => 'integer|max:10', 'number_semester' => 'integer|max:5'];
         default:
             break;
     }
 }
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     if (!empty(Input::get('plan_id'))) {
         $this->viewData['currentPlan'] = Plan::find(Input::get('plan_id'));
     }
     $list = _MODEL::leftJoin('plans', 'plans.id', '=', 'dimensions.plan_id')->where('plans.user_id', '=', $this->viewData['user_id'])->where('plans.id', '=', $this->viewData['currentPlan']->id)->select('dimensions.*')->get();
     foreach ($list as $row) {
         $row->AVERAGE = 0;
         // get objectives list related to dimension
         $objectives = Objective::where('objectives.dimension_id', '=', (int) $row->id)->select('*')->get();
         $objective_AVERAGE = 0;
         $objective_count = 0;
         foreach ($objectives as $objective) {
             //get initiatives related to objective
             $initiatives = Initiative::where('initiatives.objective_id', '=', (int) $objective->id)->select('*')->get();
             $initiative_AVERAGE = 0;
             $initiative_count = 0;
             foreach ($initiatives as $initiative) {
                 //get measures related to initiative
                 $measures = Measure::where('measures.initiative_id', '=', (int) $initiative->id)->select('*')->get();
                 $measure_count = 0;
                 $percent = 0;
                 foreach ($measures as $measure) {
                     $measure->actual = ActualMeasure::where('actual_measures.measure_id', '=', (int) $measure->id)->sum('actual_measures.actual_measure');
                     if ($measure->target != 0) {
                         $percent += $measure->actual / $measure->target * 100;
                     }
                     $measure_count++;
                 }
                 //end measures
                 if ($measure_count != 0) {
                     $initiative_AVERAGE += $percent / $measure_count;
                 }
                 $initiative_count++;
             }
             //end initiative
             if ($initiative_count != 0) {
                 $objective_AVERAGE += $initiative_AVERAGE / $initiative_count;
             }
             $objective_count++;
         }
         if ($objective_count != 0) {
             $row->AVERAGE = $objective_AVERAGE / $objective_count;
         }
     }
     return view($this->controller . '.index', compact('list'), $this->viewData);
 }
示例#7
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     $plan = Plan::find($id);
     if (count($plan->enterprises) > 0) {
         return redirect()->route('admin.plan.index')->with('message', '<div class="alert alert-warning" style="margin-top:15px">Este plan contiene empresas asociadas por ende no puede ser eliminado</div>');
     } else {
         $plan->delete();
     }
     return redirect()->route('admin.plan.index')->with('message', '<div class="alert alert-success" style="margin-top:15px">Plan eliminado con Éxito</div>');
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     _MODEL::find($id)->delete();
     Session::flash('message', $this->viewData['whatisit'] . ' deleted!');
     Session::flash('alert-class', 'alert-danger');
     return redirect($this->controller);
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $plan = Plan::find($id);
     $plan->delete();
     return redirect('plan');
 }