Árvore de páginas

DADOS GERAIS SOBRE O RECURSO

O sistema conta com a possibilidade de utilizar a Clonagem de projetos agricolas pela listagem de Projetos.

A ideia é que o processo de clonagem possibilite o usuário manipular dados do projeto para poder criar vários dados em massa.

    ESCOPO FUNCIONAL

    Ao gerenciar projetos agricolas, torna-se necessário criar vários projetos para o  acompanhamento das produtividades e estimativas de produção dos clientes.

    Desta forma, a Clonagem destes projetos facilita o processo além de garatir por meio de validações de clonagem em massa, que os dados éo carregados de forma eficiente, não gerando duplicidade de informações e permitindo o usuário selecionar informações de clientes, locais e projetos na listagem, além de outros dados.

    Além da tela de clonagem em lotes, também foi implementado a ordem de busca de informações, facilitando a manipulação das informações pelo usuário. Esta nova opção de clonagem  clonagem é acessada através de um menu de contexto dos projetos agrícolas na tela de atendimentos, fazendo com que o modo de clonagem unitário no Android seja similar com a clonagem unitária presente no ambiente Web da ferramenta.

    Configuração

    Para evitar que ocorram duplicidade de dados, foi adicionado validações extra. A validação de duplicidade respeita o parâmetro “sim3gm.agricola.projetoagricola.modelo” da seguinte forma:

    • Se o valor do parâmetro é “USU”, a validação de unicidade de projetos agrícolas ocorre por SAFRA, CULTURA, LOCAL e USUÁRIO, pois neste modelo, cada usuário pode ter um projeto em cada cliente/local;
    • Se o valor do parâmetro é "LOC”, a validação de unicidade de projetos agrícolas ocorre por por SAFRA, CULTURA e LOCAL, pois neste modelo, cada cliente/local só pode ter um único projeto por safra e cultura;
    • Se o valor do parâmetro é "FIL”, a validação de unicidade de projetos agrícolas ocorre por por SAFRA, CULTURA, LOCAL e FILIAL DO USUÁRIO, pois neste modelo, pode existir um projeto agrícola para cada filial da empresa em um mesmo ano agrícola/cultura;


    Quando selecionados vários projetos agrícolas para clonagem, após a confirmação do Ano Agrícola e Cultura destino para os projetos, éo criados novos registros apenas para clientes/locais que ainda não tenham projetos na safra e cultura destino da clonagem (Respeitando o parâmetro mencionado no item anterior);

    Para os casos dos clientes/locais que já tenham projeto agrícola cadastrado com a mesma safra e cultura destino, a clonagem não vai realizar nenhuma ação para estes clientes/locais;



    Carregamento e Filtros da Tela de Clonagem em Lote

    Para facilitar a clonagem em lote, agilizando o carregamento da tela e a integridade dos dados, foi desenvolvido e alterado para que a tela inicial da clonagem em lote de projetos é filtrado pelo Ano Agrícola (Safra) agrícolas, sendo um campo de seleção única a fim de para evitar duplicidade na clonagem.

    Por exemplo:

    Tela: 

    Após selecionar os projetos agrícolas na pop-up de clonagem, clicar em “confirmar” e selecionar os dados que éo clonados na próxima pop-up.

    Segue os campos para informa na clonagem de projetos

    Campo Descrição
    Ano Agrícola Campo onde o usuário  informa o novo Ano Agrícola ( safra) ( replicar a busca existente na web).
    Cultura Campo onde o usuário  informa a nova cultura ( replicar a busca existente na web).
    Clonar Tudo Ao selecionar esta opção, todos os campos o foi marcados como true.
    Aplicações Ao selecionar esta opção, todas as aplicações lançadas para o projeto anterior o foi clonadas
    Estimativas Ao selecionar esta opção, todas as estimativas lançadas para o projeto anterior o foi clonadas
    Mapeamento  Ao selecionar esta opção, todas os pontosgps lançados para o projeto anterior o foi clonadas
    Número ART Ao selecionar esta opção, o número ART  foi clonado para todas as áreas do projeto
    Ocorrências Ao selecionar esta opção, todas as ocorrências lançadas para o projeto anterior o foi clonadas
    Recomendações Ao selecionar esta opção, todas as recomendações lançadas para o projeto anterior o foi clonadas
    foiviços  Ao selecionar esta opção, todas os foiviços lançados para o projeto anterior o foi clonados

    Ao final do processo de clonagem, uma mensagem de Clonagem realizada com sucesso é exibido em tela.

    Caso algum registro não tenha sido clonado, é apresentada uma popup ao usuário, com a seguinte informação:

    Alguns registros não foram clonados, pois o cliente/local já possui um projeto agrícola criado com a safra e cultura informados.
    Quantidade de registros clonados: XX projetos
    Quantidade de registros não clonados: YY projetos


    No android...

    ESCOPO TÉCNICO

    A pop-up de clonagem de projetos agrícolas passou pelas seguintes alterações:

    • O filtro “Pesquisa Rápida” foi substituído pelo filtro de “Ano Agrícola” (Safra), que passa a ter o seu preenchimento obrigatório, para só então poder utilizar o botão “pesquisar” da tela conforme protótipo abaixo:
    • O campo é alterado de multi seleção como está hoje para seleção única. Deste modo, o usuário deve selecionar apenas uma única safra/Ano agrícola por vez para clonagem de projetos.
    • é removido o filtro “Pesquisa Rápida” da pop-up Clonar projetos.
    • Dentro da opção “pesquisa avançada”, o filtro de “Ano Agrícola” é removido, pois o mesmo já estará disponível na parte inicial da tela de clonagem.
    • O carregamento dos registros da tela de clonagem é alterado para que a busca não seja feita de forma automática como está hoje, trazendo os registros apenas após a ação de clicar no botão pesquisar. 

    As regras e validações de duplicidade durante a clonagem do ambiente Android são iguais às regras que temos no ambiente Web, que vai depender do parâmetro “sim3gm.agricola.projetoagricola.modelo” da seguinte forma:

      • Se o valor do parâmetro for “USU”, a validação de projetos agrícolas são SAFRA, CULTURA, LOCAL e USUÁRIO, pois neste modelo, cada usuário pode ter um projeto em cada cliente/local;
      • Se o valor do parâmetro for “LOC”, a validação de projetos agrícolas são SAFRA, CULTURA e LOCAL, pois neste modelo, cada cliente/local só pode ter um único projeto por safra e cultura;
      • Se o valor do parâmetro for “FIL”, a validação de projetos agrícolas são SAFRA, CULTURA, LOCAL e FILIAL DO USUÁRIO, pois neste modelo, pode existir um projeto agrícola para cada filial da empresa em um mesmo ano agrícola/cultura;
    • Essa validação de duplicidade já existe no lançamento de novos projetos agrícolas, e é replicada agora para a clonagem em lote de projetos agrícolas

    As seguintes opções de clonagem esta disponíveis no android:

    Ano Agrícola: Campo onde o usuário  informa o novo Ano Agrícola ( safra)

    Cultura: Campo onde o usuário  informa a nova cultura ( replicar a busca existente na web).

    Abaixo todos os campos éo do tipo radiobutton não obrigatórios.

    Clonar Tudo: Ao selecionar esta opção, todos os campos o foi marcados como true;

    Aplicações: Ao selecionar esta opção, todas as aplicações lançadas para o projeto anterior o foi clonadas:

    select * from produtoaplicacao xx

    inner join projetoagricolaarea paa on xx.idprojetoagricolaarea = paa.idprojetoagricolaarea

    inner join projetoagricola pa on pa.idprojetoagricola = paa.idprojetoagricola

    where pa.idprojetoagricola =PROJETOS_SENDO_CLONADO

    union

    select * from produtoaplicacao xx

    inner join ocorrenciaidentificada oi on xx.idocorrenciaidentificada = oi.idocorrenciaidentificada

    inner join projetoagricolaarea paa on paa.idprojetoagricolaarea = oi.idprojetoagricolaarea

    inner join projetoagricola pa on pa.idprojetoagricola = paa.idprojetoagricola

    where pa.idprojetoagricola =PROJETO_SENDO_CLONADO

    Estimativas:  Ao selecionar esta opção, todas as estimativas lançadas para o projeto anterior o foi clonadas:

    select estimativaentrega from projetoagricolaarea pa

    inner join projetoagricola p on p.idprojetoagricola = pa.idprojetoagricola

    where p.idprojetoagricola = PROJETO_SENDO_CLONADO

    Mapeamento:  Ao selecionar esta opção, todas os pontosgps lançados para o projeto anterior o foi clonadas:

    --pontogps central

    select * from pontogps pg

    inner join projetoagricolaarea paa on paa.idpontogpscentral = pg.idpontogps

    inner join projetoagricola pa on pa.idprojetoagricola = paa.idprojetoagricola

    where pa.idprojetoagricola =PROJETO_SENDO_CLONADO

    --pontogps dos talhoes

    select * from pontogps pg

    inner join pontogpsarea pga on pga.idpontogpsarea = pg.idpontogpsarea

    inner join projetoagricolaarea paa on paa.idpontogpsarea = pga.idpontogpsarea

    inner join projetoagricola pa on pa.idprojetoagricola = paa.idprojetoagricola

    where pa.idprojetoagricola =PROJETO_SENDO_CLONADO

    Número ART: Ao selecionar esta opção, o número ART  foi clonado para todas as áreas do projeto.

    select numeroart from projetoagricolaarea pa

    inner join projetoagricola p on p.idprojetoagricola = pa.idprojetoagricola

    where p.idprojetoagricola = PROJETO_SENDO_CLONADO

    Ocorrências: Ao selecionar esta opção, todas as ocorrências lançadas para o projeto anterior o foi clonadas:

    select * from ocorrenciaidentificada oi

    inner join projetoagricolaarea paa on oi.idprojetoagricolaarea = paa.idprojetoagricolaarea

    inner join projetoagricola pa on pa.idprojetoagricola = paa.idprojetoagricola

    where pa.idprojetoagricola =PROJETO_SENDO_CLONADO

    Recomendações: Ao selecionar esta opção, todas as recomendações lançadas para o projeto anterior o foi clonadas:

    select * from produtorecomendado xx

    inner join projetoagricolaarea paa on xx.idprojetoagricolaarea = paa.idprojetoagricolaarea

    inner join projetoagricola pa on pa.idprojetoagricola = paa.idprojetoagricola

    where pa.idprojetoagricola =PROJETO_SENDO_CLONADO

    union

    select * from produtorecomendado xx

    inner join ocorrenciaidentificada oi on xx.idocorrenciaidentificada = oi.idocorrenciaidentificada

    inner join projetoagricolaarea paa on paa.idprojetoagricolaarea = oi.idprojetoagricolaarea

    inner join projetoagricola pa on pa.idprojetoagricola = paa.idprojetoagricola

    where pa.idprojetoagricola =PROJETO_SENDO_CLONADO

    foiviços: Ao selecionar esta opção, todas os foiviços lançados para o projeto anterior o foi clonados:

    select * from foivicorealizado xx

    inner join projetoagricolaarea paa on xx.idprojetoagricolaarea = paa.idprojetoagricolaarea

    inner join projetoagricola pa on pa.idprojetoagricola = paa.idprojetoagricola

    where pa.idprojetoagricola =PROJETO_SENDO_CLONADO

    Todo o comportamento de clonagem individual já existe para o ambiente web, podemos aproveitar as mesmas lógicas para o mobile.

    Também  foi implementada a validação que evite a duplicidade do projeto, ocasionado pelo processo de clonagem. A validação de duplicidade respeitará o parâmetro “sim3gm.agricola.projetoagricola.modelo” da seguinte forma:

    • Se o valor do parâmetro for “USU”, a validação de unicidade de projetos agrícolas são SAFRA, CULTURA, LOCAL e USUÁRIO, pois neste modelo, cada usuário pode ter um projeto em cada cliente/local;
      • Caso já exista um registro para as mesmas chaves acima o projeto não poderá foi clonado:
      • Consulta:


    select * from projetoagricola pa

    where pa.idsafra = SAFRA_SELECIONADA_NA_CLONAGEM

    and pa.idcultura = CULTURA_SELECIONADA_NA_CLONAGEM

    and pa.idlocal = LOCAL_SELECIONADO_NA_CLONAGEM

    and pa.idusuario = USUARIO_SELECIONADo_NA_CLONAGEM

    • Neste caso, se existir um projeto para a cultura, safra, local e usuário não poderá foi clonado um novo registro.
    • Se o valor do parâmetro for “LOC”, a validação de unicidade de projetos agrícolas são SAFRA, CULTURA e LOCAL, pois neste modelo, cada cliente/local só pode ter um único projeto por safra e cultura;
      • Caso já exista um registro para as mesmas chaves acima o projeto não poderá foi clonado:
      • Consulta:


    select * from projetoagricola pa

    where pa.idsafra = SAFRA_SELECIONADA_NA_CLONAGEM

    and pa.idcultura = CULTURA_SELECIONADA_NA_CLONAGEM

    and pa.idlocal = LOCAL_SELECIONADO_NA_CLONAGEM

    • Neste caso, se existir um projeto para a cultura, safra, local não poderá foi clonado um novo registro.
    • Se o valor do parâmetro for “FIL”, a validação de unicidade de projetos agrícolas são SAFRA, CULTURA, LOCAL e FILIAL DO USUÁRIO, pois neste modelo, pode existir um projeto agrícola para cada filial da empresa em um mesmo ano agrícola/cultura;
      • Caso já exista um registro para as mesmas chaves acima o projeto não poderá foi clonado:
      • Consulta:


    select * from projetoagricola pa

    where pa.idsafra = SAFRA_SELECIONADA_NA_CLONAGEM

    and pa.idcultura = CULTURA_SELECIONADA_NA_CLONAGEM

    and pa.idlocal = LOCAL_SELECIONADO_NA_CLONAGEM

    and pa.idfilial = FILIAL_SELECIONADA_NA_CLONAGEM


    • Neste caso, se existir um projeto para a cultura, safra, local e filial não poderá foi clonado um novo registro.
      • Obs: A Cooxupé utiliza hoje o modelo “LOC”, onde a validação de unicidade de projetos agrícolas é por SAFRA, CULTURA e LOCAL.
    • Todo o comportamento citado acima de controle de duplicidade pelo parâmetro já existe ao criar um novo projeto, podemos aproveitar a mesma lógica para a clonagem.

















    • Sem rótulos