Páginas filhas
  • Apontamento de Plantio

Apontamento de Plantio - MBMC_ATRC

Visão Geral do Programa

Figura 1: Tela de inícioFigura 2: Tela de cabeçalho do apontamentoFigura 3: Tela de detalhes de InsumoFigura 4: Tela de detalhes de Sementes

Objetivo da tela:

Incluir, alterar ou excluir apontamentos de plantio


 

Outras Ações/Ações Relacionadas:

Listar as ações relacionadas à tela.

 

Ação:

Descrição:

Figura (1) Toque no botão 

Navega para a tela de cabeçalho (Figura 2) para iniciar a criação de um novo apontamento de plantio

Figura (1) Toque no botão 

Caso uma linha da lista esteja selecionada, exclui a mesma

Figura (1) Toque no botão Resultado de imagem para yellow pencil icon

Caso uma linha da lista esteja selecionada, abre a tela de cabeçalho (Figura 2) do apontamento selecionado para edição

Figura (1) Toque no botão 

Caso uma linha da lista esteja selecionada, abre a tela de detalhes de insumo (Figura 3) do apontamento selecionado para edição

Figura (1) Toque no botão 

Caso uma linha da lista esteja selecionada, abre a tela de detalhes de semente (Figura 4) do apontamento selecionado para edição

Figura (1) Toque no botão 

Retorna para a tela inicial da aplicação

Figura (2) Toque no botão 

Abre o diálogo de seleção de data

Figura (2) Toque no botão  ao lado de Ordem de Serviço

Abre a lista de ordens de serviço sincronizadas/abertas no dispositivo

Figura (2) Toque no botão  ao lado de N° Tratamento

Abre a lista de tratamentos de semente sincronizados/abertos no dispositivo

Figura (2) Toque no botão  ao lado de Variedade

Abre a lista de variedades sincronizadas

Figura (2) Toque no botão  ao lado de Sistema de Cultivo

Abre a lista de sistemas de cultivo sincronizados

Figura (2) Toque no botão  ao lado de Sistema de Plantio

Abre a lista de sistemas de plantio sincronizados

Figura (2) Toque no botão  ao lado de Equipamento

Abre a lista de equipamentos sincronizados

Figura (2) Toque no botão  ao lado de Talhão

Abre a lista de talhões para o período de produção configurado nos parâmetros

Figura (2) Toque no botão  ao lado de Espaçamento

Abre a lista de espaçamentos sincronizados

Figura (2) Toque no botão 

Caso as informações inseridas pelo usuário sejam válidas, salva o apontamento e navega para a tela de detalhes de insumos (Figura 3)

Figura (2) Toque no botão 

Cancela a inserção/alteração do cabeçalho

Figura (2) Toque no botão 

Retorna para a tela de início

Figura (3) Toque no botão  ao lado de Insumo

Abre a lista de insumos sincronizados

Figura (3) Toque no botão  ao lado de Depósito

Abre a lista de depósitos sincronizados

Figura (3) Toque no botão 

Habilita a inserção de um novo detalhe de insumos

Figura (3) Toque no botão 

Caso uma linha da lista esteja selecionada, exclui a mesma

Figura (3) Toque no botão 

Caso as informações inseridas pelo usuário sejam válidas, salva o detalhe

Figura (3) Toque no botão 

Cancela a inserção/alteração do detalhe

Figura (3) Toque no botão 

Navega para a tela de detalhes de sementes

Figura (3) Toque no botão 

Retorna para a tela de início

Figura (4) Toque no botão  ao lado de Semente

Abre a lista de sementes sincronizadas

Figura (4) Toque no botão  ao lado de Depósito

Abre a lista de depósitos sincronizados

Figura (4) Toque no botão 

Habilita a inserção de um novo detalhe de sementes

Figura (4) Toque no botão 

Caso uma linha da lista esteja selecionada, exclui a mesma

Figura (4) Toque no botão 

Caso as informações inseridas pelo usuário sejam válidas, salva o detalhe

Figura (4) Toque no botão 

Cancela a inserção/alteração do detalhe

Figura (4) Toque no botão 

Retorna para a tela de início



Principais Campos e Parâmetros:


Campo:

Descrição

Figura (2) Campo Data
  • Campo recuperado automaticamente
  • Editável
  • Obrigatório
  • Data do apontamento
