Escolar Documentos
Profissional Documentos
Cultura Documentos
Sumário
BANCO DE DADOS......................................................................................................2
MAPEAMENTO.............................................................................................................3
CLASSES DE NECGÓCIO...........................................................................................5
Atributos....................................................................................................................5
Métodos.....................................................................................................................6
CRIAÇÃO DOS HANDLERS.........................................................................................8
main.inc.....................................................................................................................8
pedidocompra.inc......................................................................................................8
pedidocompra/find.inc...............................................................................................9
pedidocompra/main.inc.............................................................................................9
pedidocompra/new.inc............................................................................................10
CRIAÇÃO DOS FORMULÁRIOS................................................................................11
Classe frmPedido()..................................................................................................11
Classe frmPedidoAnexar()......................................................................................11
Classe frmPedidoEdit()...........................................................................................11
Classe frmPedidoIndeferir()....................................................................................11
Classe frmPedidoNew()..........................................................................................11
Classe frmPedidosFind().........................................................................................11
CRIAÇÃO DE UM GRID..............................................................................................12
Classe gridPedidos()...............................................................................................12
Configuração do link....................................................................................................14
Esta classe exibe o link para uma determinada ação numa coluna do Grid. Para
isso é necessário definir todos os métodos abaixo................................................14
setObjectByValue: instancia o objeto que será utilizado durante a execução;......14
setAction: define o link que tal objeto irá receber;..................................................14
setText: configura o texto que será utilizado para identificar o link;.......................14
setNew: define o link padrão para criar um novo item...........................................14
global $MIOLO;.......................................................................................................14
CRIAÇÃO DE UM RELATÓRIO..................................................................................15
IReport.....................................................................................................................15
1
BANCO DE DADOS
AD_PEDIDOCOMPRA AD_MOTIVOSPEDIDOSCOMPRAS
idpedidocompra integer idmotivo integer
data date idpedidocompra integer
idusuario numeric motivo text
idsetor numeric
instituicao character varying
numpro character varying SEQUENCES
situacao character varying seq_ad_pedidocompra
idmaterial numeric seq_ad_motivospedidoscompras
quantidade numeric
idservico numeric
empresa1 character varying
empresa1_cnpj character
empresa1_cotacao numeric
empresa2 character varying
empresa2_cnpj character
empresa2_cotacao numeric
empresa3 character varying
empresa3_cnpj character
empresa3_cotacao numeric
fundamentacao text
justificativa text
objeto text
2
MAPEAMENTO
TAG FUNÇÂO
<idgenerator> quando o atributo é chave, esta tag pode indicar qual o nome do
IdGenerator a ser passado para a camada DAO do Miolo, para a
geração automática de OID.
<target> indica qual o atributo vai receber o objeto que for recuperado
através da associação. É também o nome usado para identificar a
associação. Por exemplo, a associação com <target> igual a
‘person’, na classe User, indica que um objeto da classe Person,
associado com este objeto User, vai ser recuperado e armazenado
no atributo ‘person’.
3
<entry> Nas associações oneToOne e oneToMany descreve a associação
entre os atributos da classe mapeada e os atributos da classe
associada. Dentro da tag <entry>, <fromAttribute> indica o
atributo da classe mapeada e <toAttribute> indica o atributo da
classe associada. Podem existem várias tags <entry> (por
exemplo, no caso de chaves compostas).
4
CLASSES DE NECGÓCIO
Arquivo: modules/adm/classes/pedidocompra.class
Arquivo: modules/adm/classes/motivospedidoscompras.class
Atributos
Arquivo: modules/adm/classes/pedidocompra.class
public $idPedidoCompra;
public $idUsuario;
public $idSetor;
public $idMaterial;
public $idServico;
public $instituicao;
public $data;
public $numPro;
public $situacao;
public $quantidade;
public $empresa1;
public $empresa1Cnpj;
public $empresa1Cotacao;
public $empresa2;
public $empresa2Cnpj;
public $empresa2Cotacao;
public $empresa3;
public $empresa3Cnpj;
public $empresa3Cotacao;
5
public $fundamentacao;
public $justificativa;
public $objeto;
Arquivo: modules/adm/classes/motivospedidoscompras.class
public $idMotivo;
public $idpedidocompra;
public $motivo;
Métodos
Arquivo: modules/adm/classes/pedidocompra.class
6
TO_CHAR(CAST('$data' as date),'DD/MM/YYYY')");
}
if (!empty($cadmat) && !is_null($cadmat)) {
$sql->SetWhere("p.idmaterial = '$cadmat'");
}
if (!empty($codservico) && !is_null($codservico)) {
$sql->SetWhere("p.idservico = '$codservico'");
}
$sql->SetOrderBy("p.idpedidocompra desc");
return = $this->Query($sql);
}
Arquivo: modules/adm/classes/pedidocompra.class
7
CRIAÇÃO DOS HANDLERS
main.inc
Arquivo: modules/adm/handlers/main.inc
pedidocompra.inc
$ui = $MIOLO->GetUI();
// Adiciona o link do do módulo aos breadcumbs.
$navbar->AddOption('Solicitação de Compra','adm','main:pedidocompra');
$close = $MIOLO->GetActionURL($module,'main');
// Painel
$panel = new ActionPanel('pnlAdTables','Solicitação de Compra','',$close);
$panel->SetIconType('large');
// Ícones do painel
$panel->AddUserAction(
'adm_pedidocompra',
A_EXECUTE,
'Solicitação de Compra',
$ui->GetImageTheme('','icons/itens_patrimoniais.png'),
$module,
'main:pedidocompra:new'
);
$panel->AddUserAction(
'adm_pedidocompra',
A_EXECUTE,
'Pesquisa de Solicitações',
8
$ui->GetImageTheme('','icons/itens_patrimoniais.png'),
$module,
'main:pedidocompra:find'
);
$theme->AppendContent($panel);
pedidocompra/find.inc
$theme->ClearContent();
$ui = $MIOLO->GetUI();
$navbar->AddOption('Pesquisar Solicitações', 'adm',
'main:pedidocompra:find');
$form = $ui->GetForm('adm','frmPedidosFind',NULL,'pedidocompra');
$theme->InsertContent($form);
pedidocompra/main.inc
9
// é enviado como parâmetro
$form = $MIOLO->GetUI()->GetForm(
$module ,
'frmPedido',
$objPedido,
'pedidocompra'
);
} else {
$form = $ui->GetForm('adm','frmPedidosFind',NULL,'pedidocompra');
}
$theme->InsertContent($form);
pedidocompra/new.inc
$theme->ClearContent();
$ui = $MIOLO->GetUI();
$objPedido = $MIOLO->GetBusiness('adm', 'pedidocompra', $item);
$navbar->AddOption('Nova Solicitação', 'adm', 'main:pedidocompra:new');
$form = $ui->GetForm('adm','frmPedidoNew',$objPedido,'pedidocompra');
$theme->InsertContent($form);
10
CRIAÇÃO DOS FORMULÁRIOS
Classe frmPedido()
Classe frmPedidoAnexar()
Classe frmPedidoEdit()
Classe frmPedidoIndeferir()
Classe frmPedidoNew()
Classe frmPedidosFind()
11
CRIAÇÃO DE UM GRID
Classe gridPedidos()
global $MIOLO;
// Importação da classe de links
$MIOLO->Uses('controls/linkpedidocompra.class','adm');
$this->SetIndex(1);
$columns = array(
// Insere o link para o pedido de compra
new DataGridControl($linkPedido, 'pedido','Pedido','',false,'5%'),
new MDataGridColumn('instituicao','Instituição','',false,'30%'),
new MDataGridColumn('usuario','Solicitante','',false,'35%'),
new MDataGridColumn('setor','Setor','',false,'10%'),
new MDataGridColumn('data','Data','',false,'10%'),
new MDataGridColumn('situacao','Situação','',false,'10%'),
);
12
// Configuração do link gerado pela paginação no grid
$href_grid = $MIOLO->GetActionURL(
$module,
$self,
'',
array('event'=>'btnFind')
);
parent::__construct($query, $columns, $href_grid, 25);
}
}
13
Configuração do link
Esta classe exibe o link para uma determinada ação numa coluna do Grid.
Para isso é necessário definir todos os métodos abaixo.
14
CRIAÇÃO DE UM RELATÓRIO
IReport
15