diff --git a/CHANGELOG.md b/CHANGELOG.md index 67f07a0ae..bf87552e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ Todas as alterações serão documentadas neste arquivo Formato baseado em [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), e [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [3.10.0] - 2019-10-08 + +### Added +- Adicionando anotações na OS. [@RamonSilva20](https://github.com/RamonSilva20) + ## [3.9.0] - 2019-10-05 ### Added diff --git a/README.md b/README.md index bcc6bb2f4..77c4d77ca 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ![MapOS](https://raw.githubusercontent.com/RamonSilva20/mapos/master/assets/img/logo.png) -![version](https://img.shields.io/badge/version-3.9.0-blue.svg?longCache=true&style=flat-square) +![version](https://img.shields.io/badge/version-3.10.0-blue.svg?longCache=true&style=flat-square) ![license](https://img.shields.io/badge/license-MIT-green.svg?longCache=true&style=flat-square) ![theme](https://img.shields.io/badge/theme-Matrix--Admin-lightgrey.svg?longCache=true&style=flat-square) ![issues](https://img.shields.io/github/issues/RamonSilva20/mapos.svg?longCache=true&style=flat-square) diff --git a/application/config/config.php b/application/config/config.php index 45009876e..6403bef63 100644 --- a/application/config/config.php +++ b/application/config/config.php @@ -1,7 +1,7 @@ array(array( - 'field'=>'nomeCliente', - 'label'=>'Nome', - 'rules'=>'required|trim' - ), - array( - 'field'=>'documento', - 'label'=>'CPF/CNPJ', - 'rules'=>'required|trim' - ), - array( - 'field'=>'telefone', - 'label'=>'Telefone', - 'rules'=>'required|trim' - ), - array( - 'field'=>'email', - 'label'=>'Email', - 'rules'=>'required|trim|valid_email' - ), - array( - 'field'=>'rua', - 'label'=>'Rua', - 'rules'=>'required|trim' - ), - array( - 'field'=>'numero', - 'label'=>'Número', - 'rules'=>'required|trim' - ), - array( - 'field'=>'bairro', - 'label'=>'Bairro', - 'rules'=>'required|trim' - ), - array( - 'field'=>'cidade', - 'label'=>'Cidade', - 'rules'=>'required|trim' - ), - array( - 'field'=>'estado', - 'label'=>'Estado', - 'rules'=>'required|trim' - ), - array( - 'field'=>'cep', - 'label'=>'CEP', - 'rules'=>'required|trim' - )) - , - 'servicos' => array(array( - 'field'=>'nome', - 'label'=>'Nome', - 'rules'=>'required|trim' - ), - array( - 'field'=>'descricao', - 'label'=>'', - 'rules'=>'trim' - ), - array( - 'field'=>'preco', - 'label'=>'', - 'rules'=>'required|trim' - )) - , - 'produtos' => array(array( - 'field'=>'descricao', - 'label'=>'', - 'rules'=>'required|trim' - ), - array( - 'field'=>'unidade', - 'label'=>'Unidade', - 'rules'=>'required|trim' - ), - array( - 'field'=>'precoCompra', - 'label'=>'Preo de Compra', - 'rules'=>'required|trim' - ), - array( - 'field'=>'precoVenda', - 'label'=>'Preo de Venda', - 'rules'=>'required|trim' - ), - array( - 'field'=>'estoque', - 'label'=>'Estoque', - 'rules'=>'required|trim' - ), - array( - 'field'=>'estoqueMinimo', - 'label'=>'Estoque Mnimo', - 'rules'=>'trim' - )) - , - 'usuarios' => array(array( - 'field'=>'nome', - 'label'=>'Nome', - 'rules'=>'required|trim' - ), - array( - 'field'=>'rg', - 'label'=>'RG', - 'rules'=>'required|trim' - ), - array( - 'field'=>'cpf', - 'label'=>'CPF', - 'rules'=>'required|trim|is_unique[usuarios.cpf]' - ), - array( - 'field'=>'rua', - 'label'=>'Rua', - 'rules'=>'required|trim' - ), - array( - 'field'=>'numero', - 'label'=>'Numero', - 'rules'=>'required|trim' - ), - array( - 'field'=>'bairro', - 'label'=>'Bairro', - 'rules'=>'required|trim' - ), - array( - 'field'=>'cidade', - 'label'=>'Cidade', - 'rules'=>'required|trim' - ), - array( - 'field'=>'estado', - 'label'=>'Estado', - 'rules'=>'required|trim' - ), - array( - 'field'=>'email', - 'label'=>'Email', - 'rules'=>'required|trim|valid_email|is_unique[usuarios.email]' - ), - array( - 'field'=>'senha', - 'label'=>'Senha', - 'rules'=>'required|trim' - ), - array( - 'field'=>'telefone', - 'label'=>'Telefone', - 'rules'=>'required|trim' - ), - array( - 'field'=>'situacao', - 'label'=>'Situacao', - 'rules'=>'required|trim' - )) - , - 'os' => array(array( - 'field'=>'dataInicial', - 'label'=>'DataInicial', - 'rules'=>'required|trim' - ), - array( - 'field'=>'dataFinal', - 'label'=>'DataFinal', - 'rules'=>'trim|required' - ), - array( - 'field'=>'garantia', - 'label'=>'Garantia', - 'rules'=>'trim' - ), - array( - 'field'=>'termoGarantia', - 'label'=>'Termo Garantia', - 'rules'=>'trim' - ), - array( - 'field'=>'descricaoProduto', - 'label'=>'DescricaoProduto', - 'rules'=>'trim' - ), - array( - 'field'=>'defeito', - 'label'=>'Defeito', - 'rules'=>'trim' - ), - array( - 'field'=>'status', - 'label'=>'Status', - 'rules'=>'required|trim' - ), - array( - 'field'=>'observacoes', - 'label'=>'Observacoes', - 'rules'=>'trim' - ), - array( - 'field'=>'clientes_id', - 'label'=>'clientes', - 'rules'=>'trim|required' - ), - array( - 'field'=>'usuarios_id', - 'label'=>'usuarios_id', - 'rules'=>'trim|required' - ), - array( - 'field'=>'laudoTecnico', - 'label'=>'Laudo Tecnico', - 'rules'=>'trim' - )) + array(array( - 'field'=>'nomeTipo', - 'label'=>'NomeTipo', - 'rules'=>'required|trim' - ), - array( - 'field'=>'situacao', - 'label'=>'Situacao', - 'rules'=>'required|trim' - )) +$config = - , - 'receita' => array(array( - 'field'=>'descricao', - 'label'=>'Descrição', - 'rules'=>'required|trim' - ), - array( - 'field'=>'valor', - 'label'=>'Valor', - 'rules'=>'required|trim' - ), - array( - 'field'=>'vencimento', - 'label'=>'Data Vencimento', - 'rules'=>'required|trim' - ), - - array( - 'field'=>'cliente', - 'label'=>'Cliente', - 'rules'=>'required|trim' - ), - array( - 'field'=>'tipo', - 'label'=>'Tipo', - 'rules'=>'required|trim' - )) - , - 'despesa' => array(array( - 'field'=>'descricao', - 'label'=>'Descrição', - 'rules'=>'required|trim' - ), - array( - 'field'=>'valor', - 'label'=>'Valor', - 'rules'=>'required|trim' - ), - array( - 'field'=>'vencimento', - 'label'=>'Data Vencimento', - 'rules'=>'required|trim' - ), - array( - 'field'=>'fornecedor', - 'label'=>'Fornecedor', - 'rules'=>'required|trim' - ), - array( - 'field'=>'tipo', - 'label'=>'Tipo', - 'rules'=>'required|trim' - )) - , - 'garantias' => array(array( - 'field'=>'dataGarantia', - 'label'=>'dataGarantia', - 'rules'=>'trim' - ), - array( - 'field'=>'usuarios_id', - 'label'=>'usuarios_id', - 'rules'=>'trim' - ), - array( - 'field'=>'refGarantia', - 'label'=>'refGarantia', - 'rules'=>'trim' - ), - array( - 'field'=>'textoGarantia', - 'label'=>'textoGarantia', - 'rules'=>'required|trim' - )) - , - 'vendas' => array(array( +array('clientes' => array(array( + 'field' => 'nomeCliente', + 'label' => 'Nome', + 'rules' => 'required|trim', +), + array( + 'field' => 'documento', + 'label' => 'CPF/CNPJ', + 'rules' => 'required|trim', + ), + array( + 'field' => 'telefone', + 'label' => 'Telefone', + 'rules' => 'required|trim', + ), + array( + 'field' => 'email', + 'label' => 'Email', + 'rules' => 'required|trim|valid_email', + ), + array( + 'field' => 'rua', + 'label' => 'Rua', + 'rules' => 'required|trim', + ), + array( + 'field' => 'numero', + 'label' => 'Número', + 'rules' => 'required|trim', + ), + array( + 'field' => 'bairro', + 'label' => 'Bairro', + 'rules' => 'required|trim', + ), + array( + 'field' => 'cidade', + 'label' => 'Cidade', + 'rules' => 'required|trim', + ), + array( + 'field' => 'estado', + 'label' => 'Estado', + 'rules' => 'required|trim', + ), + array( + 'field' => 'cep', + 'label' => 'CEP', + 'rules' => 'required|trim', + )) + , + 'servicos' => array(array( + 'field' => 'nome', + 'label' => 'Nome', + 'rules' => 'required|trim', + ), + array( + 'field' => 'descricao', + 'label' => '', + 'rules' => 'trim', + ), + array( + 'field' => 'preco', + 'label' => '', + 'rules' => 'required|trim', + )) + , + 'produtos' => array(array( + 'field' => 'descricao', + 'label' => '', + 'rules' => 'required|trim', + ), + array( + 'field' => 'unidade', + 'label' => 'Unidade', + 'rules' => 'required|trim', + ), + array( + 'field' => 'precoCompra', + 'label' => 'Preo de Compra', + 'rules' => 'required|trim', + ), + array( + 'field' => 'precoVenda', + 'label' => 'Preo de Venda', + 'rules' => 'required|trim', + ), + array( + 'field' => 'estoque', + 'label' => 'Estoque', + 'rules' => 'required|trim', + ), + array( + 'field' => 'estoqueMinimo', + 'label' => 'Estoque Mnimo', + 'rules' => 'trim', + )) + , + 'usuarios' => array(array( + 'field' => 'nome', + 'label' => 'Nome', + 'rules' => 'required|trim', + ), + array( + 'field' => 'rg', + 'label' => 'RG', + 'rules' => 'required|trim', + ), + array( + 'field' => 'cpf', + 'label' => 'CPF', + 'rules' => 'required|trim|is_unique[usuarios.cpf]', + ), + array( + 'field' => 'rua', + 'label' => 'Rua', + 'rules' => 'required|trim', + ), + array( + 'field' => 'numero', + 'label' => 'Numero', + 'rules' => 'required|trim', + ), + array( + 'field' => 'bairro', + 'label' => 'Bairro', + 'rules' => 'required|trim', + ), + array( + 'field' => 'cidade', + 'label' => 'Cidade', + 'rules' => 'required|trim', + ), + array( + 'field' => 'estado', + 'label' => 'Estado', + 'rules' => 'required|trim', + ), + array( + 'field' => 'email', + 'label' => 'Email', + 'rules' => 'required|trim|valid_email|is_unique[usuarios.email]', + ), + array( + 'field' => 'senha', + 'label' => 'Senha', + 'rules' => 'required|trim', + ), + array( + 'field' => 'telefone', + 'label' => 'Telefone', + 'rules' => 'required|trim', + ), + array( + 'field' => 'situacao', + 'label' => 'Situacao', + 'rules' => 'required|trim', + )) + , + 'os' => array(array( + 'field' => 'dataInicial', + 'label' => 'DataInicial', + 'rules' => 'required|trim', + ), + array( + 'field' => 'dataFinal', + 'label' => 'DataFinal', + 'rules' => 'trim|required', + ), + array( + 'field' => 'garantia', + 'label' => 'Garantia', + 'rules' => 'trim', + ), + array( + 'field' => 'termoGarantia', + 'label' => 'Termo Garantia', + 'rules' => 'trim', + ), + array( + 'field' => 'descricaoProduto', + 'label' => 'DescricaoProduto', + 'rules' => 'trim', + ), + array( + 'field' => 'defeito', + 'label' => 'Defeito', + 'rules' => 'trim', + ), + array( + 'field' => 'status', + 'label' => 'Status', + 'rules' => 'required|trim', + ), + array( + 'field' => 'observacoes', + 'label' => 'Observacoes', + 'rules' => 'trim', + ), + array( + 'field' => 'clientes_id', + 'label' => 'clientes', + 'rules' => 'trim|required', + ), + array( + 'field' => 'usuarios_id', + 'label' => 'usuarios_id', + 'rules' => 'trim|required', + ), + array( + 'field' => 'laudoTecnico', + 'label' => 'Laudo Tecnico', + 'rules' => 'trim', + )) - 'field' => 'dataVenda', - 'label' => 'Data da Venda', - 'rules' => 'required|trim' - ), - array( - 'field'=>'clientes_id', - 'label'=>'clientes', - 'rules'=>'trim|required' - ), - array( - 'field'=>'usuarios_id', - 'label'=>'usuarios_id', - 'rules'=>'trim|required' - )) - ); + , + 'tiposUsuario' => array(array( + 'field' => 'nomeTipo', + 'label' => 'NomeTipo', + 'rules' => 'required|trim', + ), + array( + 'field' => 'situacao', + 'label' => 'Situacao', + 'rules' => 'required|trim', + )) + + , + 'receita' => array(array( + 'field' => 'descricao', + 'label' => 'Descrição', + 'rules' => 'required|trim', + ), + array( + 'field' => 'valor', + 'label' => 'Valor', + 'rules' => 'required|trim', + ), + array( + 'field' => 'vencimento', + 'label' => 'Data Vencimento', + 'rules' => 'required|trim', + ), + + array( + 'field' => 'cliente', + 'label' => 'Cliente', + 'rules' => 'required|trim', + ), + array( + 'field' => 'tipo', + 'label' => 'Tipo', + 'rules' => 'required|trim', + )) + , + 'despesa' => array(array( + 'field' => 'descricao', + 'label' => 'Descrição', + 'rules' => 'required|trim', + ), + array( + 'field' => 'valor', + 'label' => 'Valor', + 'rules' => 'required|trim', + ), + array( + 'field' => 'vencimento', + 'label' => 'Data Vencimento', + 'rules' => 'required|trim', + ), + array( + 'field' => 'fornecedor', + 'label' => 'Fornecedor', + 'rules' => 'required|trim', + ), + array( + 'field' => 'tipo', + 'label' => 'Tipo', + 'rules' => 'required|trim', + )) + , + 'garantias' => array(array( + 'field' => 'dataGarantia', + 'label' => 'dataGarantia', + 'rules' => 'trim', + ), + array( + 'field' => 'usuarios_id', + 'label' => 'usuarios_id', + 'rules' => 'trim', + ), + array( + 'field' => 'refGarantia', + 'label' => 'refGarantia', + 'rules' => 'trim', + ), + array( + 'field' => 'textoGarantia', + 'label' => 'textoGarantia', + 'rules' => 'required|trim', + )) + , + 'vendas' => array(array( + + 'field' => 'dataVenda', + 'label' => 'Data da Venda', + 'rules' => 'required|trim', + ), + array( + 'field' => 'clientes_id', + 'label' => 'clientes', + 'rules' => 'trim|required', + ), + array( + 'field' => 'usuarios_id', + 'label' => 'usuarios_id', + 'rules' => 'trim|required', + )), + 'anotacoes_os' => array(array( + 'field' => 'anotacao', + 'label' => 'Anotação', + 'rules' => 'required|trim', + ), + array( + 'field' => 'os_id', + 'label' => 'ID Os', + 'rules' => 'trim|required|integer', + )), + +); diff --git a/application/controllers/Os.php b/application/controllers/Os.php index fdea58fa8..c7c1073c7 100644 --- a/application/controllers/Os.php +++ b/application/controllers/Os.php @@ -280,6 +280,7 @@ public function editar() $this->data['produtos'] = $this->os_model->getProdutos($this->uri->segment(3)); $this->data['servicos'] = $this->os_model->getServicos($this->uri->segment(3)); $this->data['anexos'] = $this->os_model->getAnexos($this->uri->segment(3)); + $this->data['anotacoes'] = $this->os_model->getAnotacoes($this->uri->segment(3)); $this->data['view'] = 'os/editarOs'; $this->load->view('tema/topo', $this->data); } @@ -365,7 +366,7 @@ public function enviar_email() if ($enviouEmail) { $this->session->set_flashdata('success', 'O email está sendo processado e será enviado em breve para o cliente.'); - log_info('Enviou e-mail para o cliente: '.$this->data['result']->nomeCliente. '. E-mail: '. $this->data['result']->email); + log_info('Enviou e-mail para o cliente: ' . $this->data['result']->nomeCliente . '. E-mail: ' . $this->data['result']->email); redirect(site_url('os')); } else { $this->session->set_flashdata('error', 'Ocorreu um erro ao enviar e-mail para o cliente.'); @@ -750,4 +751,38 @@ private function enviarOsPorEmail($idOs, $remetentes, $assunto) return true; } + + public function adicionarAnotacao() + { + $this->load->library('form_validation'); + if ($this->form_validation->run('anotacoes_os') == false) { + echo json_encode(validation_errors()); + } else { + $data = array( + 'anotacao' => $this->input->post('anotacao'), + 'data_hora' => date('Y-m-d H:i:s'), + 'os_id' => $this->input->post('os_id'), + ); + + if ($this->os_model->add('anotacoes_os', $data) == true) { + + log_info('Adicionou anotação a uma OS.'); + echo json_encode(array('result' => true)); + } else { + echo json_encode(array('result' => false)); + } + } + } + + public function excluirAnotacao() + { + $id = $this->input->post('idAnotacao'); + if ($this->os_model->delete('anotacoes_os', 'idAnotacoes', $id) == true) { + + log_info('Removeu anotação de uma OS.'); + echo json_encode(array('result' => true)); + } else { + echo json_encode(array('result' => false)); + } + } } diff --git a/application/models/Os_model.php b/application/models/Os_model.php index 18e0ec70b..4866a4ecb 100644 --- a/application/models/Os_model.php +++ b/application/models/Os_model.php @@ -272,4 +272,11 @@ public function getAnexos($os) $this->db->where('os_id', $os); return $this->db->get('anexos')->result(); } + + public function getAnotacoes($os) + { + $this->db->where('os_id', $os); + $this->db->order_by('idAnotacoes', 'desc'); + return $this->db->get('anotacoes_os')->result(); + } } diff --git a/application/views/os/editarOs.php b/application/views/os/editarOs.php index c9206a2c7..4b00966fc 100644 --- a/application/views/os/editarOs.php +++ b/application/views/os/editarOs.php @@ -31,6 +31,7 @@
  • Produtos
  • Serviços
  • Anexos
  • +
  • Anotações
  • @@ -235,7 +236,7 @@ echo '' . $s->nome . ''; echo '' . ($s->quantidade ?: 1) . ''; echo '' . $preco . ''; - echo ''; + echo ''; echo 'R$ ' . number_format($subtotal, 2, ',', '.') . ''; echo ''; } ?> @@ -288,6 +289,44 @@
    + + +
    +
    + +
    + + Adicionar anotação +
    + + + + + + + + + + '; + echo ''; + echo ''; + echo ''; + echo ''; + } + if(!$anotacoes){ + echo ''; + } + + ?> + +
    AnotaçãoData/HoraAções
    ' . $a->anotacao . '' . date('d/m/Y H:i:s', strtotime($a->data_hora)) . '
    Nenhuma anotação cadastrada
    +
    + +
    +
    +   @@ -316,6 +355,28 @@ + + + - @@ -651,6 +711,45 @@ } }); + $("#formAnotacao").validate({ + rules: { + anotacao: { + required: true + } + }, + messages: { + anotacao: { + required: 'Insira a anotação' + } + }, + submitHandler: function(form) { + var dados = $(form).serialize(); + $("#divFormAnotacoes").html("
    "); + + $.ajax({ + type: "POST", + url: "index.php/os/adicionarAnotacao", + data: dados, + dataType: 'json', + success: function(data) { + if (data.result == true) { + $("#divAnotacoes").load(" #divAnotacoes"); + $("#anotacao").val(''); + $('#btn-close-anotacao').trigger('click'); + $("#divFormAnotacoes").html(''); + } else { + Swal.fire({ + type: "error", + title: "Atenção", + text: "Ocorreu um erro ao tentar adicionar anotação." + }); + } + } + }); + return false; + } + }); + $("#formAnexos").validate({ submitHandler: function(form) { //var dados = $( form ).serialize(); @@ -713,7 +812,7 @@ }); - $(document).on('click', 'span', function(event) { + $(document).on('click', '.servico', function(event) { var idServico = $(this).attr('idAcao'); if ((idServico % 1) == 0) { $("#divServicos").html("
    "); @@ -775,6 +874,32 @@ } }); }); + + $(document).on('click', '.anotacao', function(event) { + var idAnotacao = $(this).attr('idAcao'); + if ((idAnotacao % 1) == 0) { + $("#divAnotacoes").html("
    "); + $.ajax({ + type: "POST", + url: "index.php/os/excluirAnotacao", + data: "idAnotacao=" + idAnotacao, + dataType: 'json', + success: function(data) { + if (data.result == true) { + $("#divAnotacoes").load(" #divAnotacoes"); + + } else { + Swal.fire({ + type: "error", + title: "Atenção", + text: "Ocorreu um erro ao tentar excluir serviço." + }); + } + } + }); + return false; + } + }); $(".datepicker").datepicker({ dateFormat: 'dd/mm/yy' diff --git a/banco.sql b/banco.sql index ddcb8d573..4cef3c295 100644 --- a/banco.sql +++ b/banco.sql @@ -508,7 +508,9 @@ CREATE TABLE IF NOT EXISTS `emitente` ( PRIMARY KEY (`id`) ) ENGINE = InnoDB; - +-- ----------------------------------------------------- +-- Table `email_queue` +-- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `email_queue` ( `id` int(11) NOT NULL AUTO_INCREMENT, `to` varchar(255) NOT NULL, @@ -521,6 +523,17 @@ CREATE TABLE IF NOT EXISTS `email_queue` ( PRIMARY KEY (`id`) ); +-- ----------------------------------------------------- +-- Table `anotacaoes_os` +-- ----------------------------------------------------- +CREATE TABLE `anotacoes_os` ( + `idAnotacoes` INT(11) NOT NULL AUTO_INCREMENT, + `anotacao` VARCHAR(255) NOT NULL , + `data_hora` DATETIME NOT NULL , + `os_id` INT(11) NOT NULL , + PRIMARY KEY (`idAnotacoes`) +); + INSERT INTO `permissoes` (`idPermissao`, `nome`, `permissoes`, `situacao`, `data`) VALUES (1, 'Administrador', 'a:43:{s:8:"aCliente";s:1:"1";s:8:"eCliente";s:1:"1";s:8:"dCliente";s:1:"1";s:8:"vCliente";s:1:"1";s:8:"aProduto";s:1:"1";s:8:"eProduto";s:1:"1";s:8:"dProduto";s:1:"1";s:8:"vProduto";s:1:"1";s:8:"aServico";s:1:"1";s:8:"eServico";s:1:"1";s:8:"dServico";s:1:"1";s:8:"vServico";s:1:"1";s:3:"aOs";s:1:"1";s:3:"eOs";s:1:"1";s:3:"dOs";s:1:"1";s:3:"vOs";s:1:"1";s:6:"aVenda";s:1:"1";s:6:"eVenda";s:1:"1";s:6:"dVenda";s:1:"1";s:6:"vVenda";s:1:"1";s:9:"aGarantia";s:1:"1";s:9:"eGarantia";s:1:"1";s:9:"dGarantia";s:1:"1";s:9:"vGarantia";s:1:"1";s:8:"aArquivo";s:1:"1";s:8:"eArquivo";s:1:"1";s:8:"dArquivo";s:1:"1";s:8:"vArquivo";s:1:"1";s:11:"aLancamento";s:1:"1";s:11:"eLancamento";s:1:"1";s:11:"dLancamento";s:1:"1";s:11:"vLancamento";s:1:"1";s:8:"cUsuario";s:1:"1";s:9:"cEmitente";s:1:"1";s:10:"cPermissao";s:1:"1";s:7:"cBackup";s:1:"1";s:10:"cAuditoria";s:1:"1";s:8:"rCliente";s:1:"1";s:8:"rProduto";s:1:"1";s:8:"rServico";s:1:"1";s:3:"rOs";s:1:"1";s:6:"rVenda";s:1:"1";s:11:"rFinanceiro";s:1:"1";}', 1, '2014-09-03'); diff --git a/updates/updata_3.9_to_3.10.sql b/updates/updata_3.9_to_3.10.sql new file mode 100644 index 000000000..e2868acaa --- /dev/null +++ b/updates/updata_3.9_to_3.10.sql @@ -0,0 +1,7 @@ +CREATE TABLE `anotacoes_os` ( + `idAnotacoes` INT(11) NOT NULL AUTO_INCREMENT, + `anotacao` VARCHAR(255) NOT NULL , + `data_hora` DATETIME NOT NULL , + `os_id` INT(11) NOT NULL , + PRIMARY KEY (`idAnotacoes`) +); \ No newline at end of file