public static function updateGestiones($averia, $gmId, $array, $estado = '', $oldQuiebre = '', $oldEmpresa = '') { $observacion = ''; $usuariId = Auth::user()->id; //actualizar detalle DB::beginTransaction(); $array1 = $array; $array1['usuario_updated_at'] = $usuariId; try { DB::table('gestiones_detalles')->where('codactu', $averia)->update($array1); } catch (Exception $e) { DB::rollback(); return 0; } //insertar un nuevo movimiento $gestionMovimiento = GestionMovimiento::find($gmId); $nuevoMovimiento = new GestionMovimiento(); $nuevoMovimiento['gestion_id'] = $gestionMovimiento['gestion_id']; $nuevoMovimiento['zonal_id'] = $gestionMovimiento['zonal_id']; $nuevoMovimiento['coordinado'] = $gestionMovimiento['coordinado']; $nuevoMovimiento['estado'] = $gestionMovimiento['estado']; $nuevoMovimiento['created_at'] = date("Y-m-d H:i:s"); if (!empty($array['quiebre_id'])) { $nuevoMovimiento['quiebre_id'] = $array['quiebre_id']; $observacion .= ' Quiebre: "' . $oldQuiebre . '"'; } else { $nuevoMovimiento['quiebre_id'] = $gestionMovimiento['quiebre_id']; } if (!empty($array['empresa_id'])) { $nuevoMovimiento['empresa_id'] = $array['empresa_id']; $observacion .= ' Empresa: "' . $oldEmpresa . '"'; } else { $nuevoMovimiento['empresa_id'] = $gestionMovimiento['empresa_id']; } if ($estado == 'agendado') { $nuevoMovimiento['estado_id'] = '7'; $nuevoMovimiento['motivo_id'] = '2'; $nuevoMovimiento['submotivo_id'] = '18'; } else { $nuevoMovimiento['estado_id'] = $gestionMovimiento['estado_id']; $nuevoMovimiento['motivo_id'] = $gestionMovimiento['motivo_id']; $nuevoMovimiento['submotivo_id'] = $gestionMovimiento['submotivo_id']; $nuevoMovimiento['horario_id'] = $gestionMovimiento['horario_id']; $nuevoMovimiento['dia_id'] = $gestionMovimiento['dia_id']; $nuevoMovimiento['celula_id'] = $gestionMovimiento['celula_id']; $nuevoMovimiento['tecnico_id'] = $gestionMovimiento['tecnico_id']; $nuevoMovimiento['fecha_agenda'] = $gestionMovimiento['fecha_agenda']; $nuevoMovimiento['tecnicos_asignados'] = $gestionMovimiento['tecnicos_asignados']; $nuevoMovimiento['fecha_consolidacion'] = $gestionMovimiento['fecha_consolidacion']; $nuevoMovimiento['flag_tecnico'] = $gestionMovimiento['flag_tecnico']; $nuevoMovimiento['coordinado'] = $gestionMovimiento['coordinado']; } $nuevoMovimiento['submodulo_id'] = '20'; $nuevoMovimiento['observacion'] = 'actualiacion, de ' . $observacion; $nuevoMovimiento['updated_at'] = date("Y-m-d H:i:s"); $nuevoMovimiento['usuario_created_at'] = $usuariId; try { $nuevoMovimiento->save(); } catch (Exception $e) { DB::rollback(); return 0; } //actualizar ultimo movimiento $ultimo = UltimoMovimiento::Where('codactu', $averia)->get(); //existe registro if (count($ultimo) > 0) { $ultimoId = $ultimo[0]->id; $array3 = $array; if ($estado == 'agendado') { //actualzar fecha de agenda y estado $array3['estado_id'] = '7'; $array3['motivo_id'] = '2'; $array3['submotivo_id'] = '18'; $array3['usuario_updated_at'] = $usuariId; $array3['fecha_agenda'] = ''; $array3['estado_legado'] = 'PENDIENTE'; $array3['usuario_created_at'] = Auth::user()->id; $array3['observacion'] = 'actualiacion, de Quiebre: "' . $oldQuiebre . '"" y Empresa: "' . $oldEmpresa . '"'; $array3['updated_at'] = date("Y-m-d H:i:s"); } try { DB::table('ultimos_movimientos')->where('id', $ultimoId)->update($array3); } catch (Exception $e) { DB::rollback(); return 0; } } DB::commit(); return 1; }