Á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 serã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, 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 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:

Image Modified

Tela: 

Image Modified

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

Segue os campos para informar na clonagem de projetos

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

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 devem ser 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 deve ser 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 for “LOC”, a validação de projetos agrícolas deve ser 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 for “FIL”, a validação de projetos agrícolas deve ser 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;
  • ** A Cooxupé utiliza hoje o modelo “LOC”, onde a validação de unicidade de projetos agrícolas será por SAFRA, CULTURA e LOCAL.
  • Essa validação de duplicidade já existe no lançamento de novos projetos agrícolas, e será replicada agora para a clonagem em lote de projetos agrícolas

As seguintes opções de clonagem estarão disponíveis no android:

Ano Agrícola: Campo onde o usuário deverá informar o novo Ano Agrícola ( safra) ( replicar a busca existente na web).

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

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

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

Aplicações: Ao selecionar esta opção, todas as aplicações lançadas para o projeto anterior deverão ser 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 deverão ser 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 deverão ser 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 deverá ser 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 deverão ser 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 deverão ser 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

Serviços: Ao selecionar esta opção, todas os serviços lançados para o projeto anterior deverão ser clonados:

select * from servicorealizado 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 deverá ser 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 deve ser por 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á ser 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á ser clonado um novo registro.
  • Se o valor do parâmetro for “LOC”, a validação de unicidade de projetos agrícolas deve ser por 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á ser 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á ser clonado um novo registro.
  • Se o valor do parâmetro for “FIL”, a validação de unicidade de projetos agrícolas deve ser 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;
    • Caso já exista um registro para as mesmas chaves acima o projeto não poderá ser 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á ser clonado um novo registro.
    • Obs: A Cooxupé utiliza hoje o modelo “LOC”, onde a validação de unicidade de projetos agrícolas será 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.