コード例 #1
0
$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;
コード例 #2
0
$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 <> ''";
    }
コード例 #3
0
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>";
コード例 #4
0
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>
コード例 #5
0
ファイル: editar.php プロジェクト: renatosans/contratos
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 
コード例 #6
0
</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 = '&nbsp;&nbsp;&nbsp;';
    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);
コード例 #7
0
ファイル: acao.php プロジェクト: renatosans/contratos
    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)) {
コード例 #8
0
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);
    }
}
コード例 #9
0
$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) {
コード例 #10
0
        <?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>
コード例 #11
0
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);
}
コード例 #12
0
$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>
コード例 #13
0
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);
    ?>
コード例 #14
0
$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;
コード例 #15
0
ファイル: imprimir.php プロジェクト: renatosans/contratos
<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);
コード例 #16
0
ファイル: listar.php プロジェクト: renatosans/contratos
    $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);