This commit is contained in:
Cunha 2026-05-15 09:39:34 -03:00
parent 3ca3d906e1
commit 628c84683b
34 changed files with 3751 additions and 2303 deletions

1
Fluig novo/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/.metadata/

View File

@ -1534,3 +1534,363 @@ org.eclipse.swt.SWTException: Widget is disposed
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:660)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
at org.eclipse.equinox.launcher.Main.run(Main.java:1468)
!SESSION 2026-05-15 08:37:38.420 -----------------------------------------------
eclipse.buildId=4.13.0.I20190916-1045
java.version=1.8.0_202
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-05-15 08:38:53.936
!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\andrey.cunha'. 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 4 4 2026-05-15 08:39:47.389
!MESSAGE Unable to create part
!STACK 1
org.eclipse.ui.PartInitException:
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:346)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:998)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:963)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:408)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:331)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:202)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:91)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:60)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:1002)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717)
at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1293)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.lambda$0(LazyStackRenderer.java:75)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:146)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4622)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:219)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:205)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:203)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:132)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:75)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:44)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:55)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:63)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElementGen(ElementContainerImpl.java:170)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:188)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1359)
at org.eclipse.ui.internal.WorkbenchPage.hidePart(WorkbenchPage.java:1554)
at org.eclipse.ui.internal.WorkbenchPage.hidePart(WorkbenchPage.java:1506)
at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1476)
at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1600)
at org.eclipse.graphiti.ui.editor.DiagramEditor.close(DiagramEditor.java:855)
at org.eclipse.graphiti.ui.editor.DefaultUpdateBehavior.closeContainer(DefaultUpdateBehavior.java:499)
at org.eclipse.graphiti.ui.editor.DefaultUpdateBehavior$DefaultUpdateAdapter$3.run(DefaultUpdateBehavior.java:616)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3961)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3588)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:166)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:368)
at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.run(RefactoringWizardDialog2.java:324)
at org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPerformFinish(RefactoringWizard.java:639)
at org.eclipse.ltk.internal.ui.refactoring.ErrorWizardPage.performFinish(ErrorWizardPage.java:151)
at org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFinish(RefactoringWizard.java:713)
at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.okPressed(RefactoringWizardDialog2.java:463)
at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:468)
at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:619)
at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4173)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3986)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3585)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
at org.eclipse.jface.window.Window.open(Window.java:799)
at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:192)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:212)
at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:126)
at org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResourcesHandler.execute(DeleteResourcesHandler.java:44)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:318)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:252)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:498)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommandInContext(LegacyHandlerService.java:440)
at org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(LTKLauncher.java:99)
at org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWizard(LTKLauncher.java:51)
at org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResourceAction.java:452)
at org.eclipse.jdt.internal.ui.refactoring.reorg.DeleteAction.run(DeleteAction.java:197)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:252)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:474)
at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:121)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:318)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:252)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:498)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:308)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:584)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:653)
at org.eclipse.e4.ui.bindings.keys.OutOfOrderListener.handleEvent(OutOfOrderListener.java:75)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4173)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1108)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104)
at org.eclipse.swt.widgets.Widget.wmKeyDown(Widget.java:1759)
at org.eclipse.swt.widgets.Control.WM_KEYDOWN(Control.java:5146)
at org.eclipse.swt.widgets.Tree.WM_KEYDOWN(Tree.java:6119)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4793)
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5987)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4812)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3583)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1160)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1049)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:633)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:660)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
at org.eclipse.equinox.launcher.Main.run(Main.java:1468)
Caused by: java.lang.NullPointerException
at com.totvs.tds.ecm.designer.eclipse.ui.TotvsBpmnDiagramEditor$8.doExecute(TotvsBpmnDiagramEditor.java:580)
at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135)
at org.eclipse.emf.workspace.EMFCommandOperation.doExecute(EMFCommandOperation.java:119)
at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150)
at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:496)
at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208)
at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165)
at org.eclipse.graphiti.ui.internal.editor.GFWorkspaceCommandStackImpl.execute(GFWorkspaceCommandStackImpl.java:94)
at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:219)
at com.totvs.tds.ecm.designer.eclipse.ui.TotvsBpmnDiagramEditor.resizeGateway(TotvsBpmnDiagramEditor.java:636)
at com.totvs.tds.ecm.designer.eclipse.ui.TotvsBpmnDiagramEditor.init(TotvsBpmnDiagramEditor.java:418)
at org.eclipse.ui.internal.EditorReference.initialize(EditorReference.java:353)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:340)
... 154 more
!SUBENTRY 1 org.eclipse.ui 4 0 2026-05-15 08:39:47.392
!MESSAGE
!STACK 0
java.lang.NullPointerException
at com.totvs.tds.ecm.designer.eclipse.ui.TotvsBpmnDiagramEditor$8.doExecute(TotvsBpmnDiagramEditor.java:580)
at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135)
at org.eclipse.emf.workspace.EMFCommandOperation.doExecute(EMFCommandOperation.java:119)
at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150)
at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:496)
at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208)
at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165)
at org.eclipse.graphiti.ui.internal.editor.GFWorkspaceCommandStackImpl.execute(GFWorkspaceCommandStackImpl.java:94)
at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:219)
at com.totvs.tds.ecm.designer.eclipse.ui.TotvsBpmnDiagramEditor.resizeGateway(TotvsBpmnDiagramEditor.java:636)
at com.totvs.tds.ecm.designer.eclipse.ui.TotvsBpmnDiagramEditor.init(TotvsBpmnDiagramEditor.java:418)
at org.eclipse.ui.internal.EditorReference.initialize(EditorReference.java:353)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:340)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:998)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:963)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:408)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:331)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:202)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:91)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:60)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:1002)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717)
at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1293)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.lambda$0(LazyStackRenderer.java:75)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:146)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4622)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:219)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:205)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:203)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:132)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:75)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:44)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:55)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:63)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElementGen(ElementContainerImpl.java:170)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:188)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1359)
at org.eclipse.ui.internal.WorkbenchPage.hidePart(WorkbenchPage.java:1554)
at org.eclipse.ui.internal.WorkbenchPage.hidePart(WorkbenchPage.java:1506)
at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1476)
at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1600)
at org.eclipse.graphiti.ui.editor.DiagramEditor.close(DiagramEditor.java:855)
at org.eclipse.graphiti.ui.editor.DefaultUpdateBehavior.closeContainer(DefaultUpdateBehavior.java:499)
at org.eclipse.graphiti.ui.editor.DefaultUpdateBehavior$DefaultUpdateAdapter$3.run(DefaultUpdateBehavior.java:616)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3961)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3588)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:166)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:368)
at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.run(RefactoringWizardDialog2.java:324)
at org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPerformFinish(RefactoringWizard.java:639)
at org.eclipse.ltk.internal.ui.refactoring.ErrorWizardPage.performFinish(ErrorWizardPage.java:151)
at org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFinish(RefactoringWizard.java:713)
at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.okPressed(RefactoringWizardDialog2.java:463)
at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:468)
at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:619)
at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4173)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3986)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3585)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
at org.eclipse.jface.window.Window.open(Window.java:799)
at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:192)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:72)
at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:212)
at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:126)
at org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResourcesHandler.execute(DeleteResourcesHandler.java:44)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:318)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:252)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:498)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommandInContext(LegacyHandlerService.java:440)
at org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(LTKLauncher.java:99)
at org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWizard(LTKLauncher.java:51)
at org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResourceAction.java:452)
at org.eclipse.jdt.internal.ui.refactoring.reorg.DeleteAction.run(DeleteAction.java:197)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:252)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:474)
at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:121)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:318)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:252)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:498)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:308)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:584)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:653)
at org.eclipse.e4.ui.bindings.keys.OutOfOrderListener.handleEvent(OutOfOrderListener.java:75)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4173)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1108)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104)
at org.eclipse.swt.widgets.Widget.wmKeyDown(Widget.java:1759)
at org.eclipse.swt.widgets.Control.WM_KEYDOWN(Control.java:5146)
at org.eclipse.swt.widgets.Tree.WM_KEYDOWN(Tree.java:6119)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4793)
at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:5987)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4812)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3583)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1160)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1049)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:633)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:660)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:597)
at org.eclipse.equinox.launcher.Main.run(Main.java:1468)

