funcionario_vinculo_cad.php
4.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<?php
require_once('include/clsBase.inc.php');
require_once('include/clsCadastro.inc.php');
require_once('include/clsBanco.inc.php');
class clsIndex extends clsBase
{
public function Formular()
{
$this->SetTitulo("{$this->_instituicao} Vínculo Funcionários!");
$this->processoAp = '190';
}
}
class indice extends clsCadastro
{
public $nm_vinculo;
public $cod_vinculo;
public $abreviatura;
protected $db;
public function __construct()
{
parent::__construct();
$this->db = new clsBanco;
}
public function Inicializar()
{
$retorno = 'Novo';
if ($_GET['cod_funcionario_vinculo']) {
$this->cod_vinculo = $_GET['cod_funcionario_vinculo'];
$this->db->Consulta("SELECT nm_vinculo, abreviatura FROM portal.funcionario_vinculo WHERE cod_funcionario_vinculo = $this->cod_vinculo");
if ($this->db->ProximoRegistro()) {
$tupla = $this->db->Tupla();
$this->nm_vinculo = $tupla[0];
$this->abreviatura = $tupla[1];
$retorno = 'Editar';
$this->fexcluir = true;
}
}
$this->nome_url_cancelar = 'Cancelar';
$this->url_cancelar = 'funcionario_vinculo_lst.php';
$nomeMenu = $retorno == 'Editar' ? $retorno : 'Cadastrar';
$localizacao = new LocalizacaoSistema();
$localizacao->entradaCaminhos([
$_SERVER['SERVER_NAME'].'/intranet' => 'Início',
'' => "{$nomeMenu} vínculo"
]);
$this->enviaLocalizacao($localizacao->montar());
return $retorno;
}
public function Gerar()
{
$this->campoOculto('cod_vinculo', $this->cod_vinculo);
$this->campoTexto('nm_vinculo', 'Nome', $this->nm_vinculo, 30, 250, true);
$this->campoTexto('abreviatura', 'Abreviatura', $this->abreviatura, 5, 4, true);
}
public function Novo()
{
if ($this->duplicado($this->nm_vinculo, $this->abreviatura)) {
$this->mensagem = 'Já existe um registro com este nome ou abreviatura.';
return false;
}
$this->db->Consulta("INSERT INTO portal.funcionario_vinculo ( nm_vinculo, abreviatura ) VALUES ( '$this->nm_vinculo', '$this->abreviatura' )");
echo '<script>document.location=\'funcionario_vinculo_lst.php\';</script>';
return true;
}
public function Editar()
{
if ($this->duplicado($this->nm_vinculo, $this->abreviatura, $this->cod_vinculo)) {
$this->mensagem = 'Já existe um registro com este nome ou abreviatura.';
return false;
}
$this->db->Consulta("UPDATE portal.funcionario_vinculo SET nm_vinculo = '$this->nm_vinculo', abreviatura = '$this->abreviatura' WHERE cod_funcionario_vinculo = $this->cod_vinculo");
echo '<script>document.location=\'funcionario_vinculo_lst.php\';</script>';
return true;
}
public function Excluir()
{
$count = (int)$this->db->CampoUnico("SELECT COUNT(*) FROM pmieducar.servidor_alocacao WHERE ref_cod_funcionario_vinculo = $this->cod_vinculo;");
$count += (int)$this->db->CampoUnico("SELECT COUNT(*) FROM portal.funcionario WHERE ref_cod_funcionario_vinculo = $this->cod_vinculo;");
if ($count > 0) {
$this->mensagem = 'Não é possível remover. Já existem funcionários cadastrados e alocados com este vínculo.';
return false;
}
$this->db->Consulta("DELETE FROM portal.funcionario_vinculo WHERE cod_funcionario_vinculo=$this->cod_vinculo");
echo '<script>document.location=\'funcionario_vinculo_lst.php\';</script>';
return true;
}
protected function duplicado($nmVinculo, $abreviatura, $id = null)
{
$sql = "SELECT COUNT(*) FROM portal.funcionario_vinculo WHERE TRUE AND (nm_vinculo LIKE '{$nmVinculo}' OR abreviatura LIKE '{$abreviatura}')";
if (!is_null($id)) {
$sql .= " AND cod_funcionario_vinculo <> {$id}";
}
$count = (int)$this->db->CampoUnico($sql);
return $count > 0;
}
}
$pagina = new clsIndex();
$miolo = new indice();
$pagina->addForm($miolo);
$pagina->MakeAll();