Á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 Lotes

    Para Clonagem de Projetos Agrícolas são utilizado o botão de copiar nos seguintes fluxos:

    Já havia o botão de clonagem de um único projeto na listagem e este segue tendo o mesmo comportamento.

    Porém agora na Tela de Pesquisa também há o botão "Clonar" com a finalidade de clonagem em massa

    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:

    Quando selecionados vários projetos agrícolas para clonagem, após a confirmação do Ano Agrícola e Cultura destino para os projetos, serã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 acima. 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.

    Após selecionar os projetos agrícolas na pop-up de clonagem, clicar em “confirmar” é exibido a janela para informar o ano Safra que será considerado no clone:

    Segue os campos para informa na clonagem de projetos segundo as configurações de preenchimento:

    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:

    Lembrando que a clonagem inteligente se limita à existência de projetos, de modo que não será realizada nenhuma validação referente à dados existentes nos projetos, ou seja, o processo de clonagem apenas vai criar projetos novos, e não haverá complementação de projetos previamente cadastrados.

    Implementação Clonagem de projetos no Android

    Para isso, na tela de listagem de projetos agrícolas do Atendimentos Android, foi implementado um menu de contexto ao projeto agrícola, que é exibido ao ser utilizado um toque longo sobre o projeto agrícola.
    Este menu de contexto apresenta a opção “Clonar projeto”.

    Ao clicar no menu de contexto, é carregado a tela de clonagem de projetos no Android, onde o usuário deve escolher o ano agrícola e a cultura destinos para a clonagem, além de poder escolher quais informações devem ou não ser clonadas junto com com o projeto agrícola.

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


    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