diff --git a/Auditoria_checklist/.metadata/.lock b/Auditoria_checklist/.metadata/.lock new file mode 100644 index 0000000..e69de29 diff --git a/Auditoria_checklist/.metadata/.log b/Auditoria_checklist/.metadata/.log new file mode 100644 index 0000000..4074daf --- /dev/null +++ b/Auditoria_checklist/.metadata/.log @@ -0,0 +1,17 @@ +!SESSION 2026-03-10 22:22:11.116 ----------------------------------------------- +eclipse.buildId=4.13.0.I20190916-1045 +java.version=1.8.0_481 +java.vendor=Oracle Corporation +BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=pt_BR +Framework arguments: -product org.eclipse.epp.package.jee.product +Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product + +!ENTRY org.eclipse.egit.ui 2 0 2026-03-10 22:22:42.782 +!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git +user global configuration and to define the default location to store repositories: 'C:\Users\Home'. If this is +not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and +EGit might behave differently since they see different configuration options. +This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. + +!ENTRY org.eclipse.ui.navigator.resources 4 0 2026-03-10 22:23:03.536 +!MESSAGE Could not acquire INavigatorContentService: Project Explorer not found. diff --git a/Auditoria_checklist/.metadata/.mylyn/repositories.xml.zip b/Auditoria_checklist/.metadata/.mylyn/repositories.xml.zip new file mode 100644 index 0000000..d1a3242 Binary files /dev/null and b/Auditoria_checklist/.metadata/.mylyn/repositories.xml.zip differ diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version new file mode 100644 index 0000000..25cb955 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index new file mode 100644 index 0000000..ed9b514 Binary files /dev/null and b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index differ diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version new file mode 100644 index 0000000..6b2aaa7 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.root/1.tree b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.root/1.tree new file mode 100644 index 0000000..8a1fc9e Binary files /dev/null and b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.root/1.tree differ diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources new file mode 100644 index 0000000..71797ed Binary files /dev/null and b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources differ diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..dffc6b5 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +version=1 diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs new file mode 100644 index 0000000..98d8634 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=\r\n\r\n diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 0000000..3eaf844 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,7 @@ +content_assist_proposals_background=255,255,255 +content_assist_proposals_foreground=0,0,0 +eclipse.preferences.version=1 +org.eclipse.jdt.ui.formatterprofiles.version=17 +spelling_locale_initialized=true +useAnnotationsPrefPage=true +useQuickDiffPrefPage=true diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jsch.core.prefs b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jsch.core.prefs new file mode 100644 index 0000000..d56c53f --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jsch.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.jsch.core.hasChangedDefaultWin32SshHome=true diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.j2ee.webservice.ui.prefs b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.j2ee.webservice.ui.prefs new file mode 100644 index 0000000..553bb96 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.j2ee.webservice.ui.prefs @@ -0,0 +1,2 @@ +areThereWebServices=false +eclipse.preferences.version=1 diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs new file mode 100644 index 0000000..67b1d96 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.m2e.discovery.pref.projects= diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs new file mode 100644 index 0000000..43e97e4 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +mylyn.attention.migrated=true diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs new file mode 100644 index 0000000..8d462a6 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.mylyn.monitor.activity.tracking.enabled.checked=true diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs new file mode 100644 index 0000000..5330e43 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +migrated.task.repositories.secure.store=true +org.eclipse.mylyn.tasks.ui.filters.nonmatching=true +org.eclipse.mylyn.tasks.ui.filters.nonmatching.encouraged=true diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.core.prefs b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.core.prefs new file mode 100644 index 0000000..93a7091 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.core.prefs @@ -0,0 +1,2 @@ +activeuserprofiles=DESKTOP-0E2LAA6;Team +eclipse.preferences.version=1 diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs new file mode 100644 index 0000000..c39ff58 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs @@ -0,0 +1,5 @@ +PROBLEMS_FILTERS_MIGRATE=true +eclipse.preferences.version=1 +platformState=1772394940336 +quickStart=false +tipsAndTricks=true diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs new file mode 100644 index 0000000..61df215 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs @@ -0,0 +1,4 @@ +//org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false +//org.eclipse.ui.commands/state/org.eclipse.wst.xml.views.XPathView.processor.xpathprocessor/org.eclipse.ui.commands.radioState=xpath10 +PLUGINS_NOT_ACTIVATED_ON_STARTUP=;org.eclipse.m2e.discovery; +eclipse.preferences.version=1 diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/Auditoria_checklist/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi new file mode 100644 index 0000000..7ae86a7 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -0,0 +1,3266 @@ + + + + activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration + ModelMigrationProcessor.001 + + + + + + + + topLevel + shellMaximized + + + + + persp.actionSet:org.eclipse.mylyn.doc.actionSet + persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation + persp.actionSet:org.eclipse.ui.cheatsheets.actionSet + persp.actionSet:org.eclipse.rse.core.search.searchActionSet + persp.actionSet:org.eclipse.search.searchActionSet + persp.actionSet:org.eclipse.text.quicksearch.actionSet + persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation + persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation + persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo + persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet + persp.actionSet:org.eclipse.ui.actionSet.keyBindings + persp.actionSet:org.eclipse.ui.actionSet.openFiles + persp.actionSet:org.eclipse.wst.jsdt.chromium.debug.ui.actionSets + persp.actionSet:org.eclipse.jst.j2ee.J2eeMainActionSet + persp.actionSet:org.eclipse.jdt.ui.JavaActionSet + persp.actionSet:org.eclipse.debug.ui.launchActionSet + persp.actionSet:org.eclipse.debug.ui.debugActionSet + persp.actionSet:org.eclipse.ui.NavigateActionSet + persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer + persp.viewSC:org.eclipse.wst.server.ui.ServersView + persp.viewSC:org.eclipse.datatools.connectivity.DataSourceExplorerNavigator + persp.viewSC:org.eclipse.ui.views.BookmarkView + persp.viewSC:org.eclipse.ui.views.ContentOutline + persp.viewSC:org.eclipse.ui.views.PropertySheet + persp.viewSC:org.eclipse.ui.views.ResourceNavigator + persp.viewSC:org.eclipse.wst.common.snippets.internal.ui.SnippetsView + persp.viewSC:org.eclipse.ui.views.AllMarkersView + persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks + persp.viewSC:org.eclipse.search.ui.views.SearchView + persp.viewSC:org.eclipse.ui.console.ConsoleView + persp.showIn:org.eclipse.ui.navigator.ProjectExplorer + persp.actionSet:org.eclipse.wst.ws.explorer.explorer + persp.newWizSC:org.eclipse.m2e.core.wizards.Maven2ProjectWizard + persp.showIn:org.eclipse.tm.terminal.view.ui.TerminalsView + persp.perspSC:org.eclipse.debug.ui.DebugPerspective + persp.perspSC:org.eclipse.jdt.ui.JavaPerspective + persp.perspSC:org.eclipse.ui.resourcePerspective + persp.perspSC:org.eclipse.wst.web.ui.webDevPerspective + persp.newWizSC:org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard + persp.newWizSC:org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard + persp.newWizSC:org.eclipse.jst.ejb.ui.project.facet.EjbProjectWizard + persp.newWizSC:org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorProjectWizard + persp.newWizSC:org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard + persp.newWizSC:org.eclipse.wst.web.ui.internal.wizards.SimpleWebProjectWizard + persp.newWizSC:org.eclipse.jpt.ui.wizard.newJpaProject + persp.newWizSC:org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard + persp.newWizSC:org.eclipse.jst.ejb.ui.internal.wizard.AddSessionBeanWizard + persp.newWizSC:org.eclipse.jst.ejb.ui.internal.wizard.AddMessageDrivenBeanWizard + persp.newWizSC:org.eclipse.jpt.ui.wizard.newEntity + persp.newWizSC:org.eclipse.jst.ws.creation.ui.wizard.serverwizard + persp.newWizSC:org.eclipse.ui.wizards.new.folder + persp.newWizSC:org.eclipse.ui.wizards.new.file + persp.actionSet:org.eclipse.wst.server.ui.internal.webbrowser.actionSet + persp.actionSet:org.eclipse.debug.ui.breakpointActionSet + persp.actionSet:org.eclipse.eclemma.ui.CoverageActionSet + persp.showIn:org.eclipse.eclemma.ui.CoverageView + persp.newWizSC:org.eclipse.jpt.jpa.ui.wizard.newJpaProject + persp.perspSC:org.eclipse.jpt.ui.jpaPerspective + + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:Java + + + View + categoryTag:Java Browsing + + + + + + + + View + categoryTag:General + + + View + categoryTag:Mylyn + + + View + categoryTag:General + + + + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:Server + + + View + categoryTag:Data Management + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + + + + + + persp.actionSet:org.eclipse.mylyn.doc.actionSet + persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation + persp.actionSet:org.eclipse.ui.cheatsheets.actionSet + persp.actionSet:org.eclipse.rse.core.search.searchActionSet + persp.actionSet:org.eclipse.search.searchActionSet + persp.actionSet:org.eclipse.text.quicksearch.actionSet + persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation + persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation + persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo + persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet + persp.actionSet:org.eclipse.ui.actionSet.keyBindings + persp.actionSet:org.eclipse.ui.actionSet.openFiles + persp.actionSet:org.eclipse.wst.jsdt.chromium.debug.ui.actionSets + persp.newWizSC:org.eclipse.ui.wizards.new.folder + persp.newWizSC:org.eclipse.ui.wizards.new.file + persp.viewSC:org.eclipse.ui.views.BookmarkView + persp.viewSC:org.eclipse.ui.views.PropertySheet + persp.viewSC:org.eclipse.ui.views.ProblemView + persp.viewSC:org.eclipse.ui.views.ProgressView + persp.actionSet:org.eclipse.ui.NavigateActionSet + persp.newWizSC:com.totvs.tds.ecm.designer.eclipse.ui.CreateBpmnProjectWizardID + persp.newWizSC:com.totvs.tds.ecm.designer.eclipse.ui.CreateBpmnDiagramWizardID + persp.newWizSC:com.totvs.tds.ecm.designer.eclipse.ui.CreateScriptGeneralWizardID + persp.newWizSC:com.totvs.tds.ecm.designer.eclipse.ui.CreateFormWizardID + persp.newWizSC:com.totvs.tds.ecm.designer.eclipse.ui.CreateReportWizardID + persp.newWizSC:com.totvs.tds.ecm.designer.eclipse.ui.CreateDatasetWizardID + persp.newWizSC:com.totvs.tds.ecm.designer.eclipse.ui.CreateEventWizardID + persp.newWizSC:com.fluig.wcm.eclipse.component.wizard.CreateLayoutWizardID + persp.newWizSC:com.fluig.wcm.eclipse.component.wizard.CreateWidgetWizardID + persp.showIn:org.eclipse.tm.terminal.view.ui.TerminalsView + + + + active + + View + categoryTag:Java + + + View + categoryTag:General + + + View + categoryTag:Fluig + + + + + View + categoryTag:General + + + + + + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:General + + + View + categoryTag:Fluig + + + View + categoryTag:Fluig + + + View + categoryTag:Fluig + + + + + + + + + View + categoryTag:Help + + + View + categoryTag:General + + + View + categoryTag:Help + + + + + + + View + categoryTag:Help + + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Help + + + + org.eclipse.e4.primaryDataStack + EditorStack + + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:General + + + + + View + categoryTag:Java + + + + + View + categoryTag:Java Browsing + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Server + + + + + View + categoryTag:Data Management + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Mylyn + + + + + View + categoryTag:General + + + + + + View + categoryTag:Java + + ViewMenu + menuContribution:menu + + + + + + + + View + categoryTag:Fluig + active + activeOnClose + + ViewMenu + menuContribution:menu + + + + + + + + View + categoryTag:General + + ViewMenu + menuContribution:menu + + + + + + + View + categoryTag:Fluig + + + + + View + categoryTag:Fluig + + + + + View + categoryTag:Fluig + + + + toolbarSeparator + + + + Draggable + + + + toolbarSeparator + + + + Draggable + + + toolbarSeparator + + + + Draggable + + + Draggable + + + Draggable + + + Draggable + + + Draggable + + + toolbarSeparator + + + + Draggable + + + + toolbarSeparator + + + + toolbarSeparator + + + + Draggable + + + stretch + SHOW_RESTORE_MENU + + + Draggable + HIDEABLE + SHOW_RESTORE_MENU + + + + + stretch + + + Draggable + + + Draggable + + + + + TrimStack + Draggable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + platform:win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + platform:win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Editor + removeOnHide + + + + + View + categoryTag:Ant + + + + + View + categoryTag:Gradle + + + + + View + categoryTag:Gradle + + + + + View + categoryTag:Data Management + + + + + View + categoryTag:Data Management + + + + + View + categoryTag:Data Management + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Java + + + + + View + categoryTag:Git + + + + + View + categoryTag:Git + + + + + View + categoryTag:Git + + + + + View + categoryTag:Git + NoRestore + + + + + View + categoryTag:Git + + + + + View + categoryTag:General + + + + + View + categoryTag:Help + + + + + View + categoryTag:Debug + + + + + View + categoryTag:Java + + + + + View + categoryTag:Java + + + + + View + categoryTag:Java + + + + + View + categoryTag:Java Browsing + + + + + View + categoryTag:Java Browsing + + + + + View + categoryTag:Java Browsing + + + + + View + categoryTag:Java Browsing + + + + + View + categoryTag:Java + + + + + View + categoryTag:General + + + + + View + categoryTag:Java + + + + + View + categoryTag:Java + + + + + View + categoryTag:JPA + + + + + View + categoryTag:JPA + + + + + View + categoryTag:JavaServer Faces + + + + + View + categoryTag:JavaServer Faces + + + + + View + categoryTag:Web Services + + + + + View + categoryTag:Maven + + + + + View + categoryTag:Maven + + + + + View + categoryTag:Mylyn + + + + + View + categoryTag:Mylyn + + + + + View + categoryTag:Mylyn + + + + + View + categoryTag:Oomph + + + + + View + categoryTag:API Tools + + + + + View + categoryTag:Plug-in Development + + + + + View + categoryTag:Plug-in Development + + + + + View + categoryTag:Plug-in Development + + + + + View + categoryTag:Plug-in Development + + + + + View + categoryTag:Plug-in Development + + + + + View + categoryTag:Plug-in Development + + + + + View + categoryTag:Remote Systems + + + + + View + categoryTag:Remote Systems + + + + + View + categoryTag:Remote Systems + + + + + View + categoryTag:Remote Systems + + + + + View + categoryTag:Remote Systems + + + + + View + categoryTag:Remote Systems + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:Team + + + + + View + categoryTag:Team + + + View + categoryTag:Help + + + + + View + categoryTag:Terminal + + + + + View + categoryTag:Other + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:Help + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:General + + + + + View + categoryTag:Debug + + + + + View + categoryTag:JavaScript + + + + + View + categoryTag:JavaScript + + + + + View + categoryTag:JavaScript + + + + + View + categoryTag:JavaScript + + + + + View + categoryTag:JavaScript + + + + + View + categoryTag:Server + + + + + View + categoryTag:XML + + + + + View + categoryTag:XML + + + + + View + categoryTag:XML + + + + + View + categoryTag:XML + + + + + View + categoryTag:XML + + + + + View + categoryTag:Fluig + + + + + View + categoryTag:Fluig + + + + + View + categoryTag:Fluig + + + + + View + categoryTag:Fluig + + + + + View + categoryTag:Fluig + + + + + View + categoryTag:General + + + + glue + move_after:PerspectiveSpacer + SHOW_RESTORE_MENU + + + move_after:Spacer Glue + HIDEABLE + SHOW_RESTORE_MENU + + + glue + move_after:SearchField + SHOW_RESTORE_MENU + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache new file mode 100644 index 0000000..593f470 Binary files /dev/null and b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache differ diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache new file mode 100644 index 0000000..593f470 Binary files /dev/null and b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache differ diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache new file mode 100644 index 0000000..593f470 Binary files /dev/null and b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache differ diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat new file mode 100644 index 0000000..3de398e Binary files /dev/null and b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat differ diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml new file mode 100644 index 0000000..a4ee3cb --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml @@ -0,0 +1,2 @@ + + diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml new file mode 100644 index 0000000..9e390f5 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml @@ -0,0 +1,2 @@ + + diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml new file mode 100644 index 0000000..55ff0d9 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml @@ -0,0 +1,10 @@ + +
+
+ + + + + +
+
diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.jst.ws.jaxrs.ui/dialog_settings.xml b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jst.ws.jaxrs.ui/dialog_settings.xml new file mode 100644 index 0000000..5ca0b77 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.jst.ws.jaxrs.ui/dialog_settings.xml @@ -0,0 +1,3 @@ + +
+
diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log b/Auditoria_checklist/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log new file mode 100644 index 0000000..7e6419b --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log @@ -0,0 +1 @@ +2026-03-10 22:22:42,342 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read. diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.13.0.20190716-1624.xml b/Auditoria_checklist/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.13.0.20190716-1624.xml new file mode 100644 index 0000000..e33758c --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.m2e.logback.configuration/logback.1.13.0.20190716-1624.xml @@ -0,0 +1,43 @@ + + + + %date [%thread] %-5level %logger{35} - %msg%n + + + OFF + + + + + ${org.eclipse.m2e.log.dir}/0.log + + ${org.eclipse.m2e.log.dir}/%i.log + 1 + 10 + + + 100MB + + + %date [%thread] %-5level %logger{35} - %msg%n + + + + + + WARN + + + + + + + + + + + + + + + diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup b/Auditoria_checklist/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup new file mode 100644 index 0000000..1f73e14 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup @@ -0,0 +1,6 @@ + + diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties b/Auditoria_checklist/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties new file mode 100644 index 0000000..5e0ad2d --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties @@ -0,0 +1,2 @@ +#Cached timestamps +#Tue Mar 10 22:40:30 GFT 2026 diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.rse.core/.log b/Auditoria_checklist/.metadata/.plugins/org.eclipse.rse.core/.log new file mode 100644 index 0000000..e69de29 diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.rse.core/initializerMarks/org.eclipse.rse.internal.core.RSELocalConnectionInitializer.mark b/Auditoria_checklist/.metadata/.plugins/org.eclipse.rse.core/initializerMarks/org.eclipse.rse.internal.core.RSELocalConnectionInitializer.mark new file mode 100644 index 0000000..e69de29 diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml b/Auditoria_checklist/.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml new file mode 100644 index 0000000..5ca0b77 --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml @@ -0,0 +1,3 @@ + +
+
diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.tm.terminal.view.ui/.executables/data.properties b/Auditoria_checklist/.metadata/.plugins/org.eclipse.tm.terminal.view.ui/.executables/data.properties new file mode 100644 index 0000000..812db9d --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.tm.terminal.view.ui/.executables/data.properties @@ -0,0 +1,6 @@ +#Tue Mar 10 22:22:35 GFT 2026 +0.Path=C\:\\Program Files\\Git\\bin\\sh.exe +0.Name=Git Bash +0.Args=--login -i +0.Translate=true +0.Icon=C\:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml b/Auditoria_checklist/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml new file mode 100644 index 0000000..fe5382d --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml @@ -0,0 +1,14 @@ + +
+
+
+
+ + + + + + + +
+
diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.ui.intro/introstate b/Auditoria_checklist/.metadata/.plugins/org.eclipse.ui.intro/introstate new file mode 100644 index 0000000..236d56c --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.ui.intro/introstate @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/Auditoria_checklist/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml new file mode 100644 index 0000000..9bf422d --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml @@ -0,0 +1,19 @@ + +
+
+
+
+
+
+ + + + + + + + + + +
+
diff --git a/Auditoria_checklist/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml b/Auditoria_checklist/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml new file mode 100644 index 0000000..fded58c --- /dev/null +++ b/Auditoria_checklist/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Auditoria_checklist/.metadata/version.ini b/Auditoria_checklist/.metadata/version.ini new file mode 100644 index 0000000..a5b972f --- /dev/null +++ b/Auditoria_checklist/.metadata/version.ini @@ -0,0 +1,3 @@ +#Tue Mar 10 22:22:34 GFT 2026 +org.eclipse.core.runtime=2 +org.eclipse.platform=4.13.0.v20190916-1045 diff --git a/Auditoria_checklist/.vscode/launch.json b/Auditoria_checklist/.vscode/launch.json new file mode 100644 index 0000000..104d190 --- /dev/null +++ b/Auditoria_checklist/.vscode/launch.json @@ -0,0 +1,18 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "totvs_language_debug", + "request": "launch", + "name": "TOTVS Language Debug", + "program": "${command:AskForProgramName}", + "cwb": "${workspaceFolder}", + "smartclientBin": "../totvs/bin/smartclient/smartclient.exe", + "isMultiSession": true, + "enableTableSync": true, + "extendFeatures": { + "charDetails": false + } + } + ] +} \ No newline at end of file diff --git a/Auditoria_checklist/.vscode/servers.json b/Auditoria_checklist/.vscode/servers.json index a6c6dda..83aa955 100644 --- a/Auditoria_checklist/.vscode/servers.json +++ b/Auditoria_checklist/.vscode/servers.json @@ -1,4 +1,17 @@ { "version": "1.0.0", - "configurations": [] + "configurations": [ + { + "id": "38vwmxmgns5mmld4ck8m7zjfmvikvg", + "name": "Fluig", + "host": "comerciode188006.fluig.cloudtotvs.com.br", + "ssl": true, + "port": 443, + "username": "andrey.cunha", + "password": "eyJpdiI6ImNlMGI3YWJjZDRkYjk2NWU2MjA1YTllN2QxMThjZGIzIiwic2FsdCI6ImQzN2E4NWI4NTQxYTY1NzJmYzg2NTZkNTgyOGZlYmNiIiwidGV4dCI6IjgyOThmYjgzZDdjMjI0MDc5NGYzNDExNzM5YTY1YjBhIn0=", + "userCode": "andrey.cunha", + "confirmExporting": false, + "companyId": 1 + } + ] } \ No newline at end of file diff --git a/Auditoria_checklist/com.totvs.tds.ecm.dataservers b/Auditoria_checklist/com.totvs.tds.ecm.dataservers new file mode 100644 index 0000000..fcb42ce Binary files /dev/null and b/Auditoria_checklist/com.totvs.tds.ecm.dataservers differ diff --git a/Auditoria_checklist/wcm/widget/dashconforme/src/main/resources/view.ftl b/Auditoria_checklist/wcm/widget/dashconforme/src/main/resources/view.ftl index 0425dc7..7abeb77 100644 --- a/Auditoria_checklist/wcm/widget/dashconforme/src/main/resources/view.ftl +++ b/Auditoria_checklist/wcm/widget/dashconforme/src/main/resources/view.ftl @@ -1,11 +1,7 @@
-
-
-

