Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | Datasul | Módulo | Pedidos de Venda - MPD |
Segmento Executor | Manufatura | ||
Projeto1 | PCREQ-447MANDIS01 | IRM1 | PCREQMANDIS01-44782 |
Requisito1 | PCREQMANDIS01-1047984 | Subtarefa1 | MANDIS01-106 |
Chamado2 | Não se aplica | ||
País | (x) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Desenvolvimento de um componente para permitir o cadastro de dashboards por grupo de segurança (perfil), e possibilitar a configuração do dashboard por usuário.
Conversão para HTML5 dos portlets de pedidos e telas de aprovações de pedidos, disponíveis para os perfis Analista de Pedidos de Venda (Flex) e Implantador de Pedidos de Venda.
Atualização dos dashboards de Cliente e Representante no Portal de Vendas.
OBSERVAÇÃO: Algumas das interfaces definidas abaixo estarão disponíveis somente no update 12.1.17, conforme estabelecido na definição de estrutura de menu.
Definição da Regra de Negócio
1 - Componente Dashboard HTML
Será desenvolvido um componente que permitirá o cadastro de dashboards por grupo de segurança (perfil), e será possível definir quais portlets estarão disponíveis para cada dashboard.
Os dashboards serão configuráveis por usuário, o usuário poderá escolher o nome, o nome de cabeçalho, quais portlets ele deseja visualizar no dasboard e a posição dos portlets.
O botão configurar estará disponível em cada dashboard, e abrirá a interface de configuração. Nesta interface o usuário poderá reposicionar para cima ou para baixo os portlets utilizando botões ou o recurso de arrastar e soltar (drag and drop), alterar o tamanho dos portlets para médio ou grande e remove-los.
No cabeçalho da interface de configuração do dashboard estará disponível um botão para cancelar ou gravar a configuração realizada pelo usuário.
O cabeçalho também terá um botão para adicionar widgets, este botão abrirá uma lista de portlets disponivéis para inclusão no dashboard, com opção de filtro pelo nome do portlet.
Os dashboards e seus portlets serão cadastrados no cadastro de programas do produto datasul (men012aa). Se for desenvolvido algum portlet customizado, este poderá ser adicionado ao dashboard através do cadastro de menus. O cliente também poderá adicionar dashboards customizados através do cadastro de menu do Datasul.
- Dados Técnicos:
Este componente poderá ser reutilizado para criar dashbaords para qualquer modulo disponível no Datasul, por este motivo foi desenvolvido no pacote html-dts-utils-X.X.X-SNAPSHOT.war que se encontra dentro do .EAR do Datasul.
Para acessar os dados progress será criado a fachada (API) "fch/fchutils/fchutils0001.p" e será adicionado na estrutura de arquivos progress do Datasul.
Para gravar as configurações realizadas pelo usuário será utilizado a tabela configur, disponível no foundation, está tabela é utilizada para gravação de preferencias de usuários do Datasul.
Este componente deverá ter um cadastro de menu geral denominado "Dashboard Generico" que o componente utilizará como base para os dashboards cadastrados pelas áreas de negócio (conforme tabela de estrutura de menu definida abaixo).
Cada dasboard deverá ser cadastrado no programa de cadastro de menu (men012aa) e ficará a critério da área de negócio defini-lo como visível ou não. O campo "Nome Externo" no cadastro do dashboard no programa men012aa deverá ser composto pelo seguinte valor: "dts/dts-utils/dashboard" mais o identificador único de cada dashboard, sendo sugerido que seja o código do grupo de segurança (perfil) do dashboard. Por exemplo: "dts/dts-utils/dashboard/rep".
Ainda no na inclusão do dashboard no cadastro de programas (men012aa), o campo "Template" deverá conter a opção "Programa HTML", o campo "Tipo" deve conter a opção "Consulta" e o campo "Interface" deve conter a opção "WEB".
Para ficarem disponíveis nos dasboards os portlets serão cadastrados no cadastro de programas (men012aa), neste cadastro o campo "Nome Externo" obrigatoriamente deve conter o contexto do módulo (dts/[modulo]) a estrutura de pastas e o nome do arquivo principal do portlet html. Por exemplo: "dts/mpd/html/dashboard/customersummary.jsp".
Será através da informação do campo "Nome Externo" que o dashboard encontrará o portlet. Outro detalhe obrigatório é em relação ao arquivo Java Script que define o controller do portlet, este deve conter o mesmo nome do arquivo .html ou .jsp que define a interface html.
No cadastro no programa men012aa para o portlet, o campo "Template" deverá conter a opção "Programa HTML", o campo "Tipo" a opção "Consulta" o campo "Interface" a opção "FLEX", o campo "Categoria" a opção "MONITORY" e não deve ser marcado a opção "Visualiza Menu".
Se for adicionado mais de um grupo de segurança para um portlet através do programa men012aa (botão Grupo de Segurança), este portlet ficará disponível para os usuários que tiverem permissão de acesso a esses grupos.
Para as funcionalidades de drag and drop será utilizado um plugin externo ao Totvs HTML Framework, este plugin possui licença MIT e esta publicado na web no seguinte endereço:
http://ngmodules.org/modules/ngDraggable.
2 - Dashboard do Representante (Portal).
O dashboard do perfil representante no portal de vendas será alterado para utilizar o componente de Dashboard HTML, para isso será cadastrado uma nova opção de menu no cadastro de programas do Datasul (conforme tabela de estrutura de menu definida abaixo). O cadastro deste dashboard no cadastro de programas (men012aa) deve conter apenas o grupo de segurança "REP".
O menu exclusivo do portal, deverá ter a opção de menu "Dashboard do Representante" alterada para abrir este dashboard.
Para o perfil representante será disponibilizado o portlet Cliente Selecionado, que permitirá a seleção de um cliente e filtrará automaticamente os seguintes portlets: Resumo de Pedidos, Resumo de Agenda, Últimas Notas Fiscais, Resumo de Comissões , Resumo de Títulos dos Cliente e Últimos Pedidos. O portlet Cliente selecionado está detalhado abaixo no item 8.
A pesquisa rápida por código ou nome abreviado, atualmente disponível no dashboard de representante para o portal, será substituída pelo portlet Cliente Selecionado.
Os portlets disponíveis atualmente para o perfil representante no portal deverão ser adicionados no programa Cadastro de Programas do Datasul (men012aa) para o grupo de segurança "REP".
A configuração de portlets disponível no programa Adiconar Campos por Seleção (FFAdicionaCamposPortal) através da opção "Dashboard do Representante" será removida, e a configuração dos portlets passarão a ser executas no próprio dashboard.
- Dados Técnicos:
Os arquivos dos portlets disponíveis atualmente na pasta "html/dashboard" para o dashboard do representante serão movidos para a pasta "html/dashboard/rep".
A opção do menu "Dashbaord do Representante" que está no menu exclusivo do portal para o perfil representante , deverá ser alterada no método "getMenu" do programa fch/fchdis/fchdis0035api.p de "#/dts/mpd/dashboard" para "#/dts/dts-utils/dashboard/rep".
3 - Dashboard do Cliente (Portal).
O dashboard do perfil cliente no portal de vendas será alterado para utilizar o componente de Dashboard HTML, para isso será cadastrado uma nova opção de menu no cadastro de programas do Datasul (conforme tabela de estrutura de menu definida abaixo). O cadastro deste dashboard no cadastro de programas (men012aa) deve conter apenas o grupo de segurança "CLV".
O menu exclusivo do portal, deverá ter a opção de menu "Dashboard" alterada para abrir este dashboard.
O botão "Novo Pedido" disponível para o cliente iniciar um novo pedido, será transferido para o portlet "Resumo de Pedidos" ao lado do botão detalhar. A mensagem de cliente suspenso aparecerá acima do gráfico de Resumo de Pedidos quando o cliente estiver suspenso por algum motivo.
O menu exclusivo do portal, deverá ter a opção de menu "Dashboard" alterada para abrir este dashboard.
- Dados Dados Técnicos:
Os portlets "Resumo de Pedidos" e "Últimos Pedidos" disponíveis atualmente para o dashboard do cliente do portal de vendas, deverá ser cadastrado no programa men012aa para os grupos de segurança "REP" e "CLV", desta forma estes dois portlets estarão disponíveis para os dashboards de Clientes e Representantes no portal.
A opção de menu "Dashboard" que está no menu exclusivo do portal para o perfil cliente, deverá ser alterada no método "getMenu" programa fch/fchdis0035api.p de "#/dts/mpd/dashboard" para "#/dts/dts-utils/dashboard/clv".
4 - Dashboard Analista de Pedidos de Venda.
Será criado o dashboard Analista de Pedidos de Venda (HTML) utilizando o componente Dashboard HTML, para isso será cadastrado uma nova opção de menu no cadastro de programas do Datasul (conforme tabela de estrutura de menu definida abaixo). O cadastro deste dashboard no cadstro cadastro de programas (men012aa) deve conter apenas o grupo de segurança "APD".
Para este dashboard estarão disponíveis os seguintes portlets:
- Resumo de Pedidos - definido no item 6.
- Resumo de Clientes - definido no item 7.
- Cliente Selecionado - definido no item 8.
- Resumo de Pedidos do Portal - definido no item 9.
- Resumo de Aprovação de Pedidos (Alçada) - definido no item 11.
5 - Dashboard Implantador de Pedidos de Venda.
Será criado o dashboard Implantador de Pedidos de Venda (HTML) este dashboard será similar ao do Analista de Pedidos de Venda, porém não terá o portlet "Resumo de Pedidos do Portal".
Para este dashboard será cadastrado uma nova opção de menu no cadastro de programas do Datasul (conforme tabela de estrutura de menu definida abaixo), e cadastro deste dashboard no cadastro de programas (men012aa) deve conter apenas o grupo de segurança "IPD".
Para este deashboard estarão disponíveis os seguintes portlets:
- Resumo de Pedidos - definido no item 6.
- Resumo de Clientes - definido no item 7.
- Cliente Selecionado - definido no item 8.
- Resumo de Aprovação de Pedidos (Alçada) - definido no item 11.
6 - Portlet - Resumo de Pedidos.
O portlet Resumo de Pedidos, disponível atualmente em Flex será convertido para HTML5, utilizando os padrões do Totvs HTML Framework. As funcionalidades do portlet permanecem similares porém não haverá a opção de visualizar planilha. Ao clicar no botão "detalhar" será aberta a interface de carteira de pedidos (especificada em outro documento).
Este portlet deve ser adicionado no cadastro de programas (men012aa) para os grupos de segurança "APD" e "IPD" (conforme tabela de estrutura de menu definida abaixo).
- Dados Técnicos:
Para definição dos serviços REST, que disponibilizarão os dados para a interface, será criada a fachada fch/fchdis/fchdis0046.p que utilizará o método ordersSummaryOrderAdder da API utilizada na interface Flex para retornar o gráfico de pedidos (fch/fchdis/fchdis0003apifchdis0003.p).
Os arquivos deste portlet estarão na pasta "html/dashboard/apd" que se encontra dentro da estrutura de pastas do modulo html de pedidos.
Para tornar os campos "Tipo de Hierarquia" e "Hierarquia" visiveis, será verificado se o modulo de hierarquia de times esta ativo através do método getUserData da API fch/fchdis/fchdis0035api.p, estas informações já estão disponíveis na factory portalUserDataFactory.Se houver um código dados de cliente na variável $rootScope.selectedcustomercodeselectedcustomer, o checkbox "Todos" que define se será exibido apenas os pedidos do cliente selecionado ou de todos os clientes deve ficar habilitado, caso contrario quando o usuário clicar no checkbox será exibido uma mensagem informando que não há cliente selecionado.
O botão "detalhar" deste portlet deve abrir a nova interface de carteira de pedidos que será desenvolvida para o perfil de implantador de pedidos interno (IPD e APD).
7 - Portlet - Resumo de Clientes.
O portlet Resumo de Clientes, disponível em Flex, será convertido para HTML5, utilizando os padrões do Totvs HTML Framework. Será adicionado uma área de configuração para este portlet, onde será permitido realizar filtro no gráfico por grupos de clientes.
Este portlet deve ser adicionado no cadastro de programas (men012aa) para os grupos de segurança "APD" e "IPD" (conforme tabela de estrutura de menu definida abaixo).
- Dados Técnicos:
Para definição dos serviços REST, que disponibilizarão os dados para a interface, será criada a fachada fch/fchdis/fchdis0048.p que utilizará o método returnCustomerSumaryOrderAdder da API utilizada na interface Flex para retornar os dados do gráfico de clientes (fch/fchdis/fchdis0001.p).
O botão "detalhar" deste configurar" abrirá a interface de configuração do portlet, onde o usuário poderá selecionar um ou mais grupos de clientes para filtrar o gráfico. Para múltipla seleção de registros de grupo de clientes será utilizado um zoom de grupo de clientes com a opção zoom-multiple setada como true. Obs: Está função também será adicionada no portlet Resumo de Clientes do Representante (mpd.html.customersummaryportal).
O botão "detalhar" deste portlet deve abrir a nova interface de carteira de clientes que será desenvolvida para o perfil de implantador de pedidos interno (APD e IPD).
Os arquivos deste portlet estarão na pasta "html/dashboard/apd" que se encontra dentro da estrutura de pastas do modulo html de pedidos.
8 - Portlet - Cliente Selecionado
O portlet Cliente Selecionado, disponível em Flex, será convertido para HTML5, utilizando os padrões do Totvs HTML Framework.
Este portlet deve ser adicionado no cadastro de programas (men012aa) para os grupos de segurança "APD", "IPD" e "REP" (conforme tabela de estrutura de menu definida abaixo).
As funcionalidades do portlet serão similares ao já existente em Flex, quando o usuário selecionar um cliente os seguintes portlets serão filtrados automaticamente:
Tabela 01
| Perfil | ||
---|---|---|---|
Resumo de Pedidos | APD, IPV | ||
Resumo de Pedidos do Portal (Gestão de Pedidos do Portal) | APD | ||
Resumo de Aprovação de Pedidos (Alçada) | APD | ||
Resumo de Pedidos | REP (portal) | Resumo de AgendaREP (portal) | |
Últimas Notas Fiscais | REP (portal) | ||
Resumo de Comissões | REP (portal) | ||
Resumo de Títulos dos Cliente | REP (portal) | ||
Últimos Pedidos | REP (portal) |
- Dados Técnicos:
Os portlets disponíveis para o portal de vendas listados na tabela 01 serão alterados para escutarem o evento selectedcustomer disparado pelo portlet Cliente Selecionado, e realizar filtro pelo cliente.
Exemplo:this.$on("selectedcustomer", function(){ //executar o filtro por cliente});
Para definição dos serviços REST, que disponibilizarão os dados para a interface, será utilizada a fachada fch/fchdis/fchdis0048.p que utilizará o método findByPrimaryKey da API utilizada na interface Flex para retornar os dados do cliente selecionado (fch/fchdis/fchdis0001.p).
Ao selecionar um cliente a variável global $rootScope.selectedcustomercode selectedcustomer deverá assumir o código do array com os dados do cliente e disparar o evento "selectedcustomer".
Exemplo:$rootScope.$broadcast("
selectedcustomer");O botão para pesquisa de cliente que existe atualmente na interface em Flex, será substituído pelo botão de lupa do campo "Busca Rápida", que será do tipo field select2.
O botão detalhar deste portlet deverá abrir a interface "Detalhe de Cliente", utilizando o endereço "dts/mpd/customer/[código do cliente]". (Obs: A exibição dos campos da interface detalhe de cliente para o implantador interno será definida em outra especificação).
O botão "novo pedido" deve abrir a interface para seleção de modelo, se houver modelo cadastrado para o usuário, caso contrário deve abrir diretamente a interface de implantação de pedidos html (nova interface do PD4000) passando como parâmetro o código do cliente selecionado. O endereço da nova interface do PD4000 seráserá "#/dts/mpd/pd4000/model/[código do cliente]", e pode ser verificado no seguinte documento: MANDIS01-83 - Tela de manutenção de Pedido de Venda (PD4000 HTML) .
Obs: Se o portlet for usado no dashboard do representante de vendas no portal, o botão "novo pedido" deve abrir a interface de implantação de pedidos utilizada atualmente no portal.
Os arquivos deste portlet estarão na pasta "html/dashboard/apd" que se encontra dentro da estrutura de pastas do modulo html de pedidos.
O portlet Resumo de Pedidos
(Portal), será alterado para considerar o código do cliente selecionado quando o perfil do portal for Representante, o médodo getPortalOrderSummary da fachada fch/fchdis/fchdis0039.p será alterado para permitir filtro por código do cliente selecionado.
O portlet Últimas Notas Fiscais (Portal), será alterado para considerar o código do cliente selecionado, este portlet utiliza o método getInvoiceList da fachada fch/fchdis/fchdis0043.p, e já está preparado para realizar filtro por cliente, para isso o controller da interface html deve passar o nome abreviado do cliente selecionado como filtro.
O portlet Resumo de Comissões (Portal), será alterado para considerar o código do cliente selecionado, o método getCommissionSummary da fachada fch/fchdis/fchdis0042.p será alterado para permitir o filtro por código do cliente selecionado.
O portlet Resumo de Títulos dos Clientes (Portal), será alterado para considerar o código do cliente selecionado, o método getDocumentSummary da fachada fch/fchdis/fchdis0044.p será alterado para permitir o filtro por código do cliente selecionado.
O portlet Últimos Pedidos (Portal), será alterado para considerar o código do cliente selecionado, este portlet utiliza o método searchOrders da fachada fch/fchdis/fchdis0039.p, e já está preparado para realizar filtro por cliente, para isso o controller da interface html deve passar o nome abreviado do cliente selecionado como filtro.
9 - Portlet - Resumo de Pedidos do Portal
O portlet Resumo de Pedidos do Portal, disponível em Flex, será convertido para HTML5, utilizando os padrões do Totvs HTML Framework. As funcionalidades da interface convertido para HTML5, utilizando os padrões do Totvs HTML Framework. As funcionalidades da interface serão semelhantes, porém não estará disponível a visualização dos dados em grade.
Este portlet deve ser adicionado no cadastro de programas (men012aa) somente para o grupo de segurança "APD" (conforme tabela de estrutura de menu definida abaixo).
- Dados Técnicos:
Para definição dos serviços REST, que disponibilizarão os dados para a interface, será utilizada a fachada fch, será utilizada a fachada fch/fchdis/fchdis0046.p e será criada a API fch/fchdis/fchdis0046.p que utilizará o fchdis0046api.p que terá o novo método getPortalOrderSummary baseado no método getOrderSummary da API utilizada na interface Flex para retornar os dados do gráfico (fch/fchdis/fchdis0030.p). O novo método deve permitir filtro por cliente, a fim de permitir o filtro disparado pelo portlet de cliente selecionado.
O botão "detalhar" abrirá a nova interface em html de Gerenciamento dos Pedidos de Venda do Portal, através do endereço "dts/mpd/portalordersmanager".
Os arquivos deste portlet estarão na pasta "html/dashboard/apd" que se encontra dentro da estrutura de pastas do modulo html de pedidos.
10 - Tela - Gerenciamento dos Pedidos de Venda do Portal
A interface de gerenciamento de pedidos do portal será convertida da tecnologia Flex (Metadados) para HTML5 utilizando os padrões do Totvs HTML Framework. As funcionalidades da interface serão semelhantes, porém haverá melhorias de usabilidade e aplicação de algumas sugestões de melhorias.
Esta interface deve ser adicionada no cadastro de programas (men012aa) para o grupo de segurança "APD" (conforme tabela de estrutura de menu definida abaixo).
A nova interface será composta por uma lista de pedidos, um filtro simples (filtro por Número do Pedido do Cliente, Cliente, Representante , Data de Emissão, Data de Liberação e Usuário ResponsávelPrincipal), um filtro avançado (filtro por faixa de Número do Pedido, faixa por Número do Pedido do Cliente, faixa por Nome Abreviado, faixa por Representante) e tags de filtros por situação. No topo da interface deverá existir o botão "Elimina Pedidos do Portal" que abrirá a interface para saneamento de pedidos do portal, esta interface será similar a desenvolvida em Flex., faixa por Data de Emissão, faixa por Data de Liberação e Usuário Responsável) e tags de filtros por situação.
Cada registro da lista de pedidos deverá conter um botão no estilo combo para possibilitar ao usuário realizar as ações de assumir a tarefa de aprovação, aprovação, reprovação do pedido ou transferência de tarefa. As opções "Assumir Tarefa" e "Transferir Tarefa" só estarão disponíveis se o portal estiver integrado com os workflows de aprovação ou cancelamento de pedidos.os workflows de aprovação ou cancelamento de pedidos.
Esta interface passará a apresentar as aprovações de cancelamento de pedidos do portal, atualmente disponível somente via workflow do Fluig, para separar as aprovações de pedidos e de cancelamento de pedidos, será adicionado no topo da lista abas que filtrarão a lista de pedidos por tipo de aprovação. A primeira aba será "Aprovação de Pedidos", a segunda será "Cancelamento de Pedidos".
Observação: A aprovação de cancelamento de pedidos através desta interface, estará disponível apenas se não houver integração com workflows parametrizada na interface Parâmetros do Portal, serão exibidos para aprovação de cancelamento apenas os cancelamentos de pedidos já liberados pelo usuário do portal a partir do update 12.1.3. Esta função é dedicada a empresas que não utilizam integração com os workflows do Fluig.
A aprovação ou reprovação do cancelamento de um pedido deverá gerar histórico de pedido, se o modulo de pedidos estiver parametrizado para gerar históricoEsta interface passará a apresentar as aprovações de cancelamento de pedidos do portal, atualmente disponível somente via workflow do Fluig, para separar as aprovações de pedidos e de cancelamento de pedidos, será adicionado no topo da lista dois botões no estilo aba que filtrarão a lista de pedidos por tipo de aprovação. O primeiro botão será "Aprovação de Pedidos", o segundo será "Aprovação de Cancelamento de Pedidos".
Em cada registro da lista de pedidos também estará disponível um botão que abrirá a interface de histórico ou detalhes do pedido, e outro botão para exclusão do pedido, a exclusão do pedido deve ter confirmação do usuário.botão para exclusão do pedido, a exclusão do pedido deve ter confirmação do usuário.
A interface de saneamento\exclusão de pedidos do portal que é exibida no formato popup na interface atual desenvolvida em flex, será adicionada como uma aba nesta nova interface.
Dados Técnicos:
Esta interface deve estar disponível através do endereço "dts/mpd/portalordersmanager". Para definição dos serviços REST, que disponibilizarão os dados para a interface, será criada a fachada fch/fchdis/fchdis0047.p e a API fch/fchdis/fchdis0047api.p que terá suas funções baseadas nas funções da API fch/fchdis/fchdis0013api.p que é utilizada na interface Flex.Método Novo (fchdis0047api.p) Método Base (fchdis0013api.p) Descrição getTaskOptions verifyTaskApproval Retorna as opções de disponíveis para atividades de aprovação do pedidos (combo aprovação). Nesta função deverá ser adicionado as atividades do workflow para aprovação de cancelamento de pedidos. searchOrdersManager getOrderSummary Retorna a lista de pedidos para a grade de registros. searchOrdersManager piReturnRegistry Retorna registros de pedidos por paginação. searchOrdersManager simpleFilter Realiza filtro de pedidos considerando situações selecionadas searchOrdersManager AdvancedFilter Realiza filtro avançado. saveAndSendTask saveAndSendTask Realiza ação de transferência, aprovação, reprovação e assumir tarefas, (considera workflow de aprovação de pedidos se configurado). Nesta função deve ser adicionado a funcionalidade para aprovação de cancelamento de pedidos do portal. portalOrdersSanitize deleteOrder Realiza saneamento de pedidos do portal. (mpd_FFPortalEliminaPedidoVenda.xml) deleteSelectedOrders novo Remove os pedidos selecionados na grade de registros As funcionalidades do métodos getOrderSummary, piReturnRegistry, simpleFilter e AdvancedFilter da API fch/fchdis/fchdis0013api serão unificadas no método searchOrdersManager da API fch/fchdis/fchdis0047api.p.
Exemplo de assinatura do método searchOrdersManager:
PROCEDURE searchOrdersManager:
DEFINE INPUT PARAMETER p-start AS INTEGER NO-UNDO. /*Índice do primeiro registro requisitado*/
DEFINE INPUT PARAMETER p-max AS INTEGER NO-UNDO. /*Quantidade máxima de registros por requisição*/
DEFINE INPUT PARAMETER p-prop AS CHARACTER EXTENT NO-UNDO. /*Lista de nomes de campos para filtros*/
DEFINE INPUT PARAMETER p-values AS CHARACTER EXTENT NO-UNDO. /*Lista de valores de campos para filtros*/
DEFINE INPUT PARAMETER p-order AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER p-asc AS CHARACTER NO-UNDO.
DEFINE INPUT PARAMETER p-fullobj AS LOGICAL NO-UNDO.
DEFINE OUTPUT PARAMETER paramcount AS INTEGER NO-UNDO.
DEFINE OUTPUT PARAMETER TABLE FOR ttOrdersManager. /*Registros de pedidos*/
DEFINE OUTPUT PARAMETER TABLE FOR RowErrors. /*Registros de erros de negócio*/Para exibir o detalhe de um pedido será utilizada a mesma interface desenvolvida para o portal. O botão "Detalhe do Pedido" desta tela que estará disponível em cada registro, deve abrir a interface disponível através do endereço "dts/mpd/orderdetail/[nr pedido]".
Obs: A interface "Detalhe de Pedido" será atualizada para suportar o perfil de implantador interno (APD/IPD) em outra especificação.
Para exibir o histórico do pedido será utilizada a mesma interface desenvolvido para o portal. O botão "Histórico do Pedido" desta tela que estará disponível em cada registro, deve abrir a interface através do endereço "dts/mpd/orderhistory/[nr pedido]".
Durante o cancelamento de pedidos no portal será gravado o valor "S" no campo ped-venda.char-2 (posição 117 a 118). O campo foi reservado na aplicação de reserva de campos livres, a partir do update 12.1.13.
- estará disponível em cada registro, deve abrir a interface através do endereço "dts/mpd/orderhistory/[nr pedido]".
11 - Portlet - Resumo de Aprovação de Pedidos (Alçada)
O portlet Resumo de Aprovação de Pedidos, que exibe os pedidos disponíveis para aprovação por alçada de desconto, disponível em Flex, será convertido para HTML5, utilizando os padrões do Totvs HTML Framework.As informações definidas no portlet como "Pedidos Pendente de Aprovação" e "Pedidos Aprovados Hoje", serão links que abrirão a interface Aprovação de Pedidos de Venda por Alçada, com a lista de pedidos filtrada, conforme a informação selecionada. Resumo de Aprovação de Pedidos, que exibe os pedidos disponíveis para aprovação por alçada de desconto, disponível em Flex, será convertido para HTML5, utilizando os padrões do Totvs HTML Framework.
Este portlet deve ser adicionado no cadastro de programas (men012aa) para os grupos de segurança "APD", "IPD" e "REP" (conforme tabela de estrutura de menu definida abaixo).
- Dados Técnicos:
Para definição dos serviços REST, que disponibilizarão os dados para a interface, será criada a fachada fch/fchdis/fchdis0049.p que utilizará o .p e a API fch/fchdis/fchdis0049api.p que terá um novo método homônimo baseado no método orderApprovalSummary da API utilizada na interface Flex para retornar os dados do portlet (fch/fchdis/fchdis0003.p).retornar os dados do portlet (fch/fchdis/fchdis0003.p). O novo método deve permitir filtro por cliente, a fim de permitir o filtro disparado pelo portlet de cliente selecionado.
O botão detalhar deste portlet abrirá a interface "Aprovação de Pedidos de Venda" através do endereço "dts/mpd/approvalorder".
12 - Tela - Aprovação de Pedidos de Venda (Alçada - mpd.FFLibPedVda)
A interface Aprovação de Pedidos de Venda, que permite a visualização de pedidos para aprovação de desconto por alçada, disponível em Flex, , será convertida para HTML5, utilizando os padrões do Totvs HTML Framework.
As funcionalidades da interface serão semelhantes a interface Flex.
Esta interface deve ser adicionada no cadastro de programas (men012aa) para os grupos de segurança "APD", "IPD" e "REP" (conforme tabela de estrutura de menu definida abaixo).
A nova interface exibirá uma lista de pedidos, cada registro da lista terá um botão detalhar, que ao ser acionado exibirá a lista de itens do pedido.
No topo da interface será exibido uma pesquisa simples, permitindo filtro na lista de pedidos por Cliente Pedido do Cliente, Usuário Implantador e Representante.
Também estará disponível uma consulta avançada que permitirá realizar filtros de pedidos por Estabelecimento, Faixa de Grupo de Cliente, Faixa de Cliente, Faixa de Pedido de Cliente, Faixa de Representante Principal e Período Inicial e Final de Data de Emissão. Se estiver ativado o modulo de Hierarquia de Times, será exibido um campo que permitira a ao usuário considerar hierarquia de times na lista de pedidos.
Em cada registro da lista de pedidos deverá existir um botão do tipo combo para que o usuário possa realizar as ações de Assumir Tarefa, Transferir Pendencia, Aprovar desconto do Pedido, Reprovar desconto do Pedido e Enviar pedido para Renegociação do Desconto (este botão não será habilitado se não estiver configurado o workflow Aprovação de Pedidos por Alçada de Desconto ), além do combo também deverá existir um botão para abrir a interface de histórico do pedido e outro para abrir a interface de detalhe do pedido.
Dados Técnicos:
Esta interface deve estar disponível através do endereço "dts/mpd/approvalorder".Para definição dos serviços REST, que disponibilizarão os dados para a interface, será utilizada a fachada fch/fchdis/fchdis0049.p e a API fch/fchdis/fchdis0049api.p que terá suas funções baseadas nas funções da API fch/fchdis/fchdis0026api.p que é utilizada na interface Flex.
Método Novo (fchdis0049api.p) Método Base (fchdis0026api.p) Descrição searchApprovalOrder simpleFilter Realiza filtro simples. searchApprovalOrder AdvancedFilter Realiza filtro avançado. searchApprovalOrder returnPedidoRegistry Retorna registros de pedidos por paginação. searchApprovalOrder loadData Retorna a lista de registros para a grade de pedidos. searchApprovalOrderItem loadDataItem Retorna a lista de registros para a grade de itens do pedido selecionado. getTaskOptions getAvailableStates Retorna lista de opções de aprovações disponíveis para os pedidos. checkSelectedRow verifyRegisterSelected Identifica o nome da atividade de workflow para o registro de pedido selecionado takeProcessTask takeProcessTask Permite ao usuário assumir a atividade do workflow checkSalesHierarchy verifyTimeVendas Verifica se o modulo de time de vendas esta ativo para habilitar o botão "Considerar Time de Vendas" no filtro avançado. saveAndSendTask saveAndSendTask Realiza ação de aprovação, renegociação e transferência. Para exibir o detalhe de um pedido será utilizada a mesma interface desenvolvida para o portal. O botão "Detalhe do Pedido" desta tela que estará disponível em cada registro, deve abrir a interface disponível através do endereço "dts/mpd/orderdetail/[nr pedido]".
Obs: A interface "Detalhe de Pedido" será atualizada para suportar o perfil de implantador interno (APD/IPD) em outra especificação.
Para exibir o histórico do pedido será utilizada a mesma interface desenvolvido para o portal. O botão "Histórico do Pedido" desta tela que estará disponível em cada registro, deve abrir a interface através do endereço "dts/mpd/orderhistory/[nr pedido]".
<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
Componente Dashboard HTML | Criação | Não se aplica | |
Dashboard do Representante (Portal) | Criação | Logistica > Pedidos > Consultas > Representante de Vendas | |
Dashboard do Cliente (Portal) | Criação | Logistica > Pedidos > Consultas > Dashboard Cliente de Vendas | |
Dashboard Analista de Pedidos de Venda | Criação | Logistica > Pedidos > Consultas > Dashboard Analista de Pedidos de Venda | |
Dashboard Implantador de Pedidos de Venda | Criação | Logistica > Pedidos > Consultas > Dashboard Implantador de Pedidos de Venda | |
Portlet - Resumo de Pedidos | Criação | Logistica > Pedidos > Consultas > Dashboard Analista de Pedidos |
|
Portlet - Resumo de Clientes | Criação | Logistica > Pedidos > Consultas > Dashboard Analista de Pedidos |
|
Portlet - Cliente Selecionado | Criação | Logistica > Pedidos > Consultas > Dashboard Analista de Pedidos |
|
Portlet - Resumo de Pedidos do Portal | Criação | Logistica > Pedidos > Consultas > Dashboard Analista de Pedidos | |
Tela - Gerenciamento dos Pedidos de Venda do Portal | Criação | Logistica > Pedidos > Consultas > Gerenciamento dos Pedidos de Venda do Portal | |
Portlet - Resumo de Aprovação de Pedidos (Alçada) | Criação | Logistica > Pedidos > Consultas > Dashboard Analista de Pedidos | |
Tela - Aprovação de Pedidos de Venda (Alçada - mpd.FFLibPedVda) | Criação | Logistica > Pedidos > Consultas > Aprovação de Pedidos por Alçada de Desconto |
Exemplo de Aplicação:
- Não se aplica
Opcional
Protótipo de Tela
Protótipo 01
1 - Componente Dashboard HTML
10 - Tela - Gerenciamento dos Pedidos de Venda do Portal
12 - Tela - Aprovação de Pedidos de Venda (Alçada - mpd.FFLibPedVda)
(Opcional)
Estrutura de Menu
Procedimentos Dashboards
Procedimento | dtsutils.html.dashboard | mpd.html.dashboardrep | mpd.html.dashboardclv | mpd.html.dashboardapd | mpd.html.dashboardipd | |
Descrição | Dashboard Genérico | Dashboard do Representante (Portal) | Dashboard do Cliente (Portal) | Dashboard Analista de Pedidos | Dashboard do Implantador de Pedidos | |
Módulo | MCD | MPD | MPD | MPD | MPD | |
Programa base | dtsutils.html.dashboard | mpd.html.dashboardrep | mpd.html.dashboardclv | mpd.html.dashboardapd | mpd.html.dashboardipd | |
Nome Menu | Dashboard Genérico | Dashboard Representante (Portal) | Dashboard Cliente (Portal) | Dashboard Analista de Pedidos | Dashboard Implantador de Pedidos | |
Interface | WEB | WEB | WEB | WEB | WEB | |
Registro padrão | Sim | Sim | Sim | Sim | Sim | |
Visualiza Menu | Não | Sim | Sim | Sim | Não - Somente a partir da 12.1.17 | Não - Somente a partir da 12.1.17Sim |
Release de Liberação | 12.1.13 | 12.1.13 | 12.1.13 | 12.1.1317 | 12.1.1317 |
Programas Dashboards
Programa | dtsutils.html.dashboard | mpd.html.dashboardrep | mpd.html.dashboardclv | mpd.html.dashboardapd | mpd.html.dashboardipd | |
Descrição | Dashboard Genérico | Dashboard do Representante (Portal) | Dashboard do Cliente (Portal) | Dashboard Analista de Pedidos | Dashboard do Implantador de Pedidos | |
Nome Externo | dts/dts-utils/dashboard | dts/dts-utils/dashboard/rep | dts/dts-utils/dashboard/clv | dts/dts-utils/dashboard/apd | dts/dts-utils/dashboard/ipd | |
Nome Menu/Programa | Dashboard Genérico | Dashboard Representante (Portal) | Dashboard Cliente (Portal) | Dashboard Analista de Pedidos | Dashboard Implantador de Pedidos | |
Nome Verbalizado[1] | Dashboard Genérico | Dashboard do Representante (Portal) | Dashboard do Cliente (Portal) | Dashboard Analista de Pedidos | Dashboard Implantador de Pedidos | |
Procedimento | dtsutils.html.dashboard | mpd.html.dashboardrep | mpd.html.dashboardclv | mpd.html.dashboardapd | mpd.html.dashboardipd | |
Template | Programa HTML | Programa HTML | Programa HTML | Programa HTML | Programa HTML | |
Tipo[2] | Consulta | Consulta | Consulta | Consulta | Consulta | |
Interface | WEB | WEB | WEB | WEB | WEB | |
Categoria[3] |
|
|
| |||
Executa via RPC | Não | Não | Não | Não | Não | |
Registro padrão | Sim | Sim | Sim | Sim | Sim | |
Outro Produto | Não | Não | Não | Não | Não | |
Visualiza Menu | Não | Sim | Sim | Sim | Não - Somente a partir da 12.1.17 | Não - Somente a partir da 12.1.17Sim |
Query on-line | Não | Não | Não | Não | Não | |
Log Exec. | Não | Não | Não | Não | Não | |
Rotina (EMS) |
|
|
| |||
Sub-Rotina (EMS) |
|
|
| |||
Localização dentro da Sub Rotina (EMS) |
|
|
| |||
Compact[4] | Não | Não | Não | Não | Não | |
Home[5] | Não | Não | Não | Não | Não | |
Posição do Portlet[6] |
|
|
| |||
Informar os papeis com os quais o programa deve ser vinculado | * Todos Usuários , sup | REP | CLV | APD | IPD |
Procedimentos Portlets (Implantador interno - APD/IPD)
Procedimento | mpd.html.customersummary | mpd.html.selectedcustomer | mpd.html.portalsummaryorderportalmanagersummaryorder | mpd.html.summaryorder | mpd.html.orderapprovalsummary |
Descrição | Resumo de Clientes | Cliente Selecionado | Resumo de Pedidos do Portal | Resumo de Pedidos | Resumo de Aprovação de Pedidos |
Módulo | MPD | MPD | MPD | MPD | MPD |
Programa base | mpd.html.customersummary | mpd.html.selectedcustomer | mpd.html.portalsummaryorderportalmanagersummaryorder | mpd.html.summaryorder | mpd.html.orderapprovalsummary |
Nome Menu | Resumo de Clientes | Cliente Selecionado | Resumo de Pedidos do Portal | Resumo de Pedidos | Resumo de Aprovação de Pedidos |
Interface | FLEX | FLEX | FLEX | FLEX | FLEX |
Registro padrão | Sim | Sim | Sim | Sim | Sim |
Visualiza Menu | Não | Não | Não | Não | Não |
Release de Liberação | 12.1.1317 | 12.1.13 | 12.1.1317 | 12.1.1317 | 12.1.1317 |
Programas Portlets (Implantador interno - APD/IPD)
Programa | mpd.html.customersummary | mpd.html.selectedcustomer | mpd.html.portalmanagersummaryorder | mpd.html.summaryorder | mpd.html.orderapprovalsummary |
Descrição | Resumo de Clientes | Cliente Selecionado | Resumo de Pedidos do Portal | Resumo de Pedidos | Resumo de Aprovação de Pedidos |
Nome Externo | dts/mpd/html/dashboard/apd/customersummary.jsp | dts/mpd/html/dashboard/apd/selectedcustomerapdselectedcustomer.jsp | dts/mpd/html/dashboard/apd/portalmanagersummaryorder.jsp | dts/mpd/html/dashboard/apd/ordersummaryapdordersummary.jsp | dts/mpd/html/dashboard/apd/orderapprovalsummary.jsp |
Nome Menu/Programa | Resumo de Clientes | Cliente Selecionado | Resumo de Pedidos do Portal | Resumo de Pedidos | Resumo de Aprovação de Pedidos |
Nome Verbalizado[1] | Resumo de Clientes | Cliente Selecionado | Resumo de Pedidos do Portal | Resumo de Pedidos | Resumo de Aprovação de Pedidos |
Procedimento | mpd.html.customersummary | mpd.html.selectedcustomerapdselectedcustomer | mpd.html.portalmanagersummaryorder | mpd.html.summaryorder | mpd.html.orderapprovalsummary |
Template | Programa HTML | Programa HTML | Programa HTML | Programa HTML | Programa HTML |
Tipo[2] | Consulta | Consulta | Consulta | Consulta | Consulta |
Interface | FLEX | FLEX | FLEX | FLEX | FLEX |
Categoria[3] | MONITORY | MONITORY | MONITORY | MONITORY | MONITORY |
Executa via RPC | Não | Não | Não | Não | Não |
Registro padrão | Sim | Sim | Sim | Sim | Sim |
Outro Produto | Não | Não | Não | Não | Não |
Visualiza Menu | Não | Não | Não | Não | Não |
Query on-line | Não | Não | Não | Não | Não |
Log Exec. | Não | Não | Não | Não | Não |
Rotina (EMS) | |||||
Sub-Rotina (EMS) | |||||
Localização dentro da Sub Rotina (EMS) | |||||
Compact[4] | Não | Não | Não | Não | Não |
Home[5] | Não | Não | Não | Não | Não |
Posição do Portlet[6] | |||||
Informar os papeis com os quais o programa deve ser vinculado | APD e IPD | REP para 12.1.13 APD , IPD e REPe IPD para 12.1.17 | APD e IPD | APD e IPD | Apenas para 12.1.17: APD, IPD e REP |
Procedimentos Portlets (Portal de Vendas - REP/CLV)
Procedimento | mpd.html.customersummaryportal | mpd.html.summaryorderportal | mpd.html.salegoalsportal | mpd.html.schedulesummaryportal | mpd.html.lastinvoicesportal | mpd.html.saleschargesumportal | mpd.html.customerbillssummary | mpd.html.orderlist |
Descrição | Resumo de Clientes do Representante | Resumo de Pedidos (Portal) | Metas de Vendas (Portal) | Resumo de Agenda (Portal) | Últimas Notas Fiscais (Portal) | Resumo de Comissões (Portal) | Resumo de Títulos (Portal) | Últimos Pedidos (Portal) |
Módulo | MPD | MPD | MPD | MPD | MPD | MPD | MPD | MPD |
Programa base | mpd.html.customersummaryportal | mpd.html.summaryorderportal | mpd.html.salegoalsportal | mpd.html.schedulesummaryportal | mpd.html.lastinvoicesportal | mpd.html.saleschargesumportal | mpd.html.customerbillssummary | mpd.html.orderlist |
Nome Menu | Resumo de Clientes do Representante | Resumo de Pedidos (Portal) | Metas de Vendas (Portal) | Resumo de Agenda (Portal) | Últimas Notas Fiscais (Portal) | Resumo de Comissões (Portal) | Resumo de Títulos (Portal) | Últimos Pedidos (Portal) |
Interface | FLEX | FLEX | FLEX | FLEX | FLEX | FLEX | FLEX | FLEX |
Registro padrão | Sim | Sim | Sim | Sim | Sim | Sim | Sim | Sim |
Visualiza Menu | Não | Não | Não | Não | Não | Não | Não | Não |
Release de Liberação | 12.1.13 | 12.1.13 | 12.1.13 | 12.1.13 | 12.1.13 | 12.1.13 | 12.1.13 | 12.1.13 |
Programas Portlets (Portal de Vendas - REP/CLV)
Programa | mpd.html.customersummaryportal | mpd.html.summaryorderportal | mpd.html.salegoalsportal | mpd.html.schedulesummaryportal | mpd.html.lastinvoicesportal | mpd.html.saleschargesumportal | mpd.html.customerbillssummary | mpd.html.orderlist |
Descrição | Resumo de Clientes do Representante | Resumo de Pedidos (Portal) | Metas de Vendas (Portal) | Resumo de Agenda (Portal) | Últimas Notas Fiscais (Portal) | Resumo de Comissões (Portal) | Resumo de Títulos (Portal) | Últimos Pedidos (Portal) |
Nome Externo | dts/mpd/html/dashboard/rep/customersummary.jsp | dts/mpd/html/dashboard/rep/ordersummary.jsp | dts/mpd/html/dashboard/rep/salegoals.html | dts/mpd/html/dashboard/rep/schedulesummary.html | dts/mpd/html/dashboard/rep/lastinvoices.jsp | dts/mpd/html/dashboard/rep/saleschargesummary.html | dts/mpd/html/dashboard/rep/customerbillssummary.html | dts/mpd/html/dashboard/rep/orderlist.jsp |
Nome Menu/Programa | Resumo de Clientes do Representante | Resumo de Pedidos (Portal) | Metas de Vendas (Portal) | Resumo de Agenda (Portal) | Últimas Notas Fiscais (Portal) | Resumo de Comissões (Portal) | Resumo de Títulos (Portal) | Últimos Pedidos (Portal) |
Nome Verbalizado[1] | Resumo de Clientes do Representante | Resumo de Pedidos (Portal) | Metas de Vendas (Portal) | Resumo de Agenda (Portal) | Últimas Notas Fiscais (Portal) | Resumo de Comissões (Portal) | Resumo de Títulos (Portal) | Últimos Pedidos (Portal) |
Procedimento | mpd.html.customersummaryportal | mpd.html.summaryorderportal | mpd.html.salegoalsportal | mpd.html.schedulesummaryportal | mpd.html.lastinvoicesportal | mpd.html.saleschargesumportal | mpd.html.customerbillssummary | mpd.html.orderlist |
Template | Programa HTML | Programa HTML | Programa HTML | Programa HTML | Programa HTML | Programa HTML | Programa HTML | Programa HTML |
Tipo[2] | Consulta | Consulta | Consulta | Consulta | Consulta | Consulta | Consulta | Consulta |
Interface | FLEX | FLEX | FLEX | FLEX | FLEX | FLEX | FLEX | FLEX |
Categoria[3] | MONITORY | MONITORY | MONITORY | MONITORY | MONITORY | MONITORY | MONITORY | MONITORY |
Executa via RPC | Não | Não | Não | Não | Não | Não | Não | Não |
Registro padrão | Sim | Sim | Sim | Sim | Sim | Sim | Sim | Sim |
Outro Produto | Não | Não | Não | Não | Não | Não | Não | Não |
Visualiza Menu | Não | Não | Não | Não | Não | Não | Não | Não |
Query on-line | Não | Não | Não | Não | Não | Não | Não | Não |
Log Exec. | Não | Não | Não | Não | Não | Não | Não | Não |
Rotina (EMS) | ||||||||
Sub-Rotina (EMS) | ||||||||
Localização dentro da Sub Rotina (EMS) | ||||||||
Compact[4] | Não | Não | Não | Não | Não | Não | Não | Não |
Home[5] | Não | Não | Não | Não | Não | Não | Não | Não |
Posição do Portlet[6] | ||||||||
Informar os papeis com os quais o programa deve ser vinculado | REP | REP e CLV | REP | REP | REP | REP | REP | REP e CLV |
Procedimentos Interfaces de Aprovações (APD/IPD/REP)
Procedimento | mpd.html.portalordermanager | mpd.html.approvalorder |
Descrição | Gerenciamento de Pedidos do Portal | Aprovação de Pedidos de Venda |
Módulo | MPD | MPD |
Programa base | mpd.html.portalordermanager | mpd.html.approvalorder |
Nome Menu | Gerenciamento de Pedidos do Portal | Aprovação de Pedidos de Venda |
Interface | WEB | WEB |
Registro padrão | Sim | Sim |
Visualiza Menu | Sim | Sim |
Release de Liberação | 12.1.13 | 12.1.13 |
Programas Interfaces de Aprovações (APD/IPD/REP)
Programa | mpd.html.portalordermanager | mpd.html.approvalorder | |
Descrição | Gerenciamento de Pedidos do Portal | Aprovação de Pedidos de Venda | |
Nome Externo | dts/mpd/portalordersmanager | dts/mpd/approvalorder | |
Nome Menu/Programa | Gerenciamento de Pedidos do Portal | Aprovação de Pedidos de Venda | |
Nome Verbalizado[1] | Gerenciamento de Pedidos do Portal | Aprovação de Pedidos de Venda | |
Procedimento | mpd.html.portalordermanager | mpd.html.approvalorder | |
Template | Programa HTML | Programa HTML | |
Tipo[2] | Consulta | Consulta | |
Interface | WEB | WEB | |
Categoria[3] | |||
Executa via RPC | Não | Não | |
Registro padrão | Sim | Sim | |
Outro Produto | Não | Não | |
Visualiza Menu | Sim | Não (Apenas 12.1.17) | Não (Apenas 12.1.17)Sim |
Query on-line | Não | Não | |
Log Exec. | Não | Não | |
Rotina (EMS) | |||
Sub-Rotina (EMS) | |||
Localização dentro da Sub Rotina (EMS) | |||
Compact[4] | Não | Não | |
Home[5] | Não | Não | |
Posição do Portlet[6] | |||
Informar os papeis com os quais o programa deve ser vinculado | APD | APD, IPD e REP |
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|