Indicadores no Cadastro
Na tela de cadastros também há opção de criar indicadores como na imagem abaixo:
Sua razão é mostrar informações dos dados de um cadastro, como por exemplo, foi feito no Cadastro de OS, onde foram criados indicadores mostrando o Total de OS criadas em 2018, Cliente e a quantidade de OS em cada estado (Aberta, Andamento, Pausada, Cancela, Liberada para Faturamento, Finalizada) nos últimos 90 dias.
Sua configuração fica na nfs_core_ds_tabela, onde foi criada uma nova coluna chamada INDICATORS, pode ter 1 ou mais indicadores como é possível ver no exemplo.
Exemplo
O exemplo abaixo foi feito para a tela de OS da baggio:
{
"totalOS": {
"label": {
"text": "OS criadas em 2018"
},
"color": "",
"icon": {
"class": "fa-signal"
},
"display": "[result]",
"queryBuilder": {
"totalOS": {
"select": [
"count(os.seq_db) result"
],
"from": "os os",
"where": [
"os.INS_DH > '2018-01-01 00:00:00'"
]
}
}
},
"clientesAt": {
"label": {
"text": "Clientes atendidos nos últimos 90 dias"
},
"color": "green-jungle",
"icon": {
"class": "fa-check"
},
"display": "[result]",
"queryBuilder": {
"clientesAt": {
"select": [
"count(c.seq_db) result"
],
"from": "os os",
"inner_join": [
[
"os",
"status_os",
"st",
"st.SEQ_DB = os.STATUS_OS_SEQ_DB"
],
[
"os",
"cliente",
"c",
"c.SEQ_DB = os.CLIENTE_SEQ_DB"
]
],
"where": [
"os.INS_DH > date_sub(now(), interval 90 DAY)",
"st.DESCRICAO not in ('Aberto', 'Cancelado')"
]
}
}
},
"osAberta": {
"label": {
"text": "OS abertas nos últimos 90 dias"
},
"color": "yellow-crusta",
"icon": {
"class": "fa-file"
},
"display": "[result]",
"queryBuilder": {
"osAberta": {
"select": [
"count(os.seq_db) r"
],
"from": "os os",
"inner_join": [
[
"os",
"status_os",
"st",
"st.SEQ_DB = os.STATUS_OS_SEQ_DB"
]
],
"where": [
"os.INS_DH > date_sub(now(), interval 90 DAY)",
"st.DESCRICAO = 'Aberto'"
]
}
}
},
"osAnd": {
"label": {
"text": "OS em Andamento nos últimos 90 dias"
},
"color": "yellow-gold",
"icon": {
"class": "fa-file"
},
"display": "[result]",
"queryBuilder": {
"osAberta": {
"select": [
"count(os.seq_db) r"
],
"from": "os os",
"inner_join": [
[
"os",
"status_os",
"st",
"st.SEQ_DB = os.STATUS_OS_SEQ_DB"
]
],
"where": [
"os.INS_DH > date_sub(now(), interval 90 DAY)",
"st.DESCRICAO = 'Andamento'"
]
}
}
},
"osPausado": {
"label": {
"text": "OS Pausada últimos 90 dias"
},
"color": "red-mint",
"icon": {
"class": "fa-file"
},
"display": "[result]",
"queryBuilder": {
"osAberta": {
"select": [
"count(os.seq_db) r"
],
"from": "os os",
"inner_join": [
[
"os",
"status_os",
"st",
"st.SEQ_DB = os.STATUS_OS_SEQ_DB"
]
],
"where": [
"os.INS_DH > date_sub(now(), interval 90 DAY)",
"st.DESCRICAO = 'Pausado'"
]
}
}
},
"osCancelado": {
"label": {
"text": "OS Cancelada últimos 90 dias"
},
"color": "grey-gallery",
"icon": {
"class": "fa-file"
},
"display": "[result]",
"queryBuilder": {
"osAberta": {
"select": [
"count(os.seq_db) r"
],
"from": "os os",
"inner_join": [
[
"os",
"status_os",
"st",
"st.SEQ_DB = os.STATUS_OS_SEQ_DB"
]
],
"where": [
"os.INS_DH > date_sub(now(), interval 90 DAY)",
"st.DESCRICAO = 'Cancelado'"
]
}
}
},
"osLibFaturamento": {
"label": {
"text": "OS Liberada para Faturamento últimos 90 dias"
},
"color": "blue",
"icon": {
"class": "fa-file"
},
"display": "[result]",
"queryBuilder": {
"osAberta": {
"select": [
"count(os.seq_db) r"
],
"from": "os os",
"inner_join": [
[
"os",
"status_os",
"st",
"st.SEQ_DB = os.STATUS_OS_SEQ_DB"
]
],
"where": [
"os.INS_DH > date_sub(now(), interval 90 DAY)",
"st.DESCRICAO = 'Liberado Faturamento'"
]
}
}
},
"osFechada": {
"label": {
"text": "OS finazalidas dos últimos 90 dias"
},
"color": "grey-cascade",
"icon": {
"class": "fa-file"
},
"display": "[result]",
"queryBuilder": {
"osFechada": {
"select": [
"count(os.seq_db) r"
],
"from": "os os",
"inner_join": [
[
"os",
"status_os",
"st",
"st.SEQ_DB = os.STATUS_OS_SEQ_DB"
]
],
"where": [
"os.INS_DH > date_sub(now(), interval 90 DAY)",
"st.DESCRICAO = 'Fechado'"
]
}
}
}
}
Exemplo de Indicador com Field Action
Veja aqui field action.
{
"osIntegracao": {
"label": {
"text": "OS's com Faturamento liberado"
},
"color": "",
"icon": {
"class": "fa fa-signal"
},
"display": "[result]",
"interval": "120000",
"decimalPlace": "2",
"queryBuilder": {
"osIntegracao": {
"select": [
"count(os.seq_db) result"
],
"from": "os os",
"inner_join": [
[
"os",
"status_os",
"st",
"st.SEQ_DB = os.STATUS_OS_SEQ_DB"
],
[
"os",
"cliente",
"c",
"c.SEQ_DB = os.CLIENTE_SEQ_DB"
]
],
"where": [
"st.DESCRICAO in ('Liberada Faturamento')"
]
}
},
"queryBuilderData": {
"osIntegracao": {
"select": [
"os.seq_db Integrar",
"os.codigo Codigo",
"c.DESCRICAO Cliente",
"st.DESCRICAO Status"
],
"from": "os os",
"inner_join": [
[
"os",
"status_os",
"st",
"st.SEQ_DB = os.STATUS_OS_SEQ_DB"
],
[
"os",
"cliente",
"c",
"c.SEQ_DB = os.CLIENTE_SEQ_DB"
]
],
"where": [
"st.DESCRICAO in ('Liberada Faturamento')"
]
}
},
"report": {
"displayColumns": [
"Codigo",
"Cliente",
"Status",
"Integrar"
],
"links": {
"Codigo": "/t/os/%Integrar%"
},
"fieldAction":{
"Integrar" : "INDICATOR_FAT"
}
}
}
}
Estilos e personalização
É possivel aplicar estilos CSS para alterar a aparencia dos cards, clique aqui para saber mais.