public static function getInstance() { if (!isset(self::$instance)) { self::$instance = new self(); } return self::$instance; }
public function ReprovaOk($id_doc) { $doc = knl_lib_doc_DocShow::getInstance()->getDocumento($id_doc); $pendencias = knl_lib_doc_DocShow::getInstance()->getDocumentoPend($doc); $Pend = knl_dao_doc_pendencia::getInstance(); $Cred = knl_dao_doc_cred::getInstance(); foreach ($pendencias as $v) { if ($v->get_id_doc_pendencia_tipo() == 5) { // excluir a pendencia em questao $Pend->deleteById($v->get_id()); // retirar permissão de aprovação do grupo e de outros do documento em questao $mCred = $Cred->selectByIdDocUsuarioGrupo($v->get_id_doc(), $v->get_id_knl_usuario(), $v->get_id_knl_grupo()); foreach ($mCred as $c) { if ($c->get_perm_usuario() & 128) { $c->set_perm_usuario($c->get_perm_usuario() - 128); } if ($c->get_perm_grupo() & 128) { $c->set_perm_grupo($c->get_perm_grupo() - 128); } if ($c->get_perm_outros() & 128) { $c->set_perm_outros($c->get_perm_outros() - 128); } $Cred->upsert($c); } } } $Regras = knl_lib_Regras::getInstance(); // executar as regras de credenciais para a id_doc_pend_tipo atual $Regras->regraCred($id_doc, 6); // executar as regras de pendencias para o id_doc_pend_tipo atual + id_doc_pend_tipo seguinte $Regras->regraPend($id_doc, 6); }
public function newDoc() { $session = knl_lib_Registry::getSession(); $shell = knl_lib_Registry::getShellArgs(); $onde_ini = strrpos($shell->getShellArg(4), '/') + 1; $onde_fim = strpos($shell->getShellArg(4), ".") - $onde_ini; $num_doc = substr($shell->getShellArg(4), $onde_ini, $onde_fim); $path = substr($shell->getShellArg(4), 0, $onde_ini - 1); $DocSubTipo = knl_dao_doc_sub_tipo::getInstance(); $mDocSubTipo = $DocSubTipo->selectByPath($path); $DocTipo = knl_dao_doc_tipo::getInstance(); $mDocTipo = $DocTipo->selectById($mDocSubTipo->get_id_doc_tipo()); //$mDocSubTipo->get_id_doc_tipo(); $newmDoc = new knl_model_doc(0, $mDocSubTipo->get_id_doc_tipo(), $mDocSubTipo->get_id(), $shell->getShellArg(3), $num_doc, date("Y-m-d"), $shell->getShellArg(5)); $newDoc = knl_dao_doc::getInstance()->upsert($newmDoc); $valores = array("id_doc" => $newDoc->get_id(), "data" => date("Y-m-d"), "classe" => $mDocTipo->get_classe(), "num_doc" => $num_doc); $classe = str_replace("_", "", $mDocTipo->get_classe()); $DocH = call_user_func("knl_extensions_" . $classe . "_shell::getInstance"); $DocH->gravaNoBanco($valores); $doc_assinatura = knl_dao_doc_assinatura::getInstance(); $m_doc_assinatura = new knl_model_doc_assinatura(0, $newDoc->get_id(), 7, 1, date("Y-m-d H:i:s"), 'S'); $doc_assinatura->upsert($m_doc_assinatura); echo $newDoc->get_id(); $Regras = knl_lib_Regras::getInstance(); $Regras->regraCred($newDoc->get_id(), -1); $Regras->regraPend($newDoc->get_id(), -1); }