Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Painel
borderStylenone

DADOS GERAIS SOBRE O RECURSO

Painel

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.

Painel

Índice
maxLevel4
minLevel2
stylecircle
separatorpipe

Section

Deck of Cards
id32432432
Card
labelEscopo Funcional/Manual

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:

CampoDescrição
Ano AgrícolaCampo onde o usuário  informa o novo Ano Agrícola ( safra) ( replicar a busca existente na web).
CulturaCampo onde o usuário  informa a nova cultura ( replicar a busca existente na web).
Clonar TudoAo selecionar esta opção, todos os campos o foi marcados como true.
AplicaçõesAo selecionar esta opção, todas as aplicações lançadas para o projeto anterior o foi clonadas
EstimativasAo 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 ARTAo selecionar esta opção, o número ART  foi clonado para todas as áreas do projeto
OcorrênciasAo selecionar esta opção, todas as ocorrências lançadas para o projeto anterior o foi clonadas
RecomendaçõesAo 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.


Card
labelEscopo Técnico

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.