Example usage for org.joda.time LocalDateTime now

List of usage examples for org.joda.time LocalDateTime now

Introduction

In this page you can find the example usage for org.joda.time LocalDateTime now.

Prototype

public static LocalDateTime now() 

Source Link

Document

Obtains a LocalDateTime set to the current system millisecond time using ISOChronology in the default time zone.

Usage

From source file:com.nkapps.billing.dao.BankStatementDaoImpl.java

@Override
public void saveToReportSmst() throws Exception {
    Session sessionQuery = getSession();

    String q = " SELECT bs FROM BankStatement bs"
            + " WHERE bs.transferable = 6 AND (transfered = 0 OR bs.paymentDate > :paymentDate )";
    Query query = sessionQuery.createQuery(q);
    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DATE, -300); // update report click for last five days
    Date paymentDate = cal.getTime();
    query.setParameter("paymentDate", paymentDate);
    List<BankStatement> bsList = query.list();

    sessionQuery.close();//from  w  w w  .jav a  2 s. c o  m
    sessionQuery = getSession();

    if (bsList != null) {
        LocalDateTime dateTime = LocalDateTime.now();

        Session sessionTransaction = getSession();
        Transaction transaction = sessionTransaction.beginTransaction();
        for (BankStatement bs : bsList) {

            try {
                String operationDateStr = findOperationDate(bs.getPaymentDetails());
                Date operationDate = new SimpleDateFormat("dd.MM.yyyy").parse(operationDateStr);
                query = sessionQuery.createQuery(
                        "SELECT COALESCE(SUM(p.paymentSum),0) FROM Payment p WHERE p.paymentDate = :paymentDate AND p.sourceCode = 4");
                query.setParameter("paymentDate", operationDate);
                BigDecimal smstPaymentSum = (BigDecimal) query.uniqueResult();

                query = sessionTransaction
                        .createQuery("SELECT rs FROM ReportSmst rs WHERE rs.operationDate = :operationDate");
                query.setParameter("operationDate", operationDate);
                ReportSmst rs = (ReportSmst) query.uniqueResult();

                if (rs == null) {
                    rs = new ReportSmst();
                    rs.setOperationDate(operationDate);
                    rs.setSmstPaymentSum(smstPaymentSum);
                    rs.setDateCreated(dateTime);
                    rs.setDateUpdated(dateTime);

                    sessionTransaction.save(rs);

                    ReportSmstBankStatement rsbs = new ReportSmstBankStatement();
                    ReportSmstBankStatementId rsbsId = new ReportSmstBankStatementId();
                    rsbsId.setBankStatement(bs);
                    rsbsId.setReportSmst(rs);
                    rsbs.setId(rsbsId);

                    sessionTransaction.save(rsbs);

                } else {
                    rs.setSmstPaymentSum(smstPaymentSum);
                    rs.setDateUpdated(dateTime);
                    sessionTransaction.update(rs);

                    query = sessionQuery.createQuery(
                            "SELECT rsbs FROM ReportSmstBankStatement rsbs JOIN rsbs.id.reportSmst rs JOIN rsbs.id.bankStatement bs WHERE rs = :rs AND bs = :bs");
                    query.setParameter("rs", rs);
                    query.setParameter("bs", bs);
                    ReportSmstBankStatement rsbs = (ReportSmstBankStatement) query.uniqueResult();

                    if (rsbs == null) {
                        rsbs = new ReportSmstBankStatement();
                        ReportSmstBankStatementId rsbsId = new ReportSmstBankStatementId();
                        rsbsId.setBankStatement(bs);
                        rsbsId.setReportSmst(rs);
                        rsbs.setId(rsbsId);

                        sessionTransaction.save(rsbs);
                    }
                }
                if (bs.getTransfered() == 0) {
                    bs.setTransfered((short) 3);
                    bs.setDateUpdated(dateTime);
                    sessionTransaction.update(bs);
                }
            } catch (Exception e) {
                logger.error("Error on report smst saving: bank_statement_id = " + bs.getId() + ", exception = "
                        + e.getMessage());
            }

        }
        transaction.commit();
        sessionTransaction.close();

    }
    sessionQuery.close();
}

