Novo git da alteração

This commit is contained in:
Andrey Cunh@ 2026-03-01 17:27:48 -03:00
parent 8b7a079235
commit 9ec8d6e70b
366 changed files with 50299 additions and 27325 deletions

1
.gitignore vendored Normal file
View File

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

8
.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

8
.idea/eclipse-workspace.new.iml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.13 (GED)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

4
.idea/misc.xml generated Normal file
View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.13 (GED)" project-jdk-type="Python SDK" />
</project>

8
.idea/modules.xml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/eclipse-workspace.new.iml" filepath="$PROJECT_DIR$/.idea/eclipse-workspace.new.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +0,0 @@
eclipse.preferences.version=1
encoding//forms/7690\ -\ Aniversariantes/kit_aniversariantes.html=UTF-8
encoding//wcm/widget/cards_compras/src/main/resources/application.info=utf8

View File

@ -1,15 +0,0 @@
<div id="HelloWorld_${instanceId}" class="super-widget wcm-widget-class fluig-style-guide"
data-params="HelloWorld.instance({message: 'Hello world'})">
<!-- efetua a tradução do texto do objeto i18n -->
<h1>${i18n.getTranslation('hello.example.hello')}</h1>
<div>
<button type="button" class="btn btn-default" data-show-message>${i18n.getTranslation('hello.button.showMessage')}</button>
</div>
<div id='helloMessage_${instanceId}'>
</div>
</div>

View File

@ -1,61 +0,0 @@
function defineStructure() {
addColumn("codigo");
addColumn("descricao");
}
function onSync(lastSyncDate) {}
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
var dataSource = "java:/jdbc/ProtheusP12"; // 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 b1_cod, b1_desc FROM sb1010 WHERE LEFT(b1_cod, 4) IN ('0001','0008', '0002', '0003', '0007', '0006', '0009', '0010', '0011', '0014','0016')";
log.info("Query SQL: " + sql);
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
dataset.addColumn("codigo");
dataset.addColumn("descricao");
var encontrados = {}; // Usando um objeto para evitar duplicação
while (rs.next()) {
var codigo = rs.getString("b1_cod");
var descricao = rs.getString("b1_desc");
if (!encontrados[codigo]) { // Verifica se já foi adicionado
encontrados[codigo] = true; // Marca como processado
log.info("Registro encontrado: " + codigo + " - " + descricao);
dataset.addRow([codigo, descricao]);
}
}
if (Object.keys(encontrados).length === 0) {
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) {}

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>

View File

