static function getOrdenesDeCompraByUserId($data) { $ocs = array(); $conn = ExternalDao::getConnection(); $sql = "select * from vt080_oc_cabe where f_entrega between " . $data->date . " and DATEADD(day, u_dias_limite_entrega, '" . $data->date . "') "; if ($data->sucursalId) { $sql = $sql . " and (M_OC_MADRE = 'S' or C_SUCU_DESTINO_ALT = " . $data->sucursalId . ' ) '; } if (isset($data->proveedorId) && $data->proveedorId) { $sql = $sql . " and c_proveedor = " . $data->proveedorId; } else { if (isset($data->userId) && $data->userId) { $users_proveedor = SecurityDao::getUserProveedores($data->userId); $proveedorIds = Phinq::create($users_proveedor)->select(function ($item) { return $item->proveedorId; })->toArray(); $ids = implode(" , ", $proveedorIds); $sql = $sql . " and c_proveedor in ( " . $ids . ") "; } } $sql = $sql . " order by U_SUFIJO_OC "; $stmt = sqlsrv_query($conn, $sql, null); if ($stmt === false) { die(print_r(sqlsrv_errors(), true)); } while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { $oc = new \stdClass(); $oc->id = $row['U_SUFIJO_OC']; $oc->proveedorId = $row['C_PROVEEDOR']; $oc->fecha = $row['F_ENTREGA']->format('Y-m-d H:i:s'); $oc->diasLimiteEntrega = $row['U_DIAS_LIMITE_ENTREGA']; array_push($ocs, $oc); } sqlsrv_free_stmt($stmt); sqlsrv_close($conn); return $ocs; }
static function updateUser($userDto) { $errors = SecurityAdmin::validateUser($userDto); $result = new Result(); if (sizeof($errors) == 0) { $user = SecurityDao::getUserById($userDto->id); $actualRoles = SecurityDao::getRolesByMail($user->mail); $actualRolesIds = Phinq::create($actualRoles)->select(function ($role) { return $role->id; })->toArray(); $rolesToAdd = Phinq::create($userDto->roles)->except($actualRolesIds); $rolesToDelete = Phinq::create($actualRolesIds)->except($userDto->roles); $actualProveedores = SecurityDao::getUserProveedores($user->id); $actualProveedoresIds = Phinq::create($actualProveedores)->select(function ($up) { return $up->proveedorId; })->toArray(); $newProveedoresIds = Phinq::create($userDto->proveedores)->select(function ($proveedor) { return $proveedor->id; })->toArray(); $proveedoresToAdd = Phinq::create($newProveedoresIds)->except($actualProveedoresIds); $proveedoresToDelete = Phinq::create($actualProveedoresIds)->except($newProveedoresIds); try { $transaction = GenericDao::beginTransaction(); if (isset($userDto->editPassword) && $userDto->editPassword) { $user->password = sha1($userDto->password); } $user->nick = $userDto->nick; $user->sucursalId = $userDto->sucursalId; $user->firstName = $userDto->firstName; $user->lastName = $userDto->lastName; $user->mail = $userDto->mail; $user->enabled = $userDto->enabled; $user->esFresco = $userDto->esFresco; $user->optionalMails = $userDto->optionalMails; $user->updateDate = date("Y-m-d H:i:s", time()); SecurityDao::updateUser($user, $transaction); foreach ($rolesToAdd as $roleId) { $user_role = new User_Role($user->id, $roleId); SecurityDao::AddRoleToUser($user_role, $transaction); } foreach ($rolesToDelete as $roleId) { $user_role = new User_Role($user->id, $roleId); SecurityDao::deleteRoleFromUser($user_role, $transaction); } foreach ($proveedoresToAdd as $proveedorId) { $user_proveedor = new User_Proveedor($user->id, $proveedorId); SecurityDao::addProveedorToUser($user_proveedor, $transaction); } foreach ($proveedoresToDelete as $proveedorId) { $user_proveedor = new User_Proveedor($user->id, $proveedorId); SecurityDao::deleteProveedorFromUser($user_proveedor, $transaction); } $transaction->commit(); } catch (\Exception $ex) { $transaction->rollBack(); $result->hasErrors = true; $result->messages = array($ex->getMessage()); } } else { $result->hasErrors = true; $result->messages = $errors; } $response = new Response($result, NULL); return json_encode($response); }