Figura (2) Campo Ordem de Serviço
  • Campo editável
  • Não obrigatório
  • Ordem de serviço a que se deseja apontar
Figura (2) Campo N° Tratamento
  • Campo editável
  • Não obrigatório
  • Tratamento de semente a que se deseja apontar
Figura (2) Campo Variedade
  • Campo editável
  • Obrigatório
  • Variedade utilizada para o apontamento
Figura (2) Campo Sistema de Cultivo
  • Campo editável
  • Não obrigatório
  • Sistema de cultivo utilizado
Figura (2) Campo Sistema de Plantio
  • Campo editável
  • Não obrigatório
  • Sistema de plantio utilizado
Figura (2) Campo Equipamento
  • Campo editável
  • Não obrigatório
  • Equipamento utilizado no plantio
Figura (2) Campo Talhão
  • Campo editável
  • Obrigatório
  • Talhão onde foi realizado o plantio
Figura (2) Campo Área Talhão (ha)
  • Campo recuperado automaticamente
  • Não editável
  • Obrigatório
  • Área do talhão informado
Figura (2) Campo Área Plantada[ha]
  • Campo editável
  • Obrigatório
  • Área plantada dentre a área do talhão informado
Figura (2) Campo Espaçamento
  • Campo editável
  • Obrigatório
  • Espaçamento entre plantas
Figura (2) Campo N° Linhas
  • Campo editável
  • Não obrigatório
  • N° de linhas plantadas
Figura (2) Campo Densidade/m
  • Campo editável
  • Não obrigatório
  • Densidade de plantas por metro
Figura (3) Campo Data Abertura
  • Campo recuperado automaticamente
  • Não editável
  • Data de abertura do apontamento
Figura (3) Campo Ordem de Serviço
  • Campo recuperado automaticamente
  • Não editável
  • Ordem de serviço informada no cabeçalho
Figura (3) Campo N° Tratamento
  • Campo recuperado automaticamente
  • Não editável
  • Tratamento de sementes informado no cabeçalho
Figura (3) Campo Insumo
  • Campo editável
  • Obrigatório
  • Insumo utilizado no plantio
Figura (3) Campo Depósito
  • Campo editável
  • Obrigatório
  • Depósito do insumo informado
Figura (3) Campo N° Lote
  • Campo editável
  • N° do lote do insumo informado
Figura (3) Campo Dose Prog./ha
  • Campo editável
  • Obrigatório
  • Dose programada do insumo informado por hectare
Figura (3) Campo Qtde Aplicada
  • Campo editável
  • Obrigatório
  • Quantidade aplicada do insumo informado por hectare
Figura (4) Campo Data Abertura
  • Campo recuperado automaticamente
  • Não editável
  • Data de abertura do apontamento
Figura (4) Campo Ordem Serviço
  • Campo recuperado automaticamente
  • Não editável
  • Ordem de serviço informada no cabeçalho
Figura (4) Campo N° Tratamento
  • Campo recuperado automaticamente
  • Não editável
  • Tratamento de sementes informado no cabeçalho
Figura (4) Campo Semente
  • Campo editável
  • Obrigatório
  • Semente utilizada no plantio
Figura (4) Campo Depósito
  • Campo editável
  • Obrigatório
  • Depósito da semente informada
Figura (4) Campo N° Lote
  • Campo editável
  • N° do lote da semente informada
  • Caso o parâmetro controle por lote esteja como S e o insumo utilize controle por lote, o lote é obrigatório.
Figura (4) Campo Dose Prog./ha
  • Campo editável
  • Obrigatório
  • Dose programada da semente informada por hectare
Figura (4) Campo Qtde Consumida
  • Campo editável
  • Obrigatório
  • Quantidade consumida da semente informada



Conteúdos Relacionados:


Links dos principais conceitos e processos.




