PHP Servidor
III. 3.7.2 Visualizar fornecedor
Este caso de uso é definido pelo código contido no arquivo leg_view_vendor.php. A figura III.88 apresenta o código comentado presente nesse arquivo.
Figura III.88 – Codificação do caso de uso “Visualizar fornecedor”. III.3.7.3 .Excluir fornecedor
Após a solicitação de exclusão, o sistema solicita uma confirmação de exclusão, codificada no arquivo leg_del_vendor_verif.php e, em seguida, executa o código contido no arquivo leg_del_vendor_commit.php. A figura III.89 apresenta a parte do código, com comentários, desse arquivo responsável pela exclusão de um fornecedor da base de dados do SID [1].
// Abre a conexão com o Banco de Dados
//
$link_sid = mysql_connect($MYSQL_LOCATION, $MYSQL_ADMIN_USERNAME, $MYSQL_ADMIN_PASSWORD); if (!mysql_select_db($MYSQL_DBNAME))
handleError("leg_vendor.php", mysql_error());
// Verifica no banco se o fornecedor existe
$strSQL_vendor = "SELECT * FROM lw_vendor WHERE vendor_id = ".$frm_vendor_id; $result_vendor = mysql_query($strSQL_vendor) or
handleError("leg_vendor.php", mysql_error()); $linha_vendor = mysql_fetch_array($result_vendor); <CENTER>
<IMG SRC="images/line_green.gif" WIDTH="300" HEIGHT="2" BORDER="0"><BR> <FONT COLOR="#004000" SIZE="+2"><B>Consulta de Cadastro</B></FONT> <FONT SIZE="-1"><CENTER></CENTER></FONT>
<IMG SRC="images/line_green.gif" WIDTH="300" HEIGHT="2" BORDER="0"><BR> <BR><BR>
<TABLE BORDER="1" ALIGN="CENTER" BGCOLOR="#004000" CELLPADDING="7" CELLSPACING="3"> <TR><TD>
<TABLE BORDER="0" ALIGN="CENTER" BGCOLOR="#004000">
//Informa a razão social do fornecedor cadastrado
<TR><TD ALIGN="RIGHT">
<FONT SIZE="+1" COLOR="WHITE"><B>Razão Social: </B></FONT> </td>
<TD>
<FONT SIZE="+1" COLOR="WHITE"><B><? echo $linha_vendor["company_name"]; ?></B></FONT> </TD>
//Informa o CNPJ do fornecedor cadastrado
<TD ALIGN="RIGHT">
<FONT SIZE="+1" COLOR="WHITE"><B>CNPJ: </B></FONT> </td>
<TD>
<FONT SIZE="+1" COLOR="WHITE"><B><? echo $linha_vendor["company_cnpj"]; ?></B></FONT> </TD></TR>
Figura III.89 – Codificação do caso de uso “Excluir fornecedor”. III.3.7.4 .Alterar fornecedor
O usuário altera as informações do fornecedor através de dois arquivos. No primeiro, o leg_alt_vendor_form.php, são apresentadas as informações pré-cadastradas do fornecedor, permitindo sua edição. No segundo, leg_alt_vendor_commit.php, as informações de alteração serão gravadas no banco de dados. Na figura III.90 é apresentado o código de gravação das informações alteradas no banco de dados.
// Abre a conexão com o Banco de Dados
//
$link_sid = mysql_connect($MYSQL_LOCATION, $MYSQL_ADMIN_USERNAME, $MYSQL_ADMIN_PASSWORD); if (!mysql_select_db($MYSQL_DBNAME))
handleError("leg_vendor.php", mysql_error()); // Exclui da tabela vendedor
$strSQL = "DELETE FROM lw_vendor WHERE vendor_id = $frm_vendor_id"; mysql_query($strSQL, $link_sid) or
handleError("leg_vendor.php", mysql_error()); // Exclui da tabela grupo de reparo
$strSQL = "DELETE FROM lw_repair_team WHERE vendor_id = $frm_vendor_id"; mysql_query($strSQL, $link_sid) or
handleError("leg_vendor.php", mysql_error()); ?>
// Abre a conexão com o Banco de Dados
$link_sid = mysql_connect($MYSQL_LOCATION, $MYSQL_ADMIN_USERNAME, $MYSQL_ADMIN_PASSWORD); if (!mysql_select_db($MYSQL_DBNAME))
handleError("leg_vendor.php", mysql_error()); // Atualiza o fornecedor no banco
$sql = "Update lw_vendor set company_name =
'$frm_company_name',company_address_street = '$frm_street',"; $sql .= "company_address_number = '$frm_number',company_address_compl = '$frm_compl',company_address_town = '$frm_town',"; $sql .= "company_address_city = '$frm_city',company_address_state = '$frm_state',company_address_zip = '$frm_zip',"; $sql .= "company_phone = '$frm_phone',company_phone_area_code = '$frm_ddd',company_phone_country_code = '$frm_ddi',"; $sql .= "reselling_phone = '$frm_phone2',reselling_phone_area_code = '$frm_ddd2',reselling_phone_country_code = '$frm_ddi2',"; $sql .= "reselling_phone_cellular = '$frm_cel',reselling_phone_cellular_area_code = '$frm_ddd_cel',"; $sql .= "reselling_phone_cellular_country_code = '$frm_ddi_cel',company_cnpj = '$frm_cnpj',reselling_name = '$frm_name',";
$sql .= "comments = '$frm_comments' where vendor_id = $frm_vendor_id"; $result_lw_vendor = mysql_query($sql) or
handleError("leg_vendor.php", mysql_error()); if(!mysql_affected_rows())
Figura III.90 – Codificação do caso de uso “Alterar fornecedor”. III.3.7.5 .Cadastrar fornecedor
O usuário cadastra um fornecedor através de dois arquivos. No primeiro, o leg_add_new_vendor.php, é apresentado um formulário de cadastro de fornecedor para preenchimento pelo usuário. No segundo, leg_add_new_vendor_commit.php, as informações de inclusão serão gravadas no banco de dados. Na figura III.91 é apresentado o código de gravação das informações de inclusão no banco de dados.
// Atualiza o time de reparo no banco
$sql = "Update lw_repair_team set company_name = '$frm_company_name',company_address_street = '$frm_street',"; $sql .= "company_address_number = '$frm_number',company_address_compl = '$frm_compl',company_address_town = '$frm_town',"; $sql .= "company_address_city = '$frm_city',company_address_state = '$frm_state',company_address_zip = '$frm_zip',"; $sql .= "company_phone = '$frm_phone',company_phone_area_code = '$frm_ddd',company_phone_country_code = '$frm_ddi',"; $sql .= "responsable_phone = '$frm_phone2',responsable_phone_area_code = '$frm_ddd2',responsable_phone_country_code = '$frm_ddi2',"; $sql .= "responsable_phone_cellular = '$frm_cel',responsable_phone_cellular_area_code = '$frm_ddd_cel',"; $sql .= "responsable_phone_cellular_country_code = '$frm_ddi_cel',company_cnpj = '$frm_cnpj',responsable_name = '$frm_name'";
$sql .= " where vendor_id = $frm_vendor_id"; $result_lw_vendor = mysql_query($sql) or
handleError("leg_vendor.php", mysql_error()); if(!mysql_affected_rows())
handleError("leg_vendor.php", "Erro desconhecido ao alterar time de reparo."); ?>
// Abre a conexão com o Banco de Dados
//
$link_sid = mysql_connect($MYSQL_LOCATION, $MYSQL_ADMIN_USERNAME, $MYSQL_ADMIN_PASSWORD);
if (!mysql_select_db($MYSQL_DBNAME))
handleError("leg_vendor.php", mysql_error());
// Verifica no banco se o fornecedor existe
$strSQL_vendor = "SELECT * FROM lw_vendor WHERE company_cnpj = ".$frm_cnpj; $result_vendor = mysql_query($strSQL_vendor) or
handleError("leg_vendor.php", mysql_error()); if (mysql_num_rows($result_vendor))
{
$str_erro = "O fornecedor já existe."; // envia o erro
handleError("leg_vendor.php", $str_erro); exit();
Figura III.91 – Codificação do caso de uso “Cadastrar fornecedor”. III.3.8. Gerenciamento de Insumos
As funções de gerenciamento de insumos no LegWeb referem-se aos casos de uso de Gerenciamento de componentes e Gerenciamento de Equipamentos. A codificação para esses casos é bastante semelhante e serão apresentadas abaixo usando como padrão o gerenciamento de componentes.
Em termos de codificação PHP [4], podem ser agrupadas nos seguintes grupos:
Selecionar Categoria (administrador), Selecionar fornecedor (administrador), Selecionar
// Adiciona o fornecedor ao banco
$sql = "INSERT INTO lw_vendor (company_name,company_address_street,";
$sql .= "company_address_number,company_address_compl,company_address_town,"; $sql .= "company_address_city,company_address_state,company_address_zip,"; $sql .= "company_phone,company_phone_area_code,company_phone_country_code,"; $sql .= "reselling_phone,reselling_phone_area_code,reselling_phone_country_code,"; $sql .= "reselling_phone_cellular,reselling_phone_cellular_area_code,"; $sql .= "reselling_phone_cellular_country_code,company_cnpj,reselling_name,comments)"; $sql .= " values ('$frm_company_name','$frm_street','$frm_number','$frm_compl',"; $sql .= "'$frm_town','$frm_city','$frm_state','$frm_zip','$frm_phone',"; $sql .= "'$frm_ddd','$frm_ddi','$frm_phone2','$frm_ddd2','$frm_ddi2',"; $sql .= "'$frm_cel','$frm_ddd_cel','$frm_ddi_cel',"; $sql .= "'$frm_cnpj','$frm_name','$frm_comments')"; $result_lw_vendor = mysql_query($sql) or handleError("leg_vendor.php", mysql_error()); if(!mysql_affected_rows())
handleError("leg_vendor.php", "Erro desconhecido ao inserir vendedor."); $vendor_id = mysql_insert_id();
// Adiciona time de reparo ao banco (cópia do fornecedor)
$sql = "INSERT INTO lw_repair_team (company_name,company_address_street,"; $sql .= "company_address_number,company_address_compl,company_address_town,"; $sql .= "company_address_city,company_address_state,company_address_zip,"; $sql .= "company_phone,company_phone_area_code,company_phone_country_code,"; $sql .= "responsable_phone,responsable_phone_area_code,responsable_phone_country_code,"; $sql .= "responsable_phone_cellular,responsable_phone_cellular_area_code,"; $sql .= "responsable_phone_cellular_country_code,company_cnpj,responsable_name,comments,"; $sql .= "vendor_id)"; $sql .= " values ('$frm_company_name','$frm_street','$frm_number','$frm_compl',"; $sql .= "'$frm_town','$frm_city','$frm_state','$frm_zip','$frm_phone',"; $sql .= "'$frm_ddd','$frm_ddi','$frm_phone2','$frm_ddd2','$frm_ddi2',"; $sql .= "'$frm_cel','$frm_ddd_cel','$frm_ddi_cel',"; $sql .= "'$frm_cnpj','$frm_name','$frm_comments',$vendor_id)"; $result_lw_vendor = mysql_query($sql) or handleError("leg_vendor.php", mysql_error()); if(!mysql_affected_rows())
handleError("leg_vendor.php", "Erro desconhecido ao inserir time de reparo."); ?>
insumo (administrador), Criar insumo (administrador), Consultar insumo (administrador), Excluir insumo (administrador), Alterar insumo (administrador), Abrir chamado de manutenção(administrador, professor e aluno), Fechar chamado de manutenção
(administrador), Selecionar responsável pela manutenção (administrador, aluno e
professor), Selecionar chamado de manutenção(administrador, professor e aluno), Visualizar chamado de manutenção (administrador, professor e aluno), Alterar chamado de manutenção (administrador) e Solicitar Compra de insumo (professor e aluno). Todas as
funcionalidades e relacionamentos destas funções já foram detalhadas anteriormente nos itens III.1.2.3, III.1.2.4, III.1.3.1, III.1.3.2, III.1.4.1 e III.1.4.2 deste trabalho.