From source file:com.nkapps.billing.dao.BankStatementDaoImpl.java

@Override
public void editPaymentDate(String bankStatementId, Date paymentDate, Long issuerSerialNumber, String issuerIp)
        throws Exception {
    Session session = getSession();/*from ww  w  .  j  av a 2  s . c o m*/
    Transaction transaction = session.beginTransaction();

    BankStatement bs = (BankStatement) session.get(BankStatement.class, bankStatementId);
    if (bs == null) {
        throw new Exception(messageSource.getMessage("bank_statement.editable.bs_not_found", null,
                LocaleContextHolder.getLocale()));
    }
    LocalDateTime dateTime = LocalDateTime.now();
    bs.setPaymentDate(paymentDate);
    bs.setIssuerSerialNumber(issuerSerialNumber);
    bs.setIssuerIp(issuerIp);
    bs.setDateUpdated(dateTime);

    session.update(bs);

    transaction.commit();
    session.close();
}

From source file:com.nkapps.billing.dao.BankStatementDaoImpl.java

@Override
public void editActionKey(String bankStatementId, String tin, Long issuerSerialNumber, String issuerIp)
        throws Exception {
    Session sessionQuery = getSession();
    Session sessionTransaction = getSession();
    Transaction transaction = sessionTransaction.beginTransaction();

    BankStatement bs = (BankStatement) sessionTransaction.get(BankStatement.class, bankStatementId);
    if (bs == null) {
        throw new Exception(messageSource.getMessage("bank_statement.editable.bs_not_found", null,
                LocaleContextHolder.getLocale()));
    }/*from  ww  w .j a  v  a 2s . c  om*/
    if (bs.getBankStatementPayments().size() > 1) {
        throw new Exception(messageSource.getMessage("bank_statement.editable.bs_contains_many_payments", null,
                LocaleContextHolder.getLocale()));
    }

    if (!validTin(tin)) {
        throw new Exception(messageSource.getMessage("bank_statement.editable.tin_not_valid", null,
                LocaleContextHolder.getLocale()));
    }
    if (bs.getTransferable() == 0) {
        throw new Exception(messageSource.getMessage("bank_statement.editable.bs_not_transferable", null,
                LocaleContextHolder.getLocale()));
    }
    ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
    Validator validator = factory.getValidator();

    LocalDateTime dateTime = LocalDateTime.now();
    String tinDebtor = tin.equals(bs.getTin()) ? null : bs.getTin();

    transferBankStatementToPaymentManually(sessionQuery, sessionTransaction, validator, bs, tin, tinDebtor,
            issuerSerialNumber, issuerIp, dateTime);

    transaction.commit();
    sessionTransaction.close();
    sessionQuery.close();
}

From source file:com.nkapps.billing.dao.OverpaymentDaoImpl.java

