Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marquimrock

Sistema de Ordem de Serviços em PHP e MYSQL

Recommended Posts

Bom dia Pessoal, estou trabalhando em um sistema de Ordem de Serviços pra loja de informatica onde trabalho.

estou querendo criar um campo onde sera preenchido com o andamento do serviço que está sendo realizado.

exemplo:

um tecnico formata a maquina e instala o sistema operacional e atualiza a Odem de Serviço, o outro tecnico ja sabe o que ja foi realizado naquela maquina e da andamento no serviço e atualiza a Ordem de Serviço e assim até fechar a Ordem.

uso o mysql e com a função UPDATE ele funciona mas apaga o que foi realizado pelo tecnico anterior.

se alguem puder ajudar agradeço.

um abraço a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Igor, como você pediu segue o script..

 

pagina index..

 

<html>
<head><center>Nova O S </head>
<body>
<form action="grava_os.php" method="post">
<center><table border="2">
 <tr><td>O. S.<input type="text" name="os"></td><td>Nome do Cliente:<input type="text" name="nome_cliente"></td></tr>
 <tr><td>Equipamento:<input type="text" name="equipamento"></td><td>Defeito Reclamado:<input type="text" name="df_reclamado"></td></tr>
 <tr><td>Serviço Realizado:<input type="text" name="sr_realizado"></td><td>Status:<input type="text" name="status"></td></tr>
</table>
<input type="submit" value="Gravar"><input type="reset" value="Limpar">
</form>
</body>
</html>

 

 

e pagina grava_os..

 

<?php
$host="localhost";
$user="root";
$pass="";
$bd="cad_os";
$table="cad_equip";
$conexao = mysql_connect($host, $user, $pass) or die ("falha ao conectar no servidor de banco de dados");
mysql_select_db($bd, $conexao) or die ("falha de bd");
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$os = $_POST['os'];
$nome_cliente = $_POST['nome_cliente'];
$equipamento = $_POST['equipamento'];
$df_reclamado = $_POST ['df_reclamado'];
$sr_realizado= $_POST['sr_realizado'];
$status = $_POST ['status'];

   if (@mysql_query("INSERT INTO cad_equip (os,nome_cliente,equipamento,df_reclamado,sr_realizado,status)
VALUES('$os','$nome_cliente','$equipamento','$df_reclamado','$sr_realizado','$status')")) {
     if (mysql_affected_rows() == 1) {
       echo "Ordem de Serviço Gravada com Sucesso!<br>";
	$result=mysql_insert_id() ;?>
	<table border="3"><tr><td> Nº da O. S. :</td></tr></table><input value="
	<?php
        echo $result;?>
	 		 <?php
     }
   }else{
 echo "Não foi possível gravar a O. S.";
 }
 }

?>

 

 

 

 

ja fiz a pagina de alteração. o campo que estou com dificuldades é o campo de serviço realizado.. para atualizar assim que for feito alguma alteração no serviço..

se puder ajudar agradeço.

valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim...o update ele atualiza, significa q muda os campos, o ideal seria manter o registro antigo, como assim, inserir um novo com um novo status da OS...tipo versionamento de software...

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim...o update ele atualiza, significa q muda os campos, o ideal seria manter o registro antigo, como assim, inserir um novo com um novo status da OS...tipo versionamento de software...

 

 

 

Justamente, atualizar o campo 'serviço realizado' mas manter o registro antigo, para saber quem foi o tecnico que instalou o sistema, quem instalou os drivers, quem instalou os aplicativos e assim por diante..

valew..

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele vai trocar os dados, seria interessate inserir um novo registro pra mudar o status, at pq ficaria legal de fazer um historico, assim fica facil fazer um relatorio: quanto tempo tal serviço levou pra ser executado? quantas vezes o mesmo serviço foi feito? pra nos nao eh nada estas perguntas, mas para gerencia da empresa eh muita coisa...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele vai trocar os dados, seria interessate inserir um novo registro pra mudar o status, at pq ficaria legal de fazer um historico, assim fica facil fazer um relatorio: quanto tempo tal serviço levou pra ser executado? quantas vezes o mesmo serviço foi feito? pra nos nao eh nada estas perguntas, mas para gerencia da empresa eh muita coisa...

 

 

'na mosca', é isso mesmo que to qurendo, mas nao to conseguindo colocar esse campo como historico, pois ele sempre apaga o registro anterior como disse antes. qual função usarei pra fazer isso?

