/** * Construtor de classe * Cria o formulário de material consumo */ function __construct() { parent::__construct(); parent::setDatabase("app"); parent::setActiveRecord("MaterialConsumoDerivado"); parent::setDefaultOrder("id", "asc"); // Cria o formulário $this->form = new TQuickForm('form_MaterialConsumo'); $this->form->class = 'tform'; // CSS class $this->form->setFormTitle('Material de consumo (novos ou necessidade extraordinária) a ser incluído na Proposta Orçamentária de 2017'); // define the form title // Cria os campos de formulário $id = new THidden('id'); $tipo_material_consumo_id = new TDBCombo('tipo_material_consumo_id', 'app', 'TipoMaterialConsumo', 'id', 'nome', 'nome'); $tipo_material_consumo_id->addValidation('Tipo do material', new TRequiredValidator()); $change_action = new TAction(array($this, 'onChangeAction')); $tipo_material_consumo_id->setChangeAction($change_action); $descricao = new TEntry('descricao'); $justificativa = new TText('justificativa'); $justificativa->addValidation('Justificativa', new TRequiredValidator()); $quantidade = new TEntry('quantidade'); $quantidade->addValidation('Quantidade', new TRequiredValidator()); $quantidade->addValidation('Quantidade', new TNumericValidator()); $custo = new TEntry('custo'); $custo->addValidation('Custo', new TRequiredValidator()); $custo->addValidation('Custo', new TNumericValidator()); $total = new TEntry('total'); $total->setEditable(false); // Adiciona os campos $this->form->addQuickField('', $id); //$this->form->add($id); $this->form->addQuickField('Tipo de material consumo', $tipo_material_consumo_id, 480); $this->form->addQuickField('Descrição', $descricao, 480); $this->form->addQuickField('Justificativa', $justificativa, 200); $justificativa->setSize(480, 100); $this->form->addQuickField('Quantidade', $quantidade, 200); $this->form->addQuickField('Previsão de custo unitário', $custo, 200); $this->form->addQuickField('Total', $total, 200); // Cria as ações do formulário $this->form->addQuickAction(_t('Save'), new TAction(array($this, 'onSave')), 'ico_save.png'); $this->form->addQuickAction(_t('New'), new TAction(array($this, 'onEdit')), 'ico_new.png'); $actionHelp = new TAction(array("PaginaAjuda", 'onHelp')); $actionHelp->setParameters(array("key" => 3)); $this->form->addQuickAction(_t('Help'), $actionHelp, 'ico_help.png'); // Cria o datagrid $this->datagrid = new TQuickGrid(); $this->datagrid->setHeight(320); // Cria as colunas do datagrid $this->datagrid->addQuickColumn('Tipo de material consumo', 'tipoMaterialConsumo->nome', 'left', 200); $this->datagrid->addQuickColumn('Descrição', 'descricao', 'left', 200); $this->datagrid->addQuickColumn('Quant.', 'quantidade', 'right', 100); $this->datagrid->addQuickColumn('Previsão de custo', 'custo', 'right', 100); $this->datagrid->addQuickColumn('Total', 'total', 'right', 100); // Cria as ações do datagrid $edit_action = new TDataGridAction(array($this, 'onEdit')); $delete_action = new TDataGridAction(array($this, 'onDelete')); // Adiciona as ações do datagrid $this->datagrid->addQuickAction(_t('Edit'), $edit_action, 'id', 'ico_edit.png'); $this->datagrid->addQuickAction(_t('Delete'), $delete_action, 'id', 'ico_delete.png'); // Cria o modelo do datagrid $this->datagrid->createModel(); // Cria a navegação de página $this->pageNavigation = new TPageNavigation(); $this->pageNavigation->setAction(new TAction(array($this, 'onReload'))); $this->pageNavigation->setWidth($this->datagrid->getWidth()); // Cria o container da página $container = TVBox::pack($this->form, $this->datagrid, $this->pageNavigation); parent::add($container); }
public function onReport($param) { $username = TSession::getValue("username"); $r = new Report(); $font = $r->createFont("Arial", 8, "000000", "FFFFFF"); $font->setBold(); $r->setFont($font); $r->write('Tribunal Regional Eleitoral do Rio Grande do Norte'); $r->write('Secretaria de Administração e Orçamento'); $r->write('Planejamento e Gestão Orçamentária do TRE/RN'); $r->write(' '); $r->centerText(); $r->write("Solicitações de materiais permanentes [{$username}]"); $r->write(' '); $r->createTable(array(4, 4.8, 4.8, 1.7, 1.7)); $r->addTableRow(array("Tipo do material", "Descrição", "Justificativa", "Quantidade", "Custo"), array("L", "L", "L", "R", "R")); $r->setFont($r->createFont("Arial", 8, "000000", "FFFFFF")); TTransaction::open('app'); $repositorio = new TRepository('MaterialPermanente'); $criterios = new TCriteria(); //$criterios->setProperty('order', 'nome'); $criterios->add(new TFilter("system_user_id", "=", TSession::getValue("userid"))); $materiais = $repositorio->load($criterios); foreach ($materiais as $solicitacao) { $r->addTableRow(array($solicitacao->tipo_material_permanente_nome, $solicitacao->descricao, $solicitacao->justificativa, $solicitacao->quantidade, $solicitacao->custo), array("L", "L", "L", "R", "R")); } TTransaction::close(); $md5_userid = md5(TSession::getValue("userid")); $r->save("./app/output/tipo_material_permanente_{$md5_userid}.rtf"); parent::openFile("./app/output/tipo_material_permanente_{$md5_userid}.rtf"); }