@Override
public BankStatement saveReturnState(String bankStatementId, Short returnState, BigDecimal returnSum,
        Long issuerSerialNumber, String issuerIp) throws Exception {
    Session session = getSession();//from  w  ww  .ja  va  2 s.  co  m
    Transaction transaction = session.beginTransaction();

    BankStatement bs = (BankStatement) session.get(BankStatement.class, bankStatementId);
    String q = "SELECT COALESCE(bs.paymentSum,0) - COALESCE(bs.returnSum,0) - (SELECT COALESCE(SUM(kp.paidSum),0) FROM bs.bankStatementPayments bsp JOIN bsp.id.payment p JOIN p.keyPayments kp WHERE p.claim = 0) AS overpaymentSum"
            + " FROM BankStatement bs" + " WHERE bs = :bs";
    Query query = session.createQuery(q);
    query.setParameter("bs", bs);
    BigDecimal overpaymentSum = (BigDecimal) query.uniqueResult();

    LocalDateTime dateTime = LocalDateTime.now();

    if (returnState == 0) {
        if (bs.getReturnSum() != null) { // get all overpayment sum
            overpaymentSum = overpaymentSum.add(bs.getReturnSum());
        }
        bs.setReturnState(returnState);
        bs.setReturnSum(null);
        bs.setIssuerSerialNumber(issuerSerialNumber);
        bs.setIssuerIp(issuerIp);
        bs.setDateUpdated(dateTime);

        session.update(bs);

        returnStateRevert(session, bs, overpaymentSum, issuerSerialNumber, issuerIp, dateTime);

    } else {
        if (returnSum.compareTo(overpaymentSum) > 0) { // checking return sum must not be greater than overpayment sum
            returnSum = overpaymentSum;
        }

        bs.setReturnState(returnState);
        if (bs.getReturnSum() != null) {
            bs.setReturnSum(bs.getReturnSum().add(returnSum));
        } else {
            bs.setReturnSum(returnSum);
        }
        bs.setIssuerSerialNumber(issuerSerialNumber);
        bs.setIssuerIp(issuerIp);
        bs.setDateUpdated(dateTime);

        session.update(bs);

        returnStateCommit(session, bs, returnSum, issuerSerialNumber, issuerIp, dateTime);
    }

    transaction.commit();
    session.close();
    return bs;
}

From source file:com.nkapps.billing.dao.OverpaymentDaoImpl.java

@Override
public String singleReturnBankStatementText(String bankStatementId, Long issuerSerialNumber, String issuerIp)
        throws Exception {
    Session session = getSession();//w  w  w  .  j ava 2 s.  c o  m
    Transaction transaction = session.beginTransaction();
    StringBuilder result = new StringBuilder();

    int year = Calendar.getInstance().get(Calendar.YEAR);
    ReturnNum rn = (ReturnNum) session.get(ReturnNum.class, year);
    if (rn == null) {
        rn = new ReturnNum(year);
        rn.setNum(0l);
    }
    Long num = rn.getNum();

    BankStatement bs = (BankStatement) session.get(BankStatement.class, bankStatementId);
    if (bs.getReturnState() == 1 || bs.getReturnState() == 2) {
        Date returnDate = Calendar.getInstance().getTime();
        LocalDateTime dateTime = LocalDateTime.now();

        bs.setReturnState((short) 2);
        if (bs.getReturnNum() == null) {
            bs.setReturnNum(++num);
        }
        bs.setReturnDate(returnDate);
        bs.setIssuerSerialNumber(issuerSerialNumber);
        bs.setIssuerIp(issuerIp);
        bs.setDateUpdated(dateTime);

        session.update(bs);

        result.append(bankStatementReturnText(bs));
    }

    rn.setNum(num);
    session.saveOrUpdate(rn);

    transaction.commit();
    session.close();
    return result.toString();
}

From source file:com.nkapps.billing.dao.OverpaymentDaoImpl.java

@Override
public String allReturnBankStatementText(Date paymentDate, Long issuerSerialNumber, String issuerIp)
        throws Exception {
    Session session = getSession();//  w  w w  .ja  v  a  2  s .c  o m
    StringBuilder result = new StringBuilder();

    int year = Calendar.getInstance().get(Calendar.YEAR);
    ReturnNum rn = (ReturnNum) session.get(ReturnNum.class, year);
    if (rn == null) {
        rn = new ReturnNum(year);
        rn.setNum(0l);
    }
    Long num = rn.getNum();

    Query query = session.createQuery(
            "SELECT bs FROM BankStatement bs WHERE bs.paymentDate = :paymentDate AND bs.returnState IN (1,2)");
    query.setParameter("paymentDate", paymentDate);
    List<BankStatement> bsList = query.list();
    session.close();

    session = getSession();
    Transaction transaction = session.beginTransaction();

    Date returnDate = Calendar.getInstance().getTime();
    LocalDateTime dateTime = LocalDateTime.now();

    for (BankStatement bs : bsList) {
        bs.setReturnState((short) 2);
        if (bs.getReturnNum() == null) {
            bs.setReturnNum(++num);
        }
        bs.setReturnDate(returnDate);
        bs.setIssuerSerialNumber(issuerSerialNumber);
        bs.setIssuerIp(issuerIp);
        bs.setDateUpdated(dateTime);

        session.update(bs);

        result.append(bankStatementReturnText(bs));
    }

    rn.setNum(num);
    session.saveOrUpdate(rn);

    transaction.commit();
    session.close();
    return result.toString();
}

