function GetSerialNumbers($mysqlConnection, $sqlserverConnection, $subContractId) { $serialNumbers = ""; $contractItemDAO = new ContractItemDAO($mysqlConnection); $contractItemDAO->showErrors = 1; $itemArray = $contractItemDAO->RetrieveRecordArray("subContrato_id = " . $subContractId); foreach ($itemArray as $contractItem) { if (!empty($serialNumbers)) { $serialNumbers = $serialNumbers . ", "; } $serialNumbers = $serialNumbers . EquipmentDAO::GetSerialNumber($sqlserverConnection, $contractItem->codigoCartaoEquipamento); } return $serialNumbers; }
?> " /> <div style="max-width:650px;" > <h1>Reajuste: <?php echo $adjustmentRate->aliquota . '% pelo ' . $adjustmentRate->sigla . ' (' . $adjustmentRate->nome . ') '; ?> </h1> </div> <div style="clear:both;"> <br/><br/> </div> <?php foreach ($subContractArray as $subContract) { $subContractItems = ContractItemDAO::GetItemsByOwner($dataConnector->mysqlConnection, $subContract->id); $serialNumbers = ''; foreach ($subContractItems as $contractItem) { if (!empty($serialNumbers)) { $serialNumbers .= ', '; } $serialNumbers .= EquipmentDAO::GetSerialNumber($dataConnector->sqlserverConnection, $contractItem->codigoCartaoEquipamento); } if (empty($serialNumbers)) { $serialNumbers = 'Nenhum item encontrado'; } $chargeArray = $contractChargeDAO->RetrieveRecordArray("subContrato_id = " . $subContract->id); $bonusArray = $contractBonusDAO->RetrieveRecordArray("subcontrato_id = " . $subContract->id . " ORDER BY de, ate"); echo '<fieldset style="width:650px;" >'; echo ' <legend>' . ContractTypeDAO::GetAlias($dataConnector->mysqlConnection, $subContract->codigoTipoContrato) . '</legend>'; echo ' Itens:<br/>';
$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 $invoiceDAO = new InvoiceDAO($dataConnector->sqlserverConnection); $invoiceDAO->showErrors = 1; $billingDAO = new BillingDAO($dataConnector->mysqlConnection); $billingDAO->showErrors = 1; $mailingDAO = new MailingDAO($dataConnector->mysqlConnection); $mailingDAO->showErrors = 1; $billingItemDAO = new BillingItemDAO($dataConnector->mysqlConnection); $billingItemDAO->showErrors = 1; $contractItemDAO = new ContractItemDAO($dataConnector->mysqlConnection); $contractItemDAO->showErrors = 1; if ($acao == "store") { $mailing_id = $_REQUEST["mailingId"]; $startDate = $_REQUEST["dataInicial"]; $endDate = $_REQUEST["dataFinal"]; $mailing = $mailingDAO->RetrieveRecord($mailing_id); $billingParams = 'businessPartnerCode=' . $mailing->businessPartnerCode . '&contractId=' . $mailing->contrato_id . '&subContractId=' . $mailing->subContrato_id . '&startDate=' . $startDate . '&endDate=' . $endDate . '&acrescimo=&obs='; $report = "faturamentoContrato.php"; if (empty($mailing->contrato_id)) { $report = "faturamentoCliente.php"; } $reportUrl = 'http://' . $_SERVER['HTTP_HOST'] . $root . '/Frontend/mailing/' . $report . '?' . $billingParams . '&valuesOnly=true'; $billingContent = file_get_contents($reportUrl); $billingContent = str_replace(' ', ' ', $billingContent); $xml = simplexml_load_string('<root>' . $billingContent . '</root>');
// Busca os itens(equipamentos) pertencentes ao contrato $subContractDAO = new SubContractDAO($dataConnector->mysqlConnection); $subContractDAO->showErrors = 1; $subContractArray = $subContractDAO->RetrieveRecordArray("contrato_id = " . $contractId); $subContractEnumeration = ""; foreach ($subContractArray as $subContract) { if (!empty($subContractEnumeration)) { $subContractEnumeration = $subContractEnumeration . ", "; } $subContractEnumeration = $subContractEnumeration . $subContract->id; } if (empty($subContractEnumeration)) { $subContractEnumeration = "0"; } // evita o crash da query, quando a lista está vazia $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);
$id = 0; $subContract = new SubContractDTO(); if (isset($_REQUEST["id"]) && $_REQUEST["id"] != 0) { $id = $_REQUEST["id"]; $subContract = $subContractDAO->RetrieveRecord($id); } $subContract->codigoContrato = $_REQUEST["contractId"]; $subContract->codigoTipoContrato = $_REQUEST["contractTypeId"]; $recordId = $subContractDAO->StoreRecord($subContract); if ($recordId == null) { echo "Não foi possivel efetuar a operação..."; exit; } echo "Operação efetuada com sucesso!"; } if ($acao == "remove") { $id = $_REQUEST['id']; $itemArray = ContractItemDAO::GetItemsByOwner($dataConnector->mysqlConnection, $id); $itemCount = sizeof($itemArray); if ($itemCount != 0) { echo "É necessário excluir os itens de contrato antes de prosseguir."; exit; } if (!$subContractDAO->DeleteRecord($id)) { echo "Não foi possivel efetuar a operação..."; exit; } echo "Operação efetuada com sucesso!"; } // Fecha a conexão com o banco de dados $dataConnector->CloseConnection();
include_once "../DataTransferObjects/SubContractDTO.php"; include_once "../DataAccessObjects/ContractItemDAO.php"; include_once "../DataTransferObjects/ContractItemDTO.php"; $businessPartnerCode = $_GET['businessPartnerCode']; $contractId = $_GET['contractId']; // 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 $contractDAO = new ContractDAO($dataConnector->mysqlConnection); $contractDAO->showErrors = 1; $contractItemDAO = new ContractItemDAO($dataConnector->mysqlConnection); $contractItemDAO->showErrors = 1; $subContractDAO = new SubContractDAO($dataConnector->mysqlConnection); $subContractDAO->showErrors = 1; // Busca os contratos pertencentes ao parceiro de negócios $contractArray = $contractDAO->RetrieveRecordArray("pn='" . $businessPartnerCode . "'"); // Busca os items de contrato pertencentes ao parceiro de negócios $itemArray = $contractItemDAO->RetrieveRecordArray("businessPartnerCode = '" . $businessPartnerCode . "'"); echo '<option value="0" >Agrupar equips. do cliente(independente do contrato)</option>'; $contractIdArray = array(); foreach ($contractArray as $contract) { array_push($contractIdArray, $contract->id); } foreach ($itemArray as $contractItem) { $subContract = $subContractDAO->RetrieveRecord($contractItem->codigoSubContrato); if (!in_array($subContract->codigoContrato, $contractIdArray)) {
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 $contractDAO = new ContractDAO($dataConnector->mysqlConnection); $contractDAO->showErrors = 1; $subContractDAO = new SubContractDAO($dataConnector->mysqlConnection); $subContractDAO->showErrors = 1; $contractItemDAO = new ContractItemDAO($dataConnector->mysqlConnection); $contractItemDAO->showErrors = 1; $equipmentDAO = new EquipmentDAO($dataConnector->sqlserverConnection); $equipmentDAO->showErrors = 1; $equipmentModelDAO = new EquipmentModelDAO($dataConnector->mysqlConnection); $equipmentModelDAO->showErrors = 1; $salesPersonDAO = new SalesPersonDAO($dataConnector->sqlserverConnection); $salesPersonDAO->showErrors = 1; // Busca os contratos que se enquadram no filtro aplicado $contractArray = array(); if ($searchMethod == 0 || $searchMethod == 2) { $filter = "contrato.pn='" . $businessPartnerCode . "' AND contrato.encerramento >= '" . $startDate . " 00:00' AND contrato.encerramento <= '" . $endDate . " 23:59'"; if ($contractType > 0) { $filter = $filter . " AND subcontrato.tipoContrato_id=" . $contractType; } if (!empty($contractStatus)) {
$actionLog->tipoAgregacao = 'contrato'; $actionLog->idAgregacao = $id; $actionLogDAO->StoreRecord($actionLog); } } echo 'Operação efetuada com sucesso!'; } if ($acao == "remove") { $transactionType = "DELETE"; if (!isset($_POST['reg'])) { echo "Selecione os registros que deseja excluir"; exit; } foreach ($_POST['reg'] as $key => $reg) { $subContractEnumeration = SubContractDAO::GetSubcontractsByOwner($dataConnector->mysqlConnection, $reg); $itemArray = ContractItemDAO::GetItemsByOwner($dataConnector->mysqlConnection, $subContractEnumeration); $itemCount = sizeof($itemArray); if ($itemCount != 0) { echo "É necessário excluir os itens de contrato antes de prosseguir."; exit; } if (!$contractDAO->DeleteRecord($reg)) { echo "Não foi possivel efetuar a operação..."; exit; } } echo "Operação efetuada com sucesso!"; } // Grava no histórico a ação if ($transactionType == "INSERT") { $actionLog = new ActionLogDTO($transactionType, 'contrato', $recordId);
static function GetItemsByOwner($mysqlConnection, $subContractEnumeration) { $contractItemDAO = new ContractItemDAO($mysqlConnection); $contractItemDAO->showErrors = 1; $itemArray = $contractItemDAO->RetrieveRecordArray("subContrato_id IN (" . $subContractEnumeration . ")"); return $itemArray; }
function BuildReportTable($startColumn, $startRow) { global $dataConnector; global $objPhpExcel; global $contractArray; global $model; global $searchMethod; $contractDAO = new ContractDAO($dataConnector->mysqlConnection); $contractDAO->showErrors = 1; $subContractDAO = new SubContractDAO($dataConnector->mysqlConnection); $subContractDAO->showErrors = 1; $contractItemDAO = new ContractItemDAO($dataConnector->mysqlConnection); $contractItemDAO->showErrors = 1; $equipmentDAO = new EquipmentDAO($dataConnector->sqlserverConnection); $equipmentDAO->showErrors = 1; $equipmentModelDAO = new EquipmentModelDAO($dataConnector->mysqlConnection); $equipmentModelDAO->showErrors = 1; $salesPersonDAO = new SalesPersonDAO($dataConnector->sqlserverConnection); $salesPersonDAO->showErrors = 1; // Define o titulo da tabela $currentRow = $startRow; $activeSheet = $objPhpExcel->getActiveSheet(); $activeSheet->setCellValue($startColumn . $startRow, 'CONTRATOS'); $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('Número', 'Cliente', 'Detalhes', 'Assinatura', 'Encerramento', 'Inicio do Atendimento', 'Fim do Atendimento', 'Parcela', 'Vendedor', 'Status', 'Global(S OU N)'); $offset = 0; foreach ($headers as $header) { $activeSheet->getColumnDimension(chr($colNum + $offset))->setWidth(25); $offset++; } $activeSheet->getColumnDimension(chr($colNum + 1))->setWidth(50); $activeSheet->getColumnDimension(chr($colNum + 2))->setWidth(50); $currentRow++; InsereLinhaPlanilha($currentRow, $startColumn, $headers, PHPExcel_Style_Color::COLOR_YELLOW, 30, PHPExcel_Style_Alignment::HORIZONTAL_CENTER); // Busca os modelos de equipamento cadastrados no sistema $modelArray = array(0 => ""); $equipmentModelArray = $equipmentModelDAO->RetrieveRecordArray(); foreach ($equipmentModelArray as $modelDTO) { $modelArray[$modelDTO->id] = $modelDTO->modelo; } // Busca os vendedores cadastrados no sistema $retrievedArray = $salesPersonDAO->RetrieveRecordArray(); $salesPersonArray = array(); foreach ($retrievedArray as $salesPersonDTO) { $salesPersonArray[$salesPersonDTO->slpCode] = $salesPersonDTO->slpName; } // Gera as linhas da tabela $identifierArray = array(); $LFCR = chr(10) . chr(13); foreach ($contractArray as $contract) { if (array_key_exists($contract->id, $identifierArray)) { continue; } // contrato repetido, pula para o próximo registro $clientName = BusinessPartnerDAO::GetClientName($dataConnector->sqlserverConnection, $contract->pn); $salesPersonName = $salesPersonArray[$contract->vendedor]; $details = ""; $subContractArray = $subContractDAO->RetrieveRecordArray("contrato_id=" . $contract->id); foreach ($subContractArray as $subContract) { if (!empty($details)) { $details = $details . $LFCR; } $details = $details . $subContract->siglaTipoContrato; $itemArray = $contractItemDAO->RetrieveRecordArray("subContrato_id=" . $subContract->id); foreach ($itemArray as $contractItem) { $equipment = $equipmentDAO->RetrieveRecord($contractItem->codigoCartaoEquipamento); $installationDate = empty($equipment->installationDate) ? '' : $equipment->installationDate->format('d/m/Y'); // filtra apenas os items ativos e emprestados if ($equipment->status == 'A' || $equipment->status == 'L') { if (!empty($details)) { $details = $details . $LFCR; } $equipmentModel = ""; if (array_key_exists($equipment->model, $modelArray)) { $equipmentModel = $modelArray[$equipment->model]; } $details = $details . $equipmentModel . ' Série ' . $equipment->manufacturerSN . ' Data Instalação ' . $installationDate; } } } if ($searchMethod == 1 || $searchMethod == 2) { if (!empty($model)) { $modelMatched = false; if (strpos($details, $model)) { $modelMatched = true; } if (!$modelMatched) { continue; } } } $currentRow++; $row = array(); $row[0] = str_pad($contract->numero, 5, '0', STR_PAD_LEFT); $row[1] = $clientName; $row[2] = $details; $row[3] = $contract->dataAssinatura; $row[4] = $contract->dataEncerramento; $row[5] = $contract->inicioAtendimento; $row[6] = $contract->fimAtendimento; $row[7] = $contract->parcelaAtual . '/' . $contract->quantidadeParcelas; $row[8] = $salesPersonName; $row[9] = $contractDAO->GetStatusAsText($contract->status); $row[10] = $contract->global == 0 ? 'N' : 'S'; InsereLinhaPlanilha($currentRow, $startColumn, $row); $identifierArray[$contract->id] = $contract->numero; } }
include_once "../../../DataTransferObjects/ActionLogDTO.php"; if (!isset($_REQUEST["acao"]) || !isset($_REQUEST["contractId"])) { echo "Erro no processamento da requisição."; exit; } $acao = $_REQUEST["acao"]; $contractId = $_REQUEST['contractId']; // 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 $contractItemDAO = new ContractItemDAO($dataConnector->mysqlConnection); $contractItemDAO->showErrors = 1; $actionLogDAO = new ActionLogDAO($dataConnector->mysqlConnection); $actionLogDAO->showErrors = 1; if ($acao == "store") { $transactionType = 'INSERT'; $contractItem = new ContractItemDTO(); $contractItem->codigoCartaoEquipamento = $_REQUEST["equipmentCode"]; $contractItem->businessPartnerCode = $_REQUEST["businessPartnerCode"]; $contractItem->codigoContrato = $_REQUEST["contractId"]; $contractItem->codigoSubContrato = $_REQUEST["subContractId"]; $recordId = $contractItemDAO->StoreRecord($contractItem); if ($recordId == null) { echo "Não foi possivel efetuar a operação..."; exit; }
function GetDivisor($mysqlConnection, $contractDTO, $subContractDTO) { // Cria o objeto de mapeamento objeto-relacional $contractItemDAO = new ContractItemDAO($mysqlConnection); $contractItemDAO->showErrors = 1; if ($contractDTO->global) { // Busca os itens(equipamentos) pertencentes ao subContrato $itemArray = $contractItemDAO->RetrieveRecordArray("subContrato_id = " . $subContractDTO->id); // Verifica a quantidade de equipamentos ativos ou emprestados $itemCount = 0; foreach ($itemArray as $contractItem) { // if (array_key_exists($contractItem->codigoCartaoEquipamento, $this->statusEquipamentos)) $status = $this->statusEquipamentos[$contractItem->codigoCartaoEquipamento]; if ($status == 'A' || $status == 'L') { $itemCount++; } } return $itemCount; } return 1; // divisor padrão, caso não seja contrato global }
$action = 'Cobrança atualizada ' . $chargeDescription . ' nos itens ' . $serialEnumeration; } if ($actionLog->transacao == 'DELETE') { $action = 'Cobrança retirada dos itens ' . $serialEnumeration; } } if ($actionLog->tipoObjeto == 'bonus') { $bonusDescription = ""; $serialEnumeration = ""; $bonus = $contractBonusDAO->RetrieveRecord($actionLog->idObjeto); if ($bonus != null) { $counterName = CounterDAO::GetCounterName($dataConnector->mysqlConnection, $bonus->codigoContador); // Obtem os parâmetros do bonus $bonusDescription = $counterName . ' ( De: ' . $bonus->de . ' Até: ' . $bonus->ate . ' Valor: ' . $bonus->valor . ' )<br/>'; // Localiza os itens do subcontrato $itemArray = ContractItemDAO::GetItemsByOwner($dataConnector->mysqlConnection, $bonus->codigoSubContrato); foreach ($itemArray as $contractItem) { $serialNumber = EquipmentDAO::GetSerialNumber($dataConnector->sqlserverConnection, $contractItem->codigoCartaoEquipamento); if (!empty($serialEnumeration)) { $serialEnumeration = $serialEnumeration . ", "; } $serialEnumeration = $serialEnumeration . $serialNumber; } if (empty($serialEnumeration)) { $serialEnumeration = "(Lista de Itens Vazia)"; } } if ($actionLog->transacao == 'INSERT') { $action = 'Bonus ' . $bonusDescription . ' adicionado aos itens ' . $serialEnumeration; } if ($actionLog->transacao == 'UPDATE') {