View File

@ -1,3 +0,0 @@
#GitProjectData
#Wed May 13 08:52:49 BRT 2026
.gitdir=../.git

View File

@ -1,3 +0,0 @@
#GitProjectData
#Wed May 13 08:52:49 BRT 2026
.gitdir=../../../.git

View File

@ -1,3 +1,3 @@
GitRepositoriesView.GitDirectories=C\:\\Python\\Python\\Python\\Fluig geral\\fluig\\.git;
GitRepositoriesView.GitDirectories.relative=C\:\\Python\\Python\\Python\\Fluig geral\\fluig\\.git;
GitRepositoriesView.GitDirectories=C\:\\Users\\andrey.cunha\\eclipse-workspace.new\\.git;C\:\\Python\\Python\\Python\\Fluig geral\\fluig\\.git;
GitRepositoriesView.GitDirectories.relative=C\:\\Users\\andrey.cunha\\eclipse-workspace.new\\.git;C\:\\Python\\Python\\Python\\Fluig geral\\fluig\\.git;
eclipse.preferences.version=1

File diff suppressed because one or more lines are too long

View File

@ -5,3 +5,4 @@
2026-05-08 15:27:43,932 [Worker-7: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
2026-05-12 08:45:43,538 [Worker-5: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
2026-05-13 08:52:02,273 [Worker-4: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.
2026-05-15 08:38:54,281 [Worker-4: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is out-of-date. Trying to update.

View File

@ -1,6 +1,2 @@
INDEX VERSION 1.4+C:\Users\andrey.cunha\eclipse-workspace.new\Fluig novo\.metadata\.plugins\org.eclipse.wst.jsdt.core\indexes
2126945527.index
1053469344.index
3589406798.index
792921814.index
223548928.index
3974601650.index

View File

@ -1,3 +1,3 @@
#
#Wed May 13 08:52:55 BRT 2026
task-tag-projects-already-scanned=Ginseng_chamados,diagrams
#Fri May 15 08:40:21 BRT 2026
task-tag-projects-already-scanned=

View File

@ -1,3 +1,3 @@
#Wed May 13 08:49:56 BRT 2026
#Fri May 15 08:37:49 BRT 2026
org.eclipse.core.runtime=2
org.eclipse.platform=4.13.0.v20190916-1045

View File

@ -11,6 +11,9 @@ function createDataset(fields, constraints, sortFields) {
var pagesize = 100;
var page = 1;
var total = null;
var termoBusca = getSearchTerm(constraints);
var limiteLinhas = getLimit(constraints, 200);
var linhasAdicionadas = 0;
try {
var clientService = fluigAPI.getAuthorizeClientService();
@ -59,12 +62,18 @@ function createDataset(fields, constraints, sortFields) {
if (total === null && obj.total != null) total = Number(obj.total);
for (var i = 0; i < funcoes.length; i++) {
dataset.addRow([
funcoes[i].RJ_DESC || "",
funcoes[i].RJ_CODCBO || "" // ou RJ_CBO se for o campo desejado
]);
var descricao = String(funcoes[i].RJ_DESC || "");
var cbo = String(funcoes[i].RJ_CODCBO || "");
if (matchSearch(termoBusca, descricao, cbo)) {
dataset.addRow([descricao, cbo]);
linhasAdicionadas++;
if (linhasAdicionadas >= limiteLinhas) break;
}
}
if (linhasAdicionadas >= limiteLinhas) break;
// condição de parada segura
if (funcoes.length < pagesize) break;
@ -76,9 +85,62 @@ function createDataset(fields, constraints, sortFields) {
} catch (e) {
dataset = DatasetBuilder.newDataset();
dataset.addColumn("ERRO");
dataset.addRow([String(e)]);
dataset.addColumn("DESCRICAO");
dataset.addColumn("CBO");
dataset.addRow(["ERRO AO CARREGAR FUNCOES: " + String(e), ""]);
}
return dataset;
}
}
function getSearchTerm(constraints) {
if (!constraints || constraints.length === 0) return "";
var searchField = "";
var searchValue = "";
var term = "";
for (var i = 0; i < constraints.length; i++) {
var c = constraints[i];
var field = String(c.getFieldName ? c.getFieldName() : c.fieldName || "").toLowerCase();
var value = String(c.getInitialValue ? c.getInitialValue() : c.initialValue || "");
if (field === "searchfield") {
searchField = String(value).toLowerCase();
} else if (field === "searchvalue") {
searchValue = value;
} else if (field === "descricao" || field === "rj_desc" || field === "cbo" || field === "rj_codcbo") {
term = value;
}
}
if (searchValue !== "") return searchValue;
if (searchField !== "" && term !== "") return term;
return term;
}
function getLimit(constraints, defaultValue) {
if (!constraints || constraints.length === 0) return defaultValue;
for (var i = 0; i < constraints.length; i++) {
var c = constraints[i];
var field = String(c.getFieldName ? c.getFieldName() : c.fieldName || "").toLowerCase();
var value = String(c.getInitialValue ? c.getInitialValue() : c.initialValue || "");
if (field === "sqllimit" || field === "limit") {
var n = parseInt(value, 10);
if (!isNaN(n) && n > 0) return n;
}
}
return defaultValue;
}
function matchSearch(term, descricao, cbo) {
var t = String(term || "").toLowerCase().trim();
if (t === "") return true;
var desc = String(descricao || "").toLowerCase();
var cod = String(cbo || "").toLowerCase();
return desc.indexOf(t) >= 0 || cod.indexOf(t) >= 0;
}

View File

@ -9,11 +9,6 @@
<script src="/style-guide/js/fluig-style-guide.min.js"></script>
<script type="text/javascript" src="/webdesk/vcXMLRPC.js"></script>
<script type="text/javascript" src="script.js"></script>
<link
href="/webdesk/customresources?cid=4&resourceName=temaFormulario/0.css"
type="text/css"
rel="stylesheet"
/>
<link
rel="stylesheet"
type="text/css"

View File

@ -0,0 +1,47 @@
<div style="font-family: Arial, sans-serif; background-color:#f4f6f8; padding:20px;">
<div style="max-width:600px; margin:auto; background:#ffffff; border-radius:8px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,0.1);">
<div style="background:#0a6d8d; padding:15px; text-align:center; color:#ffffff;">
<h2 style="margin:0;">Recrutamento e Seleção</h2>
<p style="margin:0; font-size:13px;">Notificação de Processo</p>
</div>
<div style="padding:25px; color:#333;">
<h3 style="margin-top:0; color:#0a6d8d;">Data de início definida</h3>
<p>Olá,</p>
<p>O colaborador <b>${colaboradorNome}</b> do processo <b>${WKNumProces}</b> para o cargo <b>${cargo}</b> vai iniciar no dia <b>${dataInicio}</b>.</p>
<p>O kit que ele vai utilizar é: <b>${kitUtilizado}</b>.</p>
<div style="background:#f1f5f9; padding:15px; border-radius:6px; margin:20px 0;">
<p style="margin:5px 0;"><b>Nº Solicitação:</b> ${WKNumProces}</p>
<p style="margin:5px 0;"><b>Colaborador:</b> ${colaboradorNome}</p>
<p style="margin:5px 0;"><b>Cargo/Função:</b> ${cargo}</p>
<p style="margin:5px 0;"><b>Data de início:</b> ${dataInicio}</p>
<p style="margin:5px 0;"><b>Kit:</b> ${kitUtilizado}</p>
</div>
<p>Clique no botão abaixo para acessar o processo:</p>
<div style="text-align:center; margin:25px 0;">
<a href="${linkSolicitacao}"
target="_blank"
style="display:inline-block; background:#0a6d8d; color:#ffffff; padding:12px 20px; text-decoration:none; border-radius:5px; font-weight:bold;">
Acessar Solicitação
</a>
</div>
<p style="font-size:12px; color:#888; margin-top:-10px;">
Se o botão não abrir, copie e cole este link no navegador:<br/>
<span>${linkSolicitacao}</span>
</p>
<p style="font-size:13px; color:#777;">
Este é um e-mail automático, não responda.
</p>
</div>
<div style="background:#f1f5f9; text-align:center; padding:10px; font-size:12px; color:#777;">
© Ginseng
</div>
</div>
</div>

View File

@ -0,0 +1,47 @@
<div style="font-family: Arial, sans-serif; background-color:#f4f6f8; padding:20px;">
<div style="max-width:600px; margin:auto; background:#ffffff; border-radius:8px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,0.1);">
<div style="background:#0a6d8d; padding:15px; text-align:center; color:#ffffff;">
<h2 style="margin:0;">Recrutamento e Seleção</h2>
<p style="margin:0; font-size:13px;">Notificação de Processo</p>
</div>
<div style="padding:25px; color:#333;">
<h3 style="margin-top:0; color:#0a6d8d;">Nova solicitação enviada</h3>
<p>Olá,</p>
<p>Uma nova solicitação de recrutamento foi enviada para análise.</p>
<div style="background:#f1f5f9; padding:15px; border-radius:6px; margin:20px 0;">
<p style="margin:5px 0;"><b>Nº Solicitação:</b> ${WKNumProces}</p>
<p style="margin:5px 0;"><b>Solicitante:</b> ${requesterName}</p>
<p style="margin:5px 0;"><b>Gestor:</b> ${gestorNome}</p>
<p style="margin:5px 0;"><b>Data:</b> ${dataAbertura}</p>
<p style="margin:5px 0;"><b>Cargo/Função:</b> ${cargo}</p>
<p style="margin:5px 0;"><b>Kit:</b> ${kitUtilizado}</p>
</div>
<p>Clique no botão abaixo para acessar o processo:</p>
<div style="text-align:center; margin:25px 0;">
<a href="${linkSolicitacao}"
target="_blank"
style="display:inline-block; background:#0a6d8d; color:#ffffff; padding:12px 20px; text-decoration:none; border-radius:5px; font-weight:bold;">
Acessar Solicitação
</a>
</div>
<p style="font-size:12px; color:#888; margin-top:-10px;">
Se o botão não abrir, copie e cole este link no navegador:<br/>
<span>${linkSolicitacao}</span>
</p>
<p style="font-size:13px; color:#777;">
Este é um e-mail automático, não responda.
</p>
</div>
<div style="background:#f1f5f9; text-align:center; padding:10px; font-size:12px; color:#777;">
© Ginseng
</div>
</div>
</div>

View File

@ -9,6 +9,501 @@
</void>
</array>
</void>
<void method="put">
<string>mecanismoGrupo</string>
<object class="java.util.ArrayList">
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Tecnologia e Comunicação</string>
</void>
<void property="groupId">
<string>TIC</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Compras Indiretos</string>
</void>
<void property="groupId">
<string>ComprasIndiretos</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Obras e manutenção</string>
</void>
<void property="groupId">
<string>Manutencao</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Aprovadores Compras Nvl 3</string>
</void>
<void property="groupId">
<string>AprovadoresComprasNvl3</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Motoristas</string>
</void>
<void property="groupId">
<string>Motoristas</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Requisitantes de Vaga</string>
</void>
<void property="groupId">
<string>Requisitantesdevaga</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Recrutamento</string>
</void>
<void property="groupId">
<string>Recrutamento</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>TODOS-TODOS-DIADMISSAO</string>
</void>
<void property="groupId">
<string>TODOS-TODOS-DIADMISSAO</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ResponsavelDesligamento</string>
</void>
<void property="groupId">
<string>ResponsavelDesligamento</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>GENTE &amp; CULTURA</string>
</void>
<void property="groupId">
<string>GENTE_CULTURA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>LOJA AL</string>
</void>
<void property="groupId">
<string>LOJA_AL</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>CD</string>
</void>
<void property="groupId">
<string>CD</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESPAÇO DO REVENDEDOR AL</string>
</void>
<void property="groupId">
<string>ESPACO_DO_REVENDEDOR_AL</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>FINANCEIRO</string>
</void>
<void property="groupId">
<string>FINANCEIRO</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>OPERAÇÕES</string>
</void>
<void property="groupId">
<string>OPERACOES</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>AMG AL</string>
</void>
<void property="groupId">
<string>AMG_AL</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>REGIONAL ALAGOAS</string>
</void>
<void property="groupId">
<string>REGIONAL_ALAGOAS</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>PREVENÇÃO DE PERDA</string>
</void>
<void property="groupId">
<string>PREVENCAO_DE_PERDA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>MARKETING, TREINAMENTO</string>
</void>
<void property="groupId">
<string>MARKETING_TREINAMENTO</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>SECRETARIA EXECUTIVA</string>
</void>
<void property="groupId">
<string>SECRETARIA_EXECUTIVA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>DIRETORIA EXECUTIVA</string>
</void>
<void property="groupId">
<string>DIRETORIA_EXECUTIVA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>INFRAESTRUTURA</string>
</void>
<void property="groupId">
<string>INFRAESTRUTURA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESPAÇO DO REVENDEDOR BA</string>
</void>
<void property="groupId">
<string>ESPACO_DO_REVENDEDOR_BA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>BUSINESS INTELLIGENCE</string>
</void>
<void property="groupId">
<string>BUSINESS_INTELLIGENCE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>DEPARTAMENTO PESSOAL</string>
</void>
<void property="groupId">
<string>DEPARTAMENTO_PESSOAL</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>LOJA BA</string>
</void>
<void property="groupId">
<string>LOJA_BA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>TREINAMENTO</string>
</void>
<void property="groupId">
<string>TREINAMENTO</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>AMG BA</string>
</void>
<void property="groupId">
<string>AMG_BA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>MARKETING</string>
</void>
<void property="groupId">
<string>MARKETING</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>COMPRAS</string>
</void>
<void property="groupId">
<string>COMPRAS</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>AMG SE</string>
</void>
<void property="groupId">
<string>AMG_SE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>LOJA SE</string>
</void>
<void property="groupId">
<string>LOJA_SE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESPAÇO DO REVENDEDOR SE</string>
</void>
<void property="groupId">
<string>ESPACO_DO_REVENDEDOR_SE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>VENDAS IN COMPANY</string>
</void>
<void property="groupId">
<string>VENDAS_IN_COMPANY</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>REGIONAL BAHIA</string>
</void>
<void property="groupId">
<string>REGIONAL_BAHIA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>CANAL LOJA 01</string>
</void>
<void property="groupId">
<string>CANAL_LOJA_01</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>AUDITORIA</string>
</void>
<void property="groupId">
<string>AUDITORIA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>CANAL LOJA 02</string>
</void>
<void property="groupId">
<string>CANAL_LOJA_02</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>PLANEJAMENTO DE DEMANDAS</string>
</void>
<void property="groupId">
<string>PLANEJAMENTO_DE_DEMANDAS</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>PROJETOS</string>
</void>
<void property="groupId">
<string>PROJETOS</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>COMPLIANCE</string>
</void>
<void property="groupId">
<string>COMPLIANCE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESCRITÓRIO - MATRIZ</string>
</void>
<void property="groupId">
<string>ESCRITORIO_MATRIZ</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>ESCRITÓRIO - CONQUISTA</string>
</void>
<void property="groupId">
<string>ESCRITORIO_CONQUISTA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>REGIONAL SERGIPE</string>
</void>
<void property="groupId">
<string>REGIONAL_SERGIPE</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Transferencia</string>
</void>
<void property="groupId">
<string>Transferencia</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>Fiscal</string>
</void>
<void property="groupId">
<string>Fiscal</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>motoristaAL</string>
</void>
<void property="groupId">
<string>motoristaAL</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>motoristaBA</string>
</void>
<void property="groupId">
<string>motoristaBA</string>
</void>
</object>
</void>
<void method="add">
<object class="com.totvs.tds.ecm.foundation.ws.GroupDto">
<void property="groupDescription">
<string>motoristaSE</string>
</void>
<void property="groupId">
<string>motoristaSE</string>
</void>
</object>
</void>
</object>
</void>
<void method="put">
<string>expediente</string>
<array class="java.lang.String" length="4">

View File

@ -29,7 +29,7 @@
<processDefinitionVersionPK>
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<version>31</version>
<version>34</version>
</processDefinitionVersionPK>
<versionDescription></versionDescription>
<formId>823</formId>
@ -629,7 +629,7 @@
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<expressionOrder>1</expressionOrder>
<version>31</version>
<version>34</version>
<sequence>2</sequence>
</conditionProcessStatePK>
<condition>hAPI.getCardValue(&quot;centroCusto&quot;) == &quot;&quot;</condition>
@ -643,7 +643,7 @@
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<expressionOrder>2</expressionOrder>
<version>31</version>
<version>34</version>
<sequence>2</sequence>
</conditionProcessStatePK>
<condition>true</condition>
@ -657,7 +657,7 @@
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<expressionOrder>1</expressionOrder>
<version>31</version>
<version>34</version>
<sequence>46</sequence>
</conditionProcessStatePK>
<condition>hAPI.getCardValue(&quot;validarMotivo&quot;) == &quot;substituicao&quot;</condition>
@ -671,7 +671,7 @@
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<expressionOrder>2</expressionOrder>
<version>31</version>
<version>34</version>
<sequence>46</sequence>
</conditionProcessStatePK>
<condition>hAPI.getCardValue(&quot;validarMotivo&quot;) == &quot;temporario&quot;</condition>
@ -685,7 +685,7 @@
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<expressionOrder>3</expressionOrder>
<version>31</version>
<version>34</version>
<sequence>46</sequence>
</conditionProcessStatePK>
<condition>hAPI.getCardValue(&quot;validarMotivo&quot;) == &quot;aumento&quot;</condition>
@ -699,7 +699,7 @@
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<expressionOrder>1</expressionOrder>
<version>31</version>
<version>34</version>
<sequence>95</sequence>
</conditionProcessStatePK>
<condition>hAPI.getCardValue(&quot;validacaoFunc&quot;) == &quot;entregue&quot;</condition>
@ -713,7 +713,7 @@
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<expressionOrder>2</expressionOrder>
<version>31</version>
<version>34</version>
<sequence>95</sequence>
</conditionProcessStatePK>
<condition>hAPI.getCardValue(&quot;validacaoFunc&quot;) == &quot;naoEntregue&quot;</condition>
@ -727,7 +727,7 @@
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<expressionOrder>3</expressionOrder>
<version>31</version>
<version>34</version>
<sequence>95</sequence>
</conditionProcessStatePK>
<condition>hAPI.getCardValue(&quot;validacaoFunc&quot;) == &quot;incorreto&quot;</condition>
@ -998,7 +998,241 @@
</ProcessLink>
</list>
<list/>
<list/>
<list>
<WorkflowProcessEvent>
<workflowProcessEventPK>
<companyId>1</companyId>
<eventId>beforeTaskSave</eventId>
<processId>Recrutamento e seleção</processId>
<version>1</version>
</workflowProcessEventPK>
<eventDescription>function beforeTaskSave(colleagueId, nextSequenceId, userList) {
try {
var currentState = parseInt(String(getValue(&quot;WKNumState&quot;) || &quot;0&quot;), 10);
var nextState = parseInt(String(nextSequenceId || &quot;0&quot;), 10);
var completeTask = String(getValue(&quot;WKCompletTask&quot;) || &quot;false&quot;);
log.info(&quot;[Recrutamento.beforeTaskSave] currentState=&quot; + currentState + &quot;, nextState=&quot; + nextState + &quot;, completeTask=&quot; + completeTask);
if (completeTask !== &quot;true&quot;) return;
// Disparo do e-mail inicial da solicitação (atividade inicial = 1).
if (currentState === 1) {
enviarNotificacaoSolicitacao();
return;
}
// Disparo quando a seleção define o início do colaborador.
if (currentState === 6 &amp;&amp; nextState === 46) {
enviarNotificacaoInicioColaborador();
}
} catch (e) {
log.error(&quot;[Recrutamento.beforeTaskSave] Erro ao disparar notificação: &quot; + e);
}
}
function enviarNotificacaoSolicitacao() {
var envio = montarContextoEnvio();
if (!envio.ok) return;
var params = new java.util.HashMap();
params.put(&quot;WKNumProces&quot;, envio.processNumber);
params.put(&quot;linkSolicitacao&quot;, envio.processLink);
params.put(&quot;link&quot;, envio.processLink);
params.put(&quot;requesterName&quot;, valueOrDefault(hAPI.getCardValue(&quot;requesterName&quot;)));
params.put(&quot;gestorNome&quot;, valueOrDefault(hAPI.getCardValue(&quot;gestorNome&quot;)));
params.put(&quot;dataAbertura&quot;, valueOrDefault(hAPI.getCardValue(&quot;dataAbertura&quot;)));
params.put(&quot;cargo&quot;, valueOrDefault(hAPI.getCardValue(&quot;funcao&quot;)));
params.put(&quot;kitUtilizado&quot;, getKitDescricao(hAPI.getCardValue(&quot;itensinicio&quot;)));
params.put(&quot;motivoSolicitacao&quot;, getMotivoDescricao(hAPI.getCardValue(&quot;validarMotivo&quot;)));
params.put(&quot;justificativa&quot;, valueOrDefault(hAPI.getCardValue(&quot;justificativa&quot;)));
notifier.notify(&quot;admin&quot;, &quot;tpl_recrutamento_realizada_dia&quot;, params, envio.destinatarios, &quot;text/html&quot;);
log.info(&quot;[Recrutamento.beforeTaskSave] tpl_recrutamento_realizada_dia enviado. processo=&quot; + envio.processNumber + &quot;, destinos=&quot; + envio.destinosLog);
}
function enviarNotificacaoInicioColaborador() {
var envio = montarContextoEnvio();
if (!envio.ok) return;
var dataInicio = safeTrim(hAPI.getCardValue(&quot;datainiciotrabalho&quot;));
if (dataInicio === &quot;&quot;) {
log.warn(&quot;[Recrutamento.beforeTaskSave] Data de início vazia. Notificação de início não enviada.&quot;);
return;
}
var params = new java.util.HashMap();
params.put(&quot;WKNumProces&quot;, envio.processNumber);
params.put(&quot;linkSolicitacao&quot;, envio.processLink);
params.put(&quot;link&quot;, envio.processLink);
params.put(&quot;colaboradorNome&quot;, valueOrDefault(hAPI.getCardValue(&quot;nomedocandidato&quot;)));
params.put(&quot;cargo&quot;, valueOrDefault(hAPI.getCardValue(&quot;funcao&quot;)));
params.put(&quot;dataInicio&quot;, formatDateBr(dataInicio));
params.put(&quot;kitUtilizado&quot;, getKitDescricao(hAPI.getCardValue(&quot;itensinicio&quot;)));
notifier.notify(&quot;admin&quot;, &quot;tpl_recrutamento_realizada&quot;, params, envio.destinatarios, &quot;text/html&quot;);
log.info(&quot;[Recrutamento.beforeTaskSave] tpl_recrutamento_realizada enviado. processo=&quot; + envio.processNumber + &quot;, destinos=&quot; + envio.destinosLog);
}
function montarContextoEnvio() {
var destinatarios = new java.util.ArrayList();
var jaAdicionados = {};
addEmail(destinatarios, jaAdicionados, &quot;tic@grupoginseng.com.br&quot;);
var requesterId = safeTrim(hAPI.getCardValue(&quot;requesterId&quot;));
if (requesterId !== &quot;&quot;) {
addEmail(destinatarios, jaAdicionados, resolveEmailByColleagueId(requesterId));
}
if (destinatarios.isEmpty()) {
log.warn(&quot;[Recrutamento.beforeTaskSave] Nenhum e-mail válido encontrado para notificação.&quot;);
return { ok: false };
}
var processNumber = safeTrim(getValue(&quot;WKNumProces&quot;));
var processLink = buildProcessLink(processNumber);
return {
ok: true,
processNumber: processNumber,
processLink: processLink,
destinatarios: destinatarios,
destinosLog: String(destinatarios.toString())
};
}
function addEmail(destinatarios, jaAdicionados, email) {
var v = safeTrim(email).toLowerCase();
if (!isValidEmail(v)) return;
if (jaAdicionados[v]) return;
destinatarios.add(v);
jaAdicionados[v] = true;
}
function resolveEmailByColleagueId(colleagueId) {
var id = safeTrim(colleagueId);
if (id === &quot;&quot;) return &quot;&quot;;
try {
var cActive = DatasetFactory.createConstraint(&quot;active&quot;, &quot;true&quot;, &quot;true&quot;, ConstraintType.MUST);
var cId = DatasetFactory.createConstraint(&quot;colleaguePK.colleagueId&quot;, id, id, ConstraintType.MUST);
var byId = DatasetFactory.getDataset(&quot;colleague&quot;, null, [cId, cActive], null);
if (byId &amp;&amp; byId.rowsCount &gt; 0) {
return safeTrim(byId.getValue(0, &quot;mail&quot;));
}
var cLogin = DatasetFactory.createConstraint(&quot;login&quot;, id, id, ConstraintType.MUST);
var byLogin = DatasetFactory.getDataset(&quot;colleague&quot;, null, [cLogin, cActive], null);
if (byLogin &amp;&amp; byLogin.rowsCount &gt; 0) {
return safeTrim(byLogin.getValue(0, &quot;mail&quot;));
}
} catch (e) {
log.warn(&quot;[Recrutamento.beforeTaskSave] Falha ao buscar e-mail por colleagueId: &quot; + e);
}
return &quot;&quot;;
}
function buildProcessLink(processNumber) {
var baseUrl = safeTrim(getValue(&quot;WKServerURL&quot;));
var companyId = safeTrim(getValue(&quot;WKCompany&quot;));
if (baseUrl === &quot;&quot; || processNumber === &quot;&quot;) return &quot;&quot;;
if (baseUrl.indexOf(&quot;http://&quot;) !== 0 &amp;&amp; baseUrl.indexOf(&quot;https://&quot;) !== 0) {
baseUrl = &quot;https://&quot; + baseUrl;
}
if (baseUrl.charAt(baseUrl.length - 1) === &quot;/&quot;) {
baseUrl = baseUrl.substring(0, baseUrl.length - 1);
}
if (companyId === &quot;&quot;) companyId = &quot;1&quot;;
return baseUrl + &quot;/portal/p/&quot; + companyId + &quot;/pageworkflowview?app_ecm_workflowview_detailsProcessInstanceID=&quot; + processNumber;
}
function getMotivoDescricao(motivo) {
var v = safeTrim(motivo).toLowerCase();
if (v === &quot;aumento&quot;) return &quot;Aumento de quadro&quot;;
if (v === &quot;substituicao&quot;) return &quot;Substituição&quot;;
if (v === &quot;temporario&quot;) return &quot;Temporário&quot;;
return v === &quot;&quot; ? &quot;Não informado&quot; : v;
}
function getKitDescricao(kit) {
var v = safeTrim(kit).toLowerCase();
if (v === &quot;backoffice&quot;) return &quot;Kit Backoffice (Notebook, mouse, teclado e headset)&quot;;
if (v === &quot;amg&quot;) return &quot;Kit AMG (Notebook, kit mouse e teclado, headset e telefone corporativo)&quot;;
if (v === &quot;comercial&quot;) return &quot;Kit Comercial (Mobshop e Mobpin)&quot;;
return v === &quot;&quot; ? &quot;Não informado&quot; : v;
}
function formatDateBr(value) {
var v = safeTrim(value);
if (/^\d{4}-\d{2}-\d{2}$/.test(v)) {
return v.substring(8, 10) + &quot;/&quot; + v.substring(5, 7) + &quot;/&quot; + v.substring(0, 4);
}
return v;
}
function valueOrDefault(value) {
var v = safeTrim(value);
return v === &quot;&quot; ? &quot;Não informado&quot; : v;
}
function isValidEmail(email) {
var v = safeTrim(email);
if (v === &quot;&quot;) return false;
if (/\s/.test(v)) return false;
var at = v.indexOf(&quot;@&quot;);
if (at &lt;= 0 || at !== v.lastIndexOf(&quot;@&quot;)) return false;
var dot = v.lastIndexOf(&quot;.&quot;);
return dot &gt; at + 1 &amp;&amp; dot &lt; (v.length - 1);
}
function safeTrim(value) {
return String(value == null ? &quot;&quot; : value).trim();
}
</eventDescription>
</WorkflowProcessEvent>
<WorkflowProcessEvent>
<workflowProcessEventPK>
<companyId>1</companyId>
<eventId>onNotify</eventId>
<processId>Recrutamento e seleção</processId>
<version>1</version>
</workflowProcessEventPK>
<eventDescription>function onNotify(subject, receivers, template, params) {&#xd;
&#xd;
log.info(&quot;===== onNotify GLOBAL ===== Template: &quot; + template);&#xd;
&#xd;
var validos = new java.util.ArrayList();&#xd;
&#xd;
for (var i = 0; i &lt; receivers.size(); i++) {&#xd;
&#xd;
var email = receivers.get(i);&#xd;
&#xd;
log.info(&quot;Receiver original: [&quot; + email + &quot;]&quot;);&#xd;
&#xd;
if (email &amp;&amp; email.indexOf(&quot;@&quot;) &gt; 0 &amp;&amp; email.indexOf(&quot;.&quot;) &gt; 0) {&#xd;
validos.add(email);&#xd;
} else {&#xd;
log.warn(&quot;REMOVIDO EMAIL INVALIDO: [&quot; + email + &quot;] TEMPLATE: &quot; + template);&#xd;
}&#xd;
}&#xd;
&#xd;
receivers.clear();&#xd;
&#xd;
for (var j = 0; j &lt; validos.size(); j++) {&#xd;
receivers.add(validos.get(j));&#xd;
}&#xd;
&#xd;
log.info(&quot;TOTAL FINAL RECEIVERS: &quot; + receivers.size());&#xd;
}</eventDescription>
</WorkflowProcessEvent>
</list>
<list/>
<list>
<SwimLane>
@ -1089,7 +1323,7 @@
<processLinkBendPK>
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<version>31</version>
<version>34</version>
<linkSequence>5</linkSequence>
<bendSequence>1</bendSequence>
</processLinkBendPK>
@ -1100,7 +1334,7 @@
<processLinkBendPK>
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<version>31</version>
<version>34</version>
<linkSequence>5</linkSequence>
<bendSequence>2</bendSequence>
</processLinkBendPK>
@ -1111,7 +1345,7 @@
<processLinkBendPK>
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<version>31</version>
<version>34</version>
<linkSequence>7</linkSequence>
<bendSequence>1</bendSequence>
</processLinkBendPK>
@ -1122,7 +1356,7 @@
<processLinkBendPK>
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<version>31</version>
<version>34</version>
<linkSequence>110</linkSequence>
<bendSequence>1</bendSequence>
</processLinkBendPK>
@ -1133,7 +1367,7 @@
<processLinkBendPK>
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<version>31</version>
<version>34</version>
<linkSequence>115</linkSequence>
<bendSequence>1</bendSequence>
</processLinkBendPK>
@ -1144,7 +1378,7 @@
<processLinkBendPK>
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<version>31</version>
<version>34</version>
<linkSequence>117</linkSequence>
<bendSequence>1</bendSequence>
</processLinkBendPK>
@ -1155,7 +1389,7 @@
<processLinkBendPK>
<companyId>1</companyId>
<processId>Recrutamento e seleção</processId>
<version>31</version>
<version>34</version>
<linkSequence>120</linkSequence>
<bendSequence>1</bendSequence>
</processLinkBendPK>
@ -1300,7 +1534,7 @@
<id>0</id>
<tenantId>0</tenantId>
<processId>Recrutamento e seleção</processId>
<processVersion>31</processVersion>
<processVersion>34</processVersion>
<stateSequence>4</stateSequence>
<appKey>approval</appKey>
<appField>title</appField>
@ -1310,7 +1544,7 @@
<id>0</id>
<tenantId>0</tenantId>
<processId>Recrutamento e seleção</processId>
<processVersion>31</processVersion>
<processVersion>34</processVersion>
<stateSequence>4</stateSequence>
<appKey>approval</appKey>
<appField>highlight</appField>
@ -1320,7 +1554,7 @@
<id>0</id>
<tenantId>0</tenantId>
<processId>Recrutamento e seleção</processId>
<processVersion>31</processVersion>
<processVersion>34</processVersion>
<stateSequence>4</stateSequence>
<appKey>approval</appKey>
<appField>approve</appField>
@ -1330,7 +1564,7 @@
<id>0</id>
<tenantId>0</tenantId>
<processId>Recrutamento e seleção</processId>
<processVersion>31</processVersion>
<processVersion>34</processVersion>
<stateSequence>4</stateSequence>
<appKey>approval</appKey>
<appField>reject</appField>
@ -1340,7 +1574,7 @@
<id>0</id>
<tenantId>0</tenantId>
<processId>Recrutamento e seleção</processId>
<processVersion>31</processVersion>
<processVersion>34</processVersion>
<stateSequence>6</stateSequence>
<appKey>approval</appKey>
<appField>title</appField>
@ -1350,7 +1584,7 @@
<id>0</id>
<tenantId>0</tenantId>
<processId>Recrutamento e seleção</processId>
<processVersion>31</processVersion>
<processVersion>34</processVersion>
<stateSequence>6</stateSequence>
<appKey>approval</appKey>
<appField>highlight</appField>
@ -1360,7 +1594,7 @@
<id>0</id>
<tenantId>0</tenantId>
<processId>Recrutamento e seleção</processId>
<processVersion>31</processVersion>
<processVersion>34</processVersion>
<stateSequence>6</stateSequence>
<appKey>approval</appKey>
<appField>reject</appField>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 44 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -2969,7 +2969,7 @@
<bpmn2:BpmnGateway condition="&lt;list&gt;&#10; &lt;org.eclipse.bpmn2.impl.ConditionImpl&gt;&#10; &lt;order&gt;1&lt;/order&gt;&#10; &lt;expression&gt;hAPI.getCardValue(&amp;quot;validarMotivo&amp;quot;) == &amp;quot;substituicao&amp;quot;&lt;/expression&gt;&#10; &lt;targetTask&gt;task18&lt;/targetTask&gt;&#10; &lt;mechanism&gt;Campo Formul&#225;rio&lt;/mechanism&gt;&#10; &lt;conditionType&gt;0&lt;/conditionType&gt;&#10; &lt;mecanismoAtribuicaoConfiguracao class=&quot;org.eclipse.bpmn2.impl.AssignmentControllerFormField&quot;&gt;&#10; &lt;formField&gt;gestor_cc&lt;/formField&gt;&#10; &lt;mechanismName&gt;Campo Formul&#225;rio&lt;/mechanismName&gt;&#10; &lt;/mecanismoAtribuicaoConfiguracao&gt;&#10; &lt;/org.eclipse.bpmn2.impl.ConditionImpl&gt;&#10; &lt;org.eclipse.bpmn2.impl.ConditionImpl&gt;&#10; &lt;order&gt;2&lt;/order&gt;&#10; &lt;expression&gt;hAPI.getCardValue(&amp;quot;validarMotivo&amp;quot;) == &amp;quot;temporario&amp;quot;&lt;/expression&gt;&#10; &lt;targetTask&gt;task18&lt;/targetTask&gt;&#10; &lt;mechanism&gt;Campo Formul&#225;rio&lt;/mechanism&gt;&#10; &lt;conditionType&gt;0&lt;/conditionType&gt;&#10; &lt;mecanismoAtribuicaoConfiguracao class=&quot;org.eclipse.bpmn2.impl.AssignmentControllerFormField&quot;&gt;&#10; &lt;formField&gt;gestor_cc&lt;/formField&gt;&#10; &lt;mechanismName&gt;Campo Formul&#225;rio&lt;/mechanismName&gt;&#10; &lt;/mecanismoAtribuicaoConfiguracao&gt;&#10; &lt;/org.eclipse.bpmn2.impl.ConditionImpl&gt;&#10; &lt;org.eclipse.bpmn2.impl.ConditionImpl&gt;&#10; &lt;order&gt;3&lt;/order&gt;&#10; &lt;expression&gt;hAPI.getCardValue(&amp;quot;validarMotivo&amp;quot;) == &amp;quot;aumento&amp;quot;&lt;/expression&gt;&#10; &lt;targetTask&gt;task24&lt;/targetTask&gt;&#10; &lt;mechanism&gt;Pool Grupo&lt;/mechanism&gt;&#10; &lt;conditionType&gt;0&lt;/conditionType&gt;&#10; &lt;mecanismoAtribuicaoConfiguracao class=&quot;org.eclipse.bpmn2.impl.AssignmentControllerPoolGroup&quot;&gt;&#10; &lt;groupId&gt;TIC&lt;/groupId&gt;&#10; &lt;mechanismName&gt;Pool Grupo&lt;/mechanismName&gt;&#10; &lt;/mecanismoAtribuicaoConfiguracao&gt;&#10; &lt;/org.eclipse.bpmn2.impl.ConditionImpl&gt;&#10;&lt;/list&gt;" extendedFields="&lt;list/&gt;" id="exclusivegateway46" incoming="flow122" name="ValidarEquipamentos" outgoing="flow110 flow120" type="120"/>
<bpmn2:BpmnEndEvent extendedFields="&lt;list/&gt;" id="endcancel55" incoming="flow117" name="Cancelado" notificaRequisitante="true" signalId="0" type="65"/>
<bpmn2:BpmnTask authNotify="true" esforcoCalculo="0" executionAttempts="0" expediente="" extendedFields="&lt;list/&gt;" frequency="0" id="task57" incoming="flow118" loopType="0" managerAssignmentControllerString="&lt;org.eclipse.bpmn2.impl.AssignmentControllerFormField&gt;&#10; &lt;formField&gt;gestor_cc&lt;/formField&gt;&#10; &lt;mechanismName&gt;Campo Formul&#225;rio&lt;/mechanismName&gt;&#10;&lt;/org.eclipse.bpmn2.impl.AssignmentControllerFormField&gt;" managerMechanism="Campo Formul&#225;rio" name="Feedback do gestor" outgoing="flow119" prazoConclusao="4320.0" selecionaColaboradores="1" type="80"/>
<bpmn2:BpmnProcess author="" cardIndex="823" category="Recrutamento e Sele&#231;&#227;o" complementsLevel="1" deadlineTime="36000.0" descriptorFields="&lt;list&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;centroCusto&lt;/id&gt;&#10; &lt;label&gt;centroCusto&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;consideracoesCompras&lt;/id&gt;&#10; &lt;label&gt;consideracoesCompras&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;dataAbertura&lt;/id&gt;&#10; &lt;label&gt;dataAbertura&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;requesterId&lt;/id&gt;&#10; &lt;label&gt;requesterId&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;requesterMail&lt;/id&gt;&#10; &lt;label&gt;requesterMail&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;requesterName&lt;/id&gt;&#10; &lt;label&gt;requesterName&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;userCotacaoGestor&lt;/id&gt;&#10; &lt;label&gt;userCotacaoGestor&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;userRealizacaoCompras&lt;/id&gt;&#10; &lt;label&gt;userRealizacaoCompras&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;userValidacaoCompras&lt;/id&gt;&#10; &lt;label&gt;userValidacaoCompras&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;userValidacaoGestor&lt;/id&gt;&#10; &lt;label&gt;userValidacaoGestor&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;userValidacaoItens&lt;/id&gt;&#10; &lt;label&gt;userValidacaoItens&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;validacaoItens&lt;/id&gt;&#10; &lt;label&gt;validacaoItens&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;valorTotalsemformat&lt;/id&gt;&#10; &lt;label&gt;valorTotalsemformat&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;WKNumProces&lt;/id&gt;&#10; &lt;label&gt;WKNumProces&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10;&lt;/list&gt;" expedient="Expediente BackOffice, Log&#237;stica e Motorista" extendedFields="&lt;list/&gt;" formSource="server" id="Recrutamento e sele&#231;&#227;o" instruction="Este flow permite abertura de solicita&#231;&#227;o de contrata&#231;&#227;o automatizadas, informando qual a fun&#231;&#227;o e direcionado para as aprova&#231;&#245;es corretas." keyWord="" managerAssignmentController="&lt;org.eclipse.bpmn2.impl.AssignmentControllerGroup&gt;&#10; &lt;groupId&gt;Recrutamento&lt;/groupId&gt;&#10; &lt;mechanismName&gt;Grupo&lt;/mechanismName&gt;&#10;&lt;/org.eclipse.bpmn2.impl.AssignmentControllerGroup&gt;" managerMechanism="Grupo" mobileReady="true" name="Recrutamento e sele&#231;&#227;o" notifyRequisitionerComplements="true" notifyResponsibleComplements="true" serverId="Ginseng Produ&#231;&#227;o" version="31" volume="Default"/>
<bpmn2:BpmnProcess author="" cardIndex="823" category="Recrutamento e Sele&#231;&#227;o" complementsLevel="1" deadlineTime="36000.0" descriptorFields="&lt;list&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;centroCusto&lt;/id&gt;&#10; &lt;label&gt;centroCusto&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;consideracoesCompras&lt;/id&gt;&#10; &lt;label&gt;consideracoesCompras&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;dataAbertura&lt;/id&gt;&#10; &lt;label&gt;dataAbertura&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;requesterId&lt;/id&gt;&#10; &lt;label&gt;requesterId&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;requesterMail&lt;/id&gt;&#10; &lt;label&gt;requesterMail&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;requesterName&lt;/id&gt;&#10; &lt;label&gt;requesterName&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;userCotacaoGestor&lt;/id&gt;&#10; &lt;label&gt;userCotacaoGestor&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;userRealizacaoCompras&lt;/id&gt;&#10; &lt;label&gt;userRealizacaoCompras&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;userValidacaoCompras&lt;/id&gt;&#10; &lt;label&gt;userValidacaoCompras&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;userValidacaoGestor&lt;/id&gt;&#10; &lt;label&gt;userValidacaoGestor&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;userValidacaoItens&lt;/id&gt;&#10; &lt;label&gt;userValidacaoItens&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;validacaoItens&lt;/id&gt;&#10; &lt;label&gt;validacaoItens&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;valorTotalsemformat&lt;/id&gt;&#10; &lt;label&gt;valorTotalsemformat&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10; &lt;id&gt;WKNumProces&lt;/id&gt;&#10; &lt;label&gt;WKNumProces&lt;/label&gt;&#10; &lt;cardIndex&gt;823 - recrutamento&lt;/cardIndex&gt;&#10; &lt;/org.eclipse.bpmn2.impl.BpmnProcessFormField&gt;&#10;&lt;/list&gt;" expedient="Expediente BackOffice, Log&#237;stica e Motorista" extendedFields="&lt;list/&gt;" formSource="server" id="Recrutamento e sele&#231;&#227;o" instruction="Este flow permite abertura de solicita&#231;&#227;o de contrata&#231;&#227;o automatizadas, informando qual a fun&#231;&#227;o e direcionado para as aprova&#231;&#245;es corretas." keyWord="" managerAssignmentController="&lt;org.eclipse.bpmn2.impl.AssignmentControllerGroup&gt;&#10; &lt;groupId&gt;Recrutamento&lt;/groupId&gt;&#10; &lt;mechanismName&gt;Grupo&lt;/mechanismName&gt;&#10;&lt;/org.eclipse.bpmn2.impl.AssignmentControllerGroup&gt;" managerMechanism="Grupo" mobileReady="true" name="Recrutamento e sele&#231;&#227;o" notifyRequisitionerComplements="true" notifyResponsibleComplements="true" serverId="Ginseng Produ&#231;&#227;o" version="34" volume="Default"/>
<bpmn2:SequenceFlow atividadeFluxo="" atividadeRetorno="" extendedFields="&lt;list/&gt;" id="flow3" name="" sourceRef="startevent1" targetRef="exclusivegateway2"/>
<bpmn2:SequenceFlow atividadeFluxo="" atividadeRetorno="" extendedFields="&lt;list/&gt;" id="flow5" movementAccessLinkDescription="" movementDescription="" movementTitle="" name="Gestor Identificado" sourceRef="exclusivegateway2" targetRef="task4"/>
<bpmn2:SequenceFlow atividadeFluxo="" atividadeRetorno="" extendedFields="&lt;list/&gt;" id="flow7" name="Sem Gestor" sourceRef="exclusivegateway2" targetRef="task6"/>

View File

@ -0,0 +1,189 @@
function beforeTaskSave(colleagueId, nextSequenceId, userList) {
try {
var currentState = parseInt(String(getValue("WKNumState") || "0"), 10);
var nextState = parseInt(String(nextSequenceId || "0"), 10);
var completeTask = String(getValue("WKCompletTask") || "false");
log.info("[Recrutamento.beforeTaskSave] currentState=" + currentState + ", nextState=" + nextState + ", completeTask=" + completeTask);
if (completeTask !== "true") return;
// Disparo do e-mail inicial da solicitação (atividade inicial = 1).
if (currentState === 1) {
enviarNotificacaoSolicitacao();
return;
}
// Disparo quando a seleção define o início do colaborador.
if (currentState === 6 && nextState === 46) {
enviarNotificacaoInicioColaborador();
}
} catch (e) {
log.error("[Recrutamento.beforeTaskSave] Erro ao disparar notificação: " + e);
}
}
function enviarNotificacaoSolicitacao() {
var envio = montarContextoEnvio();
if (!envio.ok) return;
var params = new java.util.HashMap();
params.put("WKNumProces", envio.processNumber);
params.put("linkSolicitacao", envio.processLink);
params.put("link", envio.processLink);
params.put("requesterName", valueOrDefault(hAPI.getCardValue("requesterName")));
params.put("gestorNome", valueOrDefault(hAPI.getCardValue("gestorNome")));
params.put("dataAbertura", valueOrDefault(hAPI.getCardValue("dataAbertura")));
params.put("cargo", valueOrDefault(hAPI.getCardValue("funcao")));
params.put("kitUtilizado", getKitDescricao(hAPI.getCardValue("itensinicio")));
params.put("motivoSolicitacao", getMotivoDescricao(hAPI.getCardValue("validarMotivo")));
params.put("justificativa", valueOrDefault(hAPI.getCardValue("justificativa")));
notifier.notify("admin", "tpl_recrutamento_realizada_dia", params, envio.destinatarios, "text/html");
log.info("[Recrutamento.beforeTaskSave] tpl_recrutamento_realizada_dia enviado. processo=" + envio.processNumber + ", destinos=" + envio.destinosLog);
}
function enviarNotificacaoInicioColaborador() {
var envio = montarContextoEnvio();
if (!envio.ok) return;
var dataInicio = safeTrim(hAPI.getCardValue("datainiciotrabalho"));
if (dataInicio === "") {
log.warn("[Recrutamento.beforeTaskSave] Data de início vazia. Notificação de início não enviada.");
return;
}
var params = new java.util.HashMap();
params.put("WKNumProces", envio.processNumber);
params.put("linkSolicitacao", envio.processLink);
params.put("link", envio.processLink);
params.put("colaboradorNome", valueOrDefault(hAPI.getCardValue("nomedocandidato")));
params.put("cargo", valueOrDefault(hAPI.getCardValue("funcao")));
params.put("dataInicio", formatDateBr(dataInicio));
params.put("kitUtilizado", getKitDescricao(hAPI.getCardValue("itensinicio")));
notifier.notify("admin", "tpl_recrutamento_realizada", params, envio.destinatarios, "text/html");
log.info("[Recrutamento.beforeTaskSave] tpl_recrutamento_realizada enviado. processo=" + envio.processNumber + ", destinos=" + envio.destinosLog);
}
function montarContextoEnvio() {
var destinatarios = new java.util.ArrayList();
var jaAdicionados = {};
addEmail(destinatarios, jaAdicionados, "tic@grupoginseng.com.br");
var requesterId = safeTrim(hAPI.getCardValue("requesterId"));
if (requesterId !== "") {
addEmail(destinatarios, jaAdicionados, resolveEmailByColleagueId(requesterId));
}
if (destinatarios.isEmpty()) {
log.warn("[Recrutamento.beforeTaskSave] Nenhum e-mail válido encontrado para notificação.");
return { ok: false };
}
var processNumber = safeTrim(getValue("WKNumProces"));
var processLink = buildProcessLink(processNumber);
return {
ok: true,
processNumber: processNumber,
processLink: processLink,
destinatarios: destinatarios,
destinosLog: String(destinatarios.toString())
};
}
function addEmail(destinatarios, jaAdicionados, email) {
var v = safeTrim(email).toLowerCase();
if (!isValidEmail(v)) return;
if (jaAdicionados[v]) return;
destinatarios.add(v);
jaAdicionados[v] = true;
}
function resolveEmailByColleagueId(colleagueId) {
var id = safeTrim(colleagueId);
if (id === "") return "";
try {
var cActive = DatasetFactory.createConstraint("active", "true", "true", ConstraintType.MUST);
var cId = DatasetFactory.createConstraint("colleaguePK.colleagueId", id, id, ConstraintType.MUST);
var byId = DatasetFactory.getDataset("colleague", null, [cId, cActive], null);
if (byId && byId.rowsCount > 0) {
return safeTrim(byId.getValue(0, "mail"));
}
var cLogin = DatasetFactory.createConstraint("login", id, id, ConstraintType.MUST);
var byLogin = DatasetFactory.getDataset("colleague", null, [cLogin, cActive], null);
if (byLogin && byLogin.rowsCount > 0) {
return safeTrim(byLogin.getValue(0, "mail"));
}
} catch (e) {
log.warn("[Recrutamento.beforeTaskSave] Falha ao buscar e-mail por colleagueId: " + e);
}
return "";
}
function buildProcessLink(processNumber) {
var baseUrl = safeTrim(getValue("WKServerURL"));
var companyId = safeTrim(getValue("WKCompany"));
if (baseUrl === "" || processNumber === "") return "";
if (baseUrl.indexOf("http://") !== 0 && baseUrl.indexOf("https://") !== 0) {
baseUrl = "https://" + baseUrl;
}
if (baseUrl.charAt(baseUrl.length - 1) === "/") {
baseUrl = baseUrl.substring(0, baseUrl.length - 1);
}
if (companyId === "") companyId = "1";
return baseUrl + "/portal/p/" + companyId + "/pageworkflowview?app_ecm_workflowview_detailsProcessInstanceID=" + processNumber;
}
function getMotivoDescricao(motivo) {
var v = safeTrim(motivo).toLowerCase();
if (v === "aumento") return "Aumento de quadro";
if (v === "substituicao") return "Substituição";
if (v === "temporario") return "Temporário";
return v === "" ? "Não informado" : v;
}
function getKitDescricao(kit) {
var v = safeTrim(kit).toLowerCase();
if (v === "backoffice") return "Kit Backoffice (Notebook, mouse, teclado e headset)";
if (v === "amg") return "Kit AMG (Notebook, kit mouse e teclado, headset e telefone corporativo)";
if (v === "comercial") return "Kit Comercial (Mobshop e Mobpin)";
return v === "" ? "Não informado" : v;
}
function formatDateBr(value) {
var v = safeTrim(value);
if (/^\d{4}-\d{2}-\d{2}$/.test(v)) {
return v.substring(8, 10) + "/" + v.substring(5, 7) + "/" + v.substring(0, 4);
}
return v;
}
function valueOrDefault(value) {
var v = safeTrim(value);
return v === "" ? "Não informado" : v;
}
function isValidEmail(email) {
var v = safeTrim(email);
if (v === "") return false;
if (/\s/.test(v)) return false;
var at = v.indexOf("@");
if (at <= 0 || at !== v.lastIndexOf("@")) return false;
var dot = v.lastIndexOf(".");
return dot > at + 1 && dot < (v.length - 1);
}
function safeTrim(value) {
return String(value == null ? "" : value).trim();
}

View File

@ -0,0 +1,27 @@
function onNotify(subject, receivers, template, params) {
log.info("===== onNotify GLOBAL ===== Template: " + template);
var validos = new java.util.ArrayList();
for (var i = 0; i < receivers.size(); i++) {
var email = receivers.get(i);
log.info("Receiver original: [" + email + "]");
if (email && email.indexOf("@") > 0 && email.indexOf(".") > 0) {
validos.add(email);
} else {
log.warn("REMOVIDO EMAIL INVALIDO: [" + email + "] TEMPLATE: " + template);
}
}
receivers.clear();
for (var j = 0; j < validos.size(); j++) {
receivers.add(validos.get(j));
}
log.info("TOTAL FINAL RECEIVERS: " + receivers.size());
}