From source file:com.nkapps.billing.dao.PaymentDaoImpl.java

@Override
public BigDecimal getTransactionId(String tin, Long serialNumber, BigDecimal keyCost) throws Exception {
    Session session = getSession();/*from   w  w w  .  ja v a 2s .c  o  m*/
    Transaction transaction = session.beginTransaction();
    KeyTransaction kt = new KeyTransaction();
    kt.setTin(tin);
    kt.setSerialNumber(serialNumber);
    kt.setKeyCost(keyCost);
    kt.setCommitted((short) 0);
    LocalDateTime dateTime = LocalDateTime.now();
    kt.setDateCreated(dateTime);
    kt.setDateUpdated(dateTime);
    session.save(kt);
    session.flush();
    BigDecimal transactionId = kt.getId();
    transaction.commit();
    ;
    session.close();
    return transactionId;
}

From source file:com.nkapps.billing.dao.PaymentDaoImpl.java

@Override
public void saveKeyPaymentAndTransaction(BigDecimal keyTransactionId, BigDecimal keyCost) throws Exception {
    Session session = getSession();//  w ww.jav  a 2  s. c  o  m
    Transaction transaction = session.beginTransaction();

    LocalDateTime dateTime = LocalDateTime.now();

    KeyTransaction ktr = (KeyTransaction) session.get(KeyTransaction.class, keyTransactionId);
    String q = " SELECT p.id AS id, p.tin AS tin, p.paymentNum AS paymentNum, p.paymentDate AS paymentDate,"
            + "  p.paymentSum AS paymentSum, p.sourceCode AS sourceCode,"
            + " p.state AS state, p.tinDebtor as tinDebtor,p.claim as claim, p.issuerSerialNumber as issuerSerialNumber,"
            + " p.issuerIp as issuerIp,p.dateCreated AS dateCreated, p.dateUpdated as dateUpdated, "
            + " p.paymentSum - COALESCE((SELECT SUM(paidSum) FROM KeyPayment kp WHERE kp.payment = p),0) AS overSum "
            + " FROM Payment p " + " WHERE p.tin = :tin AND p.state IN (1,2) AND p.claim = 0"
            + " ORDER BY p.paymentDate, p.paymentNum ";
    Query query = session.createQuery(q);
    query.setParameter("tin", ktr.getTin());

    query.setResultTransformer(Transformers.aliasToBean(Payment.class));
    List<Payment> paymentList = query.list();

    for (Payment payment : paymentList) {

        if (payment.getOverSum().compareTo(keyCost) <= 0) {
            KeyPayment kp = new KeyPayment();
            kp.setSerialNumber(ktr.getSerialNumber());
            kp.setPayment(payment);
            kp.setPaidSum(payment.getOverSum());
            kp.setDateCreated(dateTime);
            kp.setDateUpdated(dateTime);
            session.save(kp);

            payment.setState((short) 3);
            payment.setDateUpdated(dateTime);
            session.update(payment);

            keyCost = keyCost.subtract(payment.getOverSum());
        } else {
            KeyPayment kp = new KeyPayment();
            kp.setSerialNumber(ktr.getSerialNumber());
            kp.setPayment(payment);
            kp.setPaidSum(keyCost);
            kp.setDateCreated(dateTime);
            kp.setDateUpdated(dateTime);
            session.save(kp);

            payment.setState((short) 2);
            payment.setDateUpdated(dateTime);
            session.update(payment);

            keyCost = BigDecimal.ZERO;
        }
        if (keyCost.compareTo(BigDecimal.ZERO) <= 0) {
            break;
        }
    }
    ktr.setCommitted((short) 1);
    ktr.setDateUpdated(dateTime);
    session.update(ktr);

    transaction.commit();
    session.close();
}

