/** * Salva a entrada do tipo mensalidade. * * Este método é utilzado em conjunto com os métodos que salvam ou removem as mesalidades * - MonthlyPaymentRepository::savePayments * - MonthlyPaymentRepository::deletePayments * * @see MonthlyPaymentRepository * * @param Connection $conn * @param int $monthBalance * @param float $value */ public static function insertMonthlyPayment(Connection $conn, $monthBalance, $value) { $date = date('Y-m-d'); $description = $value > 0 ? self::MONTHLY_PAYMENT_DESCRIPTION_POSITIVE : self::MONTHLY_PAYMENT_DESCRIPTION_NEGATIVE; $conn->insert('cash_flow', ['monthly_balance_id' => $monthBalance, 'cash_flow_type' => CashFlowType::CASH_FLOW_TYPE_MONTHLY_PAYMENT, 'cash_flow_date' => $date, 'cash_flow_amount' => $value, 'cash_flow_description' => $description]); MonthlyBalanceRepository::updateMonthlyBalanceRevenue($conn, $monthBalance, $value); }
/** * Remove as mesalidades recebidas. * * @return JsonModel */ public function deletePaymentsAction() { $request = $this->getRequest(); if ($request->isPost()) { $payments = (array) $request->getPost()['payments']; if (empty($payments)) { return new JsonModel(['message' => 'Nenhum pagamento foi selecionado']); } try { $conn = $this->getDbalConnection(); //busca o mês aberto $openedMonth = MonthlyBalanceRepository::getOpenedMonth($conn); if ($openedMonth === false) { throw new Exception('Mensalidades são tratadas como receitas. ' . 'Para cadastrar receitas é necessário abrir um mês contábil.'); } MonthlyPaymentRepository::deletePayments($conn, $payments, $openedMonth); return new JsonModel(['message' => 'Pagamentos removidos com sucesso', 'callback' => $payments]); } catch (Exception $ex) { return new JsonModel(['message' => 'Erro ao remover as mesalidades. Erro: ' . $ex->getMessage()]); } } return new JsonModel(['message' => 'Esta url só pode ser acessada via post']); }