Jump to content
Fivewin Brasil

Situação com MySql


Yury

Recommended Posts

olá amigos,

Gostaria de opniões a respeito de como vocês tratam isto no sistema que está acessando MySql/Postsgree

imaginem a seguinte situação (eu sei que é uma situação hipotética) :

Rotina de Aprovação/Reprovação de Pedidos de Venda (libera ou não o pedido de venda para ser faturado):

em determinada empresa, 3 operadores do sistema podem aprovar um pedido, Supervisor Geral, Gerente Geral e Gerente de Vendas

o pedido está com um status "Aguardando Aprovação/Reprovação", então está liberado para que algum operador o acesse, analise e grave

como impedir que cada um dos três operadores acessem ao mesmo tempo o mesmo pedido em três estações diferentes e consequentemente trabalhem com uma informação que já foi processada por outro terminal ?

o Supervisor Geral reprova o pedido e grava

o Gerente Geral reprova o pedido e grava

o Gerente de Vendas aprova o pedido e grava

Qual status vai ficar gravado ?

"Pedido Aprovado"

Mas o Supervisor Geral pode questionar: mas eu reprovei este pedido, como pode ?

Portanto oque estou querendo é compartilhar opiniões de como resolver uma questão como essa (há várias outras, mas todas passam pelo mesmo conceito)

desculpem pelo "livro" que eu escrevi

abraços

Yury Marcelino Al

Viman Sistemas

vimansca@vimansca.com.br

yury030575@yahoo.com.br (msn)

skype: yury.marcelino.al

Leme / SP

FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say

Link to comment
Share on other sites

olá amigos,

Gostaria de opniões a respeito de como vocês tratam isto no sistema que está acessando MySql/Postsgree

imaginem a seguinte situação (eu sei que é uma situação hipotética) :

Rotina de Aprovação/Reprovação de Pedidos de Venda (libera ou não o pedido de venda para ser faturado):

em determinada empresa, 3 operadores do sistema podem aprovar um pedido, Supervisor Geral, Gerente Geral e Gerente de Vendas

o pedido está com um status "Aguardando Aprovação/Reprovação", então está liberado para que algum operador o acesse, analise e grave

como impedir que cada um dos três operadores acessem ao mesmo tempo o mesmo pedido em três estações diferentes e consequentemente trabalhem com uma informação que já foi processada por outro terminal ?

o Supervisor Geral reprova o pedido e grava

o Gerente Geral reprova o pedido e grava

o Gerente de Vendas aprova o pedido e grava

Qual status vai ficar gravado ?

"Pedido Aprovado"

Mas o Supervisor Geral pode questionar: mas eu reprovei este pedido, como pode ?

Portanto oque estou querendo é compartilhar opiniões de como resolver uma questão como essa (há várias outras, mas todas passam pelo mesmo conceito)

desculpem pelo "livro" que eu escrevi

abraços

Yury Marcelino Al

Viman Sistemas

vimansca@vimansca.com.br

yury030575@yahoo.com.br (msn)

skype: yury.marcelino.al

Leme / SP

FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say

Link to comment
Share on other sites

Yury, o que tenho feito, depende do conceito do sistema é :

1 campo para cada tipo de aprovador / reprovador

ou prevalece a senha do maior ( menor é o operador, maior gerente, (mais maior ) diretor ,etc )

de forma que na comparação final reprovado / aprovado estará gravado o real...

Nelson Nunes de Araujo

Santo André - SP

MSN : nelson.n.araujo@hotmail.com

EMAIL: nelson.n.araujo@gmail.com

nelson.n.araujo@terra.com.br

Clipper 5.3E, Blinker 7.0, FW 2.4, Workshop

Link to comment
Share on other sites

obrigado pela atenção Nelson e SA Oliveira,

mas minha dúvida realmente é no momento do acesso simultâneo ao mesmo registro, é isto que eu

não quero permitir, de forma que quando um dos operadores acessem um pedido para aprovação

ele fique indisponível para os outros, pois a análise do pedido pode demorar 5 minutos por exemplo,

e nesse tempo outro operador pode acessar o mesmo pedido

depois que um dos operadores aprova/reprova, aí está tudo ok, pois o status do pedido

já será alterado

no FWH com DBF isto é muito simples de fazer, pois basta bloquear o registro quando o primeiro

acessa e os outros não conseguiriam acessar, mas no BD MySql é outra história

sei que um pouco embassado e chato, mas é uma necessidade

abraço

Yury Marcelino Al

Viman Sistemas

vimansca@vimansca.com.br

yury030575@yahoo.com.br (msn)

skype: yury.marcelino.al

Leme / SP

FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say