From source file:com.nkapps.billing.dao.PaymentDaoImpl.java

@Override
public void savePaymentManual(String bankStatementId, List<Payment> paymentList, Long issuerSerialNumber,
        String issuerIp) throws Exception {
    Session session = getSession();/* w  w  w.  j av  a 2s.c  om*/
    Transaction transaction = session.beginTransaction();
    BankStatement bs = (BankStatement) session.get(BankStatement.class, bankStatementId);
    if (bs == null) {
        throw new Exception(messageSource.getMessage("bank_statement.editable.bs_not_found", null,
                LocaleContextHolder.getLocale()));
    }

    String q = "SELECT COALESCE(bs.paymentSum,0) - COALESCE(bs.returnSum,0) - (SELECT COALESCE(SUM(kp.paidSum),0) FROM bs.bankStatementPayments bsp JOIN bsp.id.payment p JOIN p.keyPayments kp WHERE p.claim = 0) AS overpaymentSum"
            + " FROM BankStatement bs" + " WHERE bs = :bs";
    Query query = session.createQuery(q);
    query.setParameter("bs", bs);
    BigDecimal overpaymentSum = (BigDecimal) query.uniqueResult();

    if (overpaymentSum.compareTo(BigDecimal.ZERO) > 0) {
        LocalDateTime dateTime = LocalDateTime.now();

        overpaymentDao.returnStateCommit(session, bs, overpaymentSum, issuerSerialNumber, issuerIp, dateTime); // if bankstatement already converted to payment, then them must revert

        for (Payment payment : paymentList) {
            BigDecimal paymentSum = payment.getPaymentSum();
            if (paymentSum.compareTo(overpaymentSum) > 0) {
                paymentSum = overpaymentSum;
                overpaymentSum = BigDecimal.ZERO;
            } else {
                overpaymentSum = overpaymentSum.subtract(paymentSum);
            }
            payment.setPaymentSum(paymentSum);
            payment.setIssuerSerialNumber(issuerSerialNumber);
            payment.setIssuerIp(issuerIp);
            payment.setDateCreated(dateTime);
            payment.setDateUpdated(dateTime);

            session.save(payment);

            BankStatementPayment bsp = new BankStatementPayment();
            BankStatementPaymentId bspId = new BankStatementPaymentId();
            bspId.setBankStatement(bs);
            bspId.setPayment(payment);
            bsp.setId(bspId);

            session.save(bsp);

            if (overpaymentSum.compareTo(BigDecimal.ZERO) <= 0) {
                break;
            }
        }
    }

    transaction.commit();
    session.close();
}

From source file:com.nkapps.billing.dao.PaymentDaoImpl.java

@Override
public void insertPaymentManual(String tin, String paymentNum, Date paymentDate, BigDecimal paymentSum,
        String tinDebtor, Long issuerSerialNumber, String issuerIp) throws Exception {
    Session session = getSession();//from   w  ww  .  j  a v  a2s . c  o  m
    Transaction transaction = session.beginTransaction();

    Payment payment = new Payment();
    payment.setTin(tin);
    payment.setPaymentNum(paymentNum);
    payment.setPaymentDate(paymentDate);
    payment.setPaymentSum(paymentSum);
    payment.setSourceCode((short) 5); // manual (vruchnuyu tolko)
    payment.setState((short) 1);
    payment.setTinDebtor(tinDebtor);
    payment.setClaim((short) 0);
    payment.setIssuerSerialNumber(issuerSerialNumber);
    payment.setIssuerIp(issuerIp);
    LocalDateTime dateTime = LocalDateTime.now();
    payment.setDateCreated(dateTime);
    payment.setDateUpdated(dateTime);

    session.save(payment);

    transaction.commit();
    session.close();
}