Ejemplo n.º 1
0
    $itemGroup = 100;
}
// 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["gerenciamentoEquipmtPecas"]);
if ($nivelAutorizacao <= 1) {
    DisplayNotAuthorizedWarning();
    exit;
}
// Cria os objetos de mapeamento objeto-relacional
$inventoryItemDAO = new InventoryItemDAO($dataConnector->sqlserverConnection);
$inventoryItemDAO->showErrors = 1;
$counterDAO = new CounterDAO($dataConnector->mysqlConnection);
$counterDAO->showErrors = 1;
// Traz os grupos existentes no cadastro de items
$itemGroupArray = $inventoryItemDAO::GetItemGroups($dataConnector->sqlserverConnection);
// Traz os contadores cadastrados no sistema
$counterArray = $counterDAO->RetrieveRecordArray("id > 0 LIMIT 0, 3");
// exibe apenas os 3 primeiros
$itemCode = "";
$inventoryItem = new InventoryItemDTO();
if (isset($_REQUEST["itemCode"]) && $_REQUEST["itemCode"] != "") {
    $itemCode = urldecode($_REQUEST["itemCode"]);
    $inventoryItem = $inventoryItemDAO->RetrieveRecord($itemCode);
}
function BuildSerializedContent($content)
Ejemplo n.º 2
0
    $itemGroup = 100;
}
// 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["gerenciamentoEquipmtPecas"]);
if ($nivelAutorizacao <= 1) {
    DisplayNotAuthorizedWarning();
    exit;
}
// Cria o objeto de mapeamento objeto-relacional
$inventoryItemDAO = new InventoryItemDAO($dataConnector->sqlserverConnection);
$inventoryItemDAO->showErrors = 1;
// Traz a lista de items de inventário
$filter = "ItmsGrpCod=" . $itemGroup;
$inventoryItemArray = $inventoryItemDAO->RetrieveRecordArray($filter);
?>
    <h1>Administração - Inventário</h1>
    <h1><?php 
echo str_pad('_', 64, '_', STR_PAD_LEFT);
?>
</h1>
    <br/>

    <script type="text/javascript" >

        var pageLoad = true;
