コード例 #1
0
ファイル: Regras.php プロジェクト: nilzao/EcmFlow
 public static function getInstance()
 {
     if (!isset(self::$instance)) {
         self::$instance = new self();
     }
     return self::$instance;
 }
コード例 #2
0
ファイル: PendenciaOk.php プロジェクト: nilzao/EcmFlow
 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);
 }
コード例 #3
0
ファイル: Shell.php プロジェクト: nilzao/EcmFlow
 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);
 }