Editado por - yury on 28/05/2009 16:34:59

Link to comment
Share on other sites

Amigo S.A.Oliveira, creio que essa não seja a melhor solução

Imagina assim

O Usuario 01 abre dai grava por exemplo "S"

Dai da algum erro, ou o carra reinicia o micro

O controle foi pro espaço.

Realmente nao sei como fazer...

informaisvrb@gmail.com

FWHX 2.6+ SQLLIB + xDev + rpv + MYSQL 5.0 / fwh808+sqllib(atual)

Msn.: mastermarvrb@msn.com

Link to comment
Share on other sites

citação:

obrigado pela atenção Nelson e SA Oliveira,

mas minha dúvida realmente é no momento do acesso simultâneo ao mesmo registro, é isto que eu

não quero permitir, de forma que quando um dos operadores acessem um pedido para aprovação

ele fique indisponível para os outros, pois a análise do pedido pode demorar 5 minutos por exemplo,

e nesse tempo outro operador pode acessar o mesmo pedido

depois que um dos operadores aprova/reprova, aí está tudo ok, pois o status do pedido

já será alterado

no FWH com DBF isto é muito simples de fazer, pois basta bloquear o registro quando o primeiro

acessa e os outros não conseguiriam acessar, mas no BD MySql é outra história

sei que um pouco embassado e chato, mas é uma necessidade

abraço

Yury Marcelino Al

Viman Sistemas

vimansca@vimansca.com.br

yury030575@yahoo.com.br (msn)

skype: yury.marcelino.al

Leme / SP

FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say

Editado por - yury on 28/05/2009 16:34:59


id=quote>id=quote>

Yury, vc tentou usar o recurso para locar o registro para um determinado operador....

dependendo da operação, o usuário 1 fica com o registro locado para que o 2 não altere.... qdo desalocar, verifique se a prioridade do usuario 2 é superior ao 1 para alterar o registro...

Nelson Nunes de Araujo

Santo André - SP

MSN : nelson.n.araujo@hotmail.com

EMAIL: nelson.n.araujo@gmail.com

nelson.n.araujo@terra.com.br

Clipper 5.3E, Blinker 7.0, FW 2.4, Workshop

Link to comment
Share on other sites

citação:

Yury, vc tentou usar o recurso para locar o registro para um determinado operador....


id=quote>id=quote>

Não Nelson, não tentei isto...

me explique como seria, qual sua idéia...

isto poderia ser feito via comando/funções ou alguma flag

nos campos do registro ?

grato

abraço

Yury Marcelino Al

Viman Sistemas

vimansca@vimansca.com.br

yury030575@yahoo.com.br (msn)

skype: yury.marcelino.al

Leme / SP

FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say

Link to comment
Share on other sites

citação:

Amigo S.A.Oliveira, creio que essa não seja a melhor solução

Imagina assim

O Usuario 01 abre dai grava por exemplo "S"

Dai da algum erro, ou o carra reinicia o micro

O controle foi pro espaço.

Realmente nao sei como fazer...


id=quote>id=quote>

Estamos falando de SQL, certo? Então se tiver o BEGIN TRANSACTION e o END TRANSACTION ao final da rotina e o computador travar ou outra coisa parecida, o banco desconsidera o que foi feito, não? Ou estou enganado? Se a transação ocorre com sucesso acho que daria pra se fazer um teste... ou não? hehehehe

Kleyber Derick

xHarbour 1.1.0 + FWH 8.02 (BMW Zerada!!!) + xDevStudio + SQLLIB

Visite São Luís - MA A Ilha dos Amores

Editado por - kleyber on 28/05/2009 18:58:45

Link to comment
Share on other sites

Yury, a idéia é bem simples.....

o operador obtem o registro... neste momento o registro é blocado para que outros não tenham acesso a ele...

Enquanto não encerrar a operação, o registro não será desbloqueado.

registrou a operação( liberação / bloqueio ).

desbloqueie o registro em uso, para acesso geral..

qdo o segundo operador acessar a este registro, o registro estará marcado( .T. ou .F. ).... antes de mudar este status, verifique se a senha do operador que está querendo mudar o status é superior ao do que colocou o status nesta situação....

Senha de Gerente, tem superioridade ao do Operador, e assim por diante....

é apenas uma idéia, pois não sei a lógica que vc está utilizando... espero que te ajude.... qq coisa, estamos aqui..

Nelson Nunes de Araujo

Santo André - SP

MSN : nelson.n.araujo@hotmail.com

EMAIL: nelson.n.araujo@gmail.com

nelson.n.araujo@terra.com.br

Clipper 5.3E, Blinker 7.0, FW 2.4, Workshop

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...