• Nenhum resultado encontrado

3.7.2 Visualizar fornecedor

No documento Módulo web para gerenciamento do LEG (LEGWeb) (páginas 168-172)

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.

No documento Módulo web para gerenciamento do LEG (LEGWeb) (páginas 168-172)