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;
}
示例#2
0
?>
" />

        <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/>';
示例#3
0
$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('&nbsp;', ' ', $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);
示例#5
0
    $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)) {
示例#8
0
            $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);
示例#9
0
 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;
    }
}
示例#11
0
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;
    }
示例#12
0
 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
 }
示例#13
0
         $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') {