include_once "../DataTransferObjects/InventoryItemDTO.php";
$sortedBy = $_GET['sortedBy'];
$defaultItemCode = $_GET['defaultItemCode'];
// Abre a conexao com o banco de dados
$dataConnector = new DataConnector('sqlServer');
$dataConnector->OpenConnection();
if ($dataConnector->sqlserverConnection == null) {
    echo 'Não foi possível se connectar ao bando de dados!';
    exit;
}
// Busca os items cadastrados
$orderBy = "ORDER BY ItemName";
if ($sortedBy == 2) {
    $orderBy = "ORDER BY ItemCode";
}
$inventoryItemDAO = new InventoryItemDAO($dataConnector->sqlserverConnection);
$inventoryItemDAO->showErrors = 1;
$inventoryItemArray = $inventoryItemDAO->RetrieveRecordArray("ItemName IS NOT NULL " . $orderBy);
foreach ($inventoryItemArray as $item) {
    $attributes = "";
    if ($item->itemCode == $defaultItemCode) {
        $attributes = "selected='selected'";
    }
    $option = "<option " . $attributes . " value=" . $item->itemCode . " alt=" . $item->avgPrice . " >" . $item->itemName . "&nbsp;&nbsp;&nbsp;( Código: " . $item->itemCode . " )" . "</option>";
    if ($sortedBy == 2) {
        $option = "<option " . $attributes . " value=" . $item->itemCode . " alt=" . $item->avgPrice . " >" . $item->itemCode . "&nbsp;&nbsp;&nbsp;( " . $item->itemName . " )" . "</option>";
    }
    echo $option;
}
// Fecha a conexão com o banco de dados
$dataConnector->CloseConnection();
Ejemplo n.º 4
0
include_once "../DataTransferObjects/ReadingDTO.php";
$supplyRequestId = $_GET['supplyRequestId'];
$cutoffDate = $_GET['cutoffDate'];
// 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
$supplyRequestDAO = new SupplyRequestDAO($dataConnector->mysqlConnection);
$supplyRequestDAO->showErrors = 1;
$requestItemDAO = new RequestItemDAO($dataConnector->mysqlConnection);
$requestItemDAO->showErrors = 1;
$inventoryItemDAO = new InventoryItemDAO($dataConnector->sqlserverConnection);
$inventoryItemDAO->showErrors = 1;
$readingDAO = new ReadingDAO($dataConnector->mysqlConnection);
$readingDAO->showErrors = 1;
// Busca os dados da solicitação de consumível
$equipmentCode = 0;
$itemEnumeration = '';
$supplyRequest = $supplyRequestDAO->RetrieveRecord($supplyRequestId);
if ($supplyRequest != null) {
    $equipmentCode = $supplyRequest->codigoCartaoEquipamento;
    $reqItemArray = $requestItemDAO->RetrieveRecordArray("pedidoConsumivel_id=" . $supplyRequest->id);
    foreach ($reqItemArray as $reqItem) {
        if (!empty($itemEnumeration)) {
            $itemEnumeration .= ', ';
        }
        $itemEnumeration .= "'" . $reqItem->codigoItem . "'";
Ejemplo n.º 5
0
// Busca os itens da solicitação
$firstCondition = 'pedidoConsumivel_id IS NULL';
if ($supplyRequestId != 0) {
    $firstCondition = 'pedidoConsumivel_id=' . $supplyRequestId;
}
$secondCondition = 'pedidoPecaReposicao_id IS NULL';
if ($partRequestId != 0) {
    $secondCondition = 'pedidoPecaReposicao_id=' . $partRequestId;
}
$filter = $firstCondition . ' AND ' . $secondCondition;
$requestItemArray = $requestItemDAO->RetrieveRecordArray($filter);
if (sizeof($requestItemArray) == 0) {
    echo '<tr><td colspan="5" align="center" >Nenhum registro encontrado!</td></tr>';
}
foreach ($requestItemArray as $requestItem) {
    $stockQuantity = InventoryItemDAO::GetStockQuantity($dataConnector->sqlserverConnection, $requestItem->codigoItem);
    $stockQuantity = number_format($stockQuantity, 0);
    ?>
    <tr rel="<?php 
    echo $requestItem->codigoItem;
    ?>
" rev="<?php 
    echo $requestItem->quantidade;
    ?>
" >
        <td title="Quantidade em estoque: <?php 
    echo $stockQuantity;
    ?>
" >
            <?php 
    echo $requestItem->codigoItem;
Ejemplo n.º 6
0
function BuildRows($valuesOnly)
{
    global $dataConnector;
    global $itemArray;
    global $calculoFaturamento;
    global $totalContadores;
    // Cria os objetos de mapeamento objeto-relacional
    $subContractDAO = new SubContractDAO($dataConnector->mysqlConnection);
    $subContractDAO->showErrors = 1;
    $businessPartnerDAO = new BusinessPartnerDAO($dataConnector->sqlserverConnection);
    $businessPartnerDAO->showErrors = 1;
    $equipmentDAO = new EquipmentDAO($dataConnector->sqlserverConnection);
    $equipmentDAO->showErrors = 1;
    $inventoryItemDAO = new InventoryItemDAO($dataConnector->sqlserverConnection);
    $inventoryItemDAO->showErrors = 1;
    // Para cada equipamento monta os dados de faturamento
    foreach ($itemArray as $contractItem) {
        $equipmentId = $contractItem->codigoCartaoEquipamento;
        $subContract = $subContractDAO->RetrieveRecord($contractItem->codigoSubContrato);
        $contractType = $subContract->codigoTipoContrato;
        $contractDTO = $calculoFaturamento->GetContract($dataConnector->mysqlConnection, $subContract->id);
        $divisor = $calculoFaturamento->GetDivisor($dataConnector->mysqlConnection, $contractDTO, $subContract);
        // divisor para calculo da média (no caso de contrato global)
        // Caso o status do contrato seja finalizado ou cancelado não fatura, passa para o proximo equipamento
        if ($contractDTO->status == 3 || $contractDTO->status == 4) {
            continue;
        }
        $equipmentDTO = $equipmentDAO->RetrieveRecord($equipmentId);
        $inventoryItem = $inventoryItemDAO->RetrieveRecord($equipmentDTO->itemCode);
        $contractTypeInfo = $calculoFaturamento->GetTipoContratoAsText($contractType);
        $equipmentInfo = GetEquipmentInfo($equipmentDTO, $contractTypeInfo);
        echo '<tr bgcolor="LIGHTGRAY" ><td colspan="11" >' . $equipmentInfo . '</td></tr>';
        $counterIdArray = array_keys($calculoFaturamento->GetContadores());
        foreach ($counterIdArray as $counterId) {
            $billingSummary = $totalContadores[$counterId];
            $formaCobranca = $calculoFaturamento->GetFormaCobranca($subContract->id, $counterId);
            $consumo = $calculoFaturamento->GetConsumo($equipmentId, $counterId);
            $consumoGlobal = 0;
            $excedenteGlobal = 0;
            if ($contractDTO->global) {
                $consumoGlobal = $calculoFaturamento->GetConsumoGlobal($dataConnector->mysqlConnection, $contractDTO->id, $counterId);
                $franquiaGlobal = $calculoFaturamento->GetFranquiaGlobal($dataConnector->mysqlConnection, $counterId);
                $excedenteGlobal = $consumoGlobal > $franquiaGlobal ? $consumoGlobal - $franquiaGlobal : 0;
                if ($franquiaGlobal == 0) {
                    $excedenteGlobal = 0;
                }
            }
            $modalidadeMedicao = 0;
            $fixo = 0.0;
            $variavelDefault = 0.0;
            $franquia = 0;
            $individualPorCapacidade = 0;
            if ($formaCobranca != null) {
                $modalidadeMedicao = $formaCobranca->modalidadeMedicao;
                $fixo = $formaCobranca->fixo / $divisor;
                $variavelDefault = $formaCobranca->variavel;
                $franquia = $formaCobranca->franquia / $divisor;
                $individualPorCapacidade = $formaCobranca->individual;
                if ($individualPorCapacidade) {
                    $franquia = $equipmentDTO->capacity;
                }
            }
            if ($modalidadeMedicao == 1) {
                // Sem leituras
                $rowData = '<td>' . $calculoFaturamento->GetContadorAsText($counterId) . '</td><td>Sem leitura</td><td>Sem leitura</td><td>Sem leitura</td><td>0</td><td>0</td><td>0</td><td>0</td><td>' . formatBrCurrency($fixo, 2) . '</td><td>0</td><td>' . formatBrCurrency($fixo, 2) . '</td>';
                if ($valuesOnly) {
                    $rowData = '<td>' . $equipmentId . '</td><td>' . $contractTypeInfo . '</td><td>' . $counterId . '</td><td>Sem leitura</td><td>Sem leitura</td><td>Sem leitura</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>' . $fixo . '</td><td>0</td><td>' . $fixo . '</td>';
                }
                echo '<tr bgcolor="WHITE" >' . $rowData . '</tr>';
                $billingSummary->valorFixo += $fixo;
                $billingSummary->excedente += 0;
                $billingSummary->valorTotal += $fixo;
            }
            if ($consumo != null && $modalidadeMedicao != 1) {
                $dataLeitura = $consumo->dataLeitura;
                $medicaoInicial = $consumo->medicaoInicial;
                $medicaoFinal = $consumo->medicaoFinal;
                $consumoMedido = $consumo->total;
                $ajuste = $consumo->ajusteTotal;
                $excedente = $consumoMedido > $franquia ? $consumoMedido - $franquia : 0;
                if ($contractDTO->global && !$individualPorCapacidade) {
                    $excedente = $excedenteGlobal / sizeof($itemArray);
                }
                if ($franquia == 0) {
                    $excedente = 0;
                }
                $tarifaExcedente = $calculoFaturamento->GetCustoVariavel($subContract->id, $counterId, $consumoMedido, $variavelDefault);
                if ($contractDTO->global && !$individualPorCapacidade) {
                    $tarifaExcedente = $calculoFaturamento->GetCustoVariavel($subContract->id, $counterId, $consumoGlobal, $variavelDefault);
                }
                $valorFixo = $fixo;
                $valorVariavel = $franquia != 0 ? $excedente * $tarifaExcedente : $consumoMedido * $tarifaExcedente;
                $valorTotal = $valorFixo + $valorVariavel;
                $rowData = '<td>' . $calculoFaturamento->GetContadorAsText($counterId) . '</td><td>' . date("d/m/Y", $dataLeitura) . '</td><td>' . $medicaoFinal . '</td><td>' . $medicaoInicial . '</td><td>' . $consumoMedido . '<br/>(Acrésc/Desc = ' . $ajuste . ')' . '</td><td>' . formatDecimal($franquia, 2) . '</td><td>' . round($excedente) . '</td><td>' . formatDecimal($tarifaExcedente, null) . '</td><td>' . formatBrCurrency($valorFixo, 2) . '</td><td>' . formatBrCurrency($valorVariavel, 2) . '</td><td>' . formatBrCurrency($valorTotal, 2) . '</td>';
                if ($valuesOnly) {
                    $rowData = '<td>' . $equipmentId . '</td><td>' . $contractTypeInfo . '</td><td>' . $counterId . '</td><td>' . date("Y-m-d", $dataLeitura) . '</td><td>' . $medicaoFinal . '</td><td>' . $medicaoInicial . '</td><td>' . $consumoMedido . '</td><td>' . $ajuste . '</td><td>' . $franquia . '</td><td>' . $excedente . '</td><td>' . $tarifaExcedente . '</td><td>' . $valorFixo . '</td><td>' . $valorVariavel . '</td><td>' . $valorTotal . '</td>';
                }
                echo '<tr bgcolor="WHITE" >' . $rowData . '</tr>';
                $billingSummary->consumo += $consumoMedido;
                $billingSummary->franquia += $franquia;
                $billingSummary->excedente += $excedente;
                $billingSummary->valorFixo += $valorFixo;
                $billingSummary->valorVariavel += $valorVariavel;
                $billingSummary->valorTotal += $valorTotal;
            }
        }
        // foreach de tipos de contador
    }
    // foreach de itens de faturamento (equipamentos)
}
function BuildReportTable($startColumn, $startRow)
{
    global $root;
    global $dataConnector;
    global $objPhpExcel;
    global $billingItemArray;
    $businessPartnerDAO = new BusinessPartnerDAO($dataConnector->sqlserverConnection);
    $businessPartnerDAO->showErrors = 1;
    $industryDAO = new IndustryDAO($dataConnector->sqlserverConnection);
    $industryDAO->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;
    $contractDAO = new ContractDAO($dataConnector->mysqlConnection);
    $contractDAO->showErrors = 1;
    $inventoryItemDAO = new InventoryItemDAO($dataConnector->sqlserverConnection);
    $inventoryItemDAO->showErrors = 1;
    $counterDAO = new CounterDAO($dataConnector->mysqlConnection);
    $counterDAO->showErrors = 1;
    $salesPersonDAO = new SalesPersonDAO($dataConnector->sqlserverConnection);
    $salesPersonDAO->showErrors = 1;
    // Busca os segmentos/ramos de atividade cadastrados no sistema
    $industryArray = array(0 => "");
    $tempArray = $industryDAO->RetrieveRecordArray();
    foreach ($tempArray as $industry) {
        $industryArray[$industry->id] = $industry->name;
    }
    // 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;
    }
    // Cria um array para as estatísticas dos equipamentos (por modelo)
    $statsArray = array();
    $equipmentModelArray = $equipmentModelDAO->RetrieveRecordArray("id > 0 ORDER BY fabricante, modelo");
    foreach ($equipmentModelArray as $modelDTO) {
        $statsArray[$modelDTO->id] = new EquipmentModelStats($modelDTO->id, $modelDTO->modelo, $modelDTO->fabricante);
    }
    // Cria um array para as receitas de cada equipamento
    $equipRevenueArray = array();
    // Cria um array para as receitas provenientes de cada cliente
    $customerRevenueArray = array();
    $associativeList = array(0 => "");
    foreach ($equipmentModelArray as $model) {
        $associativeList[$model->id] = $manufacturerArray[$model->fabricante];
    }
    // Busca os contadores cadastrados no sistema
    $retrievedArray = $counterDAO->RetrieveRecordArray();
    $counterArray = array();
    foreach ($retrievedArray as $counter) {
        $counterArray[$counter->id] = $counter->nome;
    }
    // Busca os vendedores cadastrados no sistema
    $retrievedArray = $salesPersonDAO->RetrieveRecordArray();
    $salesPersonArray = array();
    foreach ($retrievedArray as $salesPersonDTO) {
        $salesPersonArray[$salesPersonDTO->slpCode] = $salesPersonDTO->slpName;
    }
    // Define o titulo da tabela
    $currentRow = $startRow;
    $activeSheet = $objPhpExcel->getActiveSheet();
    $activeSheet->setCellValue($startColumn . $startRow, 'SÍNTESE POR EQUIPAMENTO');
    $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) - 65;
    // startColumn é uma letra no intervalo A-Z
    $headers = array('Cliente', 'Segmento', 'Modelo', 'Fabricante', 'Série Fabricante', 'Nosso Núm. Série', 'Obs. Item', 'Data Instalação', 'Inicio Atendimento', 'Fim Atendimento', 'Parcela Atual', 'Vendedor', 'Medidor', 'Data Leitura', 'Medição Final', 'Medição Inicial', 'Ajuste Medição(Acrésc/Desc)', 'Consumo', 'Franquia', 'Excedente (Págs.)', 'Tarifa sobre exced.', 'Valor Fixo (R$)', 'Valor Variável (R$)', 'Acrésc/Desc (R$)', 'Valor Total (R$)', 'Custo Aquisição', 'Vida Útil', 'Custo Pág. do Equip.', 'Custo Pág. Peças/Mat.', 'Custo Pág. Total', 'Custo/Receita', 'Despesas');
    $offset = 0;
    foreach ($headers as $header) {
        $activeSheet->getColumnDimension(GetNameFromNumber($colNum + $offset))->setWidth(30);
        $offset++;
    }
    $currentRow++;
    InsereLinhaPlanilha($currentRow, $startColumn, $headers, PHPExcel_Style_Color::COLOR_YELLOW, 30, PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    // Gera as linhas da tabela
    $totalFixo = 0;
    $totalVariavel = 0;
    $totalAcrescDesc = 0;
    $grandTotal = 0;
    foreach ($billingItemArray as $billingItem) {
        $equipment = $equipmentDAO->RetrieveRecord($billingItem->codigoCartaoEquipamento);
        $businessPartner = $businessPartnerDAO->RetrieveRecord($equipment->customer);
        $contractCoveragePeriod = ContractDAO::GetContractCoveragePeriod($dataConnector->mysqlConnection, $billingItem->contrato_id);
        $installationDate = empty($equipment->installationDate) ? '' : $equipment->installationDate->format('d/m/Y');
        $inicioAtendimento = isset($contractCoveragePeriod) ? $contractCoveragePeriod["inicioAtendimento"] : '';
        $fimAtendimento = isset($contractCoveragePeriod) ? $contractCoveragePeriod["fimAtendimento"] : '';
        $parcelaAtual = isset($contractCoveragePeriod) ? $contractCoveragePeriod["parcelaAtual"] : '';
        $receitaTotal = $billingItem->total + $billingItem->acrescimoDesconto;
        $inventoryItem = $inventoryItemDAO->RetrieveRecord($equipment->itemCode);
        $obsItem = $inventoryItem->userText;
        $custoAquisicao = $inventoryItem->avgPrice;
        $custoPagPecas = $inventoryItem->expenses;
        $vidaUtil = $inventoryItem->durability;
        if (empty($vidaUtil)) {
            $custoPagEquip = 0;
            $custoTotal = 0;
            $custoSobreReceita = 0;
        } else {
            $custoPagEquip = $custoAquisicao / $vidaUtil * 1.4;
            $custoTotal = ($custoPagEquip + $custoPagPecas) * $billingItem->consumo;
            $custoSobreReceita = 0;
            if ($receitaTotal != 0) {
                $custoSobreReceita = $custoTotal / $receitaTotal;
            }
        }
        // Busca os dados do vendedor
        $salesPersonCode = $equipment->salesPerson;
        if (empty($salesPersonCode)) {
            $salesPersonCode = -1;
        }
        $salesPersonName = $salesPersonArray[$salesPersonCode];
        // Busca os dados do segmento/ramo de atividade
        $industryCode = $businessPartner->industry;
        if (empty($industryCode)) {
            $industryCode = 0;
        }
        $industryName = $industryArray[$industryCode];
        // Busca o modelo e fabricante do equipamento
        $modelName = "";
        if (array_key_exists($equipment->model, $modelArray)) {
            $modelName = $modelArray[$equipment->model];
        }
        $manufacturerName = "";
        if (array_key_exists($equipment->model, $modelArray)) {
            $manufacturerName = $associativeList[$equipment->model];
        }
        if (!array_key_exists($equipment->manufacturerSN, $equipRevenueArray)) {
            $equipRevenueArray[$equipment->manufacturerSN] = new EquipmentRevenue($equipment->manufacturerSN, $equipment->model, $modelName, $manufacturerName, 0);
        }
        $equipRevenue = $equipRevenueArray[$equipment->manufacturerSN];
        $equipRevenue->revenue += $receitaTotal;
        if (!array_key_exists($equipment->customer, $customerRevenueArray)) {
            $customerRevenueArray[$equipment->customer] = new CustomerRevenue($equipment->customer, 0);
        }
        $customerRevenue = $customerRevenueArray[$equipment->customer];
        $customerRevenue->revenue += $receitaTotal;
        $row = array();
        $row[0] = $businessPartner->cardName . ' (' . $businessPartner->cardCode . ')';
        $row[1] = $industryName;
        $row[2] = $modelName;
        $row[3] = $manufacturerName;
        $row[4] = $equipment->manufacturerSN;
        $row[5] = $equipment->internalSN;
        $row[6] = $obsItem;
        $row[7] = $installationDate;
        $row[8] = $inicioAtendimento;
        $row[9] = $fimAtendimento;
        $row[10] = $parcelaAtual;
        $row[11] = $salesPersonName;
        $row[12] = $counterArray[$billingItem->counterId];
        // Recupera o nome do medidor/contador
        $row[13] = $billingItem->dataLeitura;
        $row[14] = $billingItem->medicaoFinal;
        $row[15] = $billingItem->medicaoInicial;
        $row[16] = $billingItem->ajuste;
        $row[17] = $billingItem->consumo;
        $row[18] = $billingItem->franquia;
        $row[19] = $billingItem->excedente;
        $row[20] = formatDecimal($billingItem->tarifaSobreExcedente, null);
        $row[21] = formatBrCurrency($billingItem->fixo, 2);
        $row[22] = formatBrCurrency($billingItem->variavel, 2);
        $row[23] = formatBrCurrency($billingItem->acrescimoDesconto, 2);
        $row[24] = formatBrCurrency($receitaTotal, 2);
        $row[25] = formatBrCurrency($custoAquisicao, 2);
        $row[26] = $vidaUtil;
        $row[27] = formatDecimal($custoPagEquip, 6);
        $row[28] = formatDecimal($custoPagPecas, 6);
        $row[29] = formatBrCurrency($custoTotal, 2);
        $row[30] = formatDecimal($custoSobreReceita, 6);
        $row[31] = 'http://datadb/contratos/AjaxCalls/GetEquipmentExpenses.php?equipmentCode=' . $equipment->insID . '&billingId=' . $billingItem->codigoFaturamento . '&showDetails=true';
        $currentRow++;
        InsereLinhaPlanilha($currentRow, $startColumn, $row);
        $totalFixo += $billingItem->fixo;
        // Soma os valores fixos dos equipamentos
        $totalVariavel += $billingItem->variavel;
        // Soma os valores variáveis dos equipamentos
        $totalAcrescDesc += $billingItem->acrescimoDesconto;
        // Soma os acrescimos descontos dos equipamentos
        $grandTotal += $receitaTotal;
        // Soma a receita total dos equipamentos ( fixo mais variável )
    }
    $currentRow++;
    $summary = array('Quant. Clientes: ' . sizeof($customerRevenueArray), '', '', '', 'Quant. Equipamentos: ' . sizeof($equipRevenueArray), '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'Total Fixo: ' . number_format($totalFixo, 2, ',', '.'), 'Total Variável: ' . number_format($totalVariavel, 2, ',', '.'), 'Total Acrésc/Desc: ' . number_format($totalAcrescDesc, 2, ',', '.'), 'Total Receita: ' . number_format($grandTotal, 2, ',', '.'), '', '', '', '', '', '', '');
    InsereLinhaPlanilha($currentRow, $startColumn, $summary, '80BB80FF', 32, PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
    foreach ($equipRevenueArray as $equipRevenue) {
        if (array_key_exists($equipRevenue->modelId, $statsArray)) {
            $modelStats = $statsArray[$equipRevenue->modelId];
            $modelStats->revenue += $equipRevenue->revenue;
            $modelStats->equipmentCount += 1;
        }
    }
    $currentRow += 3;
    // pula 3 linhas
    $startColumn = 'G';
    // fixa o quadro resumo na setima coluna da planilha
    // 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('Modelo', 'Fabricante', 'Quantidade', 'Receita');
    $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);
    $valorPrevio = "";
    $equipCount = 0;
    $somaReceita = 0;
    foreach ($statsArray as $equipmentModelStats) {
        if ($equipmentModelStats->equipmentCount > 0) {
            $manufacturerName = $manufacturerArray[$equipmentModelStats->fabricante];
            $valorAtual = $manufacturerName;
            if ($valorPrevio != $valorAtual) {
                if (!empty($valorPrevio)) {
                    $subTotal = array('', '', $equipCount, number_format($somaReceita, 2, ',', '.'));
                    $currentRow++;
                    InsereLinhaPlanilha($currentRow, $startColumn, $subTotal, '80AAFFFF', 20, PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
                    $equipCount = 0;
                    $somaReceita = 0;
                }
                $valorPrevio = $valorAtual;
            }
            $currentRow++;
            $row = array();
            $row[0] = $equipmentModelStats->model;
            $row[1] = $manufacturerName;
            $row[2] = $equipmentModelStats->equipmentCount;
            $row[3] = number_format($equipmentModelStats->revenue, 2, ',', '.');
            InsereLinhaPlanilha($currentRow, $startColumn, $row);
            $equipCount = $equipCount + $equipmentModelStats->equipmentCount;
            $somaReceita = $somaReceita + $equipmentModelStats->revenue;
        }
    }
    $subTotal = array('', '', $equipCount, number_format($somaReceita, 2, ',', '.'));
    $currentRow++;
    InsereLinhaPlanilha($currentRow, $startColumn, $subTotal, '80AAFFFF', 20, PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
}
Ejemplo n.º 8
0
<?php

$itemCode = $_GET['itemCode'];
include_once "../defines.php";
include_once "../ClassLibrary/DataConnector.php";
include_once "../DataAccessObjects/InventoryItemDAO.php";
include_once "../DataTransferObjects/InventoryItemDTO.php";
// Abre a conexao com o banco de dados
$dataConnector = new DataConnector('sqlServer');
$dataConnector->OpenConnection();
if ($dataConnector->sqlserverConnection == null) {
    echo 'Não foi possível se connectar ao bando de dados!';
    exit;
}
// Busca a quantidade de itens em estoque
$stockQuantity = InventoryItemDAO::GetStockQuantity($dataConnector->sqlserverConnection, $itemCode);
$stockQuantity = number_format($stockQuantity, 0, '', '');
// Retorna o valor encontrado
echo $stockQuantity;
// Fecha a conexão com o banco de dados
$dataConnector->CloseConnection();
Ejemplo n.º 9
0
include_once "../../DataAccessObjects/InventoryItemDAO.php";
include_once "../../DataTransferObjects/InventoryItemDTO.php";
if (!isset($_REQUEST["acao"])) {
    echo "Erro no processamento da requisição.";
    exit;
}
$acao = $_REQUEST["acao"];
// 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 o objeto de mapeamento objeto-relacional
$inventoryItemDAO = new InventoryItemDAO($dataConnector->sqlserverConnection);
$inventoryItemDAO->showErrors = 1;
$counterDAO = new CounterDAO($dataConnector->mysqlConnection);
$counterDAO->showErrors = 1;
// Traz os contadores cadastrados no sistema
$counterArray = $counterDAO->RetrieveRecordArray();
if ($acao == "store") {
    if (isset($_REQUEST["itemCode"]) && $_REQUEST["itemCode"] != "") {
        $itemCode = $_REQUEST["itemCode"];
        $inventoryItem = $inventoryItemDAO->RetrieveRecord($itemCode);
    }
    $inventoryItem->expenses = $_REQUEST["expenses"];
    $inventoryItem->durability = $_REQUEST["durability"];
    $inventoryItem->useInstructions = $_REQUEST["useInstructions"];
    $xml = '<DurabilityAgents>';
    foreach ($counterArray as $counter) {
Ejemplo n.º 10
0
if (sizeof($previousCallArray) == 1) {
    $previousCall = $previousCallArray[0];
}
$callEnumeration = "";
foreach ($serviceCallArray as $call) {
    if (!empty($callEnumeration)) {
        $callEnumeration = $callEnumeration . ", ";
    }
    $callEnumeration = $callEnumeration . $call->id;
}
if (empty($callEnumeration)) {
    $callEnumeration = "0";
}
$partReplacementDAO = new PartReplacementDAO($dataConnector->mysqlConnection);
$partReplacementDAO->showErrors = 1;
$inventoryItemDAO = new InventoryItemDAO($dataConnector->sqlserverConnection);
$inventoryItemDAO->showErrors = 1;
$partReplacementArray = $partReplacementDAO->RetrieveRecordArray("codigoChamado IN (" . $callEnumeration . ") AND codigoInsumo IS NULL ORDER BY dataAbertura DESC LIMIT 0, 6");
foreach ($partReplacementArray as $partReplacement) {
    $inventoryItem = $inventoryItemDAO->RetrieveRecord($partReplacement->codigoItem);
    $xml = simplexml_load_string($inventoryItem->serializedData);
    $counterTotal = 0;
    $readingArray = $readingDAO->RetrieveRecordArray("chamadoServico_id=" . $previousCall->id);
    foreach ($readingArray as $reading) {
        foreach ($xml as $element) {
            if ($reading->codigoContador == $element["id"]) {
                $counterTotal += $reading->contagem;
            }
        }
    }
    $counterTotalBefore = 0;