Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Data e hora na OS #2636

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions application/controllers/Mapos.php
Original file line number Diff line number Diff line change
Expand Up @@ -420,6 +420,7 @@ public function configurar()
$this->form_validation->set_rules('control_editos', 'Controle de Edição de OS', 'required|trim');
$this->form_validation->set_rules('control_edit_vendas', 'Controle de Edição de Vendas', 'required|trim');
$this->form_validation->set_rules('control_datatable', 'Controle de Visualização em DataTables', 'required|trim');
$this->form_validation->set_rules('os_datetime', 'Utilizar Data/Hora na OS', 'required|trim');
$this->form_validation->set_rules('os_status_list[]', 'Controle de visualização de OS', 'required|trim', ['required' => 'Selecione ao menos uma das opções!']);
$this->form_validation->set_rules('control_2vias', 'Controle Impressão 2 Vias', 'required|trim');
$this->form_validation->set_rules('pix_key', 'Chave Pix', 'trim|valid_pix_key', [
Expand Down Expand Up @@ -473,6 +474,7 @@ public function configurar()
'control_editos' => $this->input->post('control_editos'),
'control_edit_vendas' => $this->input->post('control_edit_vendas'),
'control_datatable' => $this->input->post('control_datatable'),
'os_datetime' => $this->input->post('os_datetime'),
'pix_key' => $this->input->post('pix_key'),
'os_status_list' => json_encode($this->input->post('os_status_list')),
'control_2vias' => $this->input->post('control_2vias'),
Expand Down Expand Up @@ -586,14 +588,14 @@ public function calendario()

return [
'title' => "OS: {$os->idOs}, Cliente: {$os->nomeCliente}",
'start' => $os->dataFinal,
'start' => $os->dataInicial,
'end' => $os->dataFinal,
'color' => $cor,
'extendedProps' => [
'id' => $os->idOs,
'cliente' => '<b>Cliente:</b> ' . $os->nomeCliente,
'dataInicial' => '<b>Data Inicial:</b> ' . date('d/m/Y', strtotime($os->dataInicial)),
'dataFinal' => '<b>Data Final:</b> ' . date('d/m/Y', strtotime($os->dataFinal)),
'dataInicial' => '<b>Data Inicial:</b> ' . date('d/m/Y H:i:s', strtotime($os->dataInicial)),
'dataFinal' => '<b>Data Final:</b> ' . date('d/m/Y H:i:s', strtotime($os->dataFinal)),
'garantia' => '<b>Garantia:</b> ' . $os->garantia . ' dias',
'status' => '<b>Status da OS:</b> ' . $os->status,
'description' => '<b>Descrição/Produto:</b> ' . strip_tags(html_entity_decode($os->descricaoProduto)),
Expand Down
32 changes: 28 additions & 4 deletions application/controllers/Os.php
Original file line number Diff line number Diff line change
Expand Up @@ -113,10 +113,10 @@ public function adicionar()
}

$data = [
'dataInicial' => $dataInicial,
'dataInicial' => $this->formatarDataMysql($this->input->post('dataInicial')),
'clientes_id' => $this->input->post('clientes_id'), //set_value('idCliente'),
'usuarios_id' => $this->input->post('usuarios_id'), //set_value('idUsuario'),
'dataFinal' => $dataFinal,
'dataFinal' => $this->formatarDataMysql($this->input->post('dataFinal')),
'garantia' => set_value('garantia'),
'garantias_id' => $termoGarantiaId,
'descricaoProduto' => $this->input->post('descricaoProduto'),
Expand Down Expand Up @@ -216,8 +216,8 @@ public function editar()
}

$data = [
'dataInicial' => $dataInicial,
'dataFinal' => $dataFinal,
'dataInicial' => $this->formatarDataMysql($this->input->post('dataInicial')),
'dataFinal' => $this->formatarDataMysql($this->input->post('dataFinal')),
'garantia' => $this->input->post('garantia'),
'garantias_id' => $termoGarantiaId,
'descricaoProduto' => $this->input->post('descricaoProduto'),
Expand Down Expand Up @@ -1179,4 +1179,28 @@ public function excluirAnotacao()
echo json_encode(['result' => false]);
}
}

private function formatarDataMysql($data)
{
if (empty($data)) {
return date('Y-m-d H:i:s'); // Retorna data atual se vazio
}

try {
// Tenta converter do formato brasileiro com hora
$date = DateTime::createFromFormat('d/m/Y H:i', $data);
if (!$date) {
// Tenta formato brasileiro sem hora
$date = DateTime::createFromFormat('d/m/Y', $data);
}
if (!$date) {
// Se ainda não conseguiu, tenta criar do formato que vier
$date = new DateTime($data);
}

return $date->format('Y-m-d H:i:s');
} catch (Exception $e) {
return date('Y-m-d H:i:s'); // Retorna data atual se houver erro
}
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Se não me engano já tem uma função pra exibir data lá no general_helpers, não precisa criar uma função nova.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vou verificar e trocar. Desculpe a demora, entrei de férias e dei um tempo do PC.

}
1 change: 1 addition & 0 deletions application/core/MY_Controller.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ class MY_Controller extends CI_Controller
'control_baixa' => '0',
'control_editos' => '1',
'control_datatable' => '1',
'os_datetime' => '0',
'pix_key' => '',
],
];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,14 @@ public function up()
{
$sql = "INSERT INTO `configuracoes` (`idConfig`, `config`, `valor`) VALUES (10, 'control_datatable', 1)";
$this->db->query($sql);

$sql = "INSERT INTO `configuracoes` (`idConfig`, `config`, `valor`) VALUES (16, 'os_datetime', 0)";
$this->db->query($sql);
}

