diff --git a/Lançamento de documentos/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/Lançamento de documentos/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi index 8801c23..25cbadd 100644 --- a/Lançamento de documentos/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi +++ b/Lançamento de documentos/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -1,9 +1,9 @@ - + activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration ModelMigrationProcessor.001 - + @@ -12,9 +12,9 @@ topLevel shellMaximized - - - + + + persp.actionSet:org.eclipse.mylyn.doc.actionSet persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation @@ -74,85 +74,85 @@ 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 @@ -160,7 +160,7 @@ - + persp.actionSet:org.eclipse.mylyn.doc.actionSet persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation @@ -192,53 +192,55 @@ 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 - - - - + + + + View categoryTag:Java - + View categoryTag:General - + View categoryTag:Fluig - - + + View categoryTag:General - - - - + + + + active + noFocus + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Fluig - + View categoryTag:Fluig - + View categoryTag:Fluig @@ -246,7 +248,7 @@ - + persp.actionSet:org.eclipse.mylyn.doc.actionSet persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation @@ -285,60 +287,60 @@ persp.viewSC:org.eclipse.tm.terminal.view.ui.TerminalsView persp.showIn:org.eclipse.tm.terminal.view.ui.TerminalsView persp.viewSC:org.eclipse.ant.ui.views.AntView - - - + + + org.eclipse.e4.primaryNavigationStack - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + org.eclipse.e4.secondaryNavigationStack - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Mylyn - + View categoryTag:Ant - - - - + + + + View categoryTag:General - + - + org.eclipse.e4.secondaryDataStack - + View categoryTag:General - + View categoryTag:Terminal @@ -347,1681 +349,1679 @@ - - + + 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 - active - noFocus - + Editor removeOnHide com.totvs.tds.ecm.designer.bpmneditor - active - + 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 - + active + ViewMenu menuContribution:menu - + - + View categoryTag:Server - + View categoryTag:Data Management - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:Mylyn - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:Java - + ViewMenu menuContribution:menu - + - + View categoryTag:Fluig - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:Fluig - + ViewMenu menuContribution:menu - + - + View categoryTag:Fluig - + ViewMenu menuContribution:menu - + - + View categoryTag:Fluig - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:Terminal - + View categoryTag:Ant - - + + toolbarSeparator - + - + Draggable - + - + toolbarSeparator - + - + Draggable - + toolbarSeparator - + - + Draggable - + Draggable - + Draggable - + Draggable - + Draggable - + Draggable - + toolbarSeparator - + - + Draggable - + - + Draggable - + toolbarSeparator - + - + toolbarSeparator - + - + Draggable - + stretch SHOW_RESTORE_MENU - + Draggable HIDEABLE SHOW_RESTORE_MENU - - + + stretch - + Draggable - + 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: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 categoryTag:Other - + View categoryTag:JavaScript categoryTag:Other - + View categoryTag:JavaScript categoryTag:Other - + 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 - + persp.actionSet:org.eclipse.mylyn.doc.actionSet persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation @@ -2053,53 +2053,53 @@ 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 - - - - + + + + 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 @@ -2107,1375 +2107,1375 @@ - - - - - + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/compras_digital/.vscode/servers.json b/compras_digital/.vscode/servers.json index 90f301a..5ae09ec 100644 --- a/compras_digital/.vscode/servers.json +++ b/compras_digital/.vscode/servers.json @@ -2,13 +2,13 @@ "version": "1.0.0", "configurations": [ { - "id": "6ki8w4m1dpmor606g3n0y6sgduhc", + "id": "uyzzp0mq8qomoutcaz19tssb58lcc7", "name": "Ginseng Produção", "host": "comerciode188006.fluig.cloudtotvs.com.br", "ssl": true, "port": 443, "username": "andrey.cunha", - "password": "eyJpdiI6IjUyYTgyOGQ0ZGM1ZWI3ZjNhZWRlNTQ1ZWZiNzAwOWQwIiwic2FsdCI6IjYwYTZjODBjY2RiNDk5OWI3YTc0NmY1ZGY1NTgwOGI5IiwidGV4dCI6IjdmYTA2ZGFhODM1MWI2NzRmNTk1ZTEzMzc1NjMxZjQ1In0=", + "password": "eyJpdiI6IjAyMjdkMjdmZDI1NTczYzFkZmUwMGU4ZWExMWRjZTBmIiwic2FsdCI6ImExMjJlYjdiZDA0MmM3ZGUzYjU3Y2I4YWU4NTUwYzE5IiwidGV4dCI6ImQ2Y2Q4ZjFhNjk0MmQ0MGFhMjQ0NzhjMzExODhiZGQ2In0=", "userCode": "andrey.cunha", "confirmExporting": false, "hasBrowser": false, diff --git a/compras_digital/datasets/Ds_ocorrencias.js b/compras_digital/datasets/Ds_ocorrencias.js deleted file mode 100644 index 7885f7f..0000000 --- a/compras_digital/datasets/Ds_ocorrencias.js +++ /dev/null @@ -1,62 +0,0 @@ -function defineStructure() { - -} -function onSync(lastSyncDate) { - -} -function createDataset(fields, constraints, sortFields) { - - var dataset = DatasetBuilder.newDataset(); - - dataset.addColumn("nomeOcorrencia"); - - // Adicione dados para o dataset, exemplo: - dataset.addRow(["Rádio Parada"]); - dataset.addRow(["Câmera Parada"]); - dataset.addRow(["Organização do Rack"]); - dataset.addRow(["PDV Não Liga"]); - dataset.addRow(["PDV Vencido"]); - dataset.addRow(["PDV Lento"]); - dataset.addRow(["Adquirir PDV"]); - dataset.addRow(["Ativar PDV"]); - dataset.addRow(["Computador de ER parado"]); - dataset.addRow(["Nobreak Apitando"]); - dataset.addRow(["Nobreak Não liga"]); - dataset.addRow(["Manutenção Periódica do Nobreak"]); - dataset.addRow(["Impressora 4200"]); - dataset.addRow(["Impressora 5100"]); - dataset.addRow(["Impressora Brother HL-L5102DW"]); - dataset.addRow(["Impressora sem imprimir"]); - dataset.addRow(["Mobshop Parado"]); - dataset.addRow(["Mobpin Parado"]); - dataset.addRow(["Ativar Mobshop"]); - dataset.addRow(["Trocar Mobshop"]); - dataset.addRow(["Solicitar Equipamentos"]); - dataset.addRow(["Entregar Equipamentos"]); - dataset.addRow(["Solicitar chip"]); - dataset.addRow(["Email sem acesso"]); - dataset.addRow(["Internet sem funcionar"]); - dataset.addRow(["Resgatar Imagens"]); - dataset.addRow(["Internet"]); - dataset.addRow(["Outros"]); - dataset.addRow(["Criar Email de colaborador"]); - dataset.addRow(["Acesso a VPN"]); - dataset.addRow(["Acesso as Pastas da Rede"]); - dataset.addRow(["Protheus"]); - dataset.addRow(["Instalação de Desktop"]); - dataset.addRow(["Instalação de Equipamentos"]); - dataset.addRow(["Instalação Câmera"]); - dataset.addRow(["Instalação de Impressora"]); - dataset.addRow(["Configuração de RB"]); - dataset.addRow(["Redes"]); - - - - - - return dataset; - } - -function onMobileSync(user) { - -} \ No newline at end of file diff --git a/compras_digital/datasets/dsComprasCotacao.js b/compras_digital/datasets/dsComprasCotacao.js index 01ac9d5..50674df 100644 --- a/compras_digital/datasets/dsComprasCotacao.js +++ b/compras_digital/datasets/dsComprasCotacao.js @@ -3,71 +3,172 @@ function createDataset(fields, constraints, sortFields) { dataset.addColumn("C8_FILIAL"); dataset.addColumn("C8_NUM"); + dataset.addColumn("C8_NUMPRO"); dataset.addColumn("C8_ITEM"); dataset.addColumn("C8_PRODUTO"); dataset.addColumn("C8_QUANT"); dataset.addColumn("C8_PRECO"); dataset.addColumn("C8_TOTAL"); - dataset.addColumn("C8_DATPRF"); - dataset.addColumn("C8_EMISSAO"); + dataset.addColumn("C8_FORNECE"); + dataset.addColumn("C8_LOJA"); + dataset.addColumn("C8_COND"); dataset.addColumn("C8_NUMSC"); + dataset.addColumn("C8_ITEMSC"); + dataset.addColumn("C8_NUMPED"); + dataset.addColumn("C8_ITEMPED"); + dataset.addColumn("C8_DATPRF"); + dataset.addColumn("A2_NOME"); + dataset.addColumn("A2_NREDUZ"); dataset.addColumn("B1_DESC"); dataset.addColumn("B1_UM"); - dataset.addColumn("B1_TIPO"); + dataset.addColumn("C8_DESCRI"); + dataset.addColumn("STATUS"); + dataset.addColumn("data_consulta"); + dataset.addColumn("hora_consulta"); + dataset.addColumn("sucesso"); + dataset.addColumn("erro"); + + function emptyRow(sucesso, erro) { + return [ + "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", + "", "", sucesso ? "true" : "false", erro || "" + ]; + } + + function normalizeDoc(value) { + var v = String(value || "").trim(); + return v.replace(/^0+/, ""); + } + + function consultarCotacao(clientService, numeroCot) { + var endpoints = [ + "/UF_MATA130/" + numeroCot, + "/rest/UF_MATA130/" + numeroCot, + "/rest/uf_mata130/" + numeroCot + ]; + + var ultimoErro = ""; + + for (var e = 0; e < endpoints.length; e++) { + try { + var data = { + companyId: "1", + serviceCode: "Postprod", + endpoint: endpoints[e], + method: "get", + timeoutService: "60000", + headers: { + "Content-Type": "application/json" + } + }; + + var response = clientService.invoke(JSON.stringify(data)); + if (!response || !response.getResult()) { + ultimoErro = "Sem resposta da API"; + continue; + } + + var result = JSON.parse(response.getResult()); + if (result && result.sucesso && result.cotacoes && result.cotacoes.length) { + return { + sucesso: true, + endpoint: endpoints[e], + result: result + }; + } + + if (result && !result.sucesso && result.message) { + ultimoErro = String(result.message); + } else { + ultimoErro = "Cotacao sem itens retornados"; + } + } catch (errEndpoint) { + ultimoErro = String(errEndpoint); + } + } + + return { + sucesso: false, + erro: ultimoErro || "Falha ao consultar cotacao" + }; + } try { - var numeroCot = null; + var numeroCot = ""; if (constraints) { for (var i = 0; i < constraints.length; i++) { if (constraints[i].fieldName == "numCotacao") { - numeroCot = constraints[i].initialValue; + numeroCot = String(constraints[i].initialValue || "").trim(); } } } + if (!numeroCot) { + dataset.addRow(emptyRow(false, "Numero da cotacao nao informado")); + return dataset; + } + var clientService = fluigAPI.getAuthorizeClientService(); - var data = { - companyId: "1", - serviceCode: "Postprod", - endpoint: "/rest/uf_mata131", // sem número -> ele retorna todos - method: "get", - timeoutService: "60000" - }; + var retorno = consultarCotacao(clientService, numeroCot); + if (!retorno.sucesso) { + dataset.addRow(emptyRow(false, retorno.erro)); + return dataset; + } - var vo = clientService.invoke(JSON.stringify(data)); - if (vo && vo.getResult()) { - var objData = JSON.parse(vo.getResult()); - var itens = objData["solicitacoes"]; + var result = retorno.result; + var cotacoes = result.cotacoes || []; + if (!cotacoes.length) { + dataset.addRow(emptyRow(false, "Cotacao sem itens retornados")); + return dataset; + } - if (itens && itens.length > 0) { - for (var i = 0; i < itens.length; i++) { - var item = itens[i]; + var filtro = normalizeDoc(numeroCot); + var adicionados = 0; + for (var j = 0; j < cotacoes.length; j++) { + var item = cotacoes[j] || {}; - // 🔎 se veio constraint, filtra pelo C8_NUM - if (numeroCot && item["C8_NUM"] != numeroCot) { - continue; - } - - dataset.addRow([ - item["C8_FILIAL"] || "", - item["C8_NUM"] || "", - item["C8_ITEM"] || "", - item["C8_PRODUTO"] || "", - item["C8_QUANT"] || "", - item["C8_PRECO"] || "", - item["C8_TOTAL"] || "", - item["C8_DATPRF"] || "", - item["C8_EMISSAO"] || "", - item["C8_NUMSC"] || "", - item["B1_DESC"] || "", - item["B1_UM"] || "", - item["B1_TIPO"] || "" - ]); - } + var numeroItem = String(item.C8_NUM || "").trim(); + if (filtro && normalizeDoc(numeroItem) !== filtro) { + continue; } + + dataset.addRow([ + item.C8_FILIAL || "", + numeroItem, + item.C8_NUMPRO || "", + item.C8_ITEM || "", + item.C8_PRODUTO || "", + item.C8_QUANT || "", + item.C8_PRECO || "", + item.C8_TOTAL || "", + item.C8_FORNECE || "", + item.C8_LOJA || "", + item.C8_COND || "", + item.C8_NUMSC || "", + item.C8_ITEMSC || "", + item.C8_NUMPED || "", + item.C8_ITEMPED || "", + item.C8_DATPRF || "", + item.A2_NOME || "", + item.A2_NREDUZ || "", + item.B1_DESC || "", + item.B1_UM || "", + item.C8_DESCRI || "", + item.STATUS || "", + result.data_consulta || "", + result.hora_consulta || "", + "true", + "" + ]); + adicionados++; + } + + if (adicionados === 0) { + dataset.addRow(emptyRow(false, "Numero da cotacao nao localizado no retorno")); } } catch (e) { - dataset.addRow(["Erro: " + e.message]); + dataset.addRow(emptyRow(false, "Erro ao consultar cotacao: " + e)); } return dataset; diff --git a/compras_digital/datasets/ds_consultaSC.js b/compras_digital/datasets/ds_consultaSC.js index c89b69c..6e9a04b 100644 --- a/compras_digital/datasets/ds_consultaSC.js +++ b/compras_digital/datasets/ds_consultaSC.js @@ -22,9 +22,62 @@ function createDataset(fields, constraints, sortFields) { dataset.addColumn("data_consulta"); dataset.addColumn("hora_consulta"); dataset.addColumn("sucesso"); + dataset.addColumn("COTACOES_JSON"); + dataset.addColumn("COTACAO_ERRO"); function emptyRow() { - return ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "false"]; + return ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "false", "", ""]; + } + + function consultarCotacao(clientService, cotacao) { + var endpoints = [ + "/UF_MATA130/" + cotacao, + "/rest/UF_MATA130/" + cotacao, + "/rest/uf_mata130/" + cotacao + ]; + + var ultimoErro = ""; + for (var i = 0; i < endpoints.length; i++) { + try { + var dataCot = { + companyId: "1", + serviceCode: "Postprod", + endpoint: endpoints[i], + method: "get", + timeoutService: "60000", + headers: { + "Content-Type": "application/json" + } + }; + + var responseCot = clientService.invoke(JSON.stringify(dataCot)); + if (!responseCot || !responseCot.getResult()) { + ultimoErro = "Sem resposta ao consultar cotacao"; + continue; + } + + var resultCot = JSON.parse(responseCot.getResult()); + if (resultCot && resultCot.sucesso && resultCot.cotacoes && resultCot.cotacoes.length > 0) { + return { + sucesso: true, + cotacoes: resultCot.cotacoes + }; + } + + if (resultCot && resultCot.message) { + ultimoErro = String(resultCot.message); + } else { + ultimoErro = "Cotacao sem itens retornados"; + } + } catch (eCot) { + ultimoErro = String(eCot); + } + } + + return { + sucesso: false, + erro: ultimoErro || "Falha ao consultar cotacao" + }; } try { @@ -66,6 +119,17 @@ function createDataset(fields, constraints, sortFields) { cotacao = ""; } + var cotacoesJson = ""; + var cotacaoErro = ""; + if (cotacao) { + var consultaCot = consultarCotacao(clientService, cotacao); + if (consultaCot.sucesso) { + cotacoesJson = JSON.stringify(consultaCot.cotacoes || []); + } else { + cotacaoErro = consultaCot.erro || ""; + } + } + dataset.addRow([ sc.C1_FILIAL || "", sc.C1_NUM || "", @@ -87,7 +151,9 @@ function createDataset(fields, constraints, sortFields) { sc.STATUS || "", result.data_consulta || "", result.hora_consulta || "", - "true" + "true", + cotacoesJson, + cotacaoErro ]); } else { dataset.addRow(emptyRow()); diff --git a/compras_digital/datasets/ds_fornecedor.js b/compras_digital/datasets/ds_fornecedor.js deleted file mode 100644 index f126680..0000000 --- a/compras_digital/datasets/ds_fornecedor.js +++ /dev/null @@ -1,60 +0,0 @@ -function defineStructure() { - addColumn("codigo"); - addColumn("nome"); - -} -function onSync(lastSyncDate) { - -} -function createDataset(fields, constraints, sortFields) { - - var dataset = DatasetBuilder.newDataset(); - var dataSource = "/jdbc/ProtheusDSs"; // Nome da conexão cadastrada no Fluig - var ic = new javax.naming.InitialContext(); - var ds = ic.lookup(dataSource); - var conn = ds.getConnection(); - var stmt = null; - var rs = null; - - try { - log.info("Iniciando execução do dataset..."); - - var sql = "SELECT a2_cod, a2_nome FROM SA2010 where D_E_L_E_T_ = '';" - log.info("Query SQL: " + sql); - - stmt = conn.prepareStatement(sql); - rs = stmt.executeQuery(); - - dataset.addColumn("codigo"); - dataset.addColumn("nome"); - - var encontrouResultados = false; - while (rs.next()) { - encontrouResultados = true; - log.info("Registro encontrado: " + rs.getString("a2_cod") + " - " + rs.getString("a2_nome")); - dataset.addRow([rs.getString("a2_cod"), rs.getString("a2_nome")]); - } - - if (!encontrouResultados) { - log.info("Nenhum registro encontrado para a consulta."); - } - - } catch (e) { - log.error("Erro ao executar dataset: " + e.message); - } finally { - try { - if (rs) rs.close(); - if (stmt) stmt.close(); - if (conn) conn.close(); - } catch (e) { - log.error("Erro ao fechar recursos: " + e.message); - } - } - - return dataset; - -} - -function onMobileSync(user) { - -} \ No newline at end of file diff --git a/compras_digital/datasets/ds_manutencao.js b/compras_digital/datasets/ds_manutencao.js deleted file mode 100644 index 39586d5..0000000 --- a/compras_digital/datasets/ds_manutencao.js +++ /dev/null @@ -1,62 +0,0 @@ -function defineStructure() { - -} -function onSync(lastSyncDate) { - -} -function createDataset(fields, constraints, sortFields) { - - var dataset = DatasetBuilder.newDataset(); - - dataset.addColumn("nomeOcorrenciaManutencao"); - - // Adicione dados para o dataset, exemplo: - dataset.addRow(["Substituição de lâmpada AR 111"]); - dataset.addRow(["Reparo em fita de led ( Serviço de solda )"]); - dataset.addRow(["Fonte de 5ap para fita de led dos móveis"]); - dataset.addRow(["Letreiro sem funcionar"]); - dataset.addRow(["Disjuntor desarmando"]); - dataset.addRow(["Tomadas do caixa sem funcionar"]); - dataset.addRow(["Troca de lâmpadas tubular branco frio - 6500k 9w ER salão de vendas"]); - dataset.addRow(["Substituição lâmpada bulbo 15w estoque"]); - dataset.addRow(["Substituição de Painel de led 62,5x62,5 40w 6500k branco frio (ER,CD )"]); - dataset.addRow(["Interruptor sem funcionar"]); - dataset.addRow(["Painel de led 30x30 24W 6500k ( wc, copa )"]); - dataset.addRow(["Ponto elétrico ( Copa, estoque, pdv , vendas)"]); - dataset.addRow(["Visita emergencial ( Disjuntor geral desarmando )"]); - dataset.addRow(["Fonte de 10ap para letreiro"]); - dataset.addRow(["Central Nobreak 2 Contr. Motor Dc Porta Aço Enrolar Aut. 24v"]); - dataset.addRow(["Central 2 Contr. Motor AC Porta Aço Enrolar Aut. 24v"]); - dataset.addRow(["Motor De Porta De Enrolar De Aço Ac de 100 á 500 Kg 220v"]); - dataset.addRow(["Motor P/porta De Aço De Enrolar Dc 100 á 800 kg 220v C/ com central Nobreak"]); - dataset.addRow(["Manutenção preventiva em porta de enrolar automática"]); - dataset.addRow(["Serviço emergencial porta de enrolar não quer abrir ou descer"]); - dataset.addRow(["Controle para porta de enrolar automática + configuração"]); - dataset.addRow(["Ar-condicionado"]); - dataset.addRow(["Vazamento no estoque"]); - dataset.addRow(["Torneira gotejando ( copa,wc )"]); - dataset.addRow(["Vaso sanitário entupido"]); - dataset.addRow(["Pintura da fachada"]); - dataset.addRow(["Pintura do estoque"]); - dataset.addRow(["Pintura geral da loja"]); - dataset.addRow(["Caixa de gordura entupida"]); - dataset.addRow(["Telhado com vazamento"]); - dataset.addRow(["Instalação de porta copo, papel toalha etc..."]); - dataset.addRow(["Reparo de gesso"]); - dataset.addRow(["Fechadura para porta de vidro"]); - dataset.addRow(["Puxador da porta caindo ( vidro, retaguarda, copa etc..."]); - dataset.addRow(["Porta de vidro arrastando"]); - dataset.addRow(["Cadeira de make com defeito"]); - dataset.addRow(["Porta dos móveis caindo"]); - dataset.addRow(["Confecção de móvel ( Copa, retaguarda etc...)"]); - dataset.addRow(["Outros"]); - dataset.addRow(["Demarcações"]); - - return dataset; -} - - - -function onMobileSync(user) { - -} \ No newline at end of file diff --git a/compras_digital/forms/Compras_digital/Compras_digital.html b/compras_digital/forms/Compras_digital/Compras_digital.html index 3e3d360..7c4501e 100644 --- a/compras_digital/forms/Compras_digital/Compras_digital.html +++ b/compras_digital/forms/Compras_digital/Compras_digital.html @@ -258,6 +258,56 @@ font-size: 13px; } + .sc-cotacao-track { + margin-top: 14px; + padding: 12px; + border-radius: 10px; + background: #fff; + box-shadow: inset 0 0 0 1px #dfe8f0; + } + + .sc-cotacao-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 10px; + margin-bottom: 8px; + } + + .sc-cotacao-list { + margin: 0; + padding: 0; + list-style: none; + } + + .sc-cotacao-item { + display: flex; + align-items: center; + justify-content: space-between; + gap: 10px; + padding: 8px 0; + border-top: 1px solid #edf2f7; + } + + .sc-cotacao-item:first-child { + border-top: 0; + padding-top: 0; + } + + .sc-cotacao-item:last-child { + padding-bottom: 0; + } + + .sc-cotacao-item-info { + color: #324a5f; + font-size: 13px; + } + + .sc-cotacao-item-info strong { + color: #20384d; + font-weight: 700; + } + #tbCotacao { table-layout: fixed; width: 100%; @@ -656,6 +706,18 @@

Linha do tempo da SC

+ +
+
+

Acompanhamento da cotação

+ Sem cotação +
+
    +
  • + Aguardando vínculo da cotação na SC. +
  • +
+
diff --git a/compras_digital/forms/Compras_digital/compras_digital.js b/compras_digital/forms/Compras_digital/compras_digital.js index 179993a..27fe6f4 100644 --- a/compras_digital/forms/Compras_digital/compras_digital.js +++ b/compras_digital/forms/Compras_digital/compras_digital.js @@ -455,6 +455,66 @@ function limparNumeroDocumento(valor) { return v; } +function normalizarCodigoComparacao(valor) { + var v = String(valor || "").trim(); + if (!v) return ""; + return v.replace(/^0+/, ""); +} + +function documentoEhPlaceholder(valor) { + var v = String(valor || "").trim().toUpperCase(); + if (!v) return true; + if (v === "XXXX" || v === "XXXXXX") return true; + return /^X+$/.test(v); +} + +function linhaCotacaoVencedora(row) { + var pedido = String(row.C8_NUMPED || "").trim(); + var itemPedido = String(row.C8_ITEMPED || "").trim(); + var fornece = String(row.C8_FORNECE || "").trim(); + var loja = String(row.C8_LOJA || "").trim(); + + if (documentoEhPlaceholder(pedido)) return false; + if (documentoEhPlaceholder(itemPedido)) return false; + if (!fornece || !loja) return false; + + return true; +} + +function possuiFornecedorCotacao(row) { + var fornece = String(row.C8_FORNECE || "").trim(); + var loja = String(row.C8_LOJA || "").trim(); + return !!(fornece && loja); +} + +function classificarLinhaCotacao(row) { + var status = String(row.STATUS || "").trim().toUpperCase(); + + if (linhaCotacaoVencedora(row)) { + return { tipo: "PEDIDO_GERADO", label: "VENCEDOR", badge: "badge bg-success", tipoFornecedor: "Fornecedor homologado" }; + } + + if (possuiFornecedorCotacao(row)) { + return { tipo: "FORNECEDOR_HOMOLOGADO", label: "Homologado", badge: "badge bg-info", tipoFornecedor: "Fornecedor homologado" }; + } + + if (status.indexOf("PEDIDO_GERADO") >= 0) { + return { tipo: "PERDEDOR", label: "PERDEDOR", badge: "badge bg-warning", tipoFornecedor: "-" }; + } + + if (!possuiFornecedorCotacao(row)) { + return { tipo: "NOVO_FORNECEDOR", label: "Novo", badge: "badge bg-primary", tipoFornecedor: "Novo fornecedor" }; + } + + return { tipo: "EM_COTACAO", label: "EM COTACAO", badge: "badge bg-secondary", tipoFornecedor: "-" }; +} + +function formatarValorCotacao(valor) { + var txt = String(valor || "").trim(); + if (!txt) return "-"; + return floatToBRL(parseNumeroCotacao(txt)); +} + function comporDataHora(data, hora) { var d = String(data || "").trim(); var h = String(hora || "").trim(); @@ -547,6 +607,220 @@ function renderizarTimelineSC(dados) { $("#scTimeline").html(html); } +function renderizarResultadoCotacao(resumo) { + var badge = $("#cotacaoResultado_label"); + var lista = $("#cotacaoResultadoLista"); + if (!badge.length || !lista.length) return; + + if (!resumo || !resumo.detalhes || !resumo.detalhes.length) { + setBadge("#cotacaoResultado_label", "Sem cotacao"); + lista.html('
  • Aguardando vinculo da cotacao na SC.
  • '); + return; + } + + var statusResumo = "Sem fornecedor definido"; + if ((resumo.qtdPedidoGerado || 0) > 0) { + statusResumo = "Pedido gerado em " + resumo.qtdPedidoGerado + " item(ns)"; + } else if ((resumo.qtdFornecedorHomologado || 0) > 0) { + statusResumo = "Fornecedor homologado em " + resumo.qtdFornecedorHomologado + " item(ns)"; + } else if ((resumo.qtdNovoFornecedor || 0) > 0) { + statusResumo = "Novo fornecedor em " + resumo.qtdNovoFornecedor + " item(ns)"; + } + + setBadge("#cotacaoResultado_label", statusResumo); + + var html = resumo.detalhes.map(function (linha) { + var numeroTxt = escapeHTML(linha.numero || "-"); + var itemTxt = escapeHTML(linha.item || "-"); + var produtoTxt = escapeHTML(linha.produto || "-"); + var fornecedorTxt = escapeHTML(linha.fornecedor || "-"); + var tipoFornecedorTxt = escapeHTML(linha.tipoFornecedor || "-"); + var precoTxt = escapeHTML(formatarValorCotacao(linha.preco)); + var totalTxt = escapeHTML(formatarValorCotacao(linha.total)); + var pedidoTxt = escapeHTML(linha.pedido || "-"); + var statusApiTxt = escapeHTML(linha.statusApi || "-"); + var statusTxt = escapeHTML(linha.label || "EM COTACAO"); + var badgeStatus = linha.badge || "badge bg-secondary"; + + return [ + '
  • ', + ' Cotacao ' + numeroTxt + ' | Item ' + itemTxt + " | Produto: " + produtoTxt + " | Fornecedor: " + fornecedorTxt + " | Tipo: " + tipoFornecedorTxt + " | Preco: " + precoTxt + " | Total: " + totalTxt + " | Pedido: " + pedidoTxt + " | Status: " + statusApiTxt + "", + ' ' + statusTxt + "", + "
  • " + ].join(""); + }).join(""); + + lista.html(html); +} + +function renderizarErroCotacao(mensagem) { + var lista = $("#cotacaoResultadoLista"); + if (!lista.length) return; + + setBadge("#cotacaoResultado_label", "Erro consulta cotacao"); + lista.html( + '
  • ' + + escapeHTML(mensagem || "Nao foi possivel carregar a cotacao no momento.") + + "
  • " + ); +} + +function montarResumoCotacaoPorLinhas(rows, cotacao) { + if (!rows || !rows.length) return null; + + var filtroCotacao = normalizarCodigoComparacao(cotacao); + var filtradas = rows.filter(function (row) { + var erro = String(row.erro || row.ERRO || "").trim(); + if (erro) return false; + + var sucesso = String(row.sucesso || row.SUCESSO || "").trim().toLowerCase(); + if (sucesso === "false") return false; + + var numeroLinha = normalizarCodigoComparacao(row.C8_NUM || ""); + if (filtroCotacao && numeroLinha && numeroLinha !== filtroCotacao) return false; + + var item = String(row.C8_ITEM || row.C8_ITEMSC || "").trim(); + var fornecedor = String(row.C8_FORNECE || "").trim(); + var pedido = String(row.C8_NUMPED || "").trim(); + return !!(item || fornecedor || pedido); + }); + + if (!filtradas.length) return null; + + var porItem = {}; + var detalhes = []; + filtradas.forEach(function (row) { + var item = String(row.C8_ITEM || row.C8_ITEMSC || "").trim(); + if (!item) return; + if (!porItem[item]) porItem[item] = []; + porItem[item].push(row); + + var classif = classificarLinhaCotacao(row); + detalhes.push({ + numero: String(row.C8_NUM || "").trim(), + item: item, + produto: String(row.C8_PRODUTO || "").trim(), + fornecedor: possuiFornecedorCotacao(row) + ? (String(row.C8_FORNECE || "").trim() + "/" + String(row.C8_LOJA || "").trim()) + : "", + preco: row.C8_PRECO, + total: row.C8_TOTAL, + pedido: String(row.C8_NUMPED || "").trim(), + statusApi: String(row.STATUS || "").trim(), + tipo: classif.tipo, + label: classif.label, + badge: classif.badge, + tipoFornecedor: classif.tipoFornecedor + }); + }); + + var itens = []; + var qtdPedidoGerado = 0; + var qtdFornecedorHomologado = 0; + var qtdNovoFornecedor = 0; + + Object.keys(porItem).sort().forEach(function (item) { + var linhas = porItem[item]; + var vencedorPedido = null; + var fornecedorHomologado = null; + var fornecedorNovo = null; + + for (var i = 0; i < linhas.length; i++) { + if (linhaCotacaoVencedora(linhas[i])) { + vencedorPedido = linhas[i]; + break; + } + var fornece = String(linhas[i].C8_FORNECE || "").trim(); + var loja = String(linhas[i].C8_LOJA || "").trim(); + if (!fornecedorHomologado && fornece && loja) { + fornecedorHomologado = linhas[i]; + } + if (!fornecedorNovo && !fornece && !loja) { + fornecedorNovo = linhas[i]; + } + } + + if (vencedorPedido) { + qtdPedidoGerado++; + itens.push({ + item: item, + fornecedor: String(vencedorPedido.C8_FORNECE || "").trim() + "/" + String(vencedorPedido.C8_LOJA || "").trim(), + pedido: String(vencedorPedido.C8_NUMPED || "").trim(), + tipo: "PEDIDO_GERADO" + }); + return; + } + + if (fornecedorHomologado) { + qtdFornecedorHomologado++; + itens.push({ + item: item, + fornecedor: String(fornecedorHomologado.C8_FORNECE || "").trim() + "/" + String(fornecedorHomologado.C8_LOJA || "").trim(), + pedido: String(fornecedorHomologado.C8_NUMPED || "").trim(), + tipo: "FORNECEDOR_HOMOLOGADO" + }); + return; + } + + if (fornecedorNovo) { + qtdNovoFornecedor++; + itens.push({ + item: item, + fornecedor: String(fornecedorNovo.A2_NOME || fornecedorNovo.A2_NREDUZ || "").trim(), + pedido: String(fornecedorNovo.C8_NUMPED || "").trim(), + tipo: "NOVO_FORNECEDOR" + }); + return; + } + + itens.push({ + item: item, + fornecedor: "", + pedido: "", + tipo: "EM_COTACAO" + }); + }); + + return { + itens: itens, + detalhes: detalhes, + qtdPedidoGerado: qtdPedidoGerado, + qtdFornecedorHomologado: qtdFornecedorHomologado, + qtdNovoFornecedor: qtdNovoFornecedor + }; +} + +function consultarResultadoCotacao(cotacao) { + if (!cotacao || typeof DatasetFactory === "undefined" || typeof ConstraintType === "undefined") { + renderizarResultadoCotacao(null); + return; + } + + try { + var cCotacao = DatasetFactory.createConstraint("numCotacao", cotacao, cotacao, ConstraintType.MUST); + var ds = DatasetFactory.getDataset("dsComprasCotacao", null, [cCotacao], null); + var rows = (ds && ds.values) ? ds.values : []; + + if (!rows.length) { + renderizarResultadoCotacao(null); + return; + } + + var erroLinha = rows.find(function (row) { + return String(row.erro || row.ERRO || "").trim(); + }); + if (erroLinha) { + renderizarErroCotacao(String(erroLinha.erro || erroLinha.ERRO || "").trim()); + return; + } + + renderizarResultadoCotacao(montarResumoCotacaoPorLinhas(rows, cotacao)); + } catch (e) { + console.warn("Nao foi possivel consultar resultado da cotacao no dsComprasCotacao:", e); + renderizarResultadoCotacao(null); + } +} + function focarTimelineSC() { var secao = $("#scTimelineSection"); if (!secao.length) return; @@ -607,7 +881,7 @@ function montarStatusAndamento(scRow, cotacao, pedido) { return ""; } -function preencherResumoSC() { +function preencherResumoSC(resumoCotacao, erroCotacao) { var numero = valorCampo("numeroSCProtheus"); var statusCadastro = valorCampo("statusSCProtheus"); var solicitante = valorCampo("solicitanteSCProtheus"); @@ -650,6 +924,16 @@ function preencherResumoSC() { cotacao: cotacao, pedido: pedido }); + + if (erroCotacao) { + renderizarErroCotacao(erroCotacao); + } else if (resumoCotacao && resumoCotacao.itens && resumoCotacao.itens.length) { + renderizarResultadoCotacao(resumoCotacao); + } else if (cotacao) { + consultarResultadoCotacao(cotacao); + } else { + renderizarResultadoCotacao(null); + } } function consultarAndamentoSC() { @@ -678,7 +962,19 @@ function consultarAndamentoSC() { var andamento = montarStatusAndamento(row, cotacao, pedido); if (andamento) $("#statusAtendimento").val(andamento); - preencherResumoSC(); + var resumoCotacao = null; + var erroCotacao = String(row.COTACAO_ERRO || "").trim(); + var jsonCotacoes = String(row.COTACOES_JSON || "").trim(); + if (jsonCotacoes) { + try { + var cotacoes = JSON.parse(jsonCotacoes); + resumoCotacao = montarResumoCotacaoPorLinhas(cotacoes, cotacao); + } catch (eCot) { + if (!erroCotacao) erroCotacao = "Falha ao ler cotacoes retornadas pelo ds_consultaSC"; + } + } + + preencherResumoSC(resumoCotacao, erroCotacao); } catch (e) { console.warn("Nao foi possivel consultar andamento da SC no ds_consultaSC:", e); } diff --git a/compras_digital/workflow/.resources/Ginseng Produção.ws.cache b/compras_digital/workflow/.resources/Ginseng Produção.ws.cache index cb3a526..98d9236 100644 --- a/compras_digital/workflow/.resources/Ginseng Produção.ws.cache +++ b/compras_digital/workflow/.resources/Ginseng Produção.ws.cache @@ -1,5 +1,5 @@ - + volume @@ -646,5 +646,768 @@ + + camposFormulario, documentoId = 9305 + + + activity + + + centro_custo + + + ceo_validacao_aprova + + + codigocentroCusto + + + Codproduto + + + cotacaoSCProtheus + + + currentUserId + + + currentUsermail + + + currentUserName + + + dataCadastroSCProtheus + + + dataNec + + + dataValidacaoItens + + + data_validacao_aprova + + + data_validacao_aprova_ceo + + + data_validacao_aprova_gerf + + + data_validacao_aprova_gestor + + + data_validacao_gestor + + + descProduto + + + emailSolicitante + + + emissaoSCProtheus + + + empresa + + + estabelecimento + + + fdComprovante + + + filialdest + + + filialest + + + filialprotheus + + + fnComprovante + + + formMode + + + gerf_validacao_aprova + + + gestor_cc + + + gestor_validacao_aprova + + + horaCadastroSCProtheus + + + justificativaDecisaoItens + + + justificativaValidaProblema + + + justi_decisaogc + + + justi_decisao_aprova + + + justi_decisao_aprova_ceo + + + justi_decisao_aprova_gerente + + + justi_decisao_aprova_gestor + + + justi_decisao_gc + + + justi_decisao_gerf + + + justi_decisao_gestor + + + justi_decisao_solic + + + justi_decisao__soli + + + moreInfo + + + numeroSCProtheus + + + observacoes + + + observacoesdosolicitante + + + pedidoSCProtheus + + + produtoCod + + + produtoDesc + + + produtoLink + + + qtd + + + qtdItensSCProtheus + + + quantidade + + + requesterId + + + requesterMail + + + solicitanteSCProtheus + + + statusAtendimento + + + statusSCProtheus + + + tipoSolicitacao + + + urgencia + + + userValidacaoItens + + + user_validacao_aprova + + + user_validacao_gestor + + + usuarioSolicitante + + + validacaoItens + + + valorTotalCotacao + + + WKNumProces + + + + + forms + + + + + FLUIGADHOC + + + FLUIGADHOC + + + 3 + + + + + + + FLUIGADHOCPROCESS + + + FLUIGADHOCPROCESS + + + 4 + + + + + + + totvsflow_dataset_tipo_ocorrencia + + + totvsflow_dataset_tipo_ocorrencia + + + 14 + + + + + + + totvsflow_abertura_chamado + + + totvsflow_abertura_chamado + + + 15 + + + + + + + DSFormulariodeAberturadechamado + + + Formulário de Abertura de chamado + + + 20 + + + + + + + Abertura_de_chamados + + + Solicitação de abertura de chamados + + + 21 + + + + + + + DSvistoriadeServico + + + vistoriadeServico + + + 24 + + + + + + + DSFormulariodeReservadesala + + + Formulário de Reserva de sala + + + 34 + + + + + + + totvsflow_dataset_centrocusto + + + totvsflow_dataset_centrocusto + + + 103 + + + + + + + totvsflow_dataset_cadastro_item + + + totvsflow_dataset_cadastro_item + + + 104 + + + + + + + totvsflow_dataset_estabelecimento + + + totvsflow_dataset_estabelecimento + + + 105 + + + + + + + totvsflow_solicitacao_compras + + + totvsflow_solicitacao_compras + + + 165 + + + + + + + aberturadechamado_manutencao + + + aberturadechamado_manutencao + + + 400 + + + + + + + Solicitacao_transferencia + + + Solicitacao_transferencia + + + 590 + + + + + + + recrutamento + + + recrutamento + + + 823 + + + + + + + kit_aniversariantes + + + Aniversariantes + + + 7690 + + + + + + + kit_cardapio + + + Cardápio do Dia + + + 7695 + + + + + + + kit_convenios + + + Convênios + + + 7703 + + + + + + + kit_news + + + Notícias + + + 7709 + + + + + + + compras_digital + + + compras_digital + + + 9305 + + + + + + + dpf_di_formulario_processo_admissao + + + Digte_Public_Form_Di_Formulario_Processo_Admissao_Protheus + + + 9626 + + + + + + + dpf_cadastro_status + + + Digte_Public_Form_Status + + + 9627 + + + + + + + dpf_configuracoes + + + Digte_Public_Form_Configuracoes + + + 9628 + + + + + + + dpf_cadastro_jornada + + + Digte_Public_Form_Jornada + + + 9629 + + + + + + + dpf_tipo_documento + + + Digte_Public_Form_Tipo_Documento + + + 9630 + + + + + + + dpf_dataset + + + Digte_Public_Form_Dataset + + + 9631 + + + + + + + dpf_di_configuracao + + + Digte_Public_Form_Di_Configuracoes + + + 9632 + + + + + + + dpf_di_beneficio + + + Digte_Public_Form_Di_Beneficios + + + 9633 + + + + + + + dpf_di_compl_contrato + + + Digte_Public_Form_Di_Comp_Contrato + + + 9634 + + + + + + + dpf_di_funcao_jornada + + + Digte_Public_Form_Di_Funcao_Jornada + + + 9635 + + + + + + + dpf_dataset_estrutura + + + Digte_Public_Form_Di_Dataset_Estrutura + + + 9636 + + + + + + + dpf_grupo_tipo_contrato + + + Digte_Public_Form_Grupo_Tipo_Contrato + + + 9637 + + + + + + + dpf_tipo_contrato + + + Digte_Public_Form_Tipo_Contrato + + + 9638 + + + + + + + dpf_di_traducao_campo_valor + + + Digte_Public_Form_Di_Traducao_Campo_Valor + + + 9639 + + + + + + + dpf_di_restricoes_cpf + + + Digte_Public_Form_Di_Formulario_Restricao_CPF + + + 9640 + + + + + + + dpf_di_compl_vt + + + Digte_Public_Form_Di_Compl_VT + + + 9641 + + + + + + + dpf_di_traducao_campo + + + Digte_Public_Form_Di_Traducao_Campo + + + 9995 + + + + + + + desligamento + + + desligamento + + + 12959 + + + + + + + checklist + + + checklist + + + 40213 + + + + + + + totvsflow_lancamento_documento + + + totvsflow_lancamento_documento + + + 41254 + + + + + + + transferenciav2 + + + transferência + + + 43582 + + + + + + + desligamentov2 + + + desligamentov2 + + + 46963 + + + + + diff --git a/compras_digital/workflow/.resources/Solicitação de compras V2.png b/compras_digital/workflow/.resources/Solicitação de compras V2.png index 7602825..f973cda 100644 Binary files a/compras_digital/workflow/.resources/Solicitação de compras V2.png and b/compras_digital/workflow/.resources/Solicitação de compras V2.png differ diff --git a/compras_digital/workflow/diagrams/Solicitação de compras V2.process b/compras_digital/workflow/diagrams/Solicitação de compras V2.process index e74f379..2b634bb 100644 --- a/compras_digital/workflow/diagrams/Solicitação de compras V2.process +++ b/compras_digital/workflow/diagrams/Solicitação de compras V2.process @@ -1,151 +1,152 @@ - - - - - + + + + + + - - + + - - + + - - + + - + - - + + - - + + - + - - + + - - + + - + - - + + - - + + - + - - + + - - + + - + - - + + - - + + - + - - + + - - + + - + - + - - - + + + - - - + + + - - + + - - - + + + - + - + - - + + - - - + + + - + - + - - - + + + - - - + + + - + @@ -161,9 +162,9 @@ - - - + + + @@ -172,85 +173,85 @@ - + - - + + - - + + - + - - - + + + - - - + + + - - + + - - - + + + - + - + - - + + - - - + + + - + - + - + - - + + - - - + + + - + - + - - - + + + - - - + + + - + @@ -260,54 +261,54 @@ - - + + - - - + + + - + - + - + - - + + - - - + + + - + - + - - + + - - - + + + - + - + - - - + + + @@ -316,64 +317,64 @@ - + - - + + - - + + - + - - + + - - - + + + - + - + - - + + - - - + + + - + - + - - + + - - - + + + - + - + - - - + + + @@ -382,22 +383,22 @@ - + - - + + - - + + - + - - - + + + @@ -406,30 +407,30 @@ - + - - + + - - + + - + - - - + + + - - - + + + - + @@ -439,18 +440,18 @@ - - + + - - - + + + - + - + @@ -460,146 +461,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -619,26 +620,26 @@ - + - + - + - + - + - + @@ -651,10 +652,10 @@ - + - + @@ -668,146 +669,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -821,146 +822,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -974,146 +975,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1127,146 +1128,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1280,146 +1281,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1433,26 +1434,26 @@ - + - + - + - + - + - + @@ -1465,10 +1466,10 @@ - + - + @@ -1482,26 +1483,26 @@ - + - + - + - + - + - + @@ -1514,26 +1515,26 @@ - + - + - + - + - + - + @@ -1546,146 +1547,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1694,7 +1695,7 @@ - + @@ -1713,26 +1714,26 @@ - + - + - + - + - + - + @@ -1746,26 +1747,26 @@ - + - + - + - + - + - + @@ -1779,10 +1780,10 @@ - + - + @@ -1798,146 +1799,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1946,8 +1947,8 @@ - - + + @@ -1961,146 +1962,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2115,26 +2116,26 @@ - + - + - + - + - + - + @@ -2149,146 +2150,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2305,146 +2306,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2459,26 +2460,26 @@ - + - + - + - + - + - + @@ -2492,146 +2493,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2647,26 +2648,26 @@ - + - + - + - + - + - + @@ -2679,146 +2680,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2835,146 +2836,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2989,26 +2990,26 @@ - + - + - + - + - + - + @@ -3021,146 +3022,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -3180,146 +3181,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -3342,146 +3343,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -3496,146 +3497,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -3650,146 +3651,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -3804,26 +3805,26 @@ - + - + - + - + - + - + @@ -3837,26 +3838,26 @@ - + - + - + - + - + - + @@ -3873,146 +3874,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -4027,10 +4028,10 @@ - + - + @@ -4045,146 +4046,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -4200,146 +4201,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -4357,146 +4358,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -4513,26 +4514,26 @@ - + - + - + - + - + - + @@ -4547,10 +4548,10 @@ - + - + @@ -4569,146 +4570,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -4723,146 +4724,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -4879,146 +4880,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5034,146 +5035,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5188,146 +5189,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5343,146 +5344,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5497,26 +5498,26 @@ - + - + - + - + - + - + @@ -5529,146 +5530,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5686,146 +5687,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5846,10 +5847,10 @@ - + - + @@ -5866,10 +5867,10 @@ - + - + @@ -5882,10 +5883,10 @@ - + - + @@ -5898,10 +5899,10 @@ - + - + @@ -5915,10 +5916,10 @@ - + - + @@ -5931,10 +5932,10 @@ - + - + @@ -5947,10 +5948,10 @@ - + - + @@ -5964,146 +5965,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6119,146 +6120,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6273,26 +6274,26 @@ - + - + - + - + - + - + @@ -6307,146 +6308,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6462,146 +6463,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6616,10 +6617,10 @@ - + - + @@ -6636,146 +6637,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6792,146 +6793,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6947,146 +6948,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -7104,146 +7105,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -7258,146 +7259,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -7413,146 +7414,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -7572,146 +7573,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -7726,146 +7727,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -7880,146 +7881,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -8035,146 +8036,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -8189,146 +8190,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -8343,146 +8344,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -8497,10 +8498,10 @@ - + - + @@ -8517,10 +8518,10 @@ - + - + @@ -8538,146 +8539,146 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -8688,451 +8689,451 @@ - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - - + + + - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - \ No newline at end of file + + + + +