249 lines
No EOL
13 KiB
PHP
249 lines
No EOL
13 KiB
PHP
<?php
|
|
|
|
/** Importação de classes */
|
|
use vendor\model\FinancialMovements;
|
|
use vendor\controller\financial_movements\FinancialMovementsValidate;
|
|
|
|
try{
|
|
|
|
/** Verifica se o token de acesso é válido */
|
|
if($Main->verifyToken()){
|
|
|
|
/** Instânciamento de classes */
|
|
$FinancialMovements = new FinancialMovements();
|
|
$FinancialMovementsValidate = new FinancialMovementsValidate();
|
|
|
|
/** Parametros de entrada */
|
|
$financialMovementsId = isset($_POST['financial_movements_id']) ? (int)filter_input(INPUT_POST,'financial_movements_id', FILTER_SANITIZE_SPECIAL_CHARS) : 0;
|
|
|
|
/** Validando os campos de entrada */
|
|
$FinancialMovementsValidate->setFinancialMovementsId($financialMovementsId);
|
|
|
|
/** Contador */
|
|
$i = 0;
|
|
|
|
/** Verifica se não existem erros a serem informados */
|
|
if (!empty($FinancialMovementsValidate->getErrors())) {
|
|
|
|
/** Informo */
|
|
throw new InvalidArgumentException($FinancialMovementsValidate->getErrors(), 0);
|
|
|
|
} else {
|
|
|
|
/** Verifica se o movimento foi informado */
|
|
if($FinancialMovementsValidate->getFinancialMovementsId() > 0){
|
|
|
|
|
|
/** Localiza a movimentação informada */
|
|
$FinancialMovementsResult = $FinancialMovements->Get($FinancialMovementsValidate->getFinancialMovementsId());
|
|
|
|
?>
|
|
|
|
|
|
<ul class="nav nav-pills nav-fill" id="pills-tab" role="tablist">
|
|
<li class="nav-item nav-link-pill mx-1 mb-2" role="presentation">
|
|
<a class="nav-link active" id="pills-1-tab" data-toggle="pill" href="#pills-1" role="tab" aria-controls="pills-1" aria-selected="true"><i class="fas fa-eye"></i> Detalhes</a>
|
|
</li>
|
|
|
|
<li class="nav-item nav-link-pill mx-1 mb-2" role="presentation">
|
|
<a class="nav-link " id="pills-2-tab" data-toggle="pill" href="#pills-2" role="tab" aria-controls="pills-2" aria-selected="true"><i class="fas fa-file-download"></i> Arquivos</a>
|
|
</li>
|
|
</ul>
|
|
|
|
<br/>
|
|
|
|
<div class="tab-content" id="pills-tabContent">
|
|
<div class="tab-pane fade active show" id="pills-1" role="tabpanel" aria-labelledby="pills-1-tab">
|
|
|
|
<form class="w-100" id="frmFinancialMovements" autocomplete="off">
|
|
|
|
<div class="form-group row">
|
|
|
|
<div class="col-sm-12 ">
|
|
<label for="current_balance">Descrição:</label>
|
|
<input type="text" class="form-control form-control" id="description" maxlength="160" value="<?php echo $FinancialMovementsResult->description;?> ">
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
|
|
<div class="col-sm-4">
|
|
<label for="movement_date_paid">Data Pagamento: <?php echo (int)$FinancialMovementsResult->movement_user_confirmed == 0 ? '<span class="text-danger">*</span>' : ''; ?></label>
|
|
<input type="text" class="form-control form-control date" id="movement_date_paid" name="movement_date_paid" maxlength="160" value="<?php echo isset($FinancialMovementsResult->movement_date_paid) ? date('d/m/Y', strtotime($FinancialMovementsResult->movement_date_paid)) : date('d/m/Y', strtotime($FinancialMovementsResult->movement_date_scheduled));?>" placeholder="__/__/____">
|
|
</div>
|
|
|
|
<div class="col-sm-4">
|
|
<label for="movement_value_paid">Valor a ser pago: <?php echo (int)$FinancialMovementsResult->movement_user_confirmed == 0 ? '<span class="text-danger"></span>' : ''; ?></label>
|
|
<input type="text" class="form-control form-control price" id="movement_value_paid" name="movement_value_paid" value="<?php echo isset($FinancialMovementsResult->movement_value_paid) ? number_format($FinancialMovementsResult->movement_value_paid, 2, ',', '.') : number_format($FinancialMovementsResult->movement_value, 2, ',', '.');?> ">
|
|
</div>
|
|
|
|
<div class="col-sm-4">
|
|
<label for="movement_value_fees">Valor juros: <?php echo (int)$FinancialMovementsResult->movement_user_confirmed == 0 ? '<span class="text-danger">*</span>' : ''; ?></label>
|
|
<input type="text" class="form-control form-control price" id="movement_value_fees" name="movement_value_fees" value="<?php echo isset($FinancialMovementsResult->movement_value_fees) ? number_format($FinancialMovementsResult->movement_value_fees, 2, ',', '.') : number_format($FinancialMovementsResult->movement_value_fees, 2, ',', '.');?> ">
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="form-group row">
|
|
|
|
<div class="col-sm-12">
|
|
<label for="note">Observação: </label>
|
|
<textarea class="form-control form-control" id="note" name="note" placeholder="<?php echo (int)$FinancialMovementsResult->financial_outputs_id > 0 ? 'Exemplo: Ajuste de valor, houve cobrança de juros.' : 'Exemplo: Recebimento do boleto nº 9999' ;?>"><?php echo isset($FinancialMovementsResult->note) ? $FinancialMovementsResult->note : '';?></textarea>
|
|
</div>
|
|
|
|
<?php if((int)$FinancialMovementsResult->movement_user_confirmed > 0){?>
|
|
|
|
<div class="col-sm-12">
|
|
<br/>
|
|
Confirmação: <?php echo $FinancialMovementsResult->user_confirmed_name;?>
|
|
</div>
|
|
|
|
<?php } ?>
|
|
|
|
<div class="col-sm-12 text-center p-2" id="sendMovement"></div>
|
|
|
|
</div>
|
|
|
|
<?php if((int)$FinancialMovementsResult->movement_user_confirmed == 0){?>
|
|
<div class="form-group form-check">
|
|
<input type="checkbox" class="form-check-input" id="updateValue" name="updateValue" value="S">
|
|
<label class="form-check-label" for="updateValue">Atualizar somente o valor</label>
|
|
</div>
|
|
<?php } ?>
|
|
|
|
<input type="hidden" name="financial_movements_id" value="<?php echo (int)$FinancialMovementsResult->financial_movements_id;?>"/>
|
|
<input type="hidden" name="financial_outputs_id" value="<?php echo (int)$FinancialMovementsResult->financial_outputs_id;?>"/>
|
|
<input type="hidden" name="financial_entries_id" value="<?php echo (int)$FinancialMovementsResult->financial_entries_id;?>"/>
|
|
<input type="hidden" name="TABLE" value="financial_movements"/>
|
|
<input type="hidden" name="ACTION" value="financial_movements_save"/>
|
|
<input type="hidden" name="FOLDER" value="action" />
|
|
<input type="hidden" name="movement_user_confirmed" value="<?php echo (int)$FinancialMovementsResult->movement_user_confirmed;?>" />
|
|
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="tab-pane fade " id="pills-2" role="tabpanel" aria-labelledby="pills-2-tab">
|
|
|
|
<div class="col-sm-12">
|
|
|
|
<div class="row" style="overflow: auto">
|
|
|
|
<table class="table table-sm table-striped table-hover">
|
|
|
|
<?php
|
|
|
|
/** Consulta os documentos de uma movimentação */
|
|
$FinancialDocumentsResult = $FinancialMovements->loadFiles($financialMovementsId);
|
|
|
|
/** Lista os pedidos de acordo com o resultado da consulta informada */
|
|
foreach($FinancialDocumentsResult as $FinancialDocumentsKey => $Result){
|
|
|
|
$i++;
|
|
?>
|
|
|
|
<script type="text/javascript">
|
|
|
|
/** Carrega a função de excluir arquivos */
|
|
var funcDelete<?php echo $i;?> = "request('TABLE=financial_documents&ACTION=financial_documents_delete&FOLDER=action&documents_id=<?php echo $Result->documents_id;?>', '', true, '', 0, '', 'Excluindo...', 'random', 'circle', 'sm', true)";
|
|
|
|
</script>
|
|
|
|
<tr>
|
|
<td class="text-center" width="120"><?php echo date('d/m/Y', strtotime($Result->date_register));?></td>
|
|
<td class="text-center" width="120"><?php echo $Result->category;?></td>
|
|
<td><?php echo $Result->description;?></td>
|
|
<td width="10">
|
|
<button class="btn btn-light btn-sm"><i class="fas fa-trash" onclick="modalPage(true, 0, 0, 'Atenção', 'Deseja realmente excluir o arquivo em anexo?', '', 'question', funcDelete<?php echo $i;?>)"></i></button>
|
|
</td>
|
|
<td width="10">
|
|
<button class="btn btn-info btn-sm"><i class="fas fa-arrow-down" onclick="request('FOLDER=action&TABLE=financial_movements&ACTION=financial_movements_download_file&documents_id=<?php echo $Result->documents_id;?>', '#sendMovement', true, '', '', '', 'Preparando arquivo para download', 'blue', 'circle', 'sm', '')" ></i></button>
|
|
</td>
|
|
</tr>
|
|
|
|
<?php } ?>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
|
|
/** Carrega as mascaras dos campos inputs */
|
|
$(document).ready(function(e) {
|
|
|
|
/** inputs mask */
|
|
loadMask();
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
<?php
|
|
/** Pego a estrutura do arquivo */
|
|
$div = ob_get_contents();
|
|
|
|
/** Removo o arquivo incluido */
|
|
ob_clean();
|
|
|
|
/** Result **/
|
|
$result = array(
|
|
|
|
'cod' => 201,
|
|
'data' => $div,
|
|
'width' => '800',
|
|
'title' => 'Gerenciando movimentação / ' . ((int)$FinancialMovementsResult->financial_entries_id > 0 ? '<span class="badge badge-success">Entrada</span>' : '<span class="badge badge-danger">Saída</span>'),
|
|
'func' => 'sendForm(\'#frmFinancialMovements\', \'\', true, \'\', 0, \'#sendMovement\', \'Atualizando movimentação\', \'random\', \'circle\', \'sm\', true)'
|
|
|
|
);
|
|
|
|
/** Envio **/
|
|
echo json_encode($result);
|
|
|
|
/** Paro o procedimento **/
|
|
exit;
|
|
|
|
}else{
|
|
|
|
/** Informo */
|
|
throw new InvalidArgumentException("<ol><li>Nenhum movimento informado para esta solicitação</li></ol>", 0);
|
|
}
|
|
}
|
|
|
|
/** Caso o token de acesso seja inválido, informo */
|
|
}else{
|
|
|
|
/** Informa que o usuário precisa efetuar autenticação junto ao sistema */
|
|
$authenticate = true;
|
|
|
|
/** Informo */
|
|
throw new InvalidArgumentException('Sua sessão expirou é necessário efetuar nova autenticação junto ao sistema', 0);
|
|
}
|
|
|
|
}catch(Exception $exception){
|
|
|
|
/** Preparo o formulario para retorno **/
|
|
$result = [
|
|
|
|
'cod' => 0,
|
|
'message' => $exception->getMessage(),
|
|
'title' => 'Erro Interno',
|
|
'type' => 'exception',
|
|
'authenticate' => $authenticate
|
|
|
|
];
|
|
|
|
/** Envio **/
|
|
echo json_encode($result);
|
|
|
|
/** Paro o procedimento **/
|
|
exit;
|
|
}
|