valew.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu falei isto nas 2 respostas, insere um novo registro....você nao esta lendo direito o eu escrevi...insere um novo registro com o valor do campo trocado, dae eh so puxar o ultimo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu falei isto nas 2 respostas, insere um novo registro....você nao esta lendo direito o eu escrevi...insere um novo registro com o valor do campo trocado, dae eh so puxar o ultimo...

 

 

acho que entendi o que você disse. o problema é que o numero da OS é gerado automatico, se eu fizer outro registro o sistema gerará outro numero como se fosse uma nova OS. entao se ou abro a OS numero 1, depois atualizo ela será o numero 2 e quando for fechar o serviço nao vou conseguir acompanhar corretamente..

se souber uma forma eu agradeço mesmo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae aconselho a usar chave primaria composta...onde o numro da OS permanece mas o da "revisao" nao..no sistema q estou desenvolvendo eu fiz isso...2 chaves primarias, idbrefing e revisao, no meu caso o idbriefing eh gerado pelo sistema seguindo uma regra de negocio, acredito q o seu seja um autoincrement, mas uma solucao possivel, você tem 2 situacoes: abertura de uma OS e uma continuacao de uma OS, no caso de uma nova OS, você coloca o idOS 1 e revisao 1, mas nao coloca autoincrement, pq? pq o sistema precisa pegar o numero da Os e injetar d novo na tabela, na continuacao você pega o idOS 1 e a revisao, você verifica o numero max da revisao e soma mais um, ficando idOS 1 e revisao 2...vai dar um certo trabalho, mas vai compensar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

acho que entendi o que você disse. o problema é que o numero da OS é gerado automatico, se eu fizer outro registro o sistema gerará outro numero como se fosse uma nova OS. entao se ou abro a OS numero 1, depois atualizo ela será o numero 2 e quando for fechar o serviço nao vou conseguir acompanhar corretamente..

se souber uma forma eu agradeço mesmo..

cara voce consegui ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

____________

 

Para solucionar o seu problema e só recuperar por um código único a chamada e colocar em um campo textarea não sei os dados recuperados assim podendo atualizar com informação a mais ou a menos.

 

Outra maneira e abaixo informado.

 

____________

 

Vou colocar abaixo como criar um sistema de ordem de serviço de forma simples e objetiva.

Esse sistema foi criado por mim em 2010.

 

 

 

Para isso e necessário as seguintes tabelas:

 

1 - Cliente

2 - Funcionarios

3 - Servicos

4 - historico_servico

5 - acesso

6 - chamado_servico

 

cliente

o cliente e simples, seu cadastro e um campo como o código para o mesmo poderia ser email ou cpf um campo unico não sendo o ID.

 

funcionario

Funcionário o mesmo cadastro simples com um código para o mesmo poderia ser: Email ou ate mesmo criar um login e senha único.

 

servicos

O serviço seria um cadastro de serviços que vocês prestam, tipo, formatação linux, formatação windows, manutenção, visita técnico, avalização, etc... com seus preços.

 

acesso

Para criação de login e senha, ex, o cliente poderia ver o que foi feito, imprimir, e verificar os preços de tudo que foi feito, quem sabe até mesmo ver um desconto :D.

 

 

chamado_servico

Ficaria o código do cliente e o chamado em aberto até que o serviço termine, podendo adicionar serviço ao mesmo ao adicionar vai inserir um novo registro na tabela historico_servico assim podendo somente o usuario que colocou a informação atualizar ou inserir um novo historico_servico.

E se não existir chamado em aberto então o historico_servico para o chamado X do cliente X da data X não poderá ser mais adicionado.

 

historico_servico

 

E o que você precisa, sempre que o funcionário estiver logado e colocar um novo serviço para o cliente e adicionado no histórico do cliente.

 

 

 

 

 

 

 

Observação: Também na empresa antiga que trabalhei fiz esse sistema acima informado e até hoje e usado, prestei assistência recententemente melhorando com função adicionais para os clientes.

 

 

 

 

 

Este post solucionou a sua dúvida, peço que coloque como resolvido e me der um ponto positivo de reputação para que eu possa continuar ajudando outros colegas como você.

Caso não solucione o seu problema, peço que coloque a sua dúvida abaixo.

 


Att: João Paulo Sousa Supriano

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.