Top Inconformidades

-
-
- -
+
+
Atingimento por Loja
+
diff --git a/Auditoria_checklist/wcm/widget/dashconforme/src/main/webapp/resources/css/dashconforme.css b/Auditoria_checklist/wcm/widget/dashconforme/src/main/webapp/resources/css/dashconforme.css index f90ef0e..0eeb097 100644 --- a/Auditoria_checklist/wcm/widget/dashconforme/src/main/webapp/resources/css/dashconforme.css +++ b/Auditoria_checklist/wcm/widget/dashconforme/src/main/webapp/resources/css/dashconforme.css @@ -1,3 +1,25 @@ -div[id^="dashConforme_"] canvas { - max-height: 420px; +div[id^="dashConforme_"] .dconf-card { + background: #ececed; + border-radius: 24px; + padding: 10px 14px; + min-height: 230px; +} + +div[id^="dashConforme_"] .dconf-title { + color: #004a6a; + font-size: 18px; + font-weight: 800; + text-align: center; + margin-bottom: 4px; +} + +div[id^="dashConforme_"] canvas { + min-height: 165px; + max-height: 180px; +} + +@media (max-width: 1300px) { + div[id^="dashConforme_"] .dconf-title { + font-size: 24px; + } } diff --git a/Auditoria_checklist/wcm/widget/dashconforme/src/main/webapp/resources/js/dashconforme.js b/Auditoria_checklist/wcm/widget/dashconforme/src/main/webapp/resources/js/dashconforme.js index 009c5fa..8f692c6 100644 --- a/Auditoria_checklist/wcm/widget/dashconforme/src/main/webapp/resources/js/dashconforme.js +++ b/Auditoria_checklist/wcm/widget/dashconforme/src/main/webapp/resources/js/dashconforme.js @@ -1,149 +1,129 @@ var DashConforme = SuperWidget.extend({ - chart:null, + chart: null, - init:function(){ - - var self=this; - this.renderAmostra(); - - window.addEventListener("dashboardData",function(e){ + init: function () { + var self = this; + this.render([]); + window.addEventListener("dashboardData", function (e) { self.render(e.detail || []); - }); - }, - render:function(dados){ - + render: function (dados) { var mapa = {}; - dados.forEach(function(item){ - var lista = String(item.listaNaoConforme || "").trim(); - if(!lista){ - return; + dados.forEach(function (item) { + var loja = String(item.loja || "Sem loja").trim(); + if (!mapa[loja]) { + mapa[loja] = { total: 0, conforme: 0 }; + } + mapa[loja].total += 1; + if (normalizaStatus(item) === "CONFORME") { + mapa[loja].conforme += 1; } - - lista.split("|").forEach(function(indicador){ - var chave = String(indicador || "").trim(); - if(!chave){ - return; - } - if(!mapa[chave]){ - mapa[chave] = 0; - } - mapa[chave] += 1; - }); }); - var pares = Object.keys(mapa).map(function(k){ - return {nome:k,valor:mapa[k]}; + var pares = Object.keys(mapa).map(function (nome) { + var total = mapa[nome].total; + var pct = total ? (mapa[nome].conforme / total) * 100 : 0; + return { nome: nome, pct: Number(pct.toFixed(2)) }; }); - pares.sort(function(a,b){ - return b.valor - a.valor; + pares.sort(function (a, b) { + return b.pct - a.pct; }); - pares = pares.slice(0,10); - - var labels = pares.map(function(p){ return p.nome; }); - var valores = pares.map(function(p){ return p.valor; }); - - if(!labels.length){ - labels = ["Aguardando filtro"]; - valores = [0]; + if (!pares.length) { + pares = [{ nome: "Aguardando filtro", pct: 0 }]; } - var ctx = document.getElementById("graficoConforme_"+this.instanceId); - if(!ctx){ - return; - } + var labels = pares.map(function (p) { return p.nome; }); + var valores = pares.map(function (p) { return p.pct; }); - if(this.chart){ - this.chart.destroy(); - } + var ctx = document.getElementById("graficoConforme_" + this.instanceId); + if (!ctx) return; - this.chart = new Chart(ctx,{ - type:"bar", - data:{ - labels:labels, - datasets:[{ - label:"Ocorrências", - data:valores, - backgroundColor:"#f39c12" + if (this.chart) this.chart.destroy(); + + var valueLabelsPlugin = { + id: "valueLabelsPlugin", + afterDatasetsDraw: function (chart) { + var c = chart.ctx; + c.save(); + c.font = "700 10px Arial"; + c.textAlign = "center"; + + chart.data.datasets.forEach(function (dataset, datasetIndex) { + var meta = chart.getDatasetMeta(datasetIndex); + meta.data.forEach(function (bar, index) { + var value = dataset.data[index]; + if (value == null || Number(value) === 0) return; + + var y = bar.y - 4; + var baseline = "bottom"; + if (y < chart.chartArea.top + 12) { + y = bar.y + 10; + baseline = "top"; + } + + c.textBaseline = baseline; + c.fillStyle = baseline === "top" ? "#ffffff" : "#111111"; + c.fillText(String(value).replace(".", ",") + "%", bar.x, y); + }); + }); + + c.restore(); + } + }; + + this.chart = new Chart(ctx, { + type: "bar", + plugins: [valueLabelsPlugin], + data: { + labels: labels, + datasets: [{ + data: valores, + backgroundColor: "#0a5d82" }] }, - options:{ - responsive:true, - maintainAspectRatio:false, - indexAxis:"x", - plugins:{ - legend:{display:false}, - tooltip:{ - callbacks:{ - title:function(items){ - if(labels.length === 1 && labels[0] === "Aguardando filtro"){ - return "Aguardando filtro"; - } - return items && items.length ? labels[items[0].dataIndex] : ""; - } - } + options: { + responsive: true, + layout: { + padding: { + top: 14 } }, - scales:{ - x:{ - ticks:{ - autoSkip:false, - maxRotation:35, - minRotation:0, - callback:function(value,index){ + plugins: { legend: { display: false } }, + scales: { + x: { + ticks: { + autoSkip: false, + maxRotation: 28, + minRotation: 10, + callback: function (value, index) { var txt = labels[index] || ""; - return txt.length > 38 ? txt.substring(0,38) + "..." : txt; + return txt.length > 22 ? txt.substring(0, 22) + "..." : txt; } } }, - y:{ - beginAtZero:true, - precision:0 + y: { + beginAtZero: true, + max: 100, + ticks: { + callback: function (value) { + return value + "%"; + } + } } } } }); - - }, - - renderAmostra:function(){ - var ctx = document.getElementById("graficoConforme_"+this.instanceId); - if(!ctx){ - return; - } - - if(this.chart){ - this.chart.destroy(); - } - - this.chart = new Chart(ctx,{ - type:"bar", - data:{ - labels:["Aguardando filtro"], - datasets:[{ - label:"Ocorrências", - data:[0], - backgroundColor:"#cfd8dc" - }] - }, - options:{ - responsive:true, - maintainAspectRatio:false, - plugins:{legend:{display:false}}, - scales:{ - x:{ticks:{autoSkip:false,maxRotation:0,minRotation:0}}, - y:{beginAtZero:true,precision:0} - } - } - }); - } }); + +function normalizaStatus(item) { + return String(item.saidaAnalise || item.status || "").trim().toUpperCase(); +} diff --git a/Auditoria_checklist/wcm/widget/dashdata/src/main/webapp/resources/js/dashdata.js b/Auditoria_checklist/wcm/widget/dashdata/src/main/webapp/resources/js/dashdata.js index d91b443..ed9c657 100644 --- a/Auditoria_checklist/wcm/widget/dashdata/src/main/webapp/resources/js/dashdata.js +++ b/Auditoria_checklist/wcm/widget/dashdata/src/main/webapp/resources/js/dashdata.js @@ -1,123 +1,95 @@ var DashData = SuperWidget.extend({ - init:function(){ - - console.log("DashData carregado"); - - var self=this; - - window.addEventListener("dashboardFiltro",function(e){ - - console.log("DashData recebeu filtros:",e.detail); - - self.carregar(e.detail); + init: function () { + var self = this; + window.addEventListener("dashboardFiltro", function (e) { + self.carregar(e.detail || {}); }); + this.carregar({}); }, - carregar:function(filtros){ - - console.log("Consultando dataset...", filtros); - - var self=this; - + carregar: function (filtros) { $.ajax({ - - url:"/api/public/ecm/dataset/search", - type:"POST", - contentType:"application/json", - - data:JSON.stringify({ - datasetId:"ds_dashboard_checklist" + url: "/api/public/ecm/dataset/search", + type: "POST", + contentType: "application/json", + data: JSON.stringify({ + datasetId: "ds_dashboard_checklist" }), - - success:function(res){ - - console.log("Resposta dataset:",res); - - var dados=res.content || []; - - console.log("Quantidade registros:", dados.length); - - // FILTRO POR LOJA - if(filtros.loja){ - - dados = dados.filter(function(item){ - - return normalizaTexto(item.loja) === normalizaTexto(filtros.loja); - - }); - - } - - // FILTRO POR DATA - if(filtros.dataInicio || filtros.dataFim){ - - dados = dados.filter(function(item){ - - var dataInicioAuditoria = normalizaData(item.dataAuditoria); - var dataLimite = normalizaData(item.dataLimite); - var inicioFiltro = normalizaData(filtros.dataInicio); - var fimFiltro = normalizaData(filtros.dataFim); - - // Mantem quando data de auditoria OU data limite estiver na faixa filtrada - return dataNaFaixa(dataInicioAuditoria, inicioFiltro, fimFiltro) || - dataNaFaixa(dataLimite, inicioFiltro, fimFiltro); - - }); - - } - - // Mantem somente auditorias com status final (evita divergencia entre total e KPIs) - var antesStatus = dados.length; - dados = dados.filter(function(item){ + success: function (res) { + var dados = (res.content || []).filter(function (item) { var st = normalizaTexto(item.saidaAnalise || item.status || ""); return st === "CONFORME" || st === "NAO_CONFORME"; }); - console.log("Registros com status final:", dados.length, "de", antesStatus); - // Ordena por data de auditoria mais recente - dados.sort(function(a,b){ + dados = dados.filter(function (item) { + if (!matchMulti(item.ciclo, filtros.ciclo)) { + return false; + } + if (!matchMulti(item.regional, filtros.regional)) { + return false; + } + var sup = item.responsavelLoja; + if (!matchMulti(sup, filtros.supervisao)) { + return false; + } + + if (filtros.dataInicio || filtros.dataFim) { + var dataAuditoria = normalizaData(item.dataAuditoria); + var dataLimite = normalizaData(item.dataLimite); + var inicio = normalizaData(filtros.dataInicio); + var fim = normalizaData(filtros.dataFim); + return dataNaFaixa(dataAuditoria, inicio, fim) || dataNaFaixa(dataLimite, inicio, fim); + } + + return true; + }); + + dados.sort(function (a, b) { var da = normalizaData(a.dataAuditoria); var db = normalizaData(b.dataAuditoria); - if(da < db) return 1; - if(da > db) return -1; + if (da < db) return 1; + if (da > db) return -1; return 0; }); - console.log("Registros filtrados:", dados); - - window.dispatchEvent( - new CustomEvent("dashboardData",{detail:dados}) - ); - + window.dispatchEvent(new CustomEvent("dashboardData", { detail: dados })); + }, + error: function () { + window.dispatchEvent(new CustomEvent("dashboardData", { detail: [] })); } - }); - } }); -function normalizaTexto(valor){ +function normalizaTexto(valor) { return String(valor || "").trim().toUpperCase(); } -function normalizaData(valor){ - var v = String(valor || "").trim(); - return v; +function normalizaData(valor) { + return String(valor || "").trim(); } -function dataNaFaixa(data, inicio, fim){ - if(!data){ - return false; - } - if(inicio && data < inicio){ - return false; - } - if(fim && data > fim){ - return false; - } +function dataNaFaixa(data, inicio, fim) { + if (!data) return false; + if (inicio && data < inicio) return false; + if (fim && data > fim) return false; return true; } + +function matchMulti(valorAtual, selecionados) { + if (!selecionados || !selecionados.length) { + return true; + } + + var atual = normalizaTexto(valorAtual); + for (var i = 0; i < selecionados.length; i++) { + if (atual === normalizaTexto(selecionados[i])) { + return true; + } + } + return false; +} diff --git a/Auditoria_checklist/wcm/widget/dashgrafico/src/main/resources/view.ftl b/Auditoria_checklist/wcm/widget/dashgrafico/src/main/resources/view.ftl index ba1313f..36e23f9 100644 --- a/Auditoria_checklist/wcm/widget/dashgrafico/src/main/resources/view.ftl +++ b/Auditoria_checklist/wcm/widget/dashgrafico/src/main/resources/view.ftl @@ -1,9 +1,9 @@
- - -
- -
+ +
+
Atingimento por Regional
+ +
diff --git a/Auditoria_checklist/wcm/widget/dashgrafico/src/main/webapp/resources/css/dashgrafico.css b/Auditoria_checklist/wcm/widget/dashgrafico/src/main/webapp/resources/css/dashgrafico.css index a23359a..86f6e5c 100644 --- a/Auditoria_checklist/wcm/widget/dashgrafico/src/main/webapp/resources/css/dashgrafico.css +++ b/Auditoria_checklist/wcm/widget/dashgrafico/src/main/webapp/resources/css/dashgrafico.css @@ -1 +1,25 @@ -/* Coloque aqui seu codigo CSS */ +div[id^="dashGrafico_"] .dgf-card { + background: #ececed; + border-radius: 24px; + padding: 10px 14px; + min-height: 230px; +} + +div[id^="dashGrafico_"] .dgf-title { + color: #004a6a; + font-size: 18px; + font-weight: 800; + text-align: center; + margin-bottom: 4px; +} + +div[id^="dashGrafico_"] canvas { + min-height: 165px; + max-height: 180px; +} + +@media (max-width: 1300px) { + div[id^="dashGrafico_"] .dgf-title { + font-size: 24px; + } +} diff --git a/Auditoria_checklist/wcm/widget/dashgrafico/src/main/webapp/resources/js/dashgrafico.js b/Auditoria_checklist/wcm/widget/dashgrafico/src/main/webapp/resources/js/dashgrafico.js index 75d6797..e4431e3 100644 --- a/Auditoria_checklist/wcm/widget/dashgrafico/src/main/webapp/resources/js/dashgrafico.js +++ b/Auditoria_checklist/wcm/widget/dashgrafico/src/main/webapp/resources/js/dashgrafico.js @@ -1,91 +1,149 @@ var DashGrafico = SuperWidget.extend({ -chart:null, + chart: null, -init:function(){ + init: function () { + var self = this; + this.render([]); -var self=this; -this.renderAmostra(); + window.addEventListener("dashboardData", function (e) { + self.render(e.detail || []); + }); + }, -window.addEventListener("dashboardData",function(e){ + render: function (dados) { + var mapa = {}; -self.render(e.detail); + dados.forEach(function (item) { + var regiao = String(item.regional || "Sem regiao").trim(); + if (!mapa[regiao]) { + mapa[regiao] = { total: 0, conforme: 0, naoConforme: 0 }; + } + mapa[regiao].total += 1; + if (normalizaStatus(item) === "CONFORME") { + mapa[regiao].conforme += 1; + } else { + mapa[regiao].naoConforme += 1; + } + }); + + var labels = Object.keys(mapa).sort(function (a, b) { return a.localeCompare(b); }); + if (!labels.length) { + labels = ["Aguardando filtro"]; + this.plot(labels, [0], [0]); + return; + } + + var atingimento = labels.map(function (l) { + var r = mapa[l]; + return r.total ? Number(((r.conforme / r.total) * 100).toFixed(2)) : 0; + }); + + var ncMedio = labels.map(function (l) { + var r = mapa[l]; + return r.total ? Number(((r.naoConforme / r.total) * 100).toFixed(2)) : 0; + }); + + this.plot(labels, atingimento, ncMedio); + }, + + plot: function (labels, atingimento, ncMedio) { + var canvas = document.getElementById("grafico_" + this.instanceId); + if (!canvas) return; + + if (this.chart) { + this.chart.destroy(); + } + + var valueLabelsPlugin = { + id: "valueLabelsPlugin", + afterDatasetsDraw: function (chart) { + var c = chart.ctx; + c.save(); + c.font = "700 10px Arial"; + c.textAlign = "center"; + + chart.data.datasets.forEach(function (dataset, datasetIndex) { + var meta = chart.getDatasetMeta(datasetIndex); + meta.data.forEach(function (bar, index) { + var value = dataset.data[index]; + if (value == null || Number(value) === 0) return; + + var y = bar.y - 4; + var baseline = "bottom"; + if (y < chart.chartArea.top + 12) { + y = bar.y + 10; + baseline = "top"; + } + + c.textBaseline = baseline; + c.fillStyle = baseline === "top" ? "#ffffff" : "#111111"; + c.fillText(String(value).replace(".", ",") + "%", bar.x, y); + }); + }); + + c.restore(); + } + }; + + this.chart = new Chart(canvas, { + type: "bar", + plugins: [valueLabelsPlugin], + data: { + labels: labels, + datasets: [ + { + label: "Atingimento (%)", + data: atingimento, + backgroundColor: "#0a5d82" + }, + { + label: "Nao conforme (%)", + data: ncMedio, + backgroundColor: "#88a5b8" + } + ] + }, + options: { + responsive: true, + layout: { + padding: { + top: 14 + } + }, + plugins: { + legend: { + position: "top" + } + }, + scales: { + x: { + ticks: { + autoSkip: false, + maxRotation: 20, + minRotation: 0, + callback: function (value, index) { + var txt = labels[index] || ""; + return txt.length > 18 ? txt.substring(0, 18) + "..." : txt; + } + } + }, + y: { + beginAtZero: true, + max: 100, + ticks: { + callback: function (value) { + return value + "%"; + } + } + } + } + } + }); + } }); -}, - -render:function(dados){ - -var conforme=dados.filter(function(i){ -return normalizaStatus(i)=="CONFORME"; -}).length; - -var nao=dados.filter(function(i){ -return normalizaStatus(i)=="NAO_CONFORME"; -}).length; - -var ctx=document.getElementById("grafico_"+this.instanceId); - -if(this.chart){ -this.chart.destroy(); +function normalizaStatus(item) { + return String(item.saidaAnalise || item.status || "").trim().toUpperCase(); } - -this.chart=new Chart(ctx,{ - -type:'doughnut', - -data:{ -labels:["Conforme ("+conforme+")","Não Conforme ("+nao+")"], -datasets:[{ -data:[conforme,nao], -backgroundColor:["#2ecc71","#e74c3c"] -}] -}, -options:{ -responsive:true, -maintainAspectRatio:false, -cutout:"48%" -} - -}); - -function normalizaStatus(item){ -var raw = item.saidaAnalise || item.status || ""; -return String(raw).trim().toUpperCase(); -} - -}, - -renderAmostra:function(){ -var ctx=document.getElementById("grafico_"+this.instanceId); -if(!ctx){ -return; -} - -if(this.chart){ -this.chart.destroy(); -} - -this.chart=new Chart(ctx,{ -type:'doughnut', -data:{ -labels:["Conforme (0)","Não Conforme (0)"], -datasets:[{ -data:[1,0], -backgroundColor:["#cfd8dc","#eceff1"] -}] -}, -options:{ -responsive:true, -maintainAspectRatio:false, -cutout:"48%", -plugins:{ -tooltip:{enabled:false} -} -} -}); - -} - -}); diff --git a/Auditoria_checklist/wcm/widget/dashkpi/src/main/resources/view.ftl b/Auditoria_checklist/wcm/widget/dashkpi/src/main/resources/view.ftl index 489808a..e7b173c 100644 --- a/Auditoria_checklist/wcm/widget/dashkpi/src/main/resources/view.ftl +++ b/Auditoria_checklist/wcm/widget/dashkpi/src/main/resources/view.ftl @@ -1,44 +1,21 @@
+
+
+
Atingimento | Geral | CP
+
0,00%
+
AUDITORIA
+
-
- -
-
-
-

Total Auditorias

-

0

+
+
Total de Auditorias | Geral | CP
+
+
+
+
+
0
- -
-
-
-

Conformes

-

0

-
-
-
- -
-
-
-

Não Conformes

-

0

-
-
-
- -
-
-
-

% Conformidade

-

0%

-
-
-
- -
diff --git a/Auditoria_checklist/wcm/widget/dashkpi/src/main/webapp/resources/css/dashkpi.css b/Auditoria_checklist/wcm/widget/dashkpi/src/main/webapp/resources/css/dashkpi.css index a23359a..05a5316 100644 --- a/Auditoria_checklist/wcm/widget/dashkpi/src/main/webapp/resources/css/dashkpi.css +++ b/Auditoria_checklist/wcm/widget/dashkpi/src/main/webapp/resources/css/dashkpi.css @@ -1 +1,84 @@ -/* Coloque aqui seu codigo CSS */ +div[id^="dashKPI_"] .dkpi-grid { + display: grid; + grid-template-columns: 1fr 1.4fr; + gap: 4px; +} + +div[id^="dashKPI_"] .dkpi-card { + background: #ececed; + border-radius: 18px; + padding: 8px 12px; + min-height: 120px; +} + +div[id^="dashKPI_"] .dkpi-title { + color: #004a6a; + font-size: 14px; + font-weight: 800; + margin-bottom: 4px; + line-height: 1.08; +} + +div[id^="dashKPI_"] .dkpi-big { + font-size: 20px; + font-weight: 800; + text-align: center; + margin-top: 2px; + margin-bottom: 2px; +} + +div[id^="dashKPI_"] .dkpi-label { + text-align: center; + color: #44525a; + font-size: 11px; + font-weight: 700; +} + +div[id^="dashKPI_"] .dkpi-total-row { + display: flex; + align-items: center; + gap: 10px; + margin-top: 6px; +} + +div[id^="dashKPI_"] .dkpi-bar-bg { + flex: 1; + height: 30px; + border-radius: 4px; + background: #e0e5ea; + overflow: hidden; + box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08); +} + +div[id^="dashKPI_"] .dkpi-bar-fill { + width: 0; + height: 100%; + background: linear-gradient(180deg, #1f6f95 0%, #095777 100%); + transition: width 280ms ease; +} + +div[id^="dashKPI_"] .dkpi-total { + min-width: 44px; + font-size: 16px; + font-weight: 800; + color: #111111; + text-align: right; +} + +@media (max-width: 1300px) { + div[id^="dashKPI_"] .dkpi-grid { + grid-template-columns: 1fr; + } + + div[id^="dashKPI_"] .dkpi-title { + font-size: 16px; + } + + div[id^="dashKPI_"] .dkpi-big { + font-size: 28px; + } + + div[id^="dashKPI_"] .dkpi-total { + font-size: 22px; + } +} diff --git a/Auditoria_checklist/wcm/widget/dashkpi/src/main/webapp/resources/js/dashkpi.js b/Auditoria_checklist/wcm/widget/dashkpi/src/main/webapp/resources/js/dashkpi.js index 615153e..d5d068f 100644 --- a/Auditoria_checklist/wcm/widget/dashkpi/src/main/webapp/resources/js/dashkpi.js +++ b/Auditoria_checklist/wcm/widget/dashkpi/src/main/webapp/resources/js/dashkpi.js @@ -1,41 +1,32 @@ var DashKPI = SuperWidget.extend({ -init:function(){ + init: function () { + var self = this; -var self=this; + window.addEventListener("dashboardData", function (e) { + self.calcular(e.detail || []); + }); + }, -window.addEventListener("dashboardData",function(e){ + calcular: function (dados) { + var total = dados.length; + var conformes = dados.filter(function (i) { + return normalizaStatus(i) === "CONFORME"; + }).length; -self.calcular(e.detail); + var pct = total ? (conformes / total) * 100 : 0; + var pctTxt = pct.toFixed(2).replace(".", ",") + "%"; + + $("#kpi_total_" + this.instanceId).text(total); + $("#kpi_pct_" + this.instanceId).text(pctTxt); + + var largura = total ? Math.max(12, Math.min(100, pct)) : 0; + $("#kpi_total_bar_" + this.instanceId).css("width", largura + "%"); + } }); -}, - -calcular:function(dados){ - -var total=dados.length; - -var conformes=dados.filter(function(i){ -return normalizaStatus(i)=="CONFORME"; -}).length; - -var nao=dados.filter(function(i){ -return normalizaStatus(i)=="NAO_CONFORME"; -}).length; - -var pct= total ? Math.round((conformes/total)*100) : 0; - -$("#kpi_total_"+this.instanceId).text(total); -$("#kpi_ok_"+this.instanceId).text(conformes); -$("#kpi_nok_"+this.instanceId).text(nao); -$("#kpi_pct_"+this.instanceId).text(pct+"%"); - -} - -}); - -function normalizaStatus(item){ -var raw = item.saidaAnalise || item.status || ""; -return String(raw).trim().toUpperCase(); +function normalizaStatus(item) { + var raw = item.saidaAnalise || item.status || ""; + return String(raw).trim().toUpperCase(); } diff --git a/Auditoria_checklist/wcm/widget/dashregional/src/main/resources/view.ftl b/Auditoria_checklist/wcm/widget/dashregional/src/main/resources/view.ftl index 1f83f88..bddcc3f 100644 --- a/Auditoria_checklist/wcm/widget/dashregional/src/main/resources/view.ftl +++ b/Auditoria_checklist/wcm/widget/dashregional/src/main/resources/view.ftl @@ -1,18 +1,10 @@
- - -
-
-

Não Conformes por Regional

-
- -
- - - -
-
+ +
+
Auditorias Realizadas
+ +
diff --git a/Auditoria_checklist/wcm/widget/dashregional/src/main/webapp/resources/css/dashregional.css b/Auditoria_checklist/wcm/widget/dashregional/src/main/webapp/resources/css/dashregional.css index da86e19..b1e57ed 100644 --- a/Auditoria_checklist/wcm/widget/dashregional/src/main/webapp/resources/css/dashregional.css +++ b/Auditoria_checklist/wcm/widget/dashregional/src/main/webapp/resources/css/dashregional.css @@ -1,12 +1,25 @@ -div[id^="dashRegional_"] { - position: relative !important; - z-index: 1; +div[id^="dashRegional_"] .drg-card { + background: #ececed; + border-radius: 24px; + padding: 10px 14px; + min-height: 230px; } -div[id^="dashRegional_"] .panel { - overflow: hidden; +div[id^="dashRegional_"] .drg-title { + color: #004a6a; + font-size: 18px; + font-weight: 800; + text-align: center; + margin-bottom: 4px; } div[id^="dashRegional_"] canvas { - max-height: 260px; + min-height: 165px; + max-height: 180px; +} + +@media (max-width: 1300px) { + div[id^="dashRegional_"] .drg-title { + font-size: 22px; + } } diff --git a/Auditoria_checklist/wcm/widget/dashregional/src/main/webapp/resources/js/dashregional.js b/Auditoria_checklist/wcm/widget/dashregional/src/main/webapp/resources/js/dashregional.js index e03e722..a7b37e5 100644 --- a/Auditoria_checklist/wcm/widget/dashregional/src/main/webapp/resources/js/dashregional.js +++ b/Auditoria_checklist/wcm/widget/dashregional/src/main/webapp/resources/js/dashregional.js @@ -1,102 +1,112 @@ var DashRegional = SuperWidget.extend({ -chart:null, + chartTotal: null, -init:function(){ + init: function () { + var self = this; + this.render([]); -var self=this; -this.renderAmostra(); + window.addEventListener("dashboardData", function (e) { + self.render(e.detail || []); + }); + }, -window.addEventListener("dashboardData",function(e){ + render: function (dados) { + var mapa = {}; -self.render(e.detail); - -}); - -}, - -render:function(dados){ - -var mapa={}; - -// soma nao conformes por regional -dados.forEach(function(i){ - -var regional=i.regional || "Sem regional"; - -if(!mapa[regional]) mapa[regional]=0; - -mapa[regional]+=parseInt(i.qtdNaoConforme||0,10) || 0; - -}); - -// transformar em arrays -var labels=Object.keys(mapa); -var valores=Object.values(mapa); - -if(!labels.length){ -labels=["Aguardando filtro"]; -valores=[0]; -} - -// canvas -var ctx=document.getElementById("graficoRegional_"+this.instanceId); - -if(this.chart){ -this.chart.destroy(); -} - -// criar gráfico -this.chart=new Chart(ctx,{ - -type:'bar', - -data:{ -labels:labels, -datasets:[{ -label:"Não conformes", -data:valores, -backgroundColor:"#e74c3c" -}] -}, - -options:{ -responsive:true, -plugins:{ -legend:{display:false} -} -} - -}); - -}, - -renderAmostra:function(){ -var ctx=document.getElementById("graficoRegional_"+this.instanceId); -if(!ctx){ -return; -} - -if(this.chart){ -this.chart.destroy(); -} - -this.chart=new Chart(ctx,{ -type:'bar', -data:{ -labels:["Aguardando filtro"], -datasets:[{ -label:"Não conformes", -data:[0], -backgroundColor:"#cfd8dc" -}] -}, -options:{ -responsive:true, -plugins:{legend:{display:false}} -} -}); - -} + dados.forEach(function (item) { + var regiao = String(item.regional || "Sem regiao").trim(); + if (!mapa[regiao]) { + mapa[regiao] = 0; + } + mapa[regiao] += 1; + }); + + var labels = Object.keys(mapa); + if (!labels.length) { + this.renderGrafico(["Aguardando filtro"], [0]); + return; + } + + labels.sort(function (a, b) { + return a.localeCompare(b); + }); + + var totais = labels.map(function (l) { return mapa[l]; }); + this.renderGrafico(labels, totais); + }, + + renderGrafico: function (labels, totais) { + var ctxTotal = document.getElementById("graficoRegionalTotal_" + this.instanceId); + if (!ctxTotal) return; + + if (this.chartTotal) this.chartTotal.destroy(); + + var valueLabelsPlugin = { + id: "valueLabelsPlugin", + afterDatasetsDraw: function (chart) { + var ctx = chart.ctx; + ctx.save(); + ctx.font = "700 10px Arial"; + ctx.textAlign = "center"; + + chart.data.datasets.forEach(function (dataset, datasetIndex) { + var meta = chart.getDatasetMeta(datasetIndex); + meta.data.forEach(function (bar, index) { + var value = dataset.data[index]; + if (value == null) return; + + var y = bar.y - 4; + var baseline = "bottom"; + if (y < chart.chartArea.top + 12) { + y = bar.y + 10; + baseline = "top"; + } + + ctx.textBaseline = baseline; + ctx.fillStyle = baseline === "top" ? "#ffffff" : "#111111"; + ctx.fillText(String(value), bar.x, y); + }); + }); + + ctx.restore(); + } + }; + + this.chartTotal = new Chart(ctxTotal, { + type: "bar", + plugins: [valueLabelsPlugin], + data: { + labels: labels, + datasets: [{ + data: totais, + backgroundColor: "#0a5d82" + }] + }, + options: { + responsive: true, + layout: { + padding: { + top: 14 + } + }, + plugins: { legend: { display: false } }, + scales: { + x: { + ticks: { + autoSkip: false, + maxRotation: 22, + minRotation: 0, + callback: function (value, index) { + var txt = labels[index] || ""; + return txt.length > 18 ? txt.substring(0, 18) + "..." : txt; + } + } + }, + y: { beginAtZero: true, precision: 0 } + } + } + }); + } }); diff --git a/Auditoria_checklist/wcm/widget/dashtabela/src/main/resources/view.ftl b/Auditoria_checklist/wcm/widget/dashtabela/src/main/resources/view.ftl index 40db364..487c775 100644 --- a/Auditoria_checklist/wcm/widget/dashtabela/src/main/resources/view.ftl +++ b/Auditoria_checklist/wcm/widget/dashtabela/src/main/resources/view.ftl @@ -1,44 +1,46 @@ -
+
+
Detalhe das Auditorias
- +
+
+ + + + + + + + + + + - - - - - - - - - - - + + + + + +
Data InicioPrazoCicloAnalistaGestorLojaStatus
Data InícioData LimiteCicloAuditorResponsável LojaLojaStatus
Aguardando filtro...
+
- - -Aguardando filtro... - - - - - - - -
diff --git a/Auditoria_checklist/wcm/widget/dashtabela/src/main/webapp/resources/css/dashtabela.css b/Auditoria_checklist/wcm/widget/dashtabela/src/main/webapp/resources/css/dashtabela.css index 3cf2cfe..b456c8c 100644 --- a/Auditoria_checklist/wcm/widget/dashtabela/src/main/webapp/resources/css/dashtabela.css +++ b/Auditoria_checklist/wcm/widget/dashtabela/src/main/webapp/resources/css/dashtabela.css @@ -1,8 +1,26 @@ +div[id^="dashTabela_"] .dtb-card { + background: #ececed; + border-radius: 34px; + padding: 16px 20px; +} + +div[id^="dashTabela_"] .dtb-title { + color: #004a6a; + font-size: 34px; + font-weight: 800; + text-align: center; + margin-bottom: 10px; +} + div[id^="dashTabela_"] table th, div[id^="dashTabela_"] table td { vertical-align: top; } +div[id^="dashTabela_"] table th { + color: #0a4f70; +} + div[id^="dashTabela_"] table th:nth-child(1), div[id^="dashTabela_"] table td:nth-child(1), div[id^="dashTabela_"] table th:nth-child(2), @@ -23,7 +41,7 @@ div[id^="dashTabela_"] .dash-table-footer { justify-content: space-between; gap: 10px; padding-top: 8px; - border-top: 1px solid #eee; + border-top: 1px solid #d4d9dd; } div[id^="dashTabela_"] .dash-page-size { @@ -44,10 +62,20 @@ div[id^="dashTabela_"] .dash-page-size select { div[id^="dashTabela_"] .dash-page-info { font-size: 12px; - color: #666; + color: #44525a; } div[id^="dashTabela_"] .dash-page-actions { display: flex; gap: 6px; } + +@media (max-width: 1300px) { + div[id^="dashTabela_"] .dtb-title { + font-size: 24px; + } + + div[id^="dashTabela_"] .dash-table-footer { + flex-wrap: wrap; + } +} diff --git a/Auditoria_checklist/wcm/widget/filtrosDash/src/main/resources/view.ftl b/Auditoria_checklist/wcm/widget/filtrosDash/src/main/resources/view.ftl index e861904..45d6a7a 100644 --- a/Auditoria_checklist/wcm/widget/filtrosDash/src/main/resources/view.ftl +++ b/Auditoria_checklist/wcm/widget/filtrosDash/src/main/resources/view.ftl @@ -1,34 +1,35 @@ -
+
+
AUDITORIAS DE LOJA - IAF 2026
-
- -
- - -
- -
- - -
- -
- - - - - -
- -
- - -
- -
+
+
+
CICLO
+
+
+
+
REGIONAL
+
+
+
+
GESTOR
+
+
+
+
+
+ + +
+
+ + +
+ + +
+
diff --git a/Auditoria_checklist/wcm/widget/filtrosDash/src/main/webapp/resources/css/filtrosDash.css b/Auditoria_checklist/wcm/widget/filtrosDash/src/main/webapp/resources/css/filtrosDash.css index e348c29..57f3323 100644 --- a/Auditoria_checklist/wcm/widget/filtrosDash/src/main/webapp/resources/css/filtrosDash.css +++ b/Auditoria_checklist/wcm/widget/filtrosDash/src/main/webapp/resources/css/filtrosDash.css @@ -1,7 +1,131 @@ -div[id^="filtroDash_"] input[list] { - padding-right: 30px; +div[id^="filtroDash_"] .fdash-wrap { + background: #9d9d9f; + border-radius: 16px; + padding: 12px; + color: #ffffff; } -div[id^="filtroDash_"] .btn[data-filtrar] { - font-weight: 600; +div[id^="filtroDash_"] .fdash-title { + text-align: center; + font-size: 30px; + line-height: 1.12; + font-weight: 800; + margin-bottom: 10px; + letter-spacing: 0.5px; +} + +div[id^="filtroDash_"] .fdash-filters-row { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 8px; +} + +div[id^="filtroDash_"] .fdash-filter-card { + background: #ececed; + border-radius: 12px; + padding: 8px; +} + +div[id^="filtroDash_"] .fdash-filter-label { + color: #004a6a; + font-size: 15px; + font-weight: 800; + margin-bottom: 6px; +} + +div[id^="filtroDash_"] .fdash-chips { + display: flex; + flex-wrap: wrap; + gap: 5px; + min-height: 36px; +} + +div[id^="filtroDash_"] .fdash-chip { + border: 1px solid #0a4f70; + background: #0a5d82; + color: #ffffff; + padding: 3px 8px; + border-radius: 6px; + font-weight: 700; + font-size: 12px; + cursor: pointer; +} + +div[id^="filtroDash_"] .fdash-chip.is-off { + background: #f0f3f5; + color: #1c4a62; +} + +div[id^="filtroDash_"] .fdash-actions { + display: flex; + align-items: flex-end; + justify-content: center; + gap: 8px; + margin-top: 8px; +} + +div[id^="filtroDash_"] .fdash-date { + min-width: 160px; +} + +div[id^="filtroDash_"] .fdash-date label { + margin: 0 0 2px 0; + color: #ffffff; + font-weight: 700; + font-size: 12px; +} + +div[id^="filtroDash_"] .fdash-date input { + border-radius: 8px; + height: 34px; + font-size: 13px; +} + +div[id^="filtroDash_"] .fdash-actions .btn { + font-weight: 700; + border-radius: 8px; + min-height: 34px; + padding: 6px 12px; + font-size: 13px; +} + +div[id^="filtroDash_"] .fdash-actions button[id^="limpar_"] { + background: #e6ebef; + border-color: #c7d2da; + color: #1c4a62; +} + +div[id^="filtroDash_"] .fdash-actions button[id^="filtrar_"] { + background: #0a5d82; + border-color: #0a4f70; + color: #ffffff; +} + +div[id^="filtroDash_"] .fdash-actions button[id^="filtrar_"]:hover, +div[id^="filtroDash_"] .fdash-actions button[id^="filtrar_"]:focus { + background: #084d6c; + border-color: #083f58; +} + +@media (max-width: 1300px) { + div[id^="filtroDash_"] .fdash-title { + font-size: 24px; + } + + div[id^="filtroDash_"] .fdash-filters-row { + grid-template-columns: 1fr; + } + + div[id^="filtroDash_"] .fdash-filter-label { + font-size: 14px; + } + + div[id^="filtroDash_"] .fdash-chip { + font-size: 12px; + } + + div[id^="filtroDash_"] .fdash-actions { + flex-wrap: wrap; + justify-content: flex-start; + } } diff --git a/Auditoria_checklist/wcm/widget/filtrosDash/src/main/webapp/resources/js/filtrosDash.js b/Auditoria_checklist/wcm/widget/filtrosDash/src/main/webapp/resources/js/filtrosDash.js index e0faf42..869ae66 100644 --- a/Auditoria_checklist/wcm/widget/filtrosDash/src/main/webapp/resources/js/filtrosDash.js +++ b/Auditoria_checklist/wcm/widget/filtrosDash/src/main/webapp/resources/js/filtrosDash.js @@ -1,111 +1,139 @@ var FiltroDash = SuperWidget.extend({ - lojasCarregadas:[], - - init: function(){ - - console.log("FiltroDash carregado"); - - this.carregarLojas(); - + dadosBase: [], + selecionados: { + ciclo: {}, + regional: {}, + supervisao: {} }, - bindings: { - local:{ - 'filtrar': ['click_filtrar'] - } - }, - - carregarLojas: function(){ - + init: function () { + var self = this; + + this.carregarBase(function () { + self.renderFiltros(); + self.aplicar(); + }); + + $("#filtrar_" + this.instanceId).on("click", function () { + self.aplicar(); + }); + + $("#limpar_" + this.instanceId).on("click", function () { + self.limpar(); + }); + }, + + carregarBase: function (done) { var self = this; - var dataList = $("#filial_list_"+this.instanceId); $.ajax({ - url: "/api/public/ecm/dataset/search", type: "POST", contentType: "application/json", - data: JSON.stringify({ - datasetId: "ds_lojas_api", - constraints: [], - fields: [], - order: [] + datasetId: "ds_dashboard_checklist" }), - - success: function(response){ - - var dados = response.content || []; - self.lojasCarregadas = dados.map(function(loja){ - return String(loja.LOJA || "").trim(); - }).filter(function(v){ return !!v; }); - - self.lojasCarregadas.sort(function(a,b){ - return a.localeCompare(b); + success: function (response) { + self.dadosBase = (response.content || []).filter(function (item) { + var st = normalizaTexto(item.saidaAnalise || item.status || ""); + return st === "CONFORME" || st === "NAO_CONFORME"; }); - - self.lojasCarregadas.forEach(function(loja){ - - dataList.append( - '' - ); - - }); - + done(); + }, + error: function () { + self.dadosBase = []; + done(); } - }); - }, - filtrar:function(){ + renderFiltros: function () { + var ciclos = this.valoresUnicos(function (x) { return x.ciclo; }); + var regionais = this.valoresUnicos(function (x) { return x.regional; }); + var supervisoes = this.valoresUnicos(function (x) { return x.responsavelLoja; }); - console.log("Filtrar clicado"); + this.renderChips("ciclo", ciclos, "#chips_ciclo_" + this.instanceId); + this.renderChips("regional", regionais, "#chips_regional_" + this.instanceId); + this.renderChips("supervisao", supervisoes, "#chips_supervisao_" + this.instanceId); + }, - var lojaDigitada = String($("#filial_"+this.instanceId).val() || "").trim(); + valoresUnicos: function (getter) { + var mapa = {}; + this.dadosBase.forEach(function (item) { + var v = String(getter(item) || "").trim(); + if (!v) { + return; + } + mapa[v] = true; + }); + return Object.keys(mapa).sort(function (a, b) { + return a.localeCompare(b); + }); + }, - var filtros = { + renderChips: function (tipo, valores, alvoSelector) { + var self = this; + var alvo = $(alvoSelector); + alvo.empty(); - dataInicio: $("#dtInicio_"+this.instanceId).val(), - dataFim: $("#dtFim_"+this.instanceId).val(), - loja: this.resolverLoja(lojaDigitada) + if (!valores.length) { + alvo.append('Sem dados'); + return; + } + valores.forEach(function (valor) { + var chip = $("