(function () {
'use strict';
angular
.module('totvsGridAptoDivHeaderDirective')
.directive('totvsGridAptodivHeader', Directive);

function Directive() {

var directiveController =
['$rootScope',
'$scope',
'$document',
'AvaliacaoLocalProducaoService',
'FiltrosService', 'DialogProvider',
'cfpLoadingBar',
'$translate',
'DatabaseService',
'NotificationService',
'StringService',
'SendMessage',
'$state',
function (
$rootScope,
$scope,
$document,
AvaliacaoLocalProducaoService,
FiltrosService,
DialogProvider,
cfpLoadingBar,
$translate,
DatabaseService,
NotificationService,
StringService,
SendMessage,
$state) {

$scope.swipeClick = true;
$scope.controller = null;
$scope.rowSelect = null;
$scope.filtro = null;

//Elementos para onde será compartilhado
$scope.selected = [];
//$scope.config.gridConfig = [];

//Elemento origem a ser compartilhado
$scope.shareOrign = null;

//Lista de itens(detalhes do shareOrign) a serem compartilhados (esta lista terá os selecionados e também não selecionados)
var listItensSelToShare = [];


$scope.exibir = false;
$scope.mostrarS = false;
$document.on('click', function () {
$scope.hideHeader();
});

$scope.hideHeader = function () {
$("#myNavbar").collapse('hide');
};

$scope.expandir = function (p) {
$(".desc").hide("slow");
$(".swip").hide("slow");

if ($("." + p).is(":hidden")) {
$scope.mostrarS = true;
$("." + p).show("slow");
} else {
$scope.mostrarS = false;
$("." + p).hide("slow");
}

}

$scope.configSwipeAction = function (conf, valorAtributoObjLista, itemCofig) {
if (conf.configAcao == null || conf.configAcao == undefined) {
if (itemCofig == 'icon')
return conf.icon;
else if (itemCofig == 'text')
return conf.text;
}
else {
var configAcao = new jinqJs()
.from(conf.configAcao)
.where(function (row, index) {
return (row.key == valorAtributoObjLista);
})
.select();

if (configAcao.length > 0) {
if (itemCofig == 'icon')
return configAcao[0].icon;
else if (itemCofig == 'text')
return configAcao[0].text;
}
else {
if (itemCofig == 'icon')
return conf.icon;
else if (itemCofig == 'text')
return conf.text;
}
}
}

$scope.configStatusLinha = function(configStatusLinha, valorAtributoObjLista)
{
if(configStatusLinha == null || configStatusLinha == undefined)
{
return "far fa-square color-disabled";
}
else {
var configStatus = new jinqJs()
.from(configStatusLinha[0].config)
.where(function (row, index) {
return (row.key == valorAtributoObjLista);
})
.select();

if(configStatus.length > 0)
return configStatus[0].icon +" "+ (configStatus[0].color != undefined ? configStatus[0].color :'color-disabled');
else
return "far fa-square color-disabled";
}
}

$scope.shareCancel = function () {
$scope.swipeClick = true;

$scope.controller.footer = true;
$scope.rowSelect.show("slow");
//$("."+d._id).show("slow");

$scope.shareOrign = null;
listItensSelToShare = [];
$scope.selected = []; // talhões de destino da cópia
}

$scope.alterarContadorRodape = function (_configRodape) {
var _obj = new jinqJs() //Defining the order and columns to return
.from(_configRodape)
.where(function (row, index) {
return (row.hasBadge == true);
})
.select();

var obj = _obj[0];
var query = obj.query;

DatabaseService.execute(query)
.then(function (res) {
obj.count = res[0].count;
});
}

$scope.shareExecute = function (_rodapeConfig) {
console.log("rodape:" + _rodapeConfig);
$translate(['l-TituloCopiaAvaliacao', 'l-DesejaCopiarAvaliacao', 'l-SelecioneTalhaoAvaliacao', 'l-SelecioneAvaliacoes'])
.then(function (translations) {
cfpLoadingBar.start();

var listaAvCopiaFinal = [];
listItensSelToShare.forEach(function (av) {
if (av.isChecked)
listaAvCopiaFinal.push(av);
});

if (listaAvCopiaFinal.length > 0) {
//Verifica se foi selecionado ao menos um local de produção
if ($scope.selected.length > 0) {
DialogProvider.confirmacao(translations['l-TituloCopiaAvaliacao'], translations['l-DesejaCopiarAvaliacao']).
then(function (sim) {
DialogProvider.progressbarIndeterminate();

AvaliacaoLocalProducaoService.getParametros();

AvaliacaoLocalProducaoService.copiarAvaliacoes($scope.shareOrign, $scope.selected, listaAvCopiaFinal)
.then(function (res) {
if (res) {
$scope.shareCancel();
}

$scope.alterarContadorRodape(_rodapeConfig);

cfpLoadingBar.complete();
SendMessage.close();

});
},
function (nao) {
//shareCancel();
cfpLoadingBar.complete();
});
}
else {
DialogProvider.dialogo(translations['l-TituloCopiaAvaliacao'], translations['l-SelecioneTalhaoAvaliacao']);
cfpLoadingBar.complete();
}
}
else {
cfpLoadingBar.complete();

DialogProvider.dialogo(translations['l-TituloCopiaAvaliacao'], translations['l-SelecioneAvaliacoes'])
.then(function () {
$scope.listaSelecionarAvaliacoes($scope.controller, false, true);
});
}
});
}

$scope.toggle = function (item, list) {
var idx = list.indexOf(item);
if (idx > -1) {
list.splice(idx, 1);
} else {
list.push(item);
}
};

$scope.exists = function (item, list) {
//console.log("exists");
return list.indexOf(item) > -1;
};

$scope.shareAction = function (p, _controller, d) {
if (p) {
cfpLoadingBar.start();

AvaliacaoLocalProducaoService.recuperaAvalicoesByUp3(d /* d é o Local de origem */)
.then(function (listAvCop) {
cfpLoadingBar.complete();

if (listAvCop.length > 0) {
$scope.swipeClick = false;
$scope.rowSelect = $("." + d._id);
$("." + d._id).hide("slow");
// ao passar algo para o shareOrign a div que mostra o objeto de origem fica visível,
// por isso shareOrign só pode ser setado dentro deste if
$scope.shareOrign = d;
_controller.footer = false;
$scope.usaSetor = _controller.usaSetor;

listItensSelToShare = listAvCop;
$scope.listaSelecionarAvaliacoes(_controller, true, false);
}
else {
NotificationService.show('l-NenhumaAvaliacaoDisponivelCopia', NotificationService.types.INFO);
}

});
}

$scope.controller = _controller;

console.log("share:" + p);
}

$scope.listItensShare = function () {
$scope.listaSelecionarAvaliacoes($scope.controller, false, false);
}

$scope.listaSelecionarAvaliacoes = function (_controller, _montaCheck, _chamaCopia) {
FiltrosService.SelecionarAvaliacoes($scope.shareOrign, _controller, listItensSelToShare, _montaCheck)
.then(function (listAvaliacoesCopia) {
listItensSelToShare = listAvaliacoesCopia;

if (_chamaCopia)
$scope.shareExecute();
});
}

$scope.clickElement = function (event, item, list) {
var myApp = new Framework7({
cache: false,
fastClicks: true,
swipeOut: false
});

var current = event.currentTarget;

if ($scope.swipeClick) {
if (!$(current).hasClass('swipeout-opened')) {
myApp.swipeoutOpen($(current), 'right');
//$scope.rowSelect = $(current);
} else {
myApp.swipeoutClose($(current));
}
} else {
//Selecionar ao clicar quando elemento tiver o Checkbox
//$scope.toggle(item, list);
}
}

/*var myApp = new Framework7({
cache: false,
fastClicks: true,
swipeOut: false
});
$(document).on("click", ".swipe-click", function () {
if ($scope.swipeClick) {
if (!$(this).hasClass('swipeout-opened')) {
myApp.swipeoutOpen($(this), 'right');
$scope.rowSelect = $(this);
} else {
myApp.swipeoutClose($(this));
}
}
});*/
$scope.myFilter = function (item) {
//console.log($scope.config);
if (undefined != $scope.config.gridConfig[0] && null != $scope.config.gridConfig[0]) {
for (var i = 0; i < $scope.config.gridConfig[0].length; i++) {
if (item[$scope.config.gridConfig[0][i].column] != null) {
if (item[$scope.config.gridConfig[0][i].column].toString().indexOf($scope.filtro) >= 0 ||
StringService.isEmptyOrNull($scope.filtro)) {
return item;
}
}
}
return "";
}
return item;
}
}];



return {
templateUrl: 'directives/totvs-grid-aptodiv-header/totvs-grid-aptodiv-header-template.html',
restrict: 'EA',
scope: {
data: '=',
config: '='
},
link: link,
controller: directiveController
}
}

function link(scope, element, attrs, controller) { }
}());