/** * insere atividade no pedido_item * @param int $id_atividade * @param string $s * @param int $id_usuario * @param int $id_pedido_item */ public function inserirAtividade($id_atividade = '172', $s, $id_usuario, $id_pedido_item) { global $controle_id_empresa, $controle_id_usuario; $where = ''; #verifica se a forma de pagamento é deposito e se não é do correio para enviar ao operacional ou ao financeiro $this->sql = "SELECT (CASE WHEN(pi.valor_rec = 0) THEN ('0') ELSE ('1') END) as recebido,\n\t\t\t\t\t\t\tp.origem, p.forma_pagamento, \n\t\t\t\t\t\t\tpi.data_prazo, pi.id_pedido, pi.certidao_nome, pi.certidao_devedor, pi.id_servico, p.cpf, p.id_pacote,pi.id_status, \n\t\t\t\t\t\t\tpi.data_atividade, pi.dias, pi.id_usuario_op, pi.encerramento, pi.atendimento, pi.inicio, pi.operacional,\n\t\t\t\t\t\t\tpi.certidao_cidade, pi.certidao_estado, pi.id_empresa_atend\n\t\t\t\t\t\t\tfrom vsites_pedido_item as pi, vsites_pedido as p where pi.id_pedido_item=? and pi.id_pedido=p.id_pedido limit 1"; $this->values = array($id_pedido_item); $res = $this->fetch(); if ($controle_id_usuario == 1 or $controle_id_usuario == 3720) { #print_r($res); #echo $id_atividade; #exit; } if (($res[0]->recebido == '0' or $res[0]->recebido == '') and ($id_atividade == '137' or $id_atividade == '198') and $res[0]->origem != 'Correios' and $res[0]->forma_pagamento == 'Depósito') { $id_atividade = '153'; } #verifica se vai criar data da agenda $data_agenda = date('Y-m-d'); if (($s->status_dias != '' and $s->status_dias != '0' or $s->status_hora != '') and $id_atividade != "110" && $id_atividade != "217") { if ($s->status_dias == '') { $s->status_dias = '0'; } $data_agenda = somar_dias_uteis($data_agenda, $s->status_dias); $where .= ",data_i='" . $data_agenda . "' ,status_hora='" . $s->status_hora . ":00'"; } else { if ($s->status_dias == '0' and $id_atividade != "110" and $id_atividade != "217") { $where .= ",data_i=NOW(), status_hora='" . $s->status_hora . ":00'"; } else { if ($id_atividade != "110" && $id_atividade != "217") { $where .= ",data_i='', status_hora='" . $s->status_hora . ":00'"; } } } #seleciona o status da nova atividade e verifica se tem que voltar para o status anterior $ativ = $this->selecionaPorID($id_atividade); if ($ativ->id_status == 99) { $this->sql = "SELECT a.id_status from vsites_pedido_status as s, vsites_atividades as a where s.id_pedido_item=? and a.id_atividade=s.id_atividade and a.id_status!='0' and a.id_status!='99' and a.id_status!='15' and a.id_status!='12' and a.id_status!='18' and a.id_status!='17' order by s.id_pedido_status DESC LIMIT 1"; $this->values = array($id_pedido_item); $res_ant = $this->fetch(); $id_status = $res_ant[0]->id_status; } else { $id_status = $ativ->id_status; } #se estiver no pendente precisa somar os dias que ficaram parado if (($res[0]->id_status == '12' or $res[0]->id_status == '15') and $res[0]->inicio != '0000-00-00 00:00:00') { $dias_add = dias_uteis(invert($res[0]->data_atividade, '/', 'PHP'), date('d/m/Y')); $prazo_dias = $res[0]->dias + $dias_add; $data_prazo = somar_dias_uteis($res[0]->inicio, $prazo_dias); $where .= ", dias='" . $prazo_dias . "', data_prazo='" . $data_prazo . "'"; } #se for liberado para a franquia marca o dia da liberação para franquia if ($id_atividade == '205') { $where .= ", data_status=NOW()"; } #se for para cadastrado começa a contar o prazo if (($id_atividade == '137' or $id_atividade == '198' or $id_atividade == '180') and $res[0]->inicio == '0000-00-00 00:00:00') { #verifica CDT $pedidoDAO = new PedidoDAO(); $id_empresa_dir = $pedidoDAO->listaCDT($res[0]->certidao_cidade, $res[0]->certidao_estado, $res[0]->id_pedido, $controle_id_empresa); if ($id_empresa_dir != '') { $where .= ", id_empresa_dir='" . $id_empresa_dir . "'"; } $where .= ", inicio=NOW()"; #se for atividade Conferido aguardar 24 horas soma 1 dia no prazo if ($id_atividade == '198' and $res[0]->inicio == '0000-00-00 00:00:00') { $res[0]->dias++; $data_prazo = somar_dias_uteis(date('Y-m-d'), $res[0]->dias); $where .= ", dias='" . $res[0]->dias . "', data_prazo='" . $data_prazo . "'"; } else { $data_prazo = somar_dias_uteis(date('Y-m-d'), $res[0]->dias); $where .= ", data_prazo='" . $data_prazo . "'"; } } #se atividade = conciliação ou cadastrado, inicia o atendimento if (($ativ->id_status == '2' or $ativ->id_status == '3' or $id_atividade == '153') and $res[0]->atendimento == '0000-00-00 00:00:00') { $where .= ", atendimento=NOW()"; } #verifica se foi concluído operacional if ($id_atividade == '203' and ($res[0]->operacional == '0000-00-00' or $res[0]->operacional == '')) { $where .= ", operacional=NOW()"; } #verifica se foi concluído if ($id_atividade == '119' and ($res[0]->encerramento == '0000-00-00 00:00:00' or $res[0]->encerramento == '')) { $where .= ", encerramento=NOW()"; } #verifica se o pedido já foi direcionado caso não tenha sido direciona para o proprio usuário if ($id_atividade == '145' and $res[0]->id_usuario_op == '0') { $where .= ", id_usuario_op=" . $id_usuario; } #se o pedido de imóveis e detran estiverem liberados libera para faturamento if (($ativ->id_status == '8' or $ativ->id_status == '10') and ($res[0]->id_servico == '170' or $res[0]->id_servico == '11' or $res[0]->id_servico == '16' or $res[0]->id_servico == '64' or $res[0]->id_servico == '169' or $res[0]->id_servico == '156' or $res[0]->id_servico == '117') and $res[0]->id_pacote == '1') { if ($res[0]->id_servico == '169' or $res[0]->id_servico == '156' or $res[0]->id_servico == '117') { #se o pedido de imóveis e detran estiverem liberados libera para faturamento $this->sql = "update vsites_pedido_item as pi set pi.pacote_lib = '1' where pi.id_pedido_item=?"; $this->values = array($id_pedido_item); $this->exec(); } else { //verifica se todos os pedidos foram liberados para faturamento $this->sql = "SELECT COUNT(0) as total from vsites_pedido_item as pi, vsites_pedido as p where \n pi.id_empresa_atend=? and\n pi.id_status!='14' and pi.id_status!='8' and pi.id_status!='10' and \n (pi.id_servico='170' or pi.id_servico='11' or pi.id_servico='16' or pi.id_servico='64') and \n (pi.certidao_devedor = ? and pi.certidao_devedor <> '' or \n pi.certidao_nome = ? and pi.certidao_nome <> '' and pi.certidao_devedor='') and \n pi.id_pedido_item!=? and\n pi.id_pedido=p.id_pedido and \n p.id_pacote='1' and p.cpf=?"; $this->values = array($res[0]->id_empresa_atend, $res[0]->certidao_devedor, $res[0]->certidao_nome, $id_pedido_item, $res[0]->cpf); $num_pacote = $this->fetch(); if ($num_pacote[0]->total == 0) { //seleciona todos os pedidos que foram liberados para faturamento dentro do pacote $this->sql = "SELECT pi.id_pedido_item, pi.id_pedido, pi.ordem from vsites_pedido_item as pi, vsites_pedido as p where \n pi.id_empresa_atend=? and\n (pi.id_servico='170' or pi.id_servico='11' or pi.id_servico='16' or pi.id_servico='64') and \n pi.id_status!='14' and\n (pi.certidao_devedor =? and pi.certidao_devedor <> '' or \n pi.certidao_nome = ? and pi.certidao_nome <> '' and pi.certidao_devedor='') and \n pi.id_pedido=p.id_pedido and\n p.id_pacote='1' and p.cpf=?"; $this->values = array($res[0]->id_empresa_atend, $res[0]->certidao_devedor, $res[0]->certidao_nome, $res[0]->cpf); $num_pacote = $this->fetch(); foreach ($num_pacote as $l) { $this->sql = "update vsites_pedido_item as pi set pi.pacote_lib = '1' where pi.id_pedido_item=?"; $this->values = array($l->id_pedido_item); $this->exec(); } } } } if (($id_status == '8' or $id_status == '10') and $res[0]->id_pacote == '2') { #se o pacote empresarial estao liberados entao libera para faturamento $this->sql = "SELECT COUNT(0)as total from vsites_pedido_item as pi where pi.id_pedido=? and pi.id_status!='14' and pi.id_status!='8' and pi.id_status!='10' and pi.id_pedido_item!=?"; $this->values = array($res[0]->id_pedido, $id_pedido_item); $num_pacote = $this->fetch(); if ($num_pacote[0]->total == 0) { $this->sql = "update vsites_pedido_item set pacote_lib = '1' where id_pedido=? and id_status!='14'"; $this->values = array($res[0]->id_pedido); $this->exec(); } } if ($id_atividade != 110 && $id_atividade != 217) { #se status = 0 nao muda o status, nem data da atividade if ($controle_id_usuario == 1 or $controle_id_usuario == 3720) { #print_r($this); #echo $id_atividade; #exit; } if ($id_status == '' or $id_status == '0') { if ($id_atividade == 212) { $where .= ", atraso=NOW() "; } $this->sql = "update vsites_pedido_item set id_atividade='" . $id_atividade . "' " . $where . " where id_pedido_item=?"; $this->values = array($id_pedido_item); $this->exec(); } else { if ($id_atividade == 155 and $res[0]->id_status == 6 or $id_atividade != 155) { if ($id_atividade == 115) { $where .= ", des=1 "; } $this->sql = "update vsites_pedido_item set data_atividade=NOW(), id_status=?, id_atividade=?,status_hora=? " . $where . " where id_pedido_item=?"; $this->values = array($id_status, $id_atividade, $s->status_hora . ':00', $id_pedido_item); $this->exec(); } } } $data_i = date('Y-m-d H:i:s'); $this->fields = array('id_atividade', 'status_obs', 'data_i', 'id_usuario', 'id_pedido_item', 'status_dias', 'status_hora'); $this->values = array('id_atividade' => $id_atividade, 'status_obs' => $s->status_obs, 'data_i' => $data_i, 'id_usuario' => $id_usuario, 'id_pedido_item' => $id_pedido_item, 'status_dias' => $s->status_dias, 'status_hora' => $s->status_hora); $this->insert(); return 1; }
#inicio do ano II $linha_arq = 'MES'; $linha_pedido_dia2[] = 'OPERAÇÕES POR DIA'; $linha_dias_uteis2[] = 'DIAS ÚTEIS'; $linha_vendas2[] = 'VENDA'; $linha_operacoes2[] = 'OPERAÇÕES DO MÊS'; $pedido_medio2[] = 'TICKET MÉDIO'; while ($cont < 24) { $data = gmdate('m/Y', strtotime(date("d/m/Y", strtotime('01/' . $busca_data_i)) . " +" . $cont . " month")); $linha_arq .= ";" . $data; $pedido_medio = explode(';', $linha_pedido_medio); $pedido_dia = explode(';', $linha_pedido_dia); $cont2 = $cont - 11; $calc_pedidomedio = (double) $pedido_medio[$cont2] + (double) $pedido_medio[$cont2] / 100 * $crescimento; $pedido_medio2[] = $calc_pedidomedio; $dias = dias_uteis('01/' . $data, '31/' . $data); $linha_dias_uteis2[] = $dias; $por_dia = $pedido_dia[$cont2] + $pedido_dia[$cont2] / 100 * $crescimento; $linha_pedido_dia2[] = $por_dia; $linha_operacoes2[] = $dias * $por_dia; $linha_vendas2[] = $calc_pedidomedio * $dias * $por_dia; $vendas_ano2 = (double) $vendas_ano2 + (double) ($calc_pedidomedio * $dias * $por_dia); $ticket_ano2 = (double) $ticket_ano2 + (double) $calc_pedidomedio; $operacoes_ano2 = (double) $operacoes_ano2 + (double) ($dias * $por_dia); $cont++; $linha_arq_mes .= ";" . $cont; } $myArr = explode(';', ';'); $excel->writeLine($myArr); $myArr = explode(';', 'ANO II' . $linha_arq_mes); $excel->writeLine($myArr);