AJUDA COM LOGICA
galera preciso daajuda de voces pra criar uma logica.
é o seguinte estou fazendo um sisteminha para uma academia (olhem no forum mostrem suas telas)
e to parando na questao de gerar mensalidades
queria a ajuda de voce pra criar essa função, pensei na seguinte logica:
quando cadastro um cliente ele gera no db 12 mensalidades uma para cada mes, mas se o aluno frequentar a a cademia 2 mese por exemplo vai fikar 10 mensalidades em aberto e posteriormente em atraso.
qlguem pode me ajuda com uma logica mas eficiente?
abraços
é o seguinte estou fazendo um sisteminha para uma academia (olhem no forum mostrem suas telas)
e to parando na questao de gerar mensalidades
queria a ajuda de voce pra criar essa função, pensei na seguinte logica:
quando cadastro um cliente ele gera no db 12 mensalidades uma para cada mes, mas se o aluno frequentar a a cademia 2 mese por exemplo vai fikar 10 mensalidades em aberto e posteriormente em atraso.
qlguem pode me ajuda com uma logica mas eficiente?
abraços
ae Caio...
no meu tcc da etec fiz um sistema para academia, so q a logica nao estava legal..
depois de comcluir o projeto pensei na seguinte lógica para as mensalidades:
Bancodedados tem uma parte (tabela) reservada para armazenar os campos (cod-integer, data-varchar e emisão-varchar)
nesta data, o operador escolhe o dia em que a mensalidade sera gerada.. por exemplo dia 1° ou 5°.. tanto faz..
blz..
depois de escolher o dia, mes...
o sistema cria um cadastro que é armazenaddo na tabela..
cod:1, data:01/10, emisão:nao
o sistema ao ser iniciado vai verificar se ja foi emitido neste mes..
emisao = nao
gerar mensalidades
declarar emisao como SIM
criar outro registro na tabela com a data do mes seguinte--cod=2, data=01/11, emisao=não
+ o - isso a logica q eu usaria..
qualquer duvida to aqui
no meu tcc da etec fiz um sistema para academia, so q a logica nao estava legal..
depois de comcluir o projeto pensei na seguinte lógica para as mensalidades:
Bancodedados tem uma parte (tabela) reservada para armazenar os campos (cod-integer, data-varchar e emisão-varchar)
nesta data, o operador escolhe o dia em que a mensalidade sera gerada.. por exemplo dia 1° ou 5°.. tanto faz..
blz..
depois de escolher o dia, mes...
o sistema cria um cadastro que é armazenaddo na tabela..
cod:1, data:01/10, emisão:nao
o sistema ao ser iniciado vai verificar se ja foi emitido neste mes..
emisao = nao
gerar mensalidades
declarar emisao como SIM
criar outro registro na tabela com a data do mes seguinte--cod=2, data=01/11, emisao=não
+ o - isso a logica q eu usaria..
qualquer duvida to aqui
Caio, tudo bem, eu já passei por isso e a solução foi a seguinte (Pode não ser a melhor mais atendeu)
Bom para começar meu caso não é com clientes (alunos) mas com serviços, so para ilustrar mesmo, pode ser que você esteja tratando o produto da academia como um serviço e nao individual para cada cliente (não sei se fui claro)
Mas vamos lá, cada contrato de serviço tem um registro na tabela de contratos que vincular o contrato com o cliente, e tem dados como dia do vencimento, inicio do serviço data final (se nao tem data prevista é null), status do contrato, quantidade de faturas geradas (esse campo é para facilitar as consultas, pois na geração ja é atualizado ai não preciso dar um count na tabela de faturas),data da geração da ultima fatura, e outros.
Bom a base é sqlServer 2000, temos uma procedure que todos os dias roda na madrugada para geração dessas faturas e envio do arquivo para geração dos boletos para a grafica, Mas é bem simples,
1) Filtro todos os contratos ativos onde a diferença da data (dia do vencimento)/month(date)/year(date) e hoje seja menos de 20 dias e o mes da ultima date de geração da fatura não seja o mes corrente corrente.
2) Faço mais uma verificação com todas as possiveis faturas na tebela de faturas geradas, para saber se já não existe (pode ter sido gerado manualmente) e caso ja gerado eu so flego a data e crio um log
Bom o nosso aqui é bem simples e esta funcionando bem, até agora não apresentou problemas (espero que não apresente) hehehe
Abraços.
Bom para começar meu caso não é com clientes (alunos) mas com serviços, so para ilustrar mesmo, pode ser que você esteja tratando o produto da academia como um serviço e nao individual para cada cliente (não sei se fui claro)
Mas vamos lá, cada contrato de serviço tem um registro na tabela de contratos que vincular o contrato com o cliente, e tem dados como dia do vencimento, inicio do serviço data final (se nao tem data prevista é null), status do contrato, quantidade de faturas geradas (esse campo é para facilitar as consultas, pois na geração ja é atualizado ai não preciso dar um count na tabela de faturas),data da geração da ultima fatura, e outros.
Bom a base é sqlServer 2000, temos uma procedure que todos os dias roda na madrugada para geração dessas faturas e envio do arquivo para geração dos boletos para a grafica, Mas é bem simples,
1) Filtro todos os contratos ativos onde a diferença da data (dia do vencimento)/month(date)/year(date) e hoje seja menos de 20 dias e o mes da ultima date de geração da fatura não seja o mes corrente corrente.
2) Faço mais uma verificação com todas as possiveis faturas na tebela de faturas geradas, para saber se já não existe (pode ter sido gerado manualmente) e caso ja gerado eu so flego a data e crio um log
Bom o nosso aqui é bem simples e esta funcionando bem, até agora não apresentou problemas (espero que não apresente) hehehe
Abraços.
Para poder fazer uma logica mas prescisa temos que saber o seguinte:
essas mensalidades vai ser geradas todas para um mesmo dia de vencimento ?
Ou vai ter cliente que vai pagar dia 10 e outro dia 20 ?
é presciso mas detalhes para poder elaborar uma função que servirá ao proposto. veja ai como vai ser e posta ai pra nos essas informções.
essas mensalidades vai ser geradas todas para um mesmo dia de vencimento ?
Ou vai ter cliente que vai pagar dia 10 e outro dia 20 ?
é presciso mas detalhes para poder elaborar uma função que servirá ao proposto. veja ai como vai ser e posta ai pra nos essas informções.
EMANDRADE2002, entao cada mensalidade vence em um determinado dia.
CAIO_FR_SP
Se o cliente contratar um SERVIÇO para 5, 10 ou 12 meses, então você pode emitir os boletos correspondentes pois a falta de pagamento acarreta em atraso conforme cláusula contratual.
Opções:
- Você pode emitir os boletos com vencimento À VISTA e com a ORIENTAÇÃO AO CAIXA: [Ô]NÃO RECEBER APÓS DIA xx/xx/xx[Ô]. (minha preferida)
- Emita os Boletos do mês.
- Os boletos NUNCA serão vencidos.
Escolha a melhor.
Se o cliente contratar um SERVIÇO para 5, 10 ou 12 meses, então você pode emitir os boletos correspondentes pois a falta de pagamento acarreta em atraso conforme cláusula contratual.
Opções:
- Você pode emitir os boletos com vencimento À VISTA e com a ORIENTAÇÃO AO CAIXA: [Ô]NÃO RECEBER APÓS DIA xx/xx/xx[Ô]. (minha preferida)
- Emita os Boletos do mês.
- Os boletos NUNCA serão vencidos.
Escolha a melhor.
Pessoal,
Vocês estão discutindo LÓGICA?
Aonde está a lógica de tudo isso que vocês explanaram?
Pára com isso. Cadê a regra do cliente para esse caso? Vai inventar uma e esperar o cliente dizer que não era assim e escrever tudo de novo?
E ainda tem gente que acredita que o CRUZ-CREDS vai colar... Isso ai, por mais simples que seja, precisa de um analista e não somente de programadores inventando código para adaptar uma coisa que está na cabeça deles e não na do cliente.
Vocês estão discutindo LÓGICA?
Aonde está a lógica de tudo isso que vocês explanaram?
Pára com isso. Cadê a regra do cliente para esse caso? Vai inventar uma e esperar o cliente dizer que não era assim e escrever tudo de novo?
E ainda tem gente que acredita que o CRUZ-CREDS vai colar... Isso ai, por mais simples que seja, precisa de um analista e não somente de programadores inventando código para adaptar uma coisa que está na cabeça deles e não na do cliente.
RCMRO - o cliente sempre tem a razão, ele conhece a regra de negócios dele, cada um pode trabalhar de uma forma, não é porque uma empresa é pequena que ela tem que trabalhar seguindo [Ô]padrões[Ô] definidos por analistas de sistemas.
Caio é simples isso:
Existe os boletos que de alguma forma estão relacionados aos clientes, no cadastro de cliente você coloca um campo de status, e toda vez que esse campo for alterado que permaneça um histórico, assim saberemos quando este cliente foi desativado, ai na contas a receber basta vc listar apenas os boletos com a data de vencimento dentro da data de ativação do cliente.
espero ter ajudado
Caio é simples isso:
Existe os boletos que de alguma forma estão relacionados aos clientes, no cadastro de cliente você coloca um campo de status, e toda vez que esse campo for alterado que permaneça um histórico, assim saberemos quando este cliente foi desativado, ai na contas a receber basta vc listar apenas os boletos com a data de vencimento dentro da data de ativação do cliente.
espero ter ajudado
Adoro quando comprovam as minhas teorias...
Tks.
Tks.
CAIO_FR_SP, boa noite.
Infelizmente o que você colocou no inÃcio é a pura verdade você pode gerar as dozes mensalidades de um só vez, mas pensse em contratos, para se usar a academia do seu cliente ele deve gerar um contrato, seja ele de 3 meses, 6 meses ou um ano sei lá veja isso com ele. Quano houver a aceitação do contrato novo ou renovado gera-se as menssalidades, Agora se o usuario assinar por 12 meses frequentar 2 meses 10 ficaram pendentes até ele trancar a matricula, mais isso não elimina a dÃvida ela ficara pendente ate o pagamento, ou seja, se ele pagou os 2 primeiro meses e trancou no terçeiro só vai dever uma, sele não pagou as duas e trancou na terceira vai ficar devendo 3, entendeu???
Quanto ao status do cliente é só para o sistema não gerar contas a pagar caso o cliente esteja trancado ou cancelado, ok???
Infelizmente o que você colocou no inÃcio é a pura verdade você pode gerar as dozes mensalidades de um só vez, mas pensse em contratos, para se usar a academia do seu cliente ele deve gerar um contrato, seja ele de 3 meses, 6 meses ou um ano sei lá veja isso com ele. Quano houver a aceitação do contrato novo ou renovado gera-se as menssalidades, Agora se o usuario assinar por 12 meses frequentar 2 meses 10 ficaram pendentes até ele trancar a matricula, mais isso não elimina a dÃvida ela ficara pendente ate o pagamento, ou seja, se ele pagou os 2 primeiro meses e trancou no terçeiro só vai dever uma, sele não pagou as duas e trancou na terceira vai ficar devendo 3, entendeu???
Quanto ao status do cliente é só para o sistema não gerar contas a pagar caso o cliente esteja trancado ou cancelado, ok???
Este tópico deveria ser alterado para [OFF] TRATAMENTO DE BOLETOS
Tópico encerrado , respostas não são mais permitidas