$contractItemDAO = new ContractItemDAO($dataConnector->mysqlConnection); $contractItemDAO->showErrors = 1; $itemArray = $contractItemDAO->RetrieveRecordArray("subContrato_id IN (" . $subContractEnumeration . ")"); $equipmentEnumeration = ""; foreach ($itemArray as $contractItem) { if (!empty($equipmentEnumeration)) { $equipmentEnumeration = $equipmentEnumeration . ", "; } $equipmentEnumeration = $equipmentEnumeration . $contractItem->codigoCartaoEquipamento; } if (empty($equipmentEnumeration)) { $equipmentEnumeration = "0"; } // evita o crash da query, quando a lista está vazia // localiza todos as despesas dos chamados no período $serviceCallDAO = new ServiceCallDAO($dataConnector->mysqlConnection); $serviceCallDAO->showErrors = 1; $pediodFilter = "dataAbertura >= '" . $startDate . " 00:00' AND dataAbertura <= '" . $endDate . " 23:59' "; $serviceCallArray = $serviceCallDAO->RetrieveRecordArray("cartaoEquipamento IN (" . $equipmentEnumeration . ") AND " . $pediodFilter); $callEnumeration = ""; foreach ($serviceCallArray as $serviceCall) { if (!empty($callEnumeration)) { $callEnumeration = $callEnumeration . ", "; } $callEnumeration = $callEnumeration . $serviceCall->id; } if (empty($callEnumeration)) { $callEnumeration = "0"; } $expenseDAO = new ExpenseDAO($dataConnector->mysqlConnection); $expenseDAO->showErrors = 1;
$status = $_GET['status']; $orderBy = $_GET['orderBy']; $searchMethod = $_GET['searchMethod']; $sendToPrinter = null; if (isset($_GET['sendToPrinter'])) { $sendToPrinter = $_GET['sendToPrinter']; } // Abre a conexao com o banco de dados $dataConnector = new DataConnector('both'); $dataConnector->OpenConnection(); if ($dataConnector->mysqlConnection == null || $dataConnector->sqlserverConnection == 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; $equipmentDAO = new EquipmentDAO($dataConnector->sqlserverConnection); $equipmentDAO->showErrors = 1; $readingDAO = new ReadingDAO($dataConnector->mysqlConnection); $readingDAO->showErrors = 1; $counterDAO = new CounterDAO($dataConnector->mysqlConnection); $counterDAO->showErrors = 1; $employeeDAO = new EmployeeDAO($dataConnector->sqlserverConnection); $employeeDAO->showErrors = 1; // Busca os chamados que se enquadram no filtro aplicado if ($searchMethod == 0) { $filter = "businessPartnerCode='" . $businessPartnerCode . "'"; if (empty($businessPartnerCode)) { $filter = "businessPartnerCode <> ''"; }
include_once "../ClassLibrary/DataConnector.php"; include_once "../DataAccessObjects/CounterDAO.php"; include_once "../DataTransferObjects/CounterDTO.php"; include_once "../DataAccessObjects/ReadingDAO.php"; include_once "../DataTransferObjects/ReadingDTO.php"; include_once "../DataAccessObjects/ServiceCallDAO.php"; include_once "../DataTransferObjects/ServiceCallDTO.php"; // 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>";
include_once "../check.php"; include_once "../defines.php"; include_once "../ClassLibrary/Text.php"; include_once "../ClassLibrary/DataConnector.php"; include_once "../DataAccessObjects/ServiceCallDAO.php"; include_once "../DataTransferObjects/ServiceCallDTO.php"; $indirectCostId = $_GET['indirectCostId']; // 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 o objeto de mapeamento objeto-relacional $serviceCallDAO = new ServiceCallDAO($dataConnector->mysqlConnection); $serviceCallDAO->showErrors = 1; // Busca os chamados cadastrados no sistema $serviceCallArray = $serviceCallDAO->RetrieveRecordArray("id > 0 ORDER BY id"); ?> <form name="fDados" action="Frontend/custoIndireto/acaoDespesaDistribuida.php" method="post" > <input type="hidden" name="acao" value="store" /> <input type="hidden" name="indirectCostId" value="<?php echo $indirectCostId; ?> " /> <label class="left" style="width: 99%;">Chamado<br/> <select name="serviceCallId" style="width: 96%;"> <option selected='selected' value="0"></option>
include_once "../../DataAccessObjects/ConfigDAO.php"; include_once "../../DataTransferObjects/ConfigDTO.php"; // Abre a conexao com o banco de dados $dataConnector = new DataConnector('both'); $dataConnector->OpenConnection(); if ($dataConnector->mysqlConnection == null || $dataConnector->sqlserverConnection == null) { echo 'Não foi possível se connectar ao bando de dados!'; exit; } $nivelAutorizacao = GetAuthorizationLevel($dataConnector->mysqlConnection, $functionalities["gerenciamentoChamados"]); if ($nivelAutorizacao <= 1) { DisplayNotAuthorizedWarning(); exit; } // Cria o objeto de mapeamento objeto-relacional $serviceCallDAO = new ServiceCallDAO($dataConnector->mysqlConnection); $serviceCallDAO->showErrors = 1; $id = 0; $serviceCall = new ServiceCallDTO(); if (isset($_REQUEST["id"]) && $_REQUEST["id"] != 0) { $id = $_REQUEST["id"]; $serviceCall = $serviceCallDAO->RetrieveRecord($id); if ($serviceCall == null) { echo '<br/><h1>Chamado não encontrado</h1><br/>'; exit; } } $defaultEmailAddress = ConfigDAO::GetConfigurationParam($dataConnector->mysqlConnection, "emailPadrao"); ?> <h1>Chamado de Serviço</h1><br/> <h1><?php
</h3> </div> <div style="clear:both;"><br/><br/></div> <table> <?php // Busca os dados dos equipamentos $equipmentDAO = new EquipmentDAO($dataConnector->sqlserverConnection); $equipmentDAO->showErrors = 1; $equipmentArray = $equipmentDAO->RetrieveRecordArray("InsId IN (" . $equipmentList . ")"); foreach ($equipmentArray as $equipment) { $equipmentModel = $equipment->itemName; $serialNumber = EquipmentDAO::GetShortDescription($equipment); $salesPersonName = SalesPersonDAO::GetSalesPersonName($dataConnector->sqlserverConnection, $equipment->salesPerson); $spacing = ' '; echo '<tr bgcolor=LIGHTGRAY ><td colspan=5 >Cartão Equipamento: ' . $equipment->insID . $spacing . 'Modelo: ' . $equipmentModel . $spacing . 'Série: ' . $serialNumber . $spacing . 'Departamento: ' . $equipment->instLocation . $spacing . 'Vendedor: ' . $salesPersonName . '</td></tr>'; $serviceCallDAO = new ServiceCallDAO($dataConnector->mysqlConnection); $serviceCallDAO->showErrors = 1; $query = "cartaoEquipamento = " . $equipment->insID . " AND dataAbertura >= '" . $startDate . " 00:00' AND dataAbertura <= '" . $endDate . " 23:59' "; $serviceCallArray = $serviceCallDAO->RetrieveRecordArray($query); $tempoTotalAtendimento = 0; if (sizeof($serviceCallArray) > 0) { echo '<tr bgcolor=WHITE ><td>Chamado</td><td>Defeito</td><td>Data Abertura</td><td>Técnico</td><td>Tempo Atendimento</td></tr>'; } else { echo '<tr bgcolor=WHITE ><td colspan=5 >Nenhum chamado encontrado</td></tr>'; } foreach ($serviceCallArray as $serviceCall) { $dataAbertura = strtotime($serviceCall->dataAbertura); $dataAbertura = date("d/m/Y", $dataAbertura); $tecnico = GetTechnicianName($dataConnector->sqlserverConnection, $serviceCall->tecnico); $tempoAtendimento = $serviceCall->tempoAtendimento; $parts = explode(":", $tempoAtendimento, 2);
exit; } $acao = $_REQUEST["acao"]; if (!isset($_REQUEST["cartaoEquipamento"]) && $acao == "store") { echo "Favor informar o equipamento a que se refere o chamado."; exit; } // Abre a conexao com o banco de dados $dataConnector = new DataConnector('both'); $dataConnector->OpenConnection(); if ($dataConnector->mysqlConnection == null || $dataConnector->sqlserverConnection == 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; $equipmentDAO = new EquipmentDAO($dataConnector->sqlserverConnection); $equipmentDAO->showErrors = 1; $equipmentModelDAO = new EquipmentModelDAO($dataConnector->mysqlConnection); $equipmentModelDAO->showErrors = 1; if ($acao == "store") { $id = 0; $serviceCall = new ServiceCallDTO(); if (isset($_REQUEST["id"]) && $_REQUEST["id"] != 0) { $id = $_REQUEST["id"]; $serviceCall = $serviceCallDAO->RetrieveRecord($id); } $equipment = $equipmentDAO->RetrieveRecord($_REQUEST["cartaoEquipamento"]); $equipmentModel = $equipmentModelDAO->RetrieveRecord($equipment->model); if (!isset($equipmentModel)) {
function BuildReportTable($startColumn, $startRow) { global $dataConnector; global $objPhpExcel; global $serviceCallArray; $serviceCallDAO = new ServiceCallDAO($dataConnector->mysqlConnection); $serviceCallDAO->showErrors = 1; $equipmentDAO = new EquipmentDAO($dataConnector->sqlserverConnection); $equipmentDAO->showErrors = 1; $equipmentModelDAO = new EquipmentModelDAO($dataConnector->mysqlConnection); $equipmentModelDAO->showErrors = 1; $manufacturerDAO = new ManufacturerDAO($dataConnector->sqlserverConnection); $manufacturerDAO->showErrors = 1; $readingDAO = new ReadingDAO($dataConnector->mysqlConnection); $readingDAO->showErrors = 1; $counterDAO = new CounterDAO($dataConnector->mysqlConnection); $counterDAO->showErrors = 1; $employeeDAO = new EmployeeDAO($dataConnector->sqlserverConnection); $employeeDAO->showErrors = 1; // Define o titulo da tabela $currentRow = $startRow; $activeSheet = $objPhpExcel->getActiveSheet(); $activeSheet->setCellValue($startColumn . $startRow, 'CHAMADOS'); $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('Data Abertura', 'Nº do chamado', 'Status', 'Cliente', 'Depto.', 'Modelo', 'Série', 'Fabricante', 'Defeito', 'Data Atendimento', 'Horário/Duração', 'Sintoma', 'Causa', 'Ação', 'Observação Técnica', 'Contadores', 'Aberto Por', 'Técnico'); $offset = 0; foreach ($headers as $header) { $activeSheet->getColumnDimension(chr($colNum + $offset))->setWidth(25); $offset++; } $activeSheet->getColumnDimension(chr($colNum + 3))->setWidth(50); $activeSheet->getColumnDimension(chr($colNum + 4))->setWidth(35); $activeSheet->getColumnDimension(chr($colNum + 8))->setWidth(60); $activeSheet->getColumnDimension(chr($colNum + 11))->setWidth(60); $activeSheet->getColumnDimension(chr($colNum + 12))->setWidth(60); $activeSheet->getColumnDimension(chr($colNum + 13))->setWidth(60); $activeSheet->getColumnDimension(chr($colNum + 14))->setWidth(35); $activeSheet->getColumnDimension(chr($colNum + 16))->setWidth(40); $activeSheet->getColumnDimension(chr($colNum + 17))->setWidth(40); $currentRow++; InsereLinhaPlanilha($currentRow, $startColumn, $headers, PHPExcel_Style_Color::COLOR_YELLOW, 30, PHPExcel_Style_Alignment::HORIZONTAL_CENTER); // Busca os Status de chamado cadastrados no sistema $statusArray = ServiceCallDAO::RetrieveServiceCallStatuses($dataConnector->sqlserverConnection); // Busca os fabricantes cadastrados no sistema $manufacturerArray = array(0 => ""); $tempArray = $manufacturerDAO->RetrieveRecordArray(); foreach ($tempArray as $manufacturer) { $manufacturerArray[$manufacturer->FirmCode] = $manufacturer->FirmName; } // Busca os modelos de equipamento cadastrados no sistema $modelArray = array(0 => ""); $equipmentModelArray = $equipmentModelDAO->RetrieveRecordArray(); foreach ($equipmentModelArray as $modelDTO) { $modelArray[$modelDTO->id] = $modelDTO->modelo; } $associativeList = array(0 => ""); foreach ($equipmentModelArray as $modelDTO) { $associativeList[$modelDTO->id] = $manufacturerArray[$modelDTO->fabricante]; } // Busca os contadores cadastrados no sistema $retrievedArray = $counterDAO->RetrieveRecordArray(); $counterArray = array(); foreach ($retrievedArray as $counter) { $counterArray[$counter->id] = $counter->nome; } // Busca os funcionários cadastrados no sistema $retrievedArray = $employeeDAO->RetrieveRecordArray("empID IS NOT NULL ORDER BY empID"); $employeeArray = array(); foreach ($retrievedArray as $employee) { $employeeArray[$employee->empID] = $employee->firstName . " " . $employee->middleName . " " . $employee->lastName; } // Cria um array para as estatísticas dos técnicos $statsArray = array(0 => ""); foreach ($employeeArray as $id => $name) { // considera todos os funcionários como possíveis técnicos, depois filtra somente os que realizaram atendimentos $statsArray[$id] = new Technician($id, $name); } // Gera as linhas da tabela $quantChamados = 0; foreach ($serviceCallArray as $serviceCall) { $equipment = $equipmentDAO->RetrieveRecord($serviceCall->codigoCartaoEquipamento); if (!isset($equipment)) { $equipment = new EquipmentDTO(); } // cria objeto vazio em caso de erro $readingArray = $readingDAO->RetrieveRecordArray("chamadoServico_id=" . $serviceCall->id); $counters = ""; $LFCR = chr(10) . chr(13); foreach ($readingArray as $reading) { if (!empty($counters)) { $counters = $counters . $LFCR; } $counters = $counters . $counterArray[$reading->codigoContador] . ' ' . $reading->contagem; } $modelName = ""; if (array_key_exists($equipment->model, $modelArray)) { $modelName = $modelArray[$equipment->model]; } $manufacturerName = ""; if (array_key_exists($equipment->model, $modelArray)) { $manufacturerName = $associativeList[$equipment->model]; } $creator = " - "; if ($serviceCall->abertoPor > 0) { $creator = $employeeArray[$serviceCall->abertoPor]; } $technicianName = " - "; if ($serviceCall->tecnico > 0) { $technicianName = $employeeArray[$serviceCall->tecnico]; } $technicianStats = $statsArray[$serviceCall->tecnico]; if (!isset($technicianStats->statistics)) { $technicianStats->statistics = array(); } if (!array_key_exists($equipment->model, $technicianStats->statistics)) { $technicianStats->statistics[$equipment->model] = new EquipmentModelStats($equipment->model, $modelName, $manufacturerName); } $equipmentModelStat = $technicianStats->statistics[$equipment->model]; $equipmentModelStat->serviceCallCount++; $parts = explode(":", $serviceCall->tempoAtendimento, 2); $equipmentModelStat->tempoTotalAtendimento += (int) $parts[0] + (int) $parts[1] / 60; $currentRow++; $row = array(); $row[0] = $serviceCall->dataAbertura; $row[1] = str_pad($serviceCall->id, 5, '0', STR_PAD_LEFT); $row[2] = $statusArray[$serviceCall->status]; $row[3] = $equipment->custmrName; $row[4] = $equipment->instLocation; $row[5] = $modelName; $row[6] = $equipment->manufacturerSN; $row[7] = $manufacturerName; $row[8] = $serviceCall->defeito; $row[9] = $serviceCall->dataAtendimento; $row[10] = $serviceCall->horaAtendimento . " (Duração " . $serviceCall->tempoAtendimento . ")"; $row[11] = $serviceCall->sintoma; $row[12] = $serviceCall->causa; $row[13] = $serviceCall->acao; $row[14] = $serviceCall->observacaoTecnica; $row[15] = $counters; $row[16] = $creator; $row[17] = $technicianName; InsereLinhaPlanilha($currentRow, $startColumn, $row); $quantChamados++; // Faz a contagem dos chamados técnicos } $currentRow++; $footer = array('Quantidade de Chamados: ' . $quantChamados . ' (Depende do filtro escolhido)', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0'); InsereLinhaPlanilha($currentRow, $startColumn, $footer, '80BB80FF', 32, PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $activeSheet->mergeCells(chr($colNum + 0) . $currentRow . ':' . chr($colNum + sizeof($headers) - 1) . $currentRow); $currentRow += 3; // pula 3 linhas // Define o titulo do quadro resumo $activeSheet = $objPhpExcel->getActiveSheet(); $activeSheet->setCellValue($startColumn . $currentRow, 'QUADRO RESUMO'); $styleArray = array('font' => array('bold' => true, 'size' => 16)); $activeSheet->getStyle($startColumn . $currentRow . ':' . $startColumn . $currentRow)->applyFromArray($styleArray); // Cria o cabeçalho do quadro resumo $colNum = ord($startColumn); $headers = array('Técnico', 'Modelo', 'Fabricante', 'Quant. Chamados', 'Tempo Médio Atendimento'); $offset = 0; foreach ($headers as $header) { $activeSheet->getColumnDimension(chr($colNum + $offset))->setWidth(25); $offset++; } $currentRow++; InsereLinhaPlanilha($currentRow, $startColumn, $headers, PHPExcel_Style_Color::COLOR_YELLOW, 30, PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $callCount = 0; $timeSum = 0; foreach ($statsArray as $technicianStats) { if (!isset($technicianStats->statistics)) { continue; } $valorPrevio = ""; $serviceCallCount = 0; $tempoTotalAtendimento = 0; foreach ($technicianStats->statistics as $equipmentModelStats) { if ($equipmentModelStats->serviceCallCount > 0) { $valorAtual = $equipmentModelStats->fabricante; if ($valorPrevio != $valorAtual) { if (!empty($valorPrevio)) { $subTotal = array('', '', '', $callCount, UnixTime::ConvertToTime($timeSum / $callCount)); $currentRow++; InsereLinhaPlanilha($currentRow, $startColumn, $subTotal, '80AAFFFF', 20, PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $callCount = 0; $timeSum = 0; } $valorPrevio = $valorAtual; } $currentRow++; $row = array(); $row[0] = $technicianStats->name; $row[1] = $equipmentModelStats->model; $row[2] = $equipmentModelStats->fabricante; $row[3] = $equipmentModelStats->serviceCallCount; $row[4] = UnixTime::ConvertToTime($equipmentModelStats->tempoTotalAtendimento / $equipmentModelStats->serviceCallCount); InsereLinhaPlanilha($currentRow, $startColumn, $row); $callCount = $callCount + $equipmentModelStats->serviceCallCount; $timeSum = $timeSum + $equipmentModelStats->tempoTotalAtendimento; $serviceCallCount = $serviceCallCount + $equipmentModelStats->serviceCallCount; $tempoTotalAtendimento = $tempoTotalAtendimento + $equipmentModelStats->tempoTotalAtendimento; } } $subTotal = array('', '', '', $callCount, UnixTime::ConvertToTime($timeSum / $callCount)); $currentRow++; InsereLinhaPlanilha($currentRow, $startColumn, $subTotal, '80AAFFFF', 20, PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $callCount = 0; $timeSum = 0; $subTotal = array($technicianStats->name, '', '', $serviceCallCount, UnixTime::ConvertToTime($tempoTotalAtendimento / $serviceCallCount)); $currentRow++; InsereLinhaPlanilha($currentRow, $startColumn, $subTotal, 'FFAA2040', 20, PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $activeSheet->mergeCells(chr($colNum + 0) . $currentRow . ':' . chr($colNum + 2) . $currentRow); } }
$searchMethod = $_GET['searchMethod']; $sendToPrinter = null; if (isset($_GET['sendToPrinter'])) { $sendToPrinter = $_GET['sendToPrinter']; } // Abre a conexao com o banco de dados $dataConnector = new DataConnector('both'); $dataConnector->OpenConnection(); if ($dataConnector->mysqlConnection == null || $dataConnector->sqlserverConnection == null) { echo 'Não foi possível se connectar ao bando de dados!'; exit; } // Cria os objetos de mapeamento objeto-relacional $laborExpenseDAO = new LaborExpenseDAO($dataConnector->sqlserverConnection); $laborExpenseDAO->showErrors = 1; $serviceCallDAO = new ServiceCallDAO($dataConnector->mysqlConnection); $serviceCallDAO->showErrors = 1; $serviceStatisticsDAO = new ServiceStatisticsDAO($dataConnector->mysqlConnection); $serviceStatisticsDAO->showErrors = 1; $stats = $serviceStatisticsDAO->RetrieveRecord($month, $year); $tempoTotalAtendimento = $stats->tempoEmAtendimento; $totalEmSegundos = $stats->totalEmSegundos; // Busca os registros que se enquadram no filtro aplicado if ($searchMethod == 0) { $filter = "codigoCliente='" . $businessPartnerCode . "'"; if (empty($businessPartnerCode)) { $filter = "codigoCliente <> ''"; } // qualquer cliente } if ($searchMethod == 1) {
<?php foreach ($employeeArray as $employee) { $employeeName = $employee->firstName . " " . $employee->middleName . " " . $employee->lastName; echo "<option value=" . $employee->empID . ">" . $employeeName . "</option>"; } ?> </select> </label> <div style="clear:both;"> <br/> </div> <label class="left" style="width:99%; text-align: left;">Status<br/> <select name="status" style="width: 350px;"> <option value=0 >-- Todos --</option> <?php $statusArray = ServiceCallDAO::RetrieveServiceCallStatuses($dataConnector->sqlserverConnection); foreach ($statusArray as $key => $value) { echo "<option value=" . $key . ">" . $value . "</option>"; } ?> </select> </label> <div style="clear:both;"> <br/> </div> <label class="left" style="width:99%; text-align: left;">Ordenar por<br/> <select name="ordenarPor" style="width: 350px;"> <option value="dataAbertura" >Data de abertura</option> <option value="id" >Número do Chamado</option> <option value="businessPartnerCode" >Cliente</option> <option value="dataAtendimento" >Data de Atendimento</option>
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); }
$equipmentList = $_GET['equipmentList']; $sendToPrinter = null; if (isset($_GET['sendToPrinter'])) { $sendToPrinter = $_GET['sendToPrinter']; } // Abre a conexao com o banco de dados $dataConnector = new DataConnector('both'); $dataConnector->OpenConnection(); if ($dataConnector->mysqlConnection == null || $dataConnector->sqlserverConnection == null) { echo 'Não foi possível se connectar ao bando de dados!'; exit; } // Cria os objetos de mapeamento objeto-relacional $equipmentDAO = new EquipmentDAO($dataConnector->sqlserverConnection); $equipmentDAO->showErrors = 1; $serviceCallDAO = new ServiceCallDAO($dataConnector->mysqlConnection); $serviceCallDAO->showErrors = 1; $expenseDAO = new ExpenseDAO($dataConnector->mysqlConnection); $expenseDAO->showErrors = 1; ?> <script type='text/javascript'> $(document).ready(function() { <?php if (isset($sendToPrinter)) { echo 'window.print();'; } ?> }); </script>
include_once "../defines.php"; include_once "../ClassLibrary/DataConnector.php"; include_once "../DataAccessObjects/ServiceCallDAO.php"; include_once "../DataTransferObjects/ServiceCallDTO.php"; $equipmentCode = $_GET['equipmentCode']; $cutoffDate = $_GET['cutoffDate']; // 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; } // Traz os três últimos chamados para o cartão de equipamento em questão partindo de dataDeCorte (chamados anteriores a dataDeCorte) $serviceCallDAO = new ServiceCallDAO($dataConnector->mysqlConnection); $serviceCallDAO->showErrors = 1; $filter = "cartaoEquipamento = " . $equipmentCode . " AND status <> 1 AND dataAbertura < '" . $cutoffDate . "' ORDER BY dataAbertura DESC, id DESC LIMIT 0, 5"; $serviceCallArray = $serviceCallDAO->RetrieveRecordArray($filter); if (sizeof($serviceCallArray) == 0) { echo '<tr><td colspan="2" align="center" >Nenhum registro encontrado!</td></tr>'; } foreach ($serviceCallArray as $serviceCall) { ?> <tr> <td onclick="javascript: BuscarDadosChamadoAnterior('<?php echo $serviceCall->id; ?> ');" ><?php echo str_pad($serviceCall->id, 5, '0', STR_PAD_LEFT); ?>
$showDetails = $_GET['showDetails']; // Abre a conexao com o banco de dados $dataConnector = new DataConnector('both'); $dataConnector->OpenConnection(); if ($dataConnector->mysqlConnection == null || $dataConnector->sqlserverConnection == null) { echo 'Não foi possível se connectar ao bando de dados!'; exit; } // busca os dados do faturamento $billingDAO = new BillingDAO($dataConnector->mysqlConnection); $billingDAO->showErrors = 1; $billing = $billingDAO->RetrieveRecord($billingId); $startDate = $billing->dataInicial; $endDate = $billing->dataFinal; // localiza todos as despesas dos chamados no período $serviceCallDAO = new ServiceCallDAO($dataConnector->mysqlConnection); $serviceCallDAO->showErrors = 1; $pediodFilter = "dataAbertura >= '" . $startDate . " 00:00' AND dataAbertura <= '" . $endDate . " 23:59' "; $serviceCallArray = $serviceCallDAO->RetrieveRecordArray("cartaoEquipamento = " . $equipmentCode . " AND " . $pediodFilter); $callEnumeration = ""; foreach ($serviceCallArray as $serviceCall) { if (!empty($callEnumeration)) { $callEnumeration = $callEnumeration . ", "; } $callEnumeration = $callEnumeration . $serviceCall->id; } if (empty($callEnumeration)) { $callEnumeration = "0"; } $expenseDAO = new ExpenseDAO($dataConnector->mysqlConnection); $expenseDAO->showErrors = 1;
<body style="font-size: 14px;"> <?php $serviceCallId = $_GET['serviceCallId']; $sendToPrinter = null; if (isset($_GET['sendToPrinter'])) { $sendToPrinter = $_GET['sendToPrinter']; } // Abre a conexao com o banco de dados $dataConnector = new DataConnector('both'); $dataConnector->OpenConnection(); if ($dataConnector->mysqlConnection == null || $dataConnector->sqlserverConnection == 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; $equipmentDAO = new EquipmentDAO($dataConnector->sqlserverConnection); $equipmentDAO->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); // Recupera dados do cartão de equipamento $equipment = $equipmentDAO->RetrieveRecord($serviceCall->codigoCartaoEquipamento); function GetTechnicianName($sqlserverConnection, $technicianId) { $technicianName = ""; $employeeDAO = new EmployeeDAO($sqlserverConnection);
$subContract = $_REQUEST["subContract"]; } // Abre a conexao com o banco de dados $dataConnector = new DataConnector('both'); $dataConnector->OpenConnection(); if ($dataConnector->mysqlConnection == null || $dataConnector->sqlserverConnection == null) { echo 'Não foi possível se connectar ao bando de dados!'; exit; } $nivelAutorizacao = GetAuthorizationLevel($dataConnector->mysqlConnection, $functionalities["gerenciamentoChamados"]); if ($nivelAutorizacao <= 1) { DisplayNotAuthorizedWarning(); exit; } // Cria os objetos de mapeamento objeto-relacional $serviceCallDAO = new ServiceCallDAO($dataConnector->mysqlConnection); $serviceCallDAO->showErrors = 1; $businessPartnerDAO = new BusinessPartnerDAO($dataConnector->sqlserverConnection); $businessPartnerDAO->showErrors = 1; // Traz a lista de chamados cadastrados $maxRecordCount = ConfigDAO::GetConfigurationParam($dataConnector->mysqlConnection, "limiteListaChamados"); $recCount = $serviceCallDAO->GetRecordCount(null); $boundary = ""; if ($recCount > $maxRecordCount && empty($equipmentCode)) { $boundary = "LIMIT " . ($recCount - $maxRecordCount) . ", " . $recCount; } $filter = "id > 0 ORDER BY id"; if ($equipmentCode != 0) { $filter = "cartaoEquipamento = " . $equipmentCode; } $serviceCallArray = $serviceCallDAO->RetrieveRecordArray($filter . ' ' . $boundary);