public function authenticate(Request $request)
 {
     $credentials = $request->only('username', 'password');
     try {
         // verify the credentials and create a token for the user
         if (!($token = JWTAuth::attempt($credentials))) {
             return response()->json(['error' => 'invalid_credentials'], 401);
         }
     } catch (JWTException $e) {
         // something went wrong
         return response()->json(['error' => 'could_not_create_token'], 500);
     }
     $user = User::where('username', '=', $request->username)->first();
     $categoria = $user->users_idcat_foreign;
     //var_dump($user);
     $empleado = Empleado::where('empleado_idcat_foreign', '=', $categoria)->first();
     //var_dump($empleado);
     $iduser = $empleado->id;
     // if no errors are encountered we can return a JWT
     return response()->json(compact('token', 'categoria', 'iduser'));
 }
 public function getGuardarLiq(Request $request)
 {
     $datosLiq = $request->DatosLiq;
     $datosRemu = $request->arrayRemu;
     $datosDesc = $request->arrayDesc;
     $ultliq = Liquidacion::where('liquidacion_idempl_foreign', '=', $datosLiq['idEmpl'])->orderBy('id', 'desc')->first();
     $date = Carbon::now();
     $fecDesdeNue = $ultliq->fechaHasta;
     $fecHastaNue = $ultliq->fechaHasta->addMonth(1);
     $liqNue = new Liquidacion();
     $liqNue->fechaDesde = $fecDesdeNue;
     $liqNue->fechaHasta = $fecHastaNue;
     $liqNue->fechaLiq = $date;
     $liqNue->neto = $datosLiq['netoNue'];
     $liqNue->save();
     $idEmplea = $datosLiq['idEmpl'];
     if ($idEmplea != 0) {
         $emplea = Empleado::find($idEmplea);
         $liqNue = $emplea->liquidaciones()->save($liqNue);
     }
     if (sizeof($datosRemu) != 0) {
         foreach ($datosRemu as $remu) {
             $nueLineaLiq = new LineaLiquidacion();
             $nueLineaLiq->cantidad = $remu['Cant'];
             $nueLineaLiq->importe = $remu['remunerativo'];
             $nueLineaLiq->save();
             $liqNue = Liquidacion::find($liqNue->id);
             $nueLineaLiq = $liqNue->lineas()->save($nueLineaLiq);
             $idConcep = $remu['idConc'];
             if ($idConcep != 0) {
                 $concepto = ConceptoLiq::find($idConcep);
                 $nueLineaLiq = $concepto->lineasLiq()->save($nueLineaLiq);
             }
         }
     }
     if (sizeof($datosDesc) != 0) {
         foreach ($datosDesc as $descu) {
             $nueLineaLiq = new LineaLiquidacion();
             $nueLineaLiq->cantidad = $descu['Cant'];
             $nueLineaLiq->importe = $descu['noremunerativo'];
             $nueLineaLiq->save();
             $liqNue = Liquidacion::find($liqNue->id);
             $nueLineaLiq = $liqNue->lineas()->save($nueLineaLiq);
             $idConcept = $descu['idConc'];
             if ($idConcept != 0) {
                 $conceptoDes = ConceptoLiq::find($idConcept);
                 $nueLineaLiq = $conceptoDes->lineasLiq()->save($nueLineaLiq);
             }
         }
     }
     return response()->json(["msg" => "Succes", 'ultimaLiq' => $liqNue->id], 200);
 }
 public function getGuardarOrden(Request $request)
 {
     // se deben validar los datos de la orden
     $idCliente = $request->idCliente;
     $datosOrden = $request->datosOrden;
     // datos de la orden a guardar
     $arrayPiezas = $request->arrayPiezas;
     // validar los datos del equipo
     $idEmpleado = 1;
     $orden = new OrdenServicio();
     $orden->anticipo = $datosOrden['anticipo'];
     $orden->fechaEntrega = $datosOrden['fechaEntrega'];
     $orden->estadoPago = 'PENDIENTE';
     $orden->observacion = $datosOrden['observ'];
     $orden->save();
     //-------guardamos la relacion con el cliente-----
     $cliente = Cliente::find($idCliente);
     $orden = $cliente->ordenes()->save($orden);
     //-------guardamos la relacion con el emplado----
     $empl = Empleado::find($idEmpleado);
     $emplord = new Emplorden();
     $emplord = $orden->empleados()->save($emplord);
     $emplord = $empl->ordenes()->save($emplord);
     if (sizeof($arrayPiezas) != 0) {
         foreach ($arrayPiezas as $pieza) {
             $lineaServ = new LineaServicio();
             $lineaServ->cantidad = 1;
             $lineaServ->subtotal = $pieza['subTotal'];
             $lineaServ->save();
             //-------guardamos la relacion con la orden----
             $lineaServ = $orden->lineasServicios()->save($lineaServ);
             //-------guardamos la relacion con el servicio----
             $serv = Servicio::find($pieza['idserv']);
             $lineaServ = $serv->lineasServicios()->save($lineaServ);
             $vectorPartes = $pieza['Partes'];
             foreach ($vectorPartes as $p) {
                 $det = new Detalle();
                 $det->cantidad = $p['cant'];
                 $det->save();
                 //-------guardamos la relacion con la lineaservicio----
                 $det = $lineaServ->detalles()->save($det);
                 //-------guardamos la relacion con la piezaparte----
                 $parte = PiezaParte::find($p['id']);
                 $det = $parte->detalles()->save($det);
             }
         }
     }
     //var_dump($request);
     return response()->json(["msg" => "Succes", "idOrden" => $orden->id], 200);
 }
 public function getGuardarGrupo(Request $request)
 {
     $grupo = $request->datosFam;
     $idEmpGrupo = $request->idEmpleadoGrupo;
     $nuevoGrupo = new GrupoFamiliar();
     $nuevoGrupo->apeNom = $grupo['apeNom'];
     $nuevoGrupo->dni = $grupo['dni'];
     $nuevoGrupo->fechaNac = $grupo['fechaNac'];
     $nuevoGrupo->nivelEstudio = $grupo['nivelEstudio'];
     $nuevoGrupo->discapicidad = $grupo['discapicidad'];
     $nuevoGrupo->save();
     $vinculo = Parentesco::find($grupo['idParen']);
     $nuevoGrupo = $vinculo->grupos()->save($nuevoGrupo);
     $empGrup = Empleado::find($idEmpGrupo);
     $nuevoGrupo = $empGrup->familiares()->save($nuevoGrupo);
     $idNuevoFam = $nuevoGrupo->id;
     return response()->json(["msg" => "Succes", "fam" => $grupo, "idNuevoFam" => $idNuevoFam], 200);
 }
 public function imprimirLiq(Request $request)
 {
     $idLiq = $request->idLiq;
     $parameter = array();
     $liquid = Liquidacion::find($idLiq);
     $parameter['fechaHoy'] = $liquid->fechaLiq;
     $parameter['idLiquidacion'] = $idLiq;
     //convierte fechas a letras
     $anio = $liquid->fechaDesde->year;
     //1979;
     $elMes = $liquid->fechaDesde->month;
     //12;
     $dia = $liquid->fechaDesde->day;
     //19;
     if ($elMes == "01") {
         $mes = "Enero";
     }
     if ($elMes == "02") {
         $mes = "Febrero";
     }
     if ($elMes == "03") {
         $mes = "Marzo";
     }
     if ($elMes == "04") {
         $mes = "Abril";
     }
     if ($elMes == "05") {
         $mes = "Mayo";
     }
     if ($elMes == "06") {
         $mes = "Junio";
     }
     if ($elMes == "07") {
         $mes = "Julio";
     }
     if ($elMes == "08") {
         $mes = "Agosto";
     }
     if ($elMes == "09") {
         $mes = "Septiembre";
     }
     if ($elMes == "10") {
         $mes = "Octubre";
     }
     if ($elMes == "11") {
         $mes = "Noviembre";
     }
     if ($elMes == "12") {
         $mes = "Diciembre";
     }
     //---
     $parameter['periodo'] = $mes . '/' . $anio;
     //--------datos del empleado-----------
     $emple = Empleado::find($liquid->liquidacion_idempl_foreign);
     $parameter['apelNom'] = $emple->apeNom;
     $parameter['cuil'] = $emple->cuil;
     $parameter['idEmpleado'] = $emple->id;
     $anio = $emple->fechaIngreso->year;
     //1979;
     $mes = $emple->fechaIngreso->month;
     //12;
     $dia = $emple->fechaIngreso->day;
     //19;
     $parameter['fechaIngreso'] = $dia . '/' . $mes . '/' . $anio;
     //----- datos de la categoria-----------
     $categoria = Categoria::find($emple->empleado_idcat_foreign);
     $parameter['sueldoBasico'] = $categoria->sueldoBasico;
     $parameter['nombreCategoria'] = $categoria->nombrecat;
     //-------datos de la lineas de liquidacion-------
     $vectorLineas = LineaLiquidacion::where('lineaLiquidacion_idliq_foreign', '=', $idLiq)->get();
     $parameter['conceptosA'] = '';
     $parameter['importeA'] = '';
     $parameter['conceptosD'] = '';
     $parameter['importeD'] = '';
     $parameter['cantidadD'] = '';
     $parameter['unidadCalculo'] = '';
     $sumaA = 0;
     $sumaB = 0;
     foreach ($vectorLineas as $linea) {
         $concepto = ConceptoLiq::find($linea->linealiquidacion_idconcep_foreign);
         if ($concepto->aporte == 'si') {
             # code...
             $parameter['conceptosA'] = $parameter['conceptosA'] . $concepto->descripcion . ' <br>';
             $parameter['importeA'] = $parameter['importeA'] . $linea->importe . ' <br>';
             $sumaA = $sumaA + $linea->importe;
         } else {
             # code...
             $parameter['conceptosD'] = $parameter['conceptosD'] . $concepto->descripcion . ' <br>';
             $parameter['cantidadD'] = $parameter['cantidadD'] . $linea->cantidad . ' <br>';
             $parameter['unidadCalculo'] = $parameter['unidadCalculo'] . $concepto->unidadCalculo . ' <br>';
             $parameter['importeD'] = $parameter['importeD'] . $linea->importe . ' <br>';
             $sumaB = $sumaB + $linea->importe;
         }
     }
     $parameter['subImpApo'] = $sumaA;
     $parameter['subImpDes'] = $sumaB;
     //---
     $parameter['sueldoNeto'] = $liquid->neto;
     $parameter['sueldoNetoLetras'] = PdfController::numtoletras($parameter['sueldoNeto']);
     $pdf = PDF::loadView('Reportes.ReporteLiqSueldo', ['parameter' => $parameter])->setPaper('a4')->setOrientation('landscape');
     return $pdf->stream('ReporteLiqSueldo');
 }