Example #1
0
 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;
 }
Example #2
0
 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);
 }