@ -1,14 +0,0 @@
.cd-wrap{max-width:1200px;margin:0 auto;padding:24px}
.cd-h2{margin:0 0 6px;font-weight:700;font-size:24px}
.cd-sub{margin:0 0 22px;color:#6b7280}
.cd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.cd-card{display:block;background:#fff;border-radius:14px;padding:22px;text-decoration:none;color:#111827;
box-shadow:0 1px 3px rgba(0,0,0,.08);min-height:210px;transition:transform .15s ease, box-shadow .15s ease}
.cd-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.cd-illus{width:120px;height:120px;border-radius:60px;background:#f3f4f6;margin:0 auto 12px;
display:flex;align-items:center;justify-content:center}
.cd-ttl{text-align:center;font-weight:700;margin-bottom:6px}
.cd-txt{text-align:center;color:#6b7280;font-size:13px}
body.dark .cd-card{background:#1f2937;color:#e5e7eb}
body.dark .cd-illus{background:#111827}
body.dark .cd-txt{color:#9ca3af}

View File

@ -1,148 +0,0 @@
// ==== inicialização ====
$(document).ready(function () {
FLUIGC.calendar('#dataNec');
// eventos de quantidade/preço
$('#precoRef').on('blur', recalcTotal);
$('#quantidade').on('input', recalcTotal);
$('#qtdMais').on('click', () => stepQtd(1));
$('#qtdMenos').on('click', () => stepQtd(-1));
// produto
$('#btnBuscaProd').on('click', openZoomProduto);
$('#btnLimpaProd').on('click', () => {
$('#produtoCod,#produtoDesc').val('');
$('#ultimoPreco').val('0,00');
recalcTotal();
});
// zooms básicos
bindZoom($('#empresaDesc'), 'dsSysCompany', ['codigo','descricao'], 'empresaCodigo','empresaDesc');
bindZoom($('#filialDesc'), 'FILIAIS_DS', ['codigo','descricao'], 'filialCodigo','filialDesc');
bindZoom($('#ccDesc'), 'CENTROCUSTO_DS',['codigo','descricao'], 'ccCod','ccDesc');
// itens
$('#btnAddItem').on('click', addItem);
});
// ==== helpers ====
function stepQtd(n){
const $q = $('#quantidade');
let v = parseInt($q.val()||'0',10)+n;
if (v < 0) v = 0;
$q.val(v);
recalcTotal();
}
function parseMoneyBR(s){
if(!s) return 0;
s = (''+s).replace(/[^\d,,-]/g,'').replace(/\./g,'').replace(',', '.');
const v = Number(s);
return isNaN(v) ? 0 : v;
}
function formatMoneyBR(v){
return v.toLocaleString('pt-BR',{style:'currency',currency:'BRL'});
}
function recalcTotal(){
const qtd = parseFloat($('#quantidade').val()||'0');
const preco = parseMoneyBR($('#precoRef').val());
const tot = (qtd * preco) || 0;
$('#total').val(formatMoneyBR(tot));
}
// ==== zooms genéricos ====
function bindZoom($input, datasetId, displayFields, hiddenIdFld, displayFld){
$input.on('click', function(){
FLUIGC.filtermodal({
title: 'Selecionar',
size: 'large',
filterFields: displayFields.join(', '),
source: {
url: '/api/public/ecm/dataset/search',
contentType: 'application/json',
root: 'content',
limit: 50,
pattern: '',
param: { datasetId: datasetId }
},
columns: [
{ title: 'Código', data: 'codigo' },
{ title: 'Descrição', data: 'descricao' }
],
onSelected: function(data){
$('#'+hiddenIdFld).val(data.codigo);
$('#'+displayFld).val(data.codigo+' - '+data.descricao);
}
});
});
}
// ==== zoom de produto com último preço ====
function openZoomProduto(){
FLUIGC.filtermodal({
title: 'Buscar Produto/Serviço',
size: 'large',
filterFields: 'codigo, descricao',
source: {
url: '/api/public/ecm/dataset/search',
contentType: 'application/json',
root: 'content',
limit: 50,
param:{ datasetId: 'PRODUTOS_DS' }
},
columns: [
{ title: 'Código', data: 'codigo' },
{ title: 'Descrição', data: 'descricao' },
{ title: 'UM', data: 'um' },
{ title: 'Último Preço', data: 'ultimoPreco' }
],
onSelected: function(item){
$('#produtoCod').val(item.codigo);
$('#produtoDesc').val(item.codigo+' - '+item.descricao);
$('#ultimoPreco').val(item.ultimoPreco || '0,00');
recalcTotal();
}
});
}
// ==== itens (tabela filha) ====
function addItem(){
if(!$('#produtoCod').val()){
FLUIGC.toast({title:'Atenção: ', message:'Selecione um produto.', type:'warning'}); return;
}
if(!$('#ccCod').val()){
FLUIGC.toast({title:'Atenção: ', message:'Selecione o centro de custo.', type:'warning'}); return;
}
const qtd = parseFloat($('#quantidade').val()||'0');
if(qtd <= 0){
FLUIGC.toast({title:'Atenção: ', message:'Quantidade deve ser > 0.', type:'warning'}); return;
}
const row = wdkAddChild('tbItens');
$('#produtoCod___'+row).val($('#produtoCod').val());
$('#produtoDesc___'+row).val($('#produtoDesc').val());
$('#ccCod___'+row).val($('#ccCod').val());
$('#ccDesc___'+row).val($('#ccDesc').val());
$('#qtd___'+row).val(qtd);
$('#precoRef___'+row).val($('#precoRef').val());
$('#total___'+row).val($('#total').val());
// limpa campos do cabeçalho se quiser
// $('#produtoCod,#produtoDesc').val('');
}
// ==== validação (se seu projeto usa validateForm hook do Fluig) ====
// crie events/validateForm.js chamando esta função, ou adapte ao seu template:
function validateForm(form){
var msgs = [];
function req(id, label){ if(!form.getValue(id)) msgs.push('Preencha "'+label+'".'); }
req('tipoSolicitacao','Tipo de Solicitação');
req('produtoCod','Produto/Serviço');
req('quantidade','Quantidade');
req('dataNec','Data da Necessidade');
req('ccCod','Centro de Custo');
if(msgs.length){ throw msgs.join('\n'); }
}

View File

@ -1,14 +0,0 @@
eclipse.preferences.version=1
encoding//forms/7690\ -\ Aniversariantes/kit_aniversariantes.html=UTF-8
encoding//wcm/widget/cards_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_en_US.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_es.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_pt_BR.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/cards_compras/src/main/resources/view.ftl=utf8
encoding//wcm/widget/cards_compras/src/main/webapp/WEB-INF/jboss-web.xml=utf8
encoding//wcm/widget/cards_compras/src/main/webapp/WEB-INF/web.xml=utf8
encoding//wcm/widget/cards_compras/src/main/webapp/resources/css/cards_compras.css=utf8
encoding//wcm/widget/cards_compras/src/main/webapp/resources/images/icon.png=utf8
encoding//wcm/widget/cards_compras/src/main/webapp/resources/js/cards_compras.js=utf8

View File

@ -1 +0,0 @@
function validateForm(form){if(form.getValue("fullName")==null||form.getValue("fullName")==""){throw i18n.translate("kit.aniversary.validation.fullName")}if(form.getValue("birthDay")==null||form.getValue("birthDay")==""){throw i18n.translate("kit.aniversary.validation.birthDay")}if(form.getValue("birthMonth")==null||form.getValue("birthMonth")==""){throw i18n.translate("kit.aniversary.validation.birthMonth")}if(form.getValue("birthDay")<1||form.getValue("birthDay")>31){throw i18n.translate("kit.aniversary.validation.birthDayInvalid")}if(form.getValue("birthMonth")<1||form.getValue("birthMonth")>12){throw i18n.translate("kit.aniversary.validation.birthMonthInvalid")}if(isNaN(form.getValue("birthDay"))){throw i18n.translate("kit.aniversary.validation.dayNaN")}if(isNaN(form.getValue("birthMonth"))){throw i18n.translate("kit.aniversary.validation.monthNaN")}};

View File

@ -1,7 +0,0 @@
eclipse.preferences.version=1
encoding//forms/7690\ -\ Aniversariantes/kit_aniversariantes.html=UTF-8
encoding//wcm/widget/cards_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_en_US.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/cards_compras/src/main/resources/view.ftl=utf8

View File

@ -1,13 +0,0 @@
eclipse.preferences.version=1
encoding//forms/7690\ -\ Aniversariantes/kit_aniversariantes.html=UTF-8
encoding//wcm/widget/cards_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_en_US.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_es.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_pt_BR.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/cards_compras/src/main/resources/view.ftl=utf8
encoding//wcm/widget/cards_compras/src/main/webapp/WEB-INF/jboss-web.xml=utf8
encoding//wcm/widget/cards_compras/src/main/webapp/resources/css/cards_compras.css=utf8
encoding//wcm/widget/cards_compras/src/main/webapp/resources/images/icon.png=utf8
encoding//wcm/widget/cards_compras/src/main/webapp/resources/js/cards_compras.js=utf8

View File

@ -1,63 +0,0 @@
var ComprasDigitalEdit = SuperWidget.extend({
init: function () {},
bindings: {
local: {
'save': ['click_save'],
'fill-example': ['click_fillExample']
}
},
save: function () {
var txt = $('#cd-cards-' + this.instanceId).val() || '[]';
try { JSON.parse(txt); } catch (e) {
FLUIGC.toast({ title: 'Erro: ', message: 'JSON inválido', type: 'danger' });
return;
}
this.setPreference({ 'cards': txt });
FLUIGC.toast({ title: 'OK: ', message: 'Configurações salvas', type: 'success' });
},
fillExample: function () {
var ex = [
{
"title": "Cadastro de Produtos",
"text": "Gerencie produtos.",
"href": "/portal/p/1/pageprocessstart?processId=CadastroProdutos",
"icon": "fluigicon-box",
"target": "_self"
},
{
"title": "Solicitação de Compras",
"text": "Abra uma solicitação.",
"href": "/portal/p/1/pageprocessstart?processId=Solicita%C3%A7%C3%A3o%20de%20compras%20-%20v2",
"icon": "fluigicon-cart"
},
{
"title": "Cotações",
"text": "Compare orçamentos.",
"href": "/portal/p/1/pagina-cotacoes",
"icon": "fluigicon-money"
},
{
"title": "Pedidos de Compras",
"text": "Acompanhe pedidos.",
"href": "/portal/p/1/pageworkflowview",
"icon": "fluigicon-check"
},
{
"title": "Notas Fiscais",
"text": "Entrada e conferência.",
"href": "/portal/p/1/ecmnavigator",
"icon": "fluigicon-document-alt"
},
{
"title": "Parâmetros",
"text": "Configurações do módulo.",
"href": "/portal/p/1/pagina-parametros",
"icon": "fluigicon-cog"
}
];
$('#cd-cards-' + this.instanceId).val(JSON.stringify(ex, null, 2));
}
});

View File

@ -1,24 +0,0 @@
application.type=layout
application.code=TIginseng_layoutblocado
application.title=Layout blocado
application.description=Layout blocado carrosel
application.fluig.version=null
application.category=Compras Digital
application.renderer=freemarker
developer.code=G-ALES1NT-TEC06
developer.name=andrey.cunha
developer.url=http://www.fluig.com
layout.defaultSlot=SlotA
layout.file=layout.ftl
locale.file.base.name=TIginseng_layoutblocado
slot.SlotGlobalAlert=alertpopover
slot.SlotInstantSearch=suggestsearch
slot.SlotLogin=sociallogin
slot.SlotMenu=menu
slot.SlotUsePolicy=usepolicy
application.icon=icon.png
application.resource.css.1=/portal/resources/css/wcm_responsive_layout.css
application.responsiveLayout=true
application.newBuilder=true
hash=4a16315e9e66fa7d797b3f6b1fb365b69f9a4ce2
slot.SlotInstantSearch=suggestsearch

View File

@ -1,16 +0,0 @@
var HelloWorld = SuperWidget.extend({
message: null,
init: function () {
//code
},
bindings: {
local: {
'show-message': ['click_showMessage']
}
},
showMessage: function () {
$div = $('#helloMessage_' + this.instanceId);
$message = $('<div>').addClass('message').append(this.message);
$div.append($message);
}
});

View File

@ -1,23 +0,0 @@
application.type=layout
application.code=LayoutCadastro
application.title=Layout Cadastro
application.description=Layout para página principal do site
application.fluig.version=null
application.category=SYSTEM
application.renderer=freemarker
developer.code=G-ALES1NT-TEC06
developer.name=andrey.cunha
developer.url=http://www.fluig.com
layout.defaultSlot=SlotA
layout.file=layout.ftl
locale.file.base.name=LayoutCadastro
slot.SlotGlobalAlert=alertpopover
slot.SlotInstantSearch=suggestsearch
slot.SlotLogin=sociallogin
slot.SlotMenu=menu
slot.SlotUsePolicy=usepolicy
application.icon=icon.png
application.resource.css.1=/portal/resources/css/wcm_responsive_layout.css
application.responsiveLayout=true
application.newBuilder=true
hash=4a16315e9e66fa7d797b3f6b1fb365b69f9a4ce2

View File

@ -1,11 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/widget/widget_code_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/view.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_en_US.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_es.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_pt_BR.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/css/widget_code_compras.css=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/images/icon.png=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/js/widget_code_compras.js=utf8

View File

@ -1,8 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/TIginseng_comprasdigital.properties=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/TIginseng_comprasdigital_en_US.properties=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/TIginseng_comprasdigital_es.properties=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/TIginseng_comprasdigital_pt_BR.properties=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/application.info=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/view.ftl=utf8

View File

@ -1,5 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/TIginseng_comprasdigital.properties=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/application.info=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/view.ftl=utf8

View File

@ -1,41 +0,0 @@
<#import "/wcm.ftl" as wcm />
<#-- Variaveis globais para os layouts -->
<#import "/layout-globals.ftl" as globals />
<!-- layout ECM-DEFAULT-DASHBOARD -->
<#if pageRender.isPreviewMode() = true>
<@wcm.previewPageAlert />
<@wcm.deviceTogglePreview />
</#if>
<div class="wcm-wrapper-content ${wcmLayoutEditClass!""} ${pageAuthTypeClass!""}">
<#if pageRender.isEditMode() != true>
<@wcm.header />
<@wcm.menu />
</#if>
<div class="wcm-all-content">
<div id="wcm-content" class="clearfix wcm-background">
<#if pageRender.isEditMode() = true>
<@wcm.editHeader />
<@wcm.widgetsList />
</#if>
<div id="${divMasterId!""}" class="clearfix">
<!-- Conteúdo aqui -->
<#if fluigThemeCode != "responsive_theme">
<@wcm.footer layoutuserlabel="wcm.layoutdefaultecmdashboard.user" />
</#if>
</div>
</div>
</div>
</div>

View File

@ -1,10 +0,0 @@
eclipse.preferences.version=1
encoding//forms/7690\ -\ Aniversariantes/kit_aniversariantes.html=UTF-8
encoding//wcm/widget/cards_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_en_US.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_es.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_pt_BR.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/cards_compras/src/main/resources/view.ftl=utf8
encoding//wcm/widget/cards_compras/src/main/webapp/resources/css/cards_compras.css=utf8

View File

@ -1,16 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/layout/LayoutCadastro/src/main/resources/LayoutCadastro.properties=utf8
encoding//wcm/layout/LayoutCadastro/src/main/resources/application.info=utf8
encoding//wcm/layout/LayoutCadastro/src/main/resources/layout.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/view.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_en_US.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_es.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_pt_BR.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/WEB-INF/jboss-web.xml=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/WEB-INF/web.xml=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/css/widget_code_compras.css=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/images/icon.png=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/js/widget_code_compras.js=utf8

View File

@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/application.info=utf8

View File

@ -1,5 +0,0 @@
application.title=Ol\u00E1 Mundo
application.description=Ol\u00E1 Mundo
hello.example.hello=Ol\u00E1 Mundo!
hello.example.helloedit=Ol\u00E1 Mundo! (Edit)
hello.button.showMessage=Exibir mensagem

View File

@ -1,4 +0,0 @@
/* Coloque aqui seu codigo CSS */
.message{
margin-top: 10px;
}

View File

@ -1,7 +0,0 @@
<div id="HelloWorld_${instanceId}" class="super-widget wcm-widget-class fluig-style-guide"
data-params="HelloWorld.instance({message: 'Hello world'})">
<!-- efetua a tradução do texto do objeto i18n -->
<h1>${i18n.getTranslation('hello.example.helloedit')}</h1>
</div>

View File

@ -1 +0,0 @@
application.title=applicationTitle

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>

View File

@ -1,18 +0,0 @@
application.type=widget
application.code=widget_code_compras
application.title=Cadastro de fornecedor
application.description=Efetua o cadastro de fornecedor no Protheus
application.fluig.version=null
application.category=Suprimentos
application.renderer=freemarker
developer.code=G-ALES1NT-TEC06
developer.name=andrey.cunha
developer.url=http://www.fluig.com
application.uiwidget=true
application.mobileapp=false
view.file=view.ftl
edit.file=edit.ftl
locale.file.base.name=widget_code_compras
application.resource.js.1=/resources/js/widget_code_compras.js
application.resource.css.2=/resources/css/widget_code_compras.css
hash=4a16315e9e66fa7d797b3f6b1fb365b69f9a4ce2

View File

@ -1,2 +0,0 @@
// Insira aqui seu codigo JavaScript

View File

@ -1,8 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_en_US.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_es.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_pt_BR.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/application.info=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/layout.ftl=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/webapp/resources/css/TIginseng_layoutblocado.css=utf8

View File

@ -1,6 +0,0 @@
eclipse.preferences.version=1
encoding//forms/7690\ -\ Aniversariantes/kit_aniversariantes.html=UTF-8
encoding//wcm/widget/cards_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/cards_compras/src/main/resources/view.ftl=utf8

View File

@ -1 +0,0 @@
application.title=applicationTitle

View File

@ -1,134 +0,0 @@
function initForm() {
// calendário e máscara simples
FLUIGC.calendar('#dataNec');
$('#precoRef').on('blur', recalcTotal);
$('#quantidade').on('input', recalcTotal);
$('#qtdMais').on('click', () => stepQtd(1));
$('#qtdMenos').on('click', () => stepQtd(-1));
// botões produto
$('#btnBuscaProd').on('click', () => openZoomProduto());
$('#btnLimpaProd').on('click', () => { $('#produtoCod,#produtoDesc').val(''); $('#ultimoPreco').val('0,00'); recalcTotal(); });
// zooms (empresa, filial, centro de custo)
bindZoom($('#empresaDesc'), 'EMPRESAS_DS', ['codigo','descricao'], 'empresaCodigo','empresaDesc');
bindZoom($('#filialDesc'), 'FILIAIS_DS', ['codigo','descricao'], 'filialCodigo','filialDesc');
bindZoom($('#ccDesc'), 'CENTROCUSTO_DS',['codigo','descricao'], 'ccCod','ccDesc');
// adicionar item à tabela
$('#btnAddItem').on('click', addItem);
}
function stepQtd(n){
const $q = $('#quantidade');
let v = parseInt($q.val()||'0',10)+n;
if (v<0) v=0;
$q.val(v);
recalcTotal();
}
function parseMoneyBR(s){
if(!s) return 0;
s = (''+s).replace(/[^\d,.-]/g,'').replace('.','').replace(',','.');
const v = Number(s);
return isNaN(v)?0:v;
}
function formatMoneyBR(v){
return v.toLocaleString('pt-BR',{style:'currency',currency:'BRL'});
}
function recalcTotal(){
const qtd = parseFloat($('#quantidade').val()||'0');
const preco = parseMoneyBR($('#precoRef').val());
const tot = (qtd*preco) || 0;
$('#total').val(formatMoneyBR(tot));
}
function bindZoom($input, datasetId, displayFields, hiddenIdFld, displayFld){
$input.on('click', function(){
FLUIGC.filtermodal({
title: 'Selecionar',
size: 'large',
filterFields: displayFields.join(', '),
source: {
url: '/api/public/ecm/dataset/search',
contentType: 'application/json',
root: 'content',
pattern: '',
limit: 50,
param:{
datasetId: datasetId
}
},
columns: [
{ title: 'Código', data: 'codigo' },
{ title: 'Descrição', data: 'descricao' }
],
onSelected: function(data){
$('#'+hiddenIdFld).val(data.codigo);
$('#'+displayFld).val(data.codigo+' - '+data.descricao);
}
});
});
}
function openZoomProduto(){
FLUIGC.filtermodal({
title: 'Buscar Produto/Serviço',
size: 'large',
filterFields: 'codigo, descricao',
source: {
url: '/api/public/ecm/dataset/search',
contentType: 'application/json',
root: 'content',
limit: 50,
param:{ datasetId: 'PRODUTOS_DS' }
},
columns: [
{ title: 'Código', data: 'codigo' },
{ title: 'Descrição', data: 'descricao' },
{ title: 'UM', data: 'um' },
{ title: 'Último Preço', data: 'ultimoPreco' }
],
onSelected: function(item){
$('#produtoCod').val(item.codigo);
$('#produtoDesc').val(item.codigo+' - '+item.descricao);
$('#ultimoPreco').val((item.ultimoPreco||'0,00'));
recalcTotal();
}
});
}
function addItem(){
// valida campos mínimos
if(!$('#produtoCod').val()){ FLUIGC.toast({title:'Atenção: ', message:'Selecione um produto.', type:'warning'}); return; }
if(!$('#ccCod').val()){ FLUIGC.toast({title:'Atenção: ', message:'Selecione o centro de custo.', type:'warning'}); return; }
const qtd = parseFloat($('#quantidade').val()||'0'); if(qtd<=0){ FLUIGC.toast({title:'Atenção: ', message:'Quantidade deve ser > 0.', type:'warning'}); return; }
const row = wdkAddChild('tbItens');
$('#produtoCod___'+row).val($('#produtoCod').val());
$('#produtoDesc___'+row).val($('#produtoDesc').val());
$('#ccCod___'+row).val($('#ccCod').val());
$('#ccDesc___'+row).val($('#ccDesc').val());
$('#qtd___'+row).val(qtd);
$('#precoRef___'+row).val($('#precoRef').val());
$('#total___'+row).val($('#total').val());
}
// validação de processo
function validateForm(form){
var msgs = [];
function req(id, label){ if(!form.getValue(id)) msgs.push('Preencha "'+label+'".'); }
req('tipoSolicitacao','Tipo de Solicitação');
req('produtoCod','Produto/Serviço');
req('quantidade','Quantidade');
req('dataNec','Data da Necessidade');
req('ccCod','Centro de Custo');
if(msgs.length){
throw msgs.join('\n');
}
}
$(document).ready(initForm);

View File

@ -1,93 +0,0 @@
<#import "/wcm.ftl" as wcm />
<#import "/layout-globals.ftl" as globals />
<#-- Layout base do portal -->
<div class="wcm-wrapper-content ${wcmLayoutEditClass!""} ${pageAuthTypeClass!""}">
<#-- Cabeçalho/menu aparecem só fora do modo de edição -->
<#if pageRender.isEditMode() != true>
<@wcm.header />
<@wcm.menu />
</#if>
<div class="wcm-all-content">
<div id="wcm-content" class="clearfix wcm-background">
<#-- Ferramentas do editor quando estiver no modo edição -->
<#if pageRender.isEditMode() = true>
<@wcm.editHeader />
<@wcm.widgetsList />
</#if>
<div id="${divMasterId!""}" class="clearfix">
<!-- CONTEÚDO DA SUA PÁGINA (layout de cards) -->
<div class="cd-wrap">
<h2 class="cd-h2">Compras Digital</h2>
<p class="cd-sub">
Solução para simplificar e otimizar a aquisição de produtos e serviços.
</p>
<div class="cd-grid">
<!-- Ajuste APENAS os hrefs abaixo para seus links/processos reais -->
<a class="cd-card" href="/portal/p/1/pageprocessstart?processId=CadastroProdutos">
<div class="cd-illus"><i class="fluigicon fluigicon-box fluigicon-3x"></i></div>
<div class="cd-ttl">Cadastro de Produtos</div>
<div class="cd-txt">Adicione e gerencie produtos de maneira centralizada.</div>
</a>
<a class="cd-card" href="/portal/p/1/pageprocessstart?processId=Solicita%C3%A7%C3%A3o%20de%20compras%20-%20v2">
<div class="cd-illus"><i class="fluigicon fluigicon-cart fluigicon-3x"></i></div>
<div class="cd-ttl">Solicitação de Compras</div>
<div class="cd-txt">Faça suas solicitações de forma rápida e eficiente.</div>
</a>
<a class="cd-card" href="/portal/p/1/pagina-cotacoes">
<div class="cd-illus"><i class="fluigicon fluigicon-money fluigicon-3x"></i></div>
<div class="cd-ttl">Cotações</div>
<div class="cd-txt">Compare orçamentos e encontre as melhores ofertas.</div>
</a>
<a class="cd-card" href="/portal/p/1/pageworkflowview">
<div class="cd-illus"><i class="fluigicon fluigicon-check fluigicon-3x"></i></div>
<div class="cd-ttl">Pedidos de Compras</div>
<div class="cd-txt">Acompanhe e confirme pedidos de compra.</div>
</a>
<a class="cd-card" href="/portal/p/1/ecmnavigator">
<div class="cd-illus"><i class="fluigicon fluigicon-document-alt fluigicon-3x"></i></div>
<div class="cd-ttl">Notas Fiscais</div>
<div class="cd-txt">Simplifique a entrada e conferência de NFs.</div>
</a>
<a class="cd-card" href="/portal/p/1/pagina-parametros">
<div class="cd-illus"><i class="fluigicon fluigicon-cog fluigicon-3x"></i></div>
<div class="cd-ttl">Parâmetros</div>
<div class="cd-txt">Personalize as configurações conforme a necessidade.</div>
</a>
</div>
</div>
<style>
.cd-wrap{max-width:1200px;margin:0 auto;padding:24px}
.cd-h2{margin:0 0 6px;font-weight:700;font-size:24px}
.cd-sub{margin:0 0 22px;color:#6b7280}
.cd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.cd-card{display:block;background:#fff;border-radius:14px;padding:22px;text-decoration:none;color:#111827;
box-shadow:0 1px 3px rgba(0,0,0,.08);min-height:210px;transition:transform .15s ease, box-shadow .15s ease}
.cd-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.cd-illus{width:120px;height:120px;border-radius:60px;background:#f3f4f6;margin:0 auto 12px;
display:flex;align-items:center;justify-content:center}
.cd-ttl{text-align:center;font-weight:700;margin-bottom:6px}
.cd-txt{text-align:center;color:#6b7280;font-size:13px}
body.dark .cd-card{background:#1f2937;color:#e5e7eb}
body.dark .cd-illus{background:#111827}
body.dark .cd-txt{color:#9ca3af}
</style>
<!-- FIM DO CONTEÚDO -->
</div>
</div>
</div>
</div>

View File

@ -1,11 +0,0 @@
kit_aniversariantes.fullname=Nome completo
kit_aniversariantes.month=M\u00EAs
kit_aniversariantes.day=Dia
kit_aniversariantes.validation.fullName=Nome completo \u00E9 um campo obrigat\u00F3rio
kit_aniversariantes.validation.birthDay=Dia \u00E9 um campo obrigat\u00F3rio
kit_aniversariantes.validation.birthMonth=M\u00EAs \u00E9 um campo obrigat\u00F3rio
kit_aniversariantes.validation.birthMonthInvalid=Valor inv\u00E1lido no campo M\u00EAs
kit_aniversariantes.validation.birthDayInvalid=Valor inv\u00E1lido no campo Dia
kit_aniversariantes.validation.dayNaN=Dia \u00E9 um campo num\u00E9rico
kit_aniversariantes.validation.monthNaN=M\u00EAs \u00E9 um campo num\u00E9rico
kit_aniversariantes.imagedimension=Na aba anexos, fa\u00E7a upload da foto do usu\u00E1rio enviando uma imagem com altura e largura equivalentes

View File

@ -1,23 +0,0 @@
application.type=layout
application.code=TIginseng_layoutblocado
application.title=Layout blocado
application.description=Layout blocado carrosel
application.fluig.version=null
application.category=Compras Digital
application.renderer=freemarker
developer.code=G-ALES1NT-TEC06
developer.name=andrey.cunha
developer.url=http://www.fluig.com
layout.defaultSlot=SlotA
layout.file=layout.ftl
locale.file.base.name=TIginseng_layoutblocado
slot.SlotGlobalAlert=alertpopover
slot.SlotInstantSearch=suggestsearch
slot.SlotLogin=sociallogin
slot.SlotMenu=menu
slot.SlotUsePolicy=usepolicy
application.icon=icon.png
application.resource.css.1=/portal/resources/css/wcm_responsive_layout.css
application.responsiveLayout=true
application.newBuilder=true
hash=4a16315e9e66fa7d797b3f6b1fb365b69f9a4ce2

View File

@ -1,61 +0,0 @@
function defineStructure() {
addColumn("codigo");
addColumn("descricao");
}
function onSync(lastSyncDate) {}
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
var dataSource = "/jdbc/ProtheusP12"; // 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 b1_cod, b1_desc FROM sb1010 WHERE LEFT(b1_cod, 4) IN ('0001','0008', '0002', '0003', '0007', '0006', '0009', '0010', '0011', '0014','0016')";
log.info("Query SQL: " + sql);
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
dataset.addColumn("codigo");
dataset.addColumn("descricao");
var encontrados = {}; // Usando um objeto para evitar duplicação
while (rs.next()) {
var codigo = rs.getString("b1_cod");
var descricao = rs.getString("b1_desc");
if (!encontrados[codigo]) { // Verifica se já foi adicionado
encontrados[codigo] = true; // Marca como processado
log.info("Registro encontrado: " + codigo + " - " + descricao);
dataset.addRow([codigo, descricao]);
}
}
if (Object.keys(encontrados).length === 0) {
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) {}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 587 B

View File

@ -1,5 +0,0 @@
<div id="SlotInstantSearch" slot="true" class="slotint slot-header-actions">
<#list (pageRender.getInstancesIds("SlotInstantSearch"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>

View File

@ -1,11 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_en_US.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_es.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_pt_BR.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/application.info=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/layout.ftl=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/webapp/WEB-INF/jboss-web.xml=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/webapp/resources/css/TIginseng_layoutblocado.css=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/webapp/resources/images/icon.png=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/webapp/resources/js/TIginseng_layoutblocado.js=utf8

View File

@ -1,15 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/layout/LayoutCadastro/src/main/resources/application.info=utf8
encoding//wcm/layout/LayoutCadastro/src/main/resources/layout.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/view.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_en_US.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_es.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_pt_BR.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/WEB-INF/jboss-web.xml=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/WEB-INF/web.xml=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/css/widget_code_compras.css=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/images/icon.png=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/js/widget_code_compras.js=utf8

View File

@ -1,45 +0,0 @@
<html>
<head>
<script type="text/javascript" src="/portal/resources/js/jquery/jquery.js"></script>
<link type="text/css" rel="stylesheet" href="/portal/resources/style-guide/css/fluig-style-guide.min.css"/>
<script type="text/javascript" src="/portal/resources/style-guide/js/fluig-style-guide.min.js"
charset="utf-8"></script>
</head>
<body>
<div class="fluig-style-guide">
<form name="kit_aniversariantes" role="form">
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label for="fullName">i18n.translate("kit_aniversariantes.fullname")</label>
<input name="fullName" id="fullName" type="text" class="form-control"
placeholder="i18n.translate(&quot;kit_aniversariantes.fullname&quot;)">
</div>
</div>
</div>
<div class="row">
<div class="col-md-1">
<div class="form-group">
<label for="birthDay">i18n.translate("kit_aniversariantes.day")</label>
<input name="birthDay" id="birthDay" type="number" class="form-control" min="1" max="31" step="1">
</div>
</div>
<div class="col-md-1">
<div class="form-group">
<label for="birthMonth">i18n.translate("kit_aniversariantes.month")</label>
<input name="birthMonth" id="birthMonth" type="number" class="form-control" min="1" max="12"
step="1">
</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="alert alert-info" role="alert">i18n.translate("kit_aniversariantes.imagedimension")</div>
</div>
</div>
</form>
</div>
</body>
</html>

View File

@ -1,11 +0,0 @@
kit_aniversariantes.fullname=Full name
kit_aniversariantes.month=Month
kit_aniversariantes.day=Day
kit_aniversariantes.validation.fullName=Full name is a mandatory field
kit_aniversariantes.validation.birthDay=Day is a mandatory field
kit_aniversariantes.validation.birthMonth=Month is a mandatory field
kit_aniversariantes.validation.birthMonthInvalid=Invalid value in the month field
kit_aniversariantes.validation.birthDayInvalid=Invalid value in the day field
kit_aniversariantes.validation.dayNaN=Day is a numeric field
kit_aniversariantes.validation.monthNaN=Month is a numeric field
kit_aniversariantes.imagedimension=In the attachments tab, upload the photo of the user by sending an image with equivalent height and width

View File

@ -1,4 +0,0 @@
eclipse.preferences.version=1
encoding//forms/7690\ -\ Aniversariantes/kit_aniversariantes.html=UTF-8
encoding//wcm/widget/cards_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/cards_compras/src/main/resources/edit.ftl=utf8

View File

@ -1 +0,0 @@
application.title=applicationTitle

View File

@ -1 +0,0 @@
application.title=applicationTitle

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/TIginseng_comprasdigital</context-root>
<disable-cross-context>false</disable-cross-context>
</jboss-web>

View File

@ -1,5 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_en_US.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/application.info=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/layout.ftl=utf8

View File

@ -1 +0,0 @@
application.title=applicationTitle

View File

@ -1,6 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_en_US.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_es.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/application.info=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/layout.ftl=utf8

View File

@ -1,5 +0,0 @@
eclipse.preferences.version=1
encoding//forms/7690\ -\ Aniversariantes/kit_aniversariantes.html=UTF-8
encoding//wcm/widget/cards_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/cards_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/cards_compras/src/main/resources/view.ftl=utf8

View File

@ -1,88 +0,0 @@
<div class="fluig-style-guide">
<div id="wcm_header" class="wcm-header-background wcm-header">
<!-- Group left -->
<div class="header-grouper-left">
<a href="home" class="wcm_logo" title="${i18n.getTranslation('layout.label.pagetitle')}">
<#if '${imageLogo}'=='true'>
<img src="${serverContextURL}/resources/images/${pageRender.user.tenantId}/logo_image.png"></img>
<#else>
<img src="${serverContextURL}/resources/images/logo.png"></img>
</#if>
</a>
</div>
<!-- Group right -->
<div class="header-grouper-right">
<!-- Container login -->
<div id="SlotLogin" slot="true" class="slot-header-actions">
<#list (pageRender.getInstancesIds("SlotLogin"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>
<div id="SlotInstantSearch" slot="true" class="slotint slot-header-actions">
<#list (pageRender.getInstancesIds("SlotInstantSearch"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>
</div>
</div>
<!-- WCM Wrapper content -->
<div class="wcm-wrapper-content">
<!-- Menu esquerdo -->
<nav class="wcm-navigation wcm-menu-background">
<div id="SlotMenu" slot="true">
<#list (pageRender.getInstancesIds("SlotMenu"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>
</nav>
<!-- Wrapper -->
<div class="wcm-all-content">
<div id="wcm-content" class="clearfix wcm-background">
<!--WIDGETS DO LAYOUT -->
<link type="text/css" rel="stylesheet" href="${contextPath}/resources/css/wcm_layout.css"/>
<!-- Onde deverá estar a barra de formatação -->
<#if pageRender.isEditMode()=true>
<div name="formatBar" id="formatBar"></div>
<!-- Div geral -->
<!-- Há CSS distinto para Edição/Visualização -->
<div id="edicaoPagina" class="clearfix">
<#else>
<div id="visualizacaoPagina" class="clearfix">
</#if>
<!-- Titulo da página -->
<div class="slotfull layout-1-1">
<span class="titleArea">${i18n.getTranslation('wcm.layoutdefault.title')}</span>
<h2 class="pageTitle">${pageTitle}</h2>
</div>
<!-- Slot 1 -->
<div class="editable-slot slotfull layout-1-1" id="slotFull1">
<div id="SlotC" slot="true" class="slotint" decorator="false" editableSlot="true">
<#list (pageRender.getInstancesIds("SlotC"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>
</div>
<!-- Slot 2 -->
<div class="editable-slot slotfull layout-1-1" id="slotFull2">
<div id="SlotB" slot="true" class="slotint" decorator="false" editableSlot="true">
<#list (pageRender.getInstancesIds("SlotB"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>
</div>
<!-- Slot 3 -->
<div class="editable-slot slotfull layout-1-1" id="slotFull3">
<!-- Widget -->
<div id="SlotA" slot="true" class="slotint" decorator="true" editableSlot="true">
<#list (pageRender.getInstancesIds("SlotA"))! as id>
${pageRender.renderInstance(id)}
</#list>
</div>
</div>
</div>
<!-- FIM DAS WIDGETS DO LAYOUT -->
<div id="wcm_footer" class="wcm_footer"></div>
</div>
</div>
</div>
</div>

View File

@ -1,172 +0,0 @@
<html>
<head>
<link type="text/css" rel="stylesheet" href="/style-guide/css/fluig-style-guide.min.css" />
<script type="text/javascript" src="/portal/resources/js/jquery/jquery.js"></script>
<script type="text/javascript" src="/portal/resources/js/jquery/jquery-ui.min.js"></script>
<script type="text/javascript" src="/portal/resources/js/mustache/mustache-min.js"></script>
<script type="text/javascript" src="/style-guide/js/fluig-style-guide.min.js" charset="utf-8"></script>
<script type="text/javascript" src="compras.js"></script>
</head>
<body>
<div class="fluig-style-guide">
<form name="form" role="form">
<link rel="stylesheet" type="text/css" href="/style-guide/css/fluig-style-guide.min.css">
<div class="fluig-style-guide fs-display-block">
<div class="panel panel-info">
<div class="panel-heading"><strong>Dados da Solicitação</strong></div>
<div class="panel-body">
<div class="row">
<div class="col-sm-6">
<label>Empresa</label>
<input type="hidden" name="empresaCodigo" id="empresaCodigo">
<input type="text" name="empresaDesc" id="empresaDesc" class="form-control zoom"
data-zoom="empresa" placeholder="Selecione..." readonly>
</div>
<div class="col-sm-6">
<label>Filial</label>
<input type="hidden" name="filialCodigo" id="filialCodigo">
<input type="text" name="filialDesc" id="filialDesc" class="form-control zoom"
data-zoom="filial" placeholder="Selecione..." readonly>
</div>
</div>
<div class="row m-t-15">
<div class="col-sm-4">
<label>Tipo de Solicitação <span class="text-danger">*</span></label>
<select name="tipoSolicitacao" id="tipoSolicitacao" class="form-control" required>
<option value="">Selecione</option>
<option>Material</option>
<option>Serviço</option>
</select>
</div>
<div class="col-sm-8">
<label>Produto/Serviço <span class="text-danger">*</span></label>
<div class="input-group">
<input type="hidden" name="produtoCod" id="produtoCod">
<input type="text" name="produtoDesc" id="produtoDesc" class="form-control zoom"
data-zoom="produto" placeholder="Buscar..." readonly required>
<span class="input-group-btn">
<button class="btn btn-default" type="button" id="btnBuscaProd"><span
class="fluigicon fluigicon-search"></span></button>
<button class="btn btn-danger" type="button" id="btnLimpaProd"><span
class="fluigicon fluigicon-trash"></span></button>
</span>
</div>
</div>
</div>
<div class="row m-t-10">
<div class="col-sm-3">
<label>Último Preço</label>
<input type="text" name="ultimoPreco" id="ultimoPreco" class="form-control text-right"
readonly value="0,00">
</div>
<div class="col-sm-3">
<label>Preço de Referência</label>
<input type="text" name="precoRef" id="precoRef" class="form-control text-right"
value="0,00">
</div>
<div class="col-sm-3">
<label>Quantidade <span class="text-danger">*</span></label>
<div class="input-group">
<span class="input-group-btn"><button type="button" class="btn btn-default"
id="qtdMenos"></button></span>
<input type="number" min="0" step="1" name="quantidade" id="quantidade"
class="form-control text-center" value="0" required>
<span class="input-group-btn"><button type="button" class="btn btn-default"
id="qtdMais">+</button></span>
</div>
</div>
<div class="col-sm-3">
<label>Data da Necessidade <span class="text-danger">*</span></label>
<input type="text" name="dataNec" id="dataNec" class="form-control"
placeholder="dd/mm/aaaa" required>
</div>
</div>
<div class="row m-t-10">
<div class="col-sm-6">
<label>Centro de Custo <span class="text-danger">*</span></label>
<input type="hidden" name="ccCod" id="ccCod">
<input type="text" name="ccDesc" id="ccDesc" class="form-control zoom"
data-zoom="centrocusto" placeholder="Selecione..." readonly required>
</div>
<div class="col-sm-3">
<label>Compra Emergencial?</label>
<select name="emergencial" id="emergencial" class="form-control">
<option>Não</option>
<option>Sim</option>
</select>
</div>
<div class="col-sm-3">
<label>Total</label>
<input type="text" name="total" id="total" class="form-control text-right" readonly
value="R$ 0,00">
</div>
</div>
<div class="row m-t-15">
<div class="col-sm-12">
<button type="button" class="btn btn-success" id="btnAddAnexo">
<span class="fluigicon fluigicon-upload"></span> Adicionar Anexo
</button>
<!-- o componente de anexos padrão do Fluig aparece automaticamente no cabeçalho; esse botão é opcional -->
</div>
</div>
<div class="row m-t-10">
<div class="col-sm-12">
<label>Observação do Item</label>
<textarea name="obs" id="obs" class="form-control" rows="3"></textarea>
</div>
</div>
<div class="text-center m-t-15">
<button type="button" id="btnAddItem" class="btn btn-primary">
<span class="fluigicon fluigicon-add"></span> Adicionar Item
</button>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading"><strong>Itens</strong></div>
<div class="panel-body">
<table id="tbItens" tablename="tbItens" class="table table-bordered">
<thead>
<tr>
<th>Produto</th>
<th>Centro de Custo</th>
<th>Qtd</th>
<th>Preço Ref.</th>
<th>Total</th>
<th>Ação</th>
</tr>
</thead>
<tbody>
<!-- linhas filhos via wdkAddChild -->
</tbody>
</table>
</div>
</div>
</div>
</form>
</div>
</body>
</html>

View File

@ -1 +0,0 @@
application.title=applicationTitle

View File

@ -1,61 +0,0 @@
function defineStructure() {
addColumn("codigo");
addColumn("descricao");
}
function onSync(lastSyncDate) {}
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
var dataSource = "/jdbc/ProtheusP12"; // 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 b1_cod, b1_desc FROM sb1010 WHERE LEFT(b1_cod, 4) IN ('0001','0008', '0002', '0003', '0007', '0006', '0009', '0010', '0011', '0014','0016')";
log.info("Query SQL: " + sql);
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
dataset.addColumn("codigo");
dataset.addColumn("descricao");
var encontrados = {}; // Usando um objeto para evitar duplicação
while (rs.next()) {
var codigo = rs.getString("b1_cod");
var descricao = rs.getString("b1_desc");
if (!encontrados[codigo]) { // Verifica se já foi adicionado
encontrados[codigo] = true; // Marca como processado
log.info("Registro encontrado: " + codigo + " - " + descricao);
dataset.addRow([codigo, descricao]);
}
}
if (Object.keys(encontrados).length === 0) {
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) {}

View File

@ -1,9 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_en_US.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_es.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_pt_BR.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/application.info=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/layout.ftl=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/webapp/resources/css/TIginseng_layoutblocado.css=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/webapp/resources/images/icon.png=utf8

View File

@ -1,13 +0,0 @@
eclipse.preferences.version=1
encoding//forms/7690\ -\ Aniversariantes/kit_aniversariantes.html=UTF-8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_en_US.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_es.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_pt_BR.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/application.info=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/layout.ftl=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/webapp/WEB-INF/jboss-web.xml=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/webapp/WEB-INF/web.xml=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/webapp/resources/css/TIginseng_layoutblocado.css=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/webapp/resources/images/icon.png=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/webapp/resources/js/TIginseng_layoutblocado.js=utf8

View File

@ -1,6 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/TIginseng_comprasdigital.properties=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/TIginseng_comprasdigital_en_US.properties=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/application.info=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/view.ftl=utf8

View File

@ -1,7 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_en_US.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_es.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/TIginseng_layoutblocado_pt_BR.properties=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/application.info=utf8
encoding//wcm/layout/TIginseng_layoutblocado/src/main/resources/layout.ftl=utf8

View File

@ -1,83 +0,0 @@
<div class="fluig-style-guide">
<div id="wcm_header" class="wcm-header-background wcm-header">
<!-- Group left -->
<div class="header-grouper-left">
<a href="home" class="wcm_logo" title="${i18n.getTranslation('layout.label.pagetitle')}">
<#if '${imageLogo}'=='true'>
<img src="${serverContextURL}/resources/images/${pageRender.user.tenantId}/logo_image.png"></img>
<#else>
<img src="${serverContextURL}/resources/images/logo.png"></img>
</#if>
</a>
</div>
<!-- Group right -->
<div class="header-grouper-right">
<!-- Container login -->
<div id="SlotLogin" slot="true" class="slot-header-actions">
<#list (pageRender.getInstancesIds("SlotLogin"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>
</div>
</div>
<!-- WCM Wrapper content -->
<div class="wcm-wrapper-content">
<!-- Menu esquerdo -->
<nav class="wcm-navigation wcm-menu-background">
<div id="SlotMenu" slot="true">
<#list (pageRender.getInstancesIds("SlotMenu"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>
</nav>
<!-- Wrapper -->
<div class="wcm-all-content">
<div id="wcm-content" class="clearfix wcm-background">
<!--WIDGETS DO LAYOUT -->
<link type="text/css" rel="stylesheet" href="${contextPath}/resources/css/wcm_layout.css"/>
<!-- Onde deverá estar a barra de formatação -->
<#if pageRender.isEditMode()=true>
<div name="formatBar" id="formatBar"></div>
<!-- Div geral -->
<!-- Há CSS distinto para Edição/Visualização -->
<div id="edicaoPagina" class="clearfix">
<#else>
<div id="visualizacaoPagina" class="clearfix">
</#if>
<!-- Titulo da página -->
<div class="slotfull layout-1-1">
<span class="titleArea">${i18n.getTranslation('wcm.layoutdefault.title')}</span>
<h2 class="pageTitle">${pageTitle}</h2>
</div>
<!-- Slot 1 -->
<div class="editable-slot slotfull layout-1-1" id="slotFull1">
<div id="SlotC" slot="true" class="slotint" decorator="false" editableSlot="true">
<#list (pageRender.getInstancesIds("SlotC"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>
</div>
<!-- Slot 2 -->
<div class="editable-slot slotfull layout-1-1" id="slotFull2">
<div id="SlotB" slot="true" class="slotint" decorator="false" editableSlot="true">
<#list (pageRender.getInstancesIds("SlotB"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>
</div>
<!-- Slot 3 -->
<div class="editable-slot slotfull layout-1-1" id="slotFull3">
<!-- Widget -->
<div id="SlotA" slot="true" class="slotint" decorator="true" editableSlot="true">
<#list (pageRender.getInstancesIds("SlotA"))! as id>
${pageRender.renderInstance(id)}
</#list>
</div>
</div>
</div>
<!-- FIM DAS WIDGETS DO LAYOUT -->
<div id="wcm_footer" class="wcm_footer"></div>
</div>
</div>
</div>
</div>

View File

@ -1,23 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/layout/LayoutCadastro/src/main/resources/LayoutCadastro.properties=utf8
encoding//wcm/layout/LayoutCadastro/src/main/resources/LayoutCadastro_en_US.properties=utf8
encoding//wcm/layout/LayoutCadastro/src/main/resources/LayoutCadastro_es.properties=utf8
encoding//wcm/layout/LayoutCadastro/src/main/resources/LayoutCadastro_pt_BR.properties=utf8
encoding//wcm/layout/LayoutCadastro/src/main/resources/application.info=utf8
encoding//wcm/layout/LayoutCadastro/src/main/resources/layout.ftl=utf8
encoding//wcm/layout/LayoutCadastro/src/main/webapp/WEB-INF/jboss-web.xml=utf8
encoding//wcm/layout/LayoutCadastro/src/main/webapp/resources/css/LayoutCadastro.css=utf8
encoding//wcm/layout/LayoutCadastro/src/main/webapp/resources/images/icon.png=utf8
encoding//wcm/layout/LayoutCadastro/src/main/webapp/resources/js/LayoutCadastro.js=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/view.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_en_US.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_es.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_pt_BR.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/WEB-INF/jboss-web.xml=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/WEB-INF/web.xml=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/css/widget_code_compras.css=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/images/icon.png=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/js/widget_code_compras.js=utf8

View File

@ -1,24 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/layout/LayoutCadastro/src/main/resources/LayoutCadastro.properties=utf8
encoding//wcm/layout/LayoutCadastro/src/main/resources/LayoutCadastro_en_US.properties=utf8
encoding//wcm/layout/LayoutCadastro/src/main/resources/LayoutCadastro_es.properties=utf8
encoding//wcm/layout/LayoutCadastro/src/main/resources/LayoutCadastro_pt_BR.properties=utf8
encoding//wcm/layout/LayoutCadastro/src/main/resources/application.info=utf8
encoding//wcm/layout/LayoutCadastro/src/main/resources/layout.ftl=utf8
encoding//wcm/layout/LayoutCadastro/src/main/webapp/WEB-INF/jboss-web.xml=utf8
encoding//wcm/layout/LayoutCadastro/src/main/webapp/WEB-INF/web.xml=utf8
encoding//wcm/layout/LayoutCadastro/src/main/webapp/resources/css/LayoutCadastro.css=utf8
encoding//wcm/layout/LayoutCadastro/src/main/webapp/resources/images/icon.png=utf8
encoding//wcm/layout/LayoutCadastro/src/main/webapp/resources/js/LayoutCadastro.js=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/view.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_en_US.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_es.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_pt_BR.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/WEB-INF/jboss-web.xml=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/WEB-INF/web.xml=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/css/widget_code_compras.css=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/images/icon.png=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/js/widget_code_compras.js=utf8

View File

@ -1,2 +0,0 @@
eclipse.preferences.version=1
encoding//forms/7690\ -\ Aniversariantes/kit_aniversariantes.html=UTF-8

View File

@ -1,5 +0,0 @@
application.title=Olá Mundo
application.description=Olá Mundo
hello.example.hello=Olá Mundo!
hello.example.helloedit=Olá Mundo! (Edit)
hello.button.showMessage=Exibir mensagem

View File

@ -1,4 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/application.info=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/view.ftl=utf8

View File

@ -1,127 +0,0 @@
<#-- Puxa o dataset de notícias -->
<#assign dsNoticias = DatasetFactory.getDataset("Noticias", null, null, null) />
<style>
/* Container principal */
.slider-container {
position: relative;
width: 100%;
max-width: 1000px;
margin: 20px auto;
overflow: hidden;
}
/* Wrapper dos slides */
.slider-wrapper {
display: flex;
transition: transform 0.5s ease-in-out;
}
/* Card individual */
.slider-card {
flex: 0 0 25%; /* 4 cards por vez no desktop */
box-sizing: border-box;
padding: 10px;
}
.slider-card img {
width: 100%;
height: auto;
border-radius: 8px;
display: block;
}
.slider-card h3 {
margin: 8px 0 4px;
font-size: 16px;
}
.slider-card p {
font-size: 13px;
color: #555;
}
/* Botões */
.slider-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(0,0,0,0.5);
color: #fff;
border: none;
font-size: 24px;
padding: 10px;
cursor: pointer;
border-radius: 50%;
z-index: 10;
}
.slider-btn.prev { left: 5px; }
.slider-btn.next { right: 5px; }
/* Responsivo */
@media screen and (max-width: 900px) {
.slider-card { flex: 0 0 33.33%; } /* 3 cards */
}
@media screen and (max-width: 600px) {
.slider-card { flex: 0 0 50%; } /* 2 cards */
}
@media screen and (max-width: 400px) {
.slider-card { flex: 0 0 100%; } /* 1 card */
}
</style>
<div class="slider-container">
<div class="slider-wrapper" id="sliderWrapper">
<#list dsNoticias.values as noticia>
<div class="slider-card">
<a href="${noticia[2]!}" target="_blank">
<img src="${noticia[3]!}" alt="${noticia[0]!}">
</a>
<h3>${noticia[0]!}</h3>
<p>${noticia[1]!}</p>
</div>
</#list>
</div>
<button class="slider-btn prev" onclick="prevCard()">&#10094;</button>
<button class="slider-btn next" onclick="nextCard()">&#10095;</button>
</div>
<script>
const sliderWrapper = document.getElementById('sliderWrapper');
const cards = sliderWrapper.children;
let cardIndex = 0;
// Quantos cards são visíveis atualmente
function visibleCards() {
if (window.innerWidth <= 400) return 1;
if (window.innerWidth <= 600) return 2;
if (window.innerWidth <= 900) return 3;
return 4;
}
function updateSlider() {
const shift = (100 / visibleCards()) * cardIndex;
sliderWrapper.style.transform = `translateX(-${shift}%)`;
}
// Botões
function nextCard() {
const maxIndex = cards.length - visibleCards();
cardIndex = Math.min(cardIndex + 1, maxIndex);
updateSlider();
}
function prevCard() {
cardIndex = Math.max(cardIndex - 1, 0);
updateSlider();
}
// Redimensionamento da tela
window.addEventListener('resize', updateSlider);
// Auto-slide opcional (descomente se quiser)
// setInterval(nextCard, 5000);
updateSlider();
</script>

View File

@ -1,13 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/widget/widget_code_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/view.ftl=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_en_US.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_es.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/resources/widget_code_compras_pt_BR.properties=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/WEB-INF/jboss-web.xml=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/WEB-INF/web.xml=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/css/widget_code_compras.css=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/images/icon.png=utf8
encoding//wcm/widget/widget_code_compras/src/main/webapp/resources/js/widget_code_compras.js=utf8

View File

@ -1,5 +0,0 @@
application.title=\u00A1Hola Mundo
application.description=\u00A1Hola Mundo
hello.example.hello=\u00A1Hola Mundo!
hello.example.helloedit=\u00A1Hola Mundo! (Edit)
hello.button.showMessage=Mostrar mensaje

View File

@ -1,2 +0,0 @@
// Insira aqui seu codigo JavaScript

View File

@ -1,83 +0,0 @@
<div class="fluig-style-guide">
<div id="wcm_header" class="wcm-header-background wcm-header">
<!-- Group left -->
<div class="header-grouper-left">
<a href="home" class="wcm_logo" title="${i18n.getTranslation('layout.label.pagetitle')}">
<#if '${imageLogo}'=='true'>
<img src="${serverContextURL}/resources/images/${pageRender.user.tenantId}/logo_image.png"></img>
<#else>
<img src="${serverContextURL}/resources/images/logo.png"></img>
</#if>
</a>
</div>
<!-- Group right -->
<div class="header-grouper-right">
<!-- Container login -->
<div id="SlotLogin" slot="true" class="slot-header-actions">
<#list (pageRender.getInstancesIds("SlotLogin"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>
</div>
</div>
<!-- WCM Wrapper content -->
<div class="wcm-wrapper-content">
<!-- Menu esquerdo -->
<nav class="wcm-navigation wcm-menu-background">
<div id="SlotMenu" slot="true">
<#list (pageRender.getInstancesIds("SlotMenu"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>
</nav>
<!-- Wrapper -->
<div class="wcm-all-content">
<div id="wcm-content" class="clearfix wcm-background">
<!--WIDGETS DO LAYOUT -->
<link type="text/css" rel="stylesheet" href="${contextPath}/resources/css/wcm_layout.css"/>
<!-- Onde deverá estar a barra de formatação -->
<#if pageRender.isEditMode()=true>
<div name="formatBar" id="formatBar"></div>
<!-- Div geral -->
<!-- Há CSS distinto para Edição/Visualização -->
<div id="edicaoPagina" class="clearfix">
<#else>
<div id="visualizacaoPagina" class="clearfix">
</#if>
<!-- Titulo da página -->
<div class="slotfull layout-1-1">
<span class="titleArea">${i18n.getTranslation('wcm.layoutdefault.title')}</span>
<h2 class="pageTitle">${pageTitle}</h2>
</div>
<!-- Slot 1 -->
<div class="editable-slot slotfull layout-1-1" id="slotFull1">
<div id="SlotC" slot="true" class="slotint" decorator="false" editableSlot="true">
<#list (pageRender.getInstancesIds("SlotC"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>
</div>
<!-- Slot 2 -->
<div class="editable-slot slotfull layout-1-1" id="slotFull2">
<div id="SlotB" slot="true" class="slotint" decorator="false" editableSlot="true">
<#list (pageRender.getInstancesIds("SlotB"))! as id>
${pageRender.renderInstanceNoDecorator(id)}
</#list>
</div>
</div>
<!-- Slot 3 -->
<div class="editable-slot slotfull layout-1-1" id="slotFull3">
<!-- Widget -->
<div id="SlotA" slot="true" class="slotint" decorator="true" editableSlot="true">
<#list (pageRender.getInstancesIds("SlotA"))! as id>
${pageRender.renderInstance(id)}
</#list>
</div>
</div>
</div>
<!-- FIM DAS WIDGETS DO LAYOUT -->
<div id="wcm_footer" class="wcm_footer"></div>
</div>
</div>
</div>
</div>

View File

@ -1,9 +0,0 @@
eclipse.preferences.version=1
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/TIginseng_comprasdigital.properties=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/TIginseng_comprasdigital_en_US.properties=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/TIginseng_comprasdigital_es.properties=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/TIginseng_comprasdigital_pt_BR.properties=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/application.info=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/resources/view.ftl=utf8
encoding//wcm/widget/TIginseng_comprasdigital/src/main/webapp/resources/css/TIginseng_comprasdigital.css=utf8

View File

@ -1,92 +0,0 @@
function defineStructure() {
dataset.addColumn("codigo");
dataset.addColumn("descricao");
dataset.addColumn("CNPJ");
dataset.addColumn("ENDERECO");
dataset.addColumn("COMPLEMENTO");
dataset.addColumn("BAIRRO");
dataset.addColumn("CIDADE");
dataset.addColumn("ESTADO");
dataset.addColumn("CEP");
dataset.addColumn("CODIGO MUNICIPIO");
dataset.addColumn("BPCS");
}
function onSync(lastSyncDate) {}
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
var dataSource = "/jdbc/ProtheusP12"; // 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 M0_CODFIL, M0_FILIAL, M0_CGC, M0_ENDENT, M0_COMPENT, M0_BAIRENT, M0_CIDENT, M0_ESTENT, M0_CEPENT, M0_CODMUN, M0_TEL_PO, * from SYS_COMPANY WHERE M0_CODFIL LIKE '0101%' OR M0_CODFIL LIKE'03%' AND D_E_L_E_T_= ''";
log.info("Query SQL: " + sql);
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
dataset.addColumn("CODIGO");
dataset.addColumn("DESCRICAO");
dataset.addColumn("CNPJ");
dataset.addColumn("ENDERECO");
dataset.addColumn("COMPLEMENTO");
dataset.addColumn("BAIRRO");
dataset.addColumn("CIDADE");
dataset.addColumn("ESTADO");
dataset.addColumn("CEP");
dataset.addColumn("CODIGO MUNICIPIO");
dataset.addColumn("BPCS");
var encontrados = {}; // Usando um objeto para evitar duplicação
while (rs.next()) {
var codigo = rs.getString("M0_CODFIL");
var descricao = rs.getString("M0_FILIAL");
var cnpj = rs.getString("M0_CGC");
var endereco = rs.getString("M0_ENDENT");
var complemento = rs.getString("M0_COMPENT");
var bairro = rs.getString("M0_BAIRENT");
var cidade = rs.getString("M0_CIDENT");
var estado = rs.getString("M0_ESTENT");
var cep = rs.getString("M0_CEPENT");
var ibge = rs.getString("M0_CODMUN");
var bpcs = rs.getString("M0_TEL_PO");
if (!encontrados[codigo]) { // Verifica se já foi adicionado
encontrados[codigo] = true; // Marca como processado
log.info("Registro encontrado: " + codigo + " - " + descricao);
dataset.addRow([codigo, descricao,cnpj,endereco,complemento,bairro,cidade,estado,cep,ibge, bpcs]);
}
}
if (Object.keys(encontrados).length === 0) {
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) {}

View File

@ -1,93 +0,0 @@
<#import "/wcm.ftl" as wcm />
<#import "/layout-globals.ftl" as globals />
<#-- Layout base do portal -->
<div class="wcm-wrapper-content ${wcmLayoutEditClass!""} ${pageAuthTypeClass!""}">
<#-- Cabeçalho/menu aparecem só fora do modo de edição -->
<#if pageRender.isEditMode() != true>
<@wcm.header />
<@wcm.menu />
</#if>
<div class="wcm-all-content">
<div id="wcm-content" class="clearfix wcm-background">
<#-- Ferramentas do editor quando estiver no modo edição -->
<#if pageRender.isEditMode() = true>
<@wcm.editHeader />
<@wcm.widgetsList />
</#if>
<div id="${divMasterId!""}" class="clearfix">
<!-- CONTEÚDO DA SUA PÁGINA (layout de cards) -->
<div class="cd-wrap">
<h2 class="cd-h2">Compras Digital</h2>
<p class="cd-sub">
Solução para simplificar e otimizar a aquisição de produtos e serviços.
</p>
<div class="cd-grid">
<!-- Ajuste APENAS os hrefs abaixo para seus links/processos reais -->
<a class="cd-card" href="/portal/p/1/pageprocessstart?processId=CadastroProdutos">
<div class="cd-illus"><i class="fluigicon fluigicon-box fluigicon-3x"></i></div>
<div class="cd-ttl">Cadastro de Produtos</div>
<div class="cd-txt">Adicione e gerencie produtos de maneira centralizada.</div>
</a>
<a class="cd-card" href="/portal/p/1/pageworkflowview?processID=Solicitação%20de%20compras%20-%20v2">
<div class="cd-illus"><i class="fluigicon fluigicon-cart fluigicon-3x"></i></div>
<div class="cd-ttl">Solicitação de Compras</div>
<div class="cd-txt">Faça suas solicitações de forma rápida e eficiente.</div>
</a>
<a class="cd-card" href="/portal/p/1/pagina-cotacoes">
<div class="cd-illus"><i class="fluigicon fluigicon-money fluigicon-3x"></i></div>
<div class="cd-ttl">Cotações</div>
<div class="cd-txt">Compare orçamentos e encontre as melhores ofertas.</div>
</a>
<a class="cd-card" href="/portal/p/1/pageworkflowview">
<div class="cd-illus"><i class="fluigicon fluigicon-check fluigicon-3x"></i></div>
<div class="cd-ttl">Pedidos de Compras</div>
<div class="cd-txt">Acompanhe e confirme pedidos de compra.</div>
</a>
<a class="cd-card" href="/portal/p/1/pageworkflowview?processID=FlowEssentials_LancamentodeDocumento">
<div class="cd-illus"><i class="fluigicon fluigicon-document-alt fluigicon-3x"></i></div>
<div class="cd-ttl">Notas Fiscais</div>
<div class="cd-txt">Simplifique a entrada e conferência de NFs.</div>
</a>
<a class="cd-card" href="/portal/p/1/pagina-parametros">
<div class="cd-illus"><i class="fluigicon fluigicon-cog fluigicon-3x"></i></div>
<div class="cd-ttl">Parâmetros</div>
<div class="cd-txt">Personalize as configurações conforme a necessidade.</div>
</a>
</div>
</div>
<style>
.cd-wrap{max-width:1200px;margin:0 auto;padding:24px}
.cd-h2{margin:0 0 6px;font-weight:700;font-size:24px}
.cd-sub{margin:0 0 22px;color:#6b7280}
.cd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.cd-card{display:block;background:#fff;border-radius:14px;padding:22px;text-decoration:none;color:#111827;
box-shadow:0 1px 3px rgba(0,0,0,.08);min-height:210px;transition:transform .15s ease, box-shadow .15s ease}
.cd-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.cd-illus{width:120px;height:120px;border-radius:60px;background:#f3f4f6;margin:0 auto 12px;
display:flex;align-items:center;justify-content:center}
.cd-ttl{text-align:center;font-weight:700;margin-bottom:6px}
.cd-txt{text-align:center;color:#6b7280;font-size:13px}
body.dark .cd-card{background:#1f2937;color:#e5e7eb}
body.dark .cd-illus{background:#111827}
body.dark .cd-txt{color:#9ca3af}
</style>
<!-- FIM DO CONTEÚDO -->
</div>
</div>
</div>
</div>

View File

@ -1,48 +0,0 @@
<div id="MyWidget_${instanceId}" class="super-widget wcm-widget-class fluig-style-guide" data-params="MyWidget.instance()">
<div class="form-group">
<label>Usar ícones do Fluig? (S/N)</label>
<input type="text" name="usaIcones" value="${(params.usaIcones!'N')}"/>
</div>
<h4>URLs dos cards</h4>
<div class="form-group"><label>Cadastro de Produtos</label>
<input type="text" name="urlCadastroProdutos" value="${(params.urlCadastroProdutos!'#/cadastro-produtos')}"/>
</div>
<div class="form-group"><label>Solicitação de Compras</label>
<input type="text" name="urlSolicitacao" value="${(params.urlSolicitacao!'#/solicitacao-compras')}"/>
</div>
<div class="form-group"><label>Cotações</label>
<input type="text" name="urlCotacoes" value="${(params.urlCotacoes!'#/cotacoes')}"/>
</div>
<div class="form-group"><label>Pedidos</label>
<input type="text" name="urlPedidos" value="${(params.urlPedidos!'#/pedidos-compras')}"/>
</div>
<div class="form-group"><label>Notas Fiscais</label>
<input type="text" name="urlNotas" value="${(params.urlNotas!'#/notas-fiscais')}"/>
</div>
<div class="form-group"><label>Parâmetros</label>
<input type="text" name="urlParametros" value="${(params.urlParametros!'#/parametros')}"/>
</div>
<h4>(Opcional) Caminho das imagens</h4>
<div class="form-group"><label>Icone Cadastro</label>
<input type="text" name="iconCadastroProdutos" value="${(params.iconCadastroProdutos!'')}"/>
</div>
<div class="form-group"><label>Icone Solicitação</label>
<input type="text" name="iconSolicitacao" value="${(params.iconSolicitacao!'')}"/>
</div>
<div class="form-group"><label>Icone Cotações</label>
<input type="text" name="iconCotacoes" value="${(params.iconCotacoes!'')}"/>
</div>
<div class="form-group"><label>Icone Pedidos</label>
<input type="text" name="iconPedidos" value="${(params.iconPedidos!'')}"/>
</div>
<div class="form-group"><label>Icone Notas</label>
<input type="text" name="iconNotas" value="${(params.iconNotas!'')}"/>
</div>
<div class="form-group"><label>Icone Parâmetros</label>
<input type="text" name="iconParametros" value="${(params.iconParametros!'')}"/>
</div>
</div>

View File

@ -1,11 +0,0 @@
eclipse.preferences.version=1
encoding//forms/7690\ -\ Aniversariantes/kit_aniversariantes.html=UTF-8
encoding//wcm/widget/cards_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_en_US.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_es.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_pt_BR.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/cards_compras/src/main/resources/view.ftl=utf8
encoding//wcm/widget/cards_compras/src/main/webapp/resources/css/cards_compras.css=utf8
encoding//wcm/widget/cards_compras/src/main/webapp/resources/images/icon.png=utf8

View File

@ -1 +0,0 @@
/*insira aqui seu código CSS*/

View File

@ -1,96 +0,0 @@
function defineStructure() {
dataset.addColumn("codigo");
dataset.addColumn("descricao");
dataset.addColumn("CNPJ");
dataset.addColumn("ENDERECO");
dataset.addColumn("COMPLEMENTO");
dataset.addColumn("BAIRRO");
dataset.addColumn("CIDADE");
dataset.addColumn("ESTADO");
dataset.addColumn("CEP");
dataset.addColumn("CODIGO MUNICIPIO");
dataset.addColumn("BPCS");
dataset.addColumn("LOJA");
}
function onSync(lastSyncDate) {}
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
var dataSource = "/jdbc/ProtheusP12"; // 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 M0_CODFIL, M0_FILIAL, M0_CGC, M0_ENDENT, M0_COMPENT, M0_BAIRENT, M0_CIDENT, M0_ESTENT, M0_CEPENT, M0_CODMUN, M0_TEL_PO, * from SYS_COMPANY WHERE M0_CODFIL LIKE '0101%' OR M0_CODFIL LIKE'03%' AND D_E_L_E_T_= ''";
log.info("Query SQL: " + sql);
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
dataset.addColumn("CODIGO");
dataset.addColumn("DESCRICAO");
dataset.addColumn("CNPJ");
dataset.addColumn("ENDERECO");
dataset.addColumn("COMPLEMENTO");
dataset.addColumn("BAIRRO");
dataset.addColumn("CIDADE");
dataset.addColumn("ESTADO");
dataset.addColumn("CEP");
dataset.addColumn("CODIGO MUNICIPIO");
dataset.addColumn("BPCS");
dataset.addColumn("LOJA");
var encontrados = {}; // Usando um objeto para evitar duplicação
while (rs.next()) {
var codigo = rs.getString("M0_CODFIL");
var descricao = rs.getString("M0_FILIAL");
var cnpj = rs.getString("M0_CGC");
var endereco = rs.getString("M0_ENDENT");
var complemento = rs.getString("M0_COMPENT");
var bairro = rs.getString("M0_BAIRENT");
var cidade = rs.getString("M0_CIDENT");
var estado = rs.getString("M0_ESTENT");
var cep = rs.getString("M0_CEPENT");
var ibge = rs.getString("M0_CODMUN");
var bpcs = rs.getString("M0_TEL_PO");
// aqui monta a coluna nova
var loja = (bpcs ? bpcs : "") + " - " + (descricao ? descricao : "");
if (!encontrados[codigo]) { // Verifica se já foi adicionado
encontrados[codigo] = true; // Marca como processado
log.info("Registro encontrado: " + codigo + " - " + descricao);
dataset.addRow([codigo, descricao,cnpj,endereco,complemento,bairro,cidade,estado,cep,ibge, bpcs, loja]);
}
}
if (Object.keys(encontrados).length === 0) {
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) {}

View File

@ -1,96 +0,0 @@
function defineStructure() {
dataset.addColumn("codigo");
dataset.addColumn("descricao");
dataset.addColumn("CNPJ");
dataset.addColumn("ENDERECO");
dataset.addColumn("COMPLEMENTO");
dataset.addColumn("BAIRRO");
dataset.addColumn("CIDADE");
dataset.addColumn("ESTADO");
dataset.addColumn("CEP");
dataset.addColumn("CODIGO MUNICIPIO");
dataset.addColumn("BPCS");
dataset.addColumn("LOJA");
}
function onSync(lastSyncDate) {}
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
var dataSource = "/jdbc/ProtheusP12"; // 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 M0_CODFIL, M0_FILIAL, M0_CGC, M0_ENDENT, M0_COMPENT, M0_BAIRENT, M0_CIDENT, M0_ESTENT, M0_CEPENT, M0_CODMUN, M0_TEL_PO, * from SYS_COMPANY WHERE M0_CODFIL LIKE '0101%' OR M0_CODFIL LIKE'03%' AND D_E_L_E_T_= ''";
log.info("Query SQL: " + sql);
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
dataset.addColumn("CODIGO");
dataset.addColumn("DESCRICAO");
dataset.addColumn("CNPJ");
dataset.addColumn("ENDERECO");
dataset.addColumn("COMPLEMENTO");
dataset.addColumn("BAIRRO");
dataset.addColumn("CIDADE");
dataset.addColumn("ESTADO");
dataset.addColumn("CEP");
dataset.addColumn("CODIGO MUNICIPIO");
dataset.addColumn("BPCS");
dataset.addColumn("LOJA");
var encontrados = {}; // Usando um objeto para evitar duplicação
while (rs.next()) {
var codigo = rs.getString("M0_CODFIL");
var descricao = rs.getString("M0_FILIAL");
var cnpj = rs.getString("M0_CGC");
var endereco = rs.getString("M0_ENDENT");
var complemento = rs.getString("M0_COMPENT");
var bairro = rs.getString("M0_BAIRENT");
var cidade = rs.getString("M0_CIDENT");
var estado = rs.getString("M0_ESTENT");
var cep = rs.getString("M0_CEPENT");
var ibge = rs.getString("M0_CODMUN");
var bpcs = rs.getString("M0_TEL_PO");
// aqui monta a coluna nova
var loja = (bpcs ? bpcs : "") + "-" + (descricao ? descricao : "");
if (!encontrados[codigo]) { // Verifica se já foi adicionado
encontrados[codigo] = true; // Marca como processado
log.info("Registro encontrado: " + codigo + " - " + descricao);
dataset.addRow([codigo, descricao,cnpj,endereco,complemento,bairro,cidade,estado,cep,ibge, bpcs, loja]);
}
}
if (Object.keys(encontrados).length === 0) {
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) {}

View File

@ -1,18 +0,0 @@
<div id="compras_edit_${instanceId}" class="super-widget wcm-widget-class"
data-params="ComprasDigitalEdit.instance()">
<div class="panel panel-default">
<div class="panel-heading"><b>Configurar cartões</b></div>
<div class="panel-body">
<p>Informe os cartões em <b>JSON</b> (title, text, href, icon, target).</p>
<textarea id="cd-cards-${instanceId}" class="form-control" rows="12">${cards!''}</textarea>
<div style="margin-top:10px">
<button class="btn btn-primary" data-save>Salvar</button>
<button class="btn btn-default" data-fill-example>Preencher exemplo</button>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="/webdesk/vcXMLRPC?widgetID=${widgetId}&file=resources/js/cd-edit.js"></script>
<link rel="stylesheet" type="text/css" href="/webdesk/vcXMLRPC?widgetID=${widgetId}&file=resources/css/cd.css"/>

View File

@ -1,22 +0,0 @@
var MyWidget = SuperWidget.extend({
//variáveis da widget
variavelNumerica: null,
variavelCaracter: null,
//método iniciado quando a widget é carregada
init: function() {
},
//BIND de eventos
bindings: {
local: {
'execute': ['click_executeAction']
},
global: {}
},
executeAction: function(htmlElement, event) {
}
});

View File

@ -1,9 +0,0 @@
eclipse.preferences.version=1
encoding//forms/7690\ -\ Aniversariantes/kit_aniversariantes.html=UTF-8
encoding//wcm/widget/cards_compras/src/main/resources/application.info=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_en_US.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_es.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/cards_compras_pt_BR.properties=utf8
encoding//wcm/widget/cards_compras/src/main/resources/edit.ftl=utf8
encoding//wcm/widget/cards_compras/src/main/resources/view.ftl=utf8

View File

@ -1,67 +0,0 @@
<!-- Cabeçalho da página -->
<div class="cd-wrap">
<h2 class="cd-h2">Compras Digital</h2>
<p class="cd-sub">Solução para simplificar e otimizar a aquisição de produtos e serviços.</p>
<div class="cd-grid">
<!-- 1. Cadastro de Produtos -->
<a class="cd-card" href="/portal/p/1/pageprocessstart?processId=CadastroProdutos">
<div class="cd-illus"><i class="fluigicon fluigicon-box fluigicon-3x"></i></div>
<div class="cd-ttl">Cadastro de Produtos</div>
<div class="cd-txt">Adicione e gerencie produtos de maneira centralizada.</div>
</a>
<!-- 2. Solicitação de Compras (exemplo iniciando processo) -->
<a class="cd-card" href="/portal/p/1/pageprocessstart?processId=Solicita%C3%A7%C3%A3o%20de%20compras%20-%20v2">
<div class="cd-illus"><i class="fluigicon fluigicon-cart fluigicon-3x"></i></div>
<div class="cd-ttl">Solicitação de Compras</div>
<div class="cd-txt">Faça suas solicitações de forma rápida e eficiente.</div>
</a>
<!-- 3. Cotações (aponte para sua página/processo de cotação) -->
<a class="cd-card" href="/portal/p/1/pagina-cotacoes">
<div class="cd-illus"><i class="fluigicon fluigicon-money fluigicon-3x"></i></div>
<div class="cd-ttl">Cotações</div>
<div class="cd-txt">Compare orçamentos e encontre as melhores ofertas.</div>
</a>
<!-- 4. Pedidos de Compras (lista/relatório ou processo) -->
<a class="cd-card" href="/portal/p/1/pageworkflowview">
<div class="cd-illus"><i class="fluigicon fluigicon-check fluigicon-3x"></i></div>
<div class="cd-ttl">Pedidos de Compras</div>
<div class="cd-txt">Acompanhe e confirme pedidos de compra.</div>
</a>
<!-- 5. Notas Fiscais (aponte ao seu app/relatório) -->
<a class="cd-card" href="/portal/p/1/ecmnavigator">
<div class="cd-illus"><i class="fluigicon fluigicon-document-alt fluigicon-3x"></i></div>
<div class="cd-ttl">Notas Fiscais</div>
<div class="cd-txt">Simplifique a entrada e conferência de NFs.</div>
</a>
<!-- 6. Parâmetros (config do seu app) -->
<a class="cd-card" href="/portal/p/1/pagina-parametros">
<div class="cd-illus"><i class="fluigicon fluigicon-cog fluigicon-3x"></i></div>
<div class="cd-ttl">Parâmetros</div>
<div class="cd-txt">Personalize as configurações conforme a necessidade.</div>
</a>
</div>
</div>
<style>
.cd-wrap{max-width:1200px;margin:0 auto;padding:24px}
.cd-h2{margin:0 0 6px;font-weight:700;font-size:24px}
.cd-sub{margin:0 0 22px;color:#6b7280}
.cd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.cd-card{display:block;background:#fff;border-radius:14px;padding:22px;text-decoration:none;color:#111827;
box-shadow:0 1px 3px rgba(0,0,0,.08);min-height:210px;transition:transform .15s ease, box-shadow .15s ease}
.cd-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.cd-illus{width:120px;height:120px;border-radius:60px;background:#f3f4f6;margin:0 auto 12px;
display:flex;align-items:center;justify-content:center}
.cd-ttl{text-align:center;font-weight:700;margin-bottom:6px}
.cd-txt{text-align:center;color:#6b7280;font-size:13px}
/* garante boa leitura no tema escuro */
body.dark .cd-card{background:#1f2937;color:#e5e7eb}
body.dark .cd-illus{background:#111827}
body.dark .cd-txt{color:#9ca3af}
</style>

View File

@ -1,41 +0,0 @@
<#import "/wcm.ftl" as wcm />
<#-- Variaveis globais para os layouts -->
<#import "/layout-globals.ftl" as globals />
<!-- layout ECM-DEFAULT-DASHBOARD -->
<#if pageRender.isPreviewMode() = true>
<@wcm.previewPageAlert />
<@wcm.deviceTogglePreview />
</#if>
<div class="wcm-wrapper-content ${wcmLayoutEditClass!""} ${pageAuthTypeClass!""}">
<#if pageRender.isEditMode() != true>
<@wcm.header />
<@wcm.menu />
</#if>
<div class="wcm-all-content">
<div id="wcm-content" class="clearfix wcm-background">
<#if pageRender.isEditMode() = true>
<@wcm.editHeader />
<@wcm.widgetsList />
</#if>
<div id="${divMasterId!""}" class="clearfix">
<!-- Conteúdo aqui -->
<#if fluigThemeCode != "responsive_theme">
<@wcm.footer layoutuserlabel="wcm.layoutdefaultecmdashboard.user" />
</#if>
</div>
</div>
</div>
</div>

View File

@ -1,5 +0,0 @@
application.title=Hello World
application.description=Hello World
hello.example.hello=Hello World!
hello.example.helloedit=Hello World! (Edit)
hello.button.showMessage=Show message

View File

@ -1 +0,0 @@
application.title=applicationTitle

Some files were not shown because too many files have changed in this diff Show More