public function down()
{
$this->db->query('DELETE FROM `configuracoes` WHERE `configuracoes`.`idConfig` = 10');
$this->db->query('DELETE FROM `configuracoes` WHERE `configuracoes`.`idConfig` = 16');
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?php

class Migration_Alter_Datetime_Os extends CI_Migration
{
public function up()
{
$sql = "ALTER TABLE os
MODIFY COLUMN dataInicial DATETIME,
MODIFY COLUMN dataFinal DATETIME;";

$this->db->query($sql);
}

public function down()
{
$sql = "ALTER TABLE os
MODIFY COLUMN dataInicial DATE,
MODIFY COLUMN dataFinal DATE;";

$this->db->query($sql);
}
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
}
}

5 changes: 5 additions & 0 deletions application/database/seeds/Configuracoes.php
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,11 @@ public function run()
'config' => 'control_2vias',
'valor' => '0',
],
[
'idConfig' => 16,
'config' => 'os_datetime',
'valor' => '0',
],
];

foreach ($configs as $config) {
Expand Down
10 changes: 10 additions & 0 deletions application/views/mapos/configurar.php
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,16 @@
<span class="help-inline">Ativar ou desativar a visualização em tabelas dinâmicas</span>
</div>
</div>
<div class="control-group">
<label for="os_datetime" class="control-label">Utilizar Data/Hora na OS</label>
<div class="controls">
<select name="os_datetime" id="os_datetime">
<option value="1">Sim</option>
<option value="0" <?= $configuration['os_datetime'] == '0' ? 'selected' : ''; ?>>Não</option>
</select>
<span class="help-inline">Ativar ou desativar data e hora na OS</span>
</div>
</div>
<div class="form-actions">
<div class="span8">
<div class="span9">
Expand Down
2 changes: 1 addition & 1 deletion application/views/mapos/painel.php
Original file line number Diff line number Diff line change
Expand Up @@ -1253,7 +1253,7 @@ function responsiveFonts() {
selectable: false,
businessHours: true,
dayMaxEvents: true, // allow "more" link when too many events
displayEventTime: false,
displayEventTime: true,
events: {
url: "<?= base_url() . "index.php/mapos/calendario"; ?>",
method: 'GET',
Expand Down
4 changes: 2 additions & 2 deletions application/views/os/adicionarOs.php
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,11 @@
</div>
<div class="span3">
<label for="dataInicial">Data Inicial<span class="required">*</span></label>
<input id="dataInicial" autocomplete="off" class="span12 datepicker" type="text" name="dataInicial" value="<?php echo date('d/m/Y'); ?>" />
<input id="dataInicial" autocomplete="off" class="span12 datepicker" <?php echo $configuration['os_datetime'] ? 'type="datetime-local"' : 'type="text"'; ?> name="dataInicial" value="<?php echo date('d/m/Y'); ?>" />
</div>
<div class="span3">
<label for="dataFinal">Data Final<span class="required">*</span></label>
<input id="dataFinal" autocomplete="off" class="span12 datepicker" type="text" name="dataFinal" value="" />
<input id="dataFinal" autocomplete="off" class="span12 datepicker" <?php echo $configuration['os_datetime'] ? 'type="datetime-local"' : 'type="text"'; ?> name="dataFinal" value="<?php echo date('d/m/Y'); ?>" />
</div>
<div class="span3">
<label for="garantia">Garantia (dias)</label>
Expand Down
4 changes: 2 additions & 2 deletions application/views/os/editarOs.php
Original file line number Diff line number Diff line change
Expand Up @@ -103,11 +103,11 @@
</div>
<div class="span3">
<label for="dataInicial">Data Inicial<span class="required">*</span></label>
<input id="dataInicial" autocomplete="off" class="span12 datepicker" type="text" name="dataInicial" value="<?php echo date('d/m/Y', strtotime($result->dataInicial)); ?>" />
<input id="dataInicial" autocomplete="off" class="span12 datepicker" <?php echo $configuration['os_datetime'] ? 'type="datetime-local"' : 'type="text"'; ?> name="dataInicial" value="<?php echo $configuration['os_datetime'] ? date('Y-m-d\TH:i', strtotime($result->dataInicial)) : date('d/m/Y', strtotime($result->dataInicial)); ?>" />
</div>
<div class="span3">
<label for="dataFinal">Data Final<span class="required">*</span></label>
<input id="dataFinal" autocomplete="off" class="span12 datepicker" type="text" name="dataFinal" value="<?php echo date('d/m/Y', strtotime($result->dataFinal)); ?>" />
<input id="dataFinal" autocomplete="off" class="span12 datepicker" <?php echo $configuration['os_datetime'] ? 'type="datetime-local"' : 'type="text"'; ?> name="dataFinal" value="<?php echo $configuration['os_datetime'] ? date('Y-m-d\TH:i', strtotime($result->dataFinal)) : date('d/m/Y', strtotime($result->dataFinal)); ?>" />
</div>
<div class="span3">
<label for="garantia">Garantia (dias)</label>
Expand Down
4 changes: 2 additions & 2 deletions application/views/os/os.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,9 @@
}

$this->load->model('os_model'); foreach ($results as $r) {
$dataInicial = date(('d/m/Y'), strtotime($r->dataInicial));
$dataInicial = $configuration['os_datetime'] ? date(('d/m/Y H:i'), strtotime($r->dataInicial)) : date(('d/m/Y'), strtotime($r->dataInicial));
if ($r->dataFinal != null) {
$dataFinal = date(('d/m/Y'), strtotime($r->dataFinal));
$dataFinal = $configuration['os_datetime'] ? date(('d/m/Y H:i'), strtotime($r->dataFinal)) : date(('d/m/Y'), strtotime($r->dataFinal));
} else {
$dataFinal = "";
}
Expand Down
4 changes: 2 additions & 2 deletions application/views/os/visualizarOs.php
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,12 @@

<td>
<b>DATA INICIAL: </b><br>
<?php echo date('d/m/Y', strtotime($result->dataInicial)); ?>
<?php echo date('d/m/Y H:i', strtotime($result->dataInicial)); ?>
</td>

<td>
<b>DATA FINAL: </b><br>
<?php echo $result->dataFinal ? date('d/m/Y', strtotime($result->dataFinal)) : ''; ?>
<?php echo $result->dataFinal ? date('d/m/Y H:i', strtotime($result->dataFinal)) : ''; ?>
</td>

<td>
Expand Down
7 changes: 4 additions & 3 deletions banco.sql
Original file line number Diff line number Diff line change
Expand Up @@ -212,8 +212,8 @@ DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `os` (
`idOs` INT(11) NOT NULL AUTO_INCREMENT,
`dataInicial` DATE NULL DEFAULT NULL,
`dataFinal` DATE NULL DEFAULT NULL,
`dataInicial` DATETIME NULL DEFAULT NULL,
`dataFinal` DATETIME NULL DEFAULT NULL,
`garantia` VARCHAR(45) NULL DEFAULT NULL,
`descricaoProduto` TEXT NULL DEFAULT NULL,
`defeito` TEXT NULL DEFAULT NULL,
Expand Down Expand Up @@ -649,7 +649,8 @@ INSERT IGNORE INTO `configuracoes` (`idConfig`, `config`, `valor`) VALUES
(12, 'os_status_list', '[\"Aberto\",\"Faturado\",\"Negocia\\u00e7\\u00e3o\",\"Em Andamento\",\"Or\\u00e7amento\",\"Finalizado\",\"Cancelado\",\"Aguardando Pe\\u00e7as\",\"Aprovado\"]'),
(13, 'control_edit_vendas', '1'),
(14, 'email_automatico', '1'),
(15, 'control_2vias', '0');
(15, 'control_2vias', '0'),
(16, 'os_datetime', '1');

INSERT IGNORE INTO `permissoes` (`idPermissao`, `nome`, `permissoes`, `situacao`, `data`) VALUES
(1, 'Administrador', 'a:53:{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:10:"aPagamento";N;s:10:"ePagamento";N;s:10:"dPagamento";N;s:10:"vPagamento";N;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:6:"cEmail";s:1:"1";s:8:"cSistema";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";s:9:"aCobranca";s:1:"1";s:9:"eCobranca";s:1:"1";s:9:"dCobranca";s:1:"1";s:9:"vCobranca";s:1:"1";}', 1, 'admin_created_at');
Expand Down
2 changes: 2 additions & 0 deletions updates/update_4.29.0_to_4.30.0.sql
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@ INSERT INTO `configuracoes` (`idConfig`, `config`, `valor`) VALUES (9, 'control_

INSERT INTO `configuracoes` (`idConfig`, `config`, `valor`) VALUES (10, 'control_datatable', 1);

INSERT INTO `configuracoes` (`idConfig`, `config`, `valor`) VALUES (16, 'os_datetime', 0);

ALTER TABLE `clientes` ADD `fornecedor` BOOLEAN NOT NULL DEFAULT FALSE;