Indicadores na Home
Os cards indicadores podem ser exbidos da tela inicial do NFS.
O JSON de configuração dos indicadores na home é feita na tabela nfs_cloud
> nfs_rpo
no campo CODE
.
No RPO
ou EntryPoint
busque ou crie um entry point com número 502
e com name de home_indicator.
Exemplo completo:
INSERT INTO nfs_cloud.nfs_rpo
(SEQ_DB, NAME, FILE_OR_DOMAIN, `ACTION`, XMOVA_INSTALLCODE, XMOVA_INSTALLCODE_VERSION, TABELA, ENTRY_NUM, CODE, VERSION, BUILD, ATIVO, CODETYPE, FIELD, DESCRIPTION, INS_DH, UPD_DH)
VALUES(80, 'home_indicator', 'SYSTEM', 'IndicatorHome', NULL, NULL, NULL, 502, '{
"osIntegracao": {
"card": {
"style": {
"cursor": "pointer",
"background-color": "burlywood",
"border": "2px solid #000",
"max-height": "125px"
}
},
"number": {
"style": {
"font-size": "1.5em",
"color": "#000",
"font-family": "\\"Open Sans\\", sans-serif",
"font-weight": "bold"
}
},
"icon":{
"style": {
"color": "#E87E04",
"opacity": "0.3",
"margin-top": "11px",
"margin-left": "-42px",
"transform": "scale(2.5)"
},
"class": "fa-file"
},
"statusText": {
"style": {
"color": "#000"
}
},
"progressBar": {
"style": {
"background-color": "black"
}
},
"label": {
"text": "OS Abertas nos últimos 90 dias",
"style": {
"font-size": "1em",
"text-decoration": "none",
"color": "#000",
"font-weight": "bold",
"font-family": "\\"Open Sans\\", sans-serif"
}
},
"color": "yellow-gold",
"type": "progress",
"porcentage": {
"title": "OS em Andamento"
},
"display": "[result]",
"queryBuilder": {
"osIntegracao": {
"select": [
"count(c.seq_db) porcentage",
"180 value"
],
"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.PROC_ST = 0 or os.PROC_ST is null)",
"os.STATUS_OS_SEQ_DB = 3"
]
}
},
"queryBuilderData": {
"osIntegracao": {
"select": [
"os.seq_db seq_db",
"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": [
"(os.PROC_ST = 0 or os.PROC_ST is null)",
"os.STATUS_OS_SEQ_DB = 3"
]
}
},
"report":{
"displayColumns": [
"Codigo",
"Cliente",
"Status"
],
"links" : {
"Codigo" : "/t/os/edit/%seq_db%"
}
}
},
"mais12Horas": {
"label": {
"text": "Boletins com mais de 12 Horas",
"style": {
"font-size": "1.3em",
"text-decoration": "none",
"color": "#E87E04",
"font-weight": "bold",
"font-family": "\\"Open Sans\\", sans-serif"
}
},
"color": "yellow-gold",
"card": {
"style": {
"cursor": "pointer",
"background-color": "#FFF",
"border": "3px solid #E87E04"
}
},
"number": {
"style": {
"font-size": "2.5em",
"text-align": "right",
"color": "#E87E04",
"font-family": "\\"Open Sans\\", sans-serif",
"font-weight": "bold"
}
},
"icon":{
"style": {
"color": "#E87E04",
"opacity": "0.5",
"margin-top": "-70px",
"margin-left": "-40px",
"transform": "scale(0.3)"
},
"class": "fa-clock-o"
},
"display": "[result]",
"queryBuilder": {
"mais12Horas": {
"select": [
"count(b.seq_db) result"
],
"from": "boletim b",
"where": [
"b.INI_DH > date_sub(now(), interval 180 DAY)",
"b.INI_FIM_DIFF_SEC >= ((3600) * 12)"
]
}
}, "queryBuilderData": {
"mais12Horas": {
"select": [
"b.SEQ_DB seq_db",
"b.FUNCIONARIO_SEQ_DB funcionario_seq_db",
"concat(f.CRACHA, '' :: '',f.NOME) Funcionário",
"b.INI_DH Início",
"b.FIM_DH Término",
"replace(round((b.INI_FIM_DIFF_SEC)/3600,2),''.'','','') Total"
],
"from": "boletim b",
"inner_join": [
[
"b",
"funcionario",
"f",
"f.SEQ_DB = b.FUNCIONARIO_SEQ_DB"
]
],
"where": [
"b.INI_DH > date_sub(now(), interval 180 DAY)",
"b.INI_FIM_DIFF_SEC >= ((3600) * 12)"
]
}
},
"report":{
"displayColumns": [
"Funcionário",
"Início",
"Término",
"Total"
],
"links" : {
"Funcionário" : "/details/1/%funcionario_seq_db%/1"
}
}
},
"OSAberta": {
"label": "OS''s Abertas",
"color": "",
"icon": "fa fa-folder-open-o",
"display": "[result]",
"queryBuilder": {
"OSAberta": {
"select": [
"count(os.seq_db) result"
],
"from": "os os",
"where": [
"(os.STATUS_OS_SEQ_DB = 4 or os.STATUS_OS_SEQ_DB = 1)"
]
}
},
"queryBuilderData": {
"OSAberta": {
"select": [
"os.SEQ_DB seq_db_os",
"os.CODIGO CODIGO",
"date_format(os.DATA_ABERTURA, ''%d/%m/%Y'') ABERTURA",
"sto.DESCRICAO STATUS",
"case when os.STATUS_OS_SEQ_DB = 4 then mot.DESCRICAO else '''' end as MOTIVO_PAUSA",
"datediff((date(sysdate())),(date(os.DATA_ABERTURA))) DIAS_ABERTOS"
],
"from": "os os",
"left_join": [
[
"os",
"status_os",
"sto",
"sto.SEQ_DB = os.STATUS_OS_SEQ_DB"
],
[
"os",
"apontamento_status_os",
"apt",
"apt.OS_SEQ_DB = os.SEQ_DB"
],
[
"os",
"motivo_pausa",
"mot",
"mot.SEQ_DB = apt.MOTIVO_PAUSA_SEQ_DB"
]
],
"where": [
"(os.STATUS_OS_SEQ_DB = 4 or os.STATUS_OS_SEQ_DB = 1)"
],
"group_by": [
["os.SEQ_DB"]
],
"order_by": [
["os.SEQ_DB"],
["max(apt.SEQ_DB)"]
]
}
},
"report": {
"displayColumns": [
"CODIGO",
"ABERTURA",
"DIAS_ABERTOS",
"STATUS",
"MOTIVO_PAUSA"
],
"links": {
"CODIGO": "/t/os/edit/%seq_db_os%"
}
}
},
"OSEncerradaIntegrada": {
"card": {
"style": {
"cursor": "pointer",
"background-color": "#000",
"border": "2px solid limegreen"
}
},
"number": {
"style": {
"color": "limegreen",
"font-family": "\\"Open Sans\\", sans-serif",
"font-weight": "bold"
}
},
"icon":{
"style": {
"color": "limegreen",
"margin-top": "-28px",
"margin-left": "70px",
"opacity": "0.2"
},
"class": "fa-folder-open-o"
},
"indicatorUrl": "https://google.com",
"label": {
"text": "OS''s Encerradas e Integradas",
"style": {
"text-decoration": "none",
"color": "limegreen",
"font-weight": "bold",
"font-family": "\\"Open Sans\\", sans-serif"
}
},
"type": "panel",
"display": "[result]",
"queryBuilder": {
"OSEncerradaIntegrada": {
"select": [
"count(os.seq_db) result"
],
"from": "os os",
"where": [
"os.PROC_ST = 4"
]
}
},
"queryBuilderData": {
"OSAberta": {
"select": [
"os.SEQ_DB seq_db_os",
"os.CODIGO CODIGO",
"date_format(os.DATA_ABERTURA, ''%d/%m/%Y'') ABERTURA",
"os.PROC_DESC INTEGRADOR"
],
"from": "os os",
"where": [
"os.PROC_ST = 4"
],
"order_by": [
["os.SEQ_DB"]
]
}
},
"report": {
"displayColumns": [
"CODIGO",
"ABERTURA",
"INTEGRADOR"
],
"links": {
"CODIGO": "/t/os/edit/%seq_db_os%"
}
}
}
}', 1, 77, 1, 'JSON', NULL, NULL, '2019-07-02 17:11:04', '2023-06-02 13:55:05');
Estilos e personalização
É possivel aplicar estilos CSS para alterar a aparencia dos cards, clique aqui para saber mais.