Пример #1
0
$requestItemDAO = new RequestItemDAO($dataConnector->mysqlConnection);
$requestItemDAO->showErrors = 1;
$pediodFilter = "data >= '" . $startDate . " 00:00' AND data <= '" . $endDate . " 23:59' ";
$supplyRequestArray = $supplyRequestDAO->RetrieveRecordArray("codigoCartaoEquipamento IN (" . $equipmentEnumeration . ") AND " . $pediodFilter);
if (sizeof($expenseArray) < 1 && sizeof($indirectCostArray) < 1 && sizeof($supplyRequestArray) < 1) {
    echo "<tr>";
    echo "    <td colspan='4' align='center'>Nenhum registro encontrado!</td>";
    echo "</tr>";
    exit;
}
$somaTotais = 0;
$productionInputDAO = new ProductionInputDAO($dataConnector->mysqlConnection);
$productionInputDAO->showErrors = 1;
$inputTypeArray = $productionInputDAO->RetrieveInputTypes();
foreach ($expenseArray as $expense) {
    $serviceCall = $serviceCallDAO->RetrieveRecord($expense->codigoChamado);
    $serieEquipamento = EquipmentDAO::GetSerialNumber($dataConnector->sqlserverConnection, $serviceCall->codigoCartaoEquipamento);
    $codigoInsumo = $expense->codigoInsumo;
    $descricao = $expense->quantidade . ' ' . $expense->nomeItem;
    if (!empty($codigoInsumo)) {
        $productionInput = $productionInputDAO->RetrieveRecord($codigoInsumo);
        $inputType = $inputTypeArray[$productionInput->tipoInsumo];
        $numeroChamado = str_pad($expense->codigoChamado, 4, '0', STR_PAD_LEFT);
        $descricao = "<a href='Frontend/chamados/editar.php?id=" . $expense->codigoChamado . "'>" . $inputType . " ( Número do Chamado: " . $numeroChamado . " )</a>";
    }
    echo '<tr>';
    echo '    <td>' . $serviceCall->dataAbertura . '</td>';
    echo '    <td>' . $serieEquipamento . '</td>';
    echo '    <td>' . $descricao . '</td>';
    echo '    <td>' . number_format($expense->totalDespesa, 2, ',', '.') . '</td>';
    echo '</tr>';
Пример #2
0
$calendar = new Calendar();
echo $calendar->GetMonthName($month);
?>
&nbsp;&nbsp;&nbsp;Ano: <?php 
echo $year;
?>
</h3>
            </div>
            <div style="clear:both;"><br/><br/></div>
            <hr/>
            <div style="clear:both;"><br/></div>
            <table>
            <tr bgcolor="YELLOW" style="height:30px;" ><td>Cliente</td><td>Nº Série Fabricante</td><td>Modelo</td><td>Fabricante</td><td>Número do Chamado</td><td>Tempo de Atendimento</td><td>Tempo Total Area Técnica</td><td>Valor Despesa (R$)</td></tr>
            <?php 
foreach ($laborExpenseArray as $laborExpense) {
    $serviceCall = $serviceCallDAO->RetrieveRecord($laborExpense->numeroChamado);
    $cliente = $laborExpense->nomeCliente;
    $serie = $laborExpense->serieEquipamento;
    $modelo = $laborExpense->tagModelo;
    $fabricante = $laborExpense->fabricante;
    $numeroChamado = $laborExpense->numeroChamado;
    $tempoAtendimento = $serviceCall->tempoAtendimento;
    $valorDespesa = $serviceCall->duracaoEmSegundos / $totalEmSegundos * $despesaMensal;
    echo '<tr bgcolor="WHITE" ><td>' . $cliente . '</td><td>' . $serie . '</td><td>' . $modelo . '</td><td>' . $fabricante . '</td><td>' . $numeroChamado . '</td><td>' . $tempoAtendimento . '</td><td>' . $tempoTotalAtendimento . '</td><td>' . number_format($valorDespesa, 2, ',', '.') . '</td></tr>';
}
?>
            </table>
            <div style="clear:both;"><br/></div>
        </div>
        <div style="clear:both;"><br/></div>
Пример #3
0
// Abre a conexao com o banco de dados
$dataConnector = new DataConnector('mySql');
$dataConnector->OpenConnection();
if ($dataConnector->mysqlConnection == null) {
    echo 'Não foi possível se connectar ao bando de dados!';
    exit;
}
// Cria os objetos de mapeamento objeto-relacional
$serviceCallDAO = new ServiceCallDAO($dataConnector->mysqlConnection);
$serviceCallDAO->showErrors = 1;
$readingDAO = new ReadingDAO($dataConnector->mysqlConnection);
$readingDAO->showErrors = 1;
$counterDAO = new CounterDAO($dataConnector->mysqlConnection);
$counterDAO->showErrors = 1;
// Busca os dados do chamado
$serviceCall = $serviceCallDAO->RetrieveRecord($serviceCallId);
echo "<div style='width:50%'>";
echo "<label>Número<br />";
echo "<input type='text' style='width:90%;' value='" . str_pad($serviceCall->id, 5, '0', STR_PAD_LEFT) . "' />";
echo "</label>";
echo "</div>";
echo "<label>Defeito<br />";
echo "<input type='text' style='width:99%;' value='" . $serviceCall->defeito . "' />";
echo "</label>";
echo "<div style='width:50%; float:left'>";
echo "<label>Data de Abertura<br />";
echo "<input type='text' style='width:90%;' value='" . $serviceCall->dataAbertura . "' />";
echo "</label>";
echo "</div>";
echo "<div style='width:50%; float:left'>";
echo "<label>Data de Fechamento<br />";
function BuildReportTable($startColumn, $startRow)
{
    global $dataConnector;
    global $objPhpExcel;
    global $month;
    global $year;
    global $despesaMensal;
    global $laborExpenseArray;
    $serviceCallDAO = new ServiceCallDAO($dataConnector->mysqlConnection);
    $serviceCallDAO->showErrors = 1;
    $serviceStatisticsDAO = new ServiceStatisticsDAO($dataConnector->mysqlConnection);
    $serviceStatisticsDAO->showErrors = 1;
    // Define o titulo da tabela
    $currentRow = $startRow;
    $activeSheet = $objPhpExcel->getActiveSheet();
    $activeSheet->setCellValue($startColumn . $startRow, 'CUSTOS DE MÃO DE OBRA');
    $styleArray = array('font' => array('bold' => true, 'size' => 16));
    $activeSheet->getStyle($startColumn . $startRow . ':' . $startColumn . $startRow)->applyFromArray($styleArray);
    // Cria o cabeçalho da tabela
    $colNum = ord($startColumn);
    $headers = array('Cliente', 'Nº Série Fabricante', 'Modelo', 'Fabricante', 'Número do Chamado', 'Tempo de Atendimento', 'Tempo Total Area Técnica', 'Valor Despesa (R$)');
    $offset = 0;
    foreach ($headers as $header) {
        $activeSheet->getColumnDimension(chr($colNum + $offset))->setWidth(25);
        $offset++;
    }
    $activeSheet->getColumnDimension(chr($colNum + 3))->setWidth(60);
    $currentRow++;
    InsereLinhaPlanilha($currentRow, $startColumn, $headers, PHPExcel_Style_Color::COLOR_YELLOW, 30, PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    // Busca as estatísticas de atendimento do mês escolhido
    $stats = $serviceStatisticsDAO->RetrieveRecord($month, $year);
    $tempoTotalAtendimento = $stats->tempoEmAtendimento;
    $totalEmSegundos = $stats->totalEmSegundos;
    // Gera as linhas da tabela
    $grandTotal = 0;
    $valorPrevio = "";
    $totalCliente = 0;
    foreach ($laborExpenseArray as $laborExpense) {
        $serviceCall = $serviceCallDAO->RetrieveRecord($laborExpense->numeroChamado);
        $valorDespesa = $serviceCall->duracaoEmSegundos / $totalEmSegundos * $despesaMensal;
        $valorAtual = $laborExpense->nomeCliente;
        if ($valorPrevio != $valorAtual) {
            if (!empty($valorPrevio)) {
                $currentRow++;
                $subTotal = array($valorPrevio, '', '', '', '', '', '', number_format($totalCliente, 2, ',', '.'));
                InsereLinhaPlanilha($currentRow, $startColumn, $subTotal, '80AAFFFF', 20, PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
                $totalCliente = 0;
            }
            $valorPrevio = $valorAtual;
        }
        $currentRow++;
        $row = array();
        $row[0] = $laborExpense->nomeCliente;
        $row[1] = $laborExpense->serieEquipamento;
        $row[2] = $laborExpense->tagModelo;
        $row[3] = $laborExpense->fabricante;
        $row[4] = $laborExpense->numeroChamado;
        $row[5] = $serviceCall->tempoAtendimento;
        $row[6] = $tempoTotalAtendimento;
        $row[7] = number_format($valorDespesa, 2, ',', '.');
        InsereLinhaPlanilha($currentRow, $startColumn, $row);
        $grandTotal += $valorDespesa;
        $totalCliente += $valorDespesa;
    }
    $currentRow++;
    $subTotal = array($valorPrevio, '', '', '', '', '', '', number_format($totalCliente, 2, ',', '.'));
    InsereLinhaPlanilha($currentRow, $startColumn, $subTotal, '80AAFFFF', 20, PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
    $currentRow++;
    $total = array('Total Geral: ' . number_format($grandTotal, 2, ',', '.'), '0', '0', '0', '0', '0', '0', '0');
    InsereLinhaPlanilha($currentRow, $startColumn, $total, 'FFAA2040', 32, PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    $activeSheet->mergeCells(chr($colNum + 0) . $currentRow . ':' . chr($colNum + sizeof($headers) - 1) . $currentRow);
}