Boa tarde Haroldo, fiz o código com o switch, onde ele critica quando tem que criticar, e grava no momento que tem que gravar. Porém tenho alguns campos a serem populados no formulário, para serem usados de referencia, como a última cartela lançada, o valor da cartela, quantidade no lançamento, valor total lançado, a ultima lança da está no trecho do código do switch, os demais em um método soma. Quando não verifico o status e só lanço nas tabela, esse campos são populados normalmente. Segue o código switch como ficou.
//Método grava cartela
sc_lookup(dset, "SELECT status, num_cartela FROM cartelas_geral WHERE num_cartela = ‘{num_cartela}’ ");
$id = {dset[0][0]};
//echo $id;
switch ($id) {
case ‘D’:
//Pagamento a Vista
sc_error_message(“Essa cartela está com o Status DISTRIBUÍDO!!, Favor verificar!!!”);
sc_set_focus(‘num_cartela’);
sc_error_exit();
break;
case ‘R’:
//Pagamento 30% & 70%
sc_error_message(“Essa cartela está com o Status RECEBIDO!!, Favor verificar!!!”);
sc_set_focus(‘num_cartela’);
sc_error_exit();
break;
case ‘C’:
//Pagamento com 15 dias
sc_error_message(“Essa cartela está com o Status CANCELADO!!, Favor verificar!!!”);
sc_set_focus(‘num_cartela’);
sc_error_exit();
break;
case ‘DV’:
//Atualiza a tabela carela geral
$update_table = 'cartelas_geral';
$update_where = "num_cartela = '{num_cartela}'";
$update_fields = array(
"status = 'D'",
"dt_status = '{dt_cadastro}'",
"valor_cartela = '{valor}'",
"pessoas_fk = '{pessoa_fk}' ",
"recibo_fk = '{id_ent_recibo}'",
);
// Update record
$update_sql = 'UPDATE ' . $update_table
. ' SET ' . implode(', ', $update_fields)
. ' WHERE ' . $update_where;
sc_exec_sql($update_sql);
{ultima_lancada} = {num_cartela};
{num_cartela} = " ";
sc_set_focus('num_cartela');
sc_ajax_javascript('Refresh_Cartela');
break;
default:
//insere os dados na tabela cartelas geral
$insert_table = ‘cartelas_geral’; // Table name
$insert_fields = array( // Field list, add as many as needed
‘dt_cadastro’ => " ‘{dt_cadastro}’ ",
‘num_cartela’ => " ‘{num_cartela}’ ",
‘status’ => " ‘D’ ",
‘dt_status’ => " ‘{dt_cadastro}’ ",
‘pessoas_fk’ => " ‘{pessoa_fk}’ ",
‘exercicio_fk’ => " ‘{exercicio_fk}’ ",
‘promotor_fk’ => " ‘{promotor_fk}’ ",
‘valor_cartela’ => " ‘{valor}’ “,
‘recibo_fk’ => " ‘{id_ent_recibo}’”,
);
//Insert record
$insert_sql = 'INSERT INTO ' . $insert_table
. ' (' . implode(', ', array_keys($insert_fields)) . ')'
. ' VALUES (' . implode(', ', array_values($insert_fields)) . ')';
sc_exec_sql($insert_sql);
//Insere dados na tabela movimento de cartelas*
$insert_table = 'mov_cartelas'; // Table name
$insert_fields = array( // Field list, add as many as needed
'dt_cadastro' => " '{dt_cadastro}' ",
'num_cartela' => " '{num_cartela}' ",
'status' => " 'D' ",
'pessoas_fk' => " '{pessoa_fk}' ",
'exercicio_fk' => " '{exercicio_fk}' ",
'promotor_fk' => " '{promotor_fk}' ",
'recibo_fk' => " '{id_ent_recibo}' ",
'valor_cartela' => " '{valor}' ",
);
//Insert record
$insert_sql = 'INSERT INTO ' . $insert_table
. ' (' . implode(', ', array_keys($insert_fields)) . ')'
. ' VALUES (' . implode(', ', array_values($insert_fields)) . ')';
sc_exec_sql($insert_sql);
//Insere os dados na tabela detalhe da distribuição
$insert_table = 'ent_cartelas_detalhe'; // Table name
$insert_fields = array( // Field list, add as many as needed
'dt_cadastro' => " '{dt_cadastro}' ",
'num_cartela' => " '{num_cartela}' ",
'status' => " 'D' ",
'pessoas_fk' => " '{pessoa_fk}' ",
'exercicio_fk' => " '{exercicio_fk}' ",
'promotor_fk' => " '{promotor_fk}' ",
'recibo_fk' => " '{id_ent_recibo}' ",
'valor_cartela' => " '{valor}' ",
'recebido' => " 'N' ",
);
//Insert record
$insert_sql = 'INSERT INTO ' . $insert_table
. ' (' . implode(', ', array_keys($insert_fields)) . ')'
. ' VALUES (' . implode(', ', array_values($insert_fields)) . ')';
sc_exec_sql($insert_sql);
{ultima_lancada} = {num_cartela};
{num_cartela} = " ";
sc_set_focus('num_cartela');
sc_ajax_javascript('Refresh_Cartela');
break;
}