You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

111 lines
4.5 KiB

<?php
$tpLayout = 1;
$footerDisplay = 0;
$nomeTpl = 'cadastros/tarifacao/cadContrato.htm';
$acao = $_REQUEST['acao'];
$contr_id = $_REQUEST['contr_id'];
$infoForms = array(
'contr_id' => '0', 'oper_id' => '0', 'empresa' => '', 'contr_numero' => '',
'contr_descricao' => '', 'contr_dia_fechamento' => '1', 'contr_tipo' => 'fixo',
'contr_tipo_franquia' => '0', 'contr_bloq_franquia' => '0', 'org_id' => GetOrganizacao()
);
$useFormatValor = array();
$msgErro = '';
FormataValor($number);
if (Save()) {
foreach ($infoForms as $key => $value) {
if (array_key_exists($key, $_POST)) {
$infoForms[$key] = trim($_POST[$key]);
}
}
/*
* Tratamento para strings.
*/
$infoForms['contr_numero'] = soNumero($infoForms['contr_numero']);
$cmd = '';
if (!$infoForms['oper_id']) {
$msg = 'Informe uma operadora para o contrato!';
} else if (!$infoForms['empresa']) {
$msg = 'Informe uma empresa para o contrato!';
} else if (!$infoForms['contr_numero']) {
$msg = 'Informe um número para o contrato!';
} else if (!$infoForms['contr_descricao']) {
$msg = 'Informe uma descrição para o contrato!';
} else {
if ($acao == 'novo') {
$cmd = "INSERT INTO pbx_tarif_contrato(oper_id, empresa, contr_numero, contr_descricao, contr_dia_fechamento, contr_tipo, contr_tipo_franquia, contr_bloq_franquia, org_id)
VALUES( {oper_id}, {empresa}, {contr_numero}, {contr_descricao}, {contr_dia_fechamento}, {contr_tipo}, {contr_tipo_franquia}, {contr_bloq_franquia}, {org_id})";
} else if ($acao == 'editar') {
$cmd = "UPDATE pbx_tarif_contrato
SET oper_id = {oper_id},
empresa = {empresa},
contr_numero = {contr_numero},
contr_descricao = {contr_descricao},
contr_dia_fechamento = {contr_dia_fechamento},
contr_tipo = {contr_tipo},
contr_tipo_franquia = {contr_tipo_franquia},
contr_bloq_franquia = {contr_bloq_franquia}
WHERE contr_id = {contr_id}";
}
foreach ($infoForms as $key => $value) {
$vlRepl = isset($useFormatValor[$key]) ? QuotedStr(FormataValorBd($value)) : QuotedStr($value);
$cmd = str_replace('{' . $key . '}', $vlRepl, $cmd);
}
$result = pg_query($dbcon, $cmd);
if ($result) {
$msg = ($acao == 'novo') ? "Registro inserido com sucesso!" : "Registro alterado com sucesso";
$cmdJs[] = "window.opener.ResetForm();";
$cmdJs[] = "window.close();";
} else {
$msg = "Não foi possivel realizar a operação!";
$msgErro = ''; // GetErrorLast($msg, 1, 1);
}
}
$jsStartup[] = "alert('$msg');";
if (count($cmdJs))
foreach ($cmdJs as $value)
$jsStartup[] = $value;
} else if ($acao == 'editar') {
$query = "SELECT contr_id, oper_id, empresa, contr_numero, contr_descricao, contr_dia_fechamento, contr_tipo, contr_tipo_franquia,contr_bloq_franquia
FROM pbx_tarif_contrato
WHERE contr_id = '$contr_id'";
$result = pg_query($dbcon, $query);
if ($result) {
$dados = pg_fetch_array($result);
foreach ($infoForms as $key => $value) {
if (array_key_exists($key, $dados)) {
$infoForms[$key] = isset($useFormatValor[$key]) ? str_replace('.', ',', $dados[$key]) : $dados[$key];
}
}
} else {
$jsStartup[] = "alert('Não foi possível editar o registro selecionado!')";
$jsStartup[] = "window.close()";
}
}
$jsJQuery[] = "\$('#contr_dia_fechamento').keyup(function(){somenteNumeros(this);}) ";
$empresas = GetEmpresas($dbcon, $infoForms['empresa'], '', 1, 0);
$operadoras = PbxOperadoras($infoForms['oper_id'], 1, 'oper_id');
$tipoCobranca = GetTipoCobranca($infoForms['contr_tipo_cobranca']);
$smarty->assign('tituloCadastro', 'Cadastro de Contratos');
$smarty->assign('operadoras', $operadoras);
$smarty->assign('empresas', $empresas);
$smarty->assign('tipoCobranca', $tipoCobranca);
$smarty->assign('acao', $acao);
$smarty->assign('msgErro', $msgErro);
$smarty->assign('habilitaTarifacao', HabilitaTarifacao());
foreach ($infoForms as $key => $value) {
$smarty->assign($key, $value);
}
GetTemplate($smarty, $nomeTpl);