List of usage examples for java.math RoundingMode HALF_UP
RoundingMode HALF_UP
To view the source code for java.math RoundingMode HALF_UP.
Click Source Link
From source file:mx.edu.um.mateo.activos.dao.impl.ActivoDaoHibernate.java
@Override @SuppressWarnings("unchecked") @Transactional(readOnly = true)/*www. j av a 2 s . c om*/ public Map<String, Object> depreciacionAcumuladaPorCentroDeCostoDetalle(Map<String, Object> params) { MathContext mc = new MathContext(16, RoundingMode.HALF_UP); Map<String, BigDecimal> totales = new HashMap<>(); totales.put("ACUMULADA", BigDecimal.ZERO); totales.put("MENSUAL", BigDecimal.ZERO); totales.put("ANUAL", BigDecimal.ZERO); totales.put("NETO", BigDecimal.ZERO); Usuario usuario = (Usuario) params.get("usuario"); String centroCostoId = (String) params.get("centroCostoId"); Date fecha = (Date) params.get("fecha"); CCostoPK ccostoPK = new CCostoPK(usuario.getEjercicio(), centroCostoId); CentroCosto centroCosto = (CentroCosto) currentSession().get(CentroCosto.class, ccostoPK); params.put("centroCosto", centroCosto); Criteria criteria = currentSession().createCriteria(Activo.class); criteria.add(Restrictions.eq("empresa.id", usuario.getEmpresa().getId())); criteria.add(Restrictions.eq("centroCosto.id.ejercicio.id.idEjercicio", usuario.getEjercicio().getId().getIdEjercicio())); criteria.add(Restrictions.eq("centroCosto.id.ejercicio.id.organizacion.id", usuario.getEjercicio().getId().getOrganizacion().getId())); criteria.add(Restrictions.eq("centroCosto.id.idCosto", centroCostoId)); criteria.add(Restrictions.le("fechaCompra", fecha)); criteria.add(Restrictions.isNull("fechaReubicado")); List<Activo> activos = criteria.list(); for (Activo activo : activos) { log.trace("Depreciando activo {}", activo.getId()); activo = this.deprecia(activo, fecha); this.depreciacionAcumuladaPorCentroDeCostoDetalle(activo, mc, totales); } // busca reubicados Query query = currentSession().createQuery( "select a from ReubicacionActivo ra inner join ra.activo a where ra.empresa.id = :empresaId and (ra.centroCosto.id.idCosto = :centroCostoId or ra.centroCostoAnterior.id.idCosto = :centroCostoId) and a.fechaCompra < :fecha group by a"); query.setLong("empresaId", usuario.getEmpresa().getId()); query.setString("centroCostoId", centroCostoId); query.setDate("fecha", fecha); List<Activo> reubicados = query.list(); for (Activo activo : reubicados) { log.trace("Depreciando reubicado {}", activo.getId()); query = currentSession().createQuery( "select r from ReubicacionActivo r where r.activo.id = :activoId order by r.fecha"); query.setLong("activoId", activo.getId()); List<ReubicacionActivo> reubicaciones = query.list(); Date fechaAnterior = null; boolean bandera1 = true; for (ReubicacionActivo reubicacion : reubicaciones) { boolean seDeprecio = false; if (reubicacion.getFecha().before(fecha) && reubicacion.getCentroCostoAnterior().getId().getIdCosto().equals(centroCostoId)) { if (fechaAnterior != null) { activo.setFechaCompra(fechaAnterior); } activo.setCentroCosto(reubicacion.getCentroCostoAnterior()); this.deprecia(activo, reubicacion.getFecha()); activos.add(activo); seDeprecio = true; } else if (reubicacion.getCentroCostoAnterior().getId().getIdCosto().equals(centroCostoId)) { if (fechaAnterior != null) { activo.setFechaCompra(fechaAnterior); } activo.setCentroCosto(reubicacion.getCentroCostoAnterior()); this.deprecia(activo, fecha); activos.add(activo); seDeprecio = true; bandera1 = false; } else { activo.setCentroCosto(reubicacion.getCentroCostoAnterior()); } fechaAnterior = reubicacion.getFecha(); if (seDeprecio) { this.depreciacionAcumuladaPorCentroDeCostoDetalle(activo, mc, totales); } } if (bandera1 && activo.getCentroCosto().getId().getIdCosto().equals(centroCostoId)) { activo.setFechaCompra(activo.getFechaReubicado()); this.deprecia(activo, fecha); activos.add(activo); this.depreciacionAcumuladaPorCentroDeCostoDetalle(activo, mc, totales); } } params.put("activos", activos); params.put("totales", totales); return params; }
From source file:com.autentia.intra.bean.billing.FinancialRatioBean.java
public BigDecimal getBdtVar2() { try {//from www.j av a 2s. c o m BigDecimal res = new BigDecimal(financialRatio.getBdt().doubleValue()); res = res.divide(financialRatioCompTwo.getBdt(), 4, RoundingMode.HALF_UP); res = res.subtract(new BigDecimal(1)); return res; } catch (Exception e) { return new BigDecimal(0); } }
From source file:com.autentia.intra.bean.billing.FinancialRatioBean.java
public BigDecimal getBaitdVar1() { try {/*w ww . j a v a 2s. c o m*/ BigDecimal res = new BigDecimal(financialRatio.getBaitd().doubleValue()); res = res.divide(financialRatioCompOne.getBaitd(), 4, RoundingMode.HALF_UP); res = res.subtract(new BigDecimal(1)); return res; } catch (Exception e) { return new BigDecimal(0); } }
From source file:com.autentia.intra.bean.billing.FinancialRatioBean.java
public BigDecimal getBaitdVar2() { try {//from www .j a v a2 s . c o m BigDecimal res = new BigDecimal(financialRatio.getBaitd().doubleValue()); res = res.divide(financialRatioCompTwo.getBaitd(), 4, RoundingMode.HALF_UP); res = res.subtract(new BigDecimal(1)); return res; } catch (Exception e) { return new BigDecimal(0); } }
From source file:org.kuali.kfs.module.ar.service.impl.ContractsGrantsInvoiceCreateDocumentServiceImpl.java
/** * Finds the percentage that the given total is of the sum of the current expenditures of the given invoiceDetailAccountObjectCodes * @param invoiceDetailAccountObjectCodes a List of invoice detail account object codes to sum * @param total the total of all of the invoice detail account object codes for that account * @return the percentage of the total of the given List of invoice detail account object code current expenditures are of the given total *///from w w w. j a v a 2 s. c om protected BigDecimal calculatePercentageByInvoiceDetailAccountObjectCodes( List<InvoiceDetailAccountObjectCode> invoiceDetailAccountObjectCodes, KualiDecimal total) { final KualiDecimal cumulativeExpenditureTotal = sumInvoiceDetailAccountObjectCodes( invoiceDetailAccountObjectCodes).getCumulativeExpenditures(); return cumulativeExpenditureTotal.bigDecimalValue().divide(total.bigDecimalValue(), 10, RoundingMode.HALF_UP); }
From source file:org.kuali.kfs.module.ar.service.impl.ContractsGrantsInvoiceCreateDocumentServiceImpl.java
/** * Given a Map of category keys mapping percentage values and an amount, find what amount each percentage would be * @param percentagesByCategory a map of category code keys mapping percentage values * @param amount the amount to split by percentages * @return a Map of amounts keyed by category codes *//*from w ww .jav a2 s . co m*/ protected Map<String, KualiDecimal> calculateAmountsByCategory(Map<String, BigDecimal> percentagesByCategory, KualiDecimal amount) { final BigDecimal bigDecimalAmount = amount.bigDecimalValue().setScale(2, RoundingMode.HALF_UP); Map<String, KualiDecimal> amountsByCategory = new HashMap<>(); for (String categoryCode : percentagesByCategory.keySet()) { amountsByCategory.put(categoryCode, new KualiDecimal(bigDecimalAmount.multiply(percentagesByCategory.get(categoryCode)))); } return amountsByCategory; }
From source file:org.kuali.ole.select.document.service.impl.OleInvoiceServiceImpl.java
public OleInvoiceDocument populateInvoiceFromPurchaseOrders(OleInvoiceDocument invoiceDocument, HashMap<String, ExpiredOrClosedAccountEntry> expiredOrClosedAccountList) { LOG.debug("Inside populateInvoiceFromPurchaseOrders method "); List<OleInvoiceItem> items = new ArrayList<>(); if (expiredOrClosedAccountList == null) { expiredOrClosedAccountList = new HashMap<>(); }/* w w w.j a v a2 s . c om*/ List<OleInvoiceItem> invoiceItemList = new ArrayList<>(); OleInvoiceItem oleInvoiceItem; for (int count = 0; count < invoiceDocument.getItems().size(); count++) { OleInvoiceItem invoiceditem = (OleInvoiceItem) invoiceDocument.getItems().get(count); if (!(invoiceditem.getItemType().getItemTypeCode().equals("ITEM"))) { invoiceItemList.add(invoiceditem); } } invoiceDocument.setItems(invoiceItemList); if (invoiceDocument.getPurchaseOrderDocuments() != null && invoiceDocument.getPurchaseOrderDocuments().size() > 0) { for (OleInvoiceItem invoiceItem : (List<OleInvoiceItem>) invoiceDocument.getItems()) { if (invoiceItem.getItemType().isAdditionalChargeIndicator() && invoiceItem.getItemUnitPrice() != null) invoiceItem.setPurchaseOrderIdentifier( invoiceDocument.getPurchaseOrderDocuments().get(0).getPurapDocumentIdentifier()); } } for (OlePurchaseOrderDocument po : invoiceDocument.getPurchaseOrderDocuments()) { /* if(this.encumberedItemExistsForInvoicing(po)) {*/ for (OlePurchaseOrderItem poi : (List<OlePurchaseOrderItem>) po.getItems()) { // check to make sure it's eligible for payment (i.e. active and has encumbrance available //if (this.poItemEligibleForAp(invoiceDocument, poi)) { if (poi.isItemForInvoice()) { OleInvoiceItem invoiceItem = new OleInvoiceItem(poi, invoiceDocument, expiredOrClosedAccountList); invoiceItem.setClosePurchaseOrderIndicator(po.isClosePO()); invoiceItem.setReopenPurchaseOrderIndicator(po.getIsReOpenPO()); PurchasingCapitalAssetItem purchasingCAMSItem = po .getPurchasingCapitalAssetItemByItemIdentifier(poi.getItemIdentifier()); if (purchasingCAMSItem != null) { invoiceItem.setCapitalAssetTransactionTypeCode( purchasingCAMSItem.getCapitalAssetTransactionTypeCode()); } invoiceItem.setUseTaxIndicator(po.isUseTaxIndicator()); invoiceItem.setPurchaseOrderIdentifier(po.getPurapDocumentIdentifier()); invoiceItem.setPostingYear(po.getPostingYear()); invoiceItem.setAccountsPayablePurchasingDocumentLinkIdentifier( po.getAccountsPayablePurchasingDocumentLinkIdentifier()); // copy usetaxitems over invoiceItem.getUseTaxItems().clear(); for (PurApItemUseTax useTax : poi.getUseTaxItems()) { invoiceItem.getUseTaxItems().add(useTax); } invoiceDocument.getItems().add(invoiceItem); if (LOG.isDebugEnabled()) { LOG.debug("Size**********************" + invoiceDocument.getItems().size()); } } //} } //} invoiceDocument.setInvoicePayDate( calculatePayDate(invoiceDocument.getInvoiceDate(), invoiceDocument.getVendorPaymentTerms())); invoiceDocument .setTotalDollarAmount(invoiceDocument.getTotalDollarAmount().add(po.getTotalDollarAmount())); if (invoiceDocument.getInvoiceTypeHdnId() != null && !invoiceDocument.getInvoiceTypeHdnId().isEmpty()) { invoiceDocument.setInvoiceTypeId(Integer.valueOf(invoiceDocument.getInvoiceTypeHdnId())); } if (invoiceDocument.getPaymentMethodIdentifier() != null && !invoiceDocument.getPaymentMethodIdentifier().isEmpty()) { invoiceDocument.setPaymentMethodId(Integer.valueOf(invoiceDocument.getPaymentMethodIdentifier())); } if (invoiceDocument.getInvoiceSubTypeHdnId() != null && !invoiceDocument.getInvoiceSubTypeHdnId().isEmpty()) { invoiceDocument.setInvoiceSubTypeId(Integer.valueOf(invoiceDocument.getInvoiceSubTypeHdnId())); } if (invoiceDocument.getInvoiceAmount() != null && !invoiceDocument.getInvoiceAmount().isEmpty()) { invoiceDocument.setVendorInvoiceAmount(new KualiDecimal(invoiceDocument.getInvoiceAmount())); } if (invoiceDocument.getForeignInvoiceAmount() != null && !invoiceDocument.getForeignInvoiceAmount().isEmpty()) { invoiceDocument.setForeignVendorInvoiceAmount( new KualiDecimal(invoiceDocument.getForeignInvoiceAmount()).bigDecimalValue()); if (StringUtils.isNotBlank(invoiceDocument.getInvoiceCurrencyType())) { if (StringUtils.isNotBlank(invoiceDocument.getInvoiceCurrencyExchangeRate())) { try { Double.parseDouble(invoiceDocument.getInvoiceCurrencyExchangeRate()); invoiceDocument.setVendorInvoiceAmount( new KualiDecimal(invoiceDocument.getForeignVendorInvoiceAmount().divide( new BigDecimal(invoiceDocument.getInvoiceCurrencyExchangeRate()), 4, RoundingMode.HALF_UP))); } catch (NumberFormatException nfe) { throw new RuntimeException("Invalid Exchange Rate", nfe); } } else { BigDecimal exchangeRate = getExchangeRate(invoiceDocument.getInvoiceCurrencyType()) .getExchangeRate(); invoiceDocument.setVendorInvoiceAmount(new KualiDecimal(invoiceDocument .getForeignVendorInvoiceAmount().divide(exchangeRate, 4, RoundingMode.HALF_UP))); } } } Bank defaultBank = SpringContext.getBean(BankService.class) .getDefaultBankByDocType(invoiceDocument.getClass()); if (defaultBank != null) { invoiceDocument.setBankCode(defaultBank.getBankCode()); invoiceDocument.setBank(defaultBank); } } invoiceDocument.setInvoicePayDate( this.calculatePayDate(invoiceDocument.getInvoiceDate(), invoiceDocument.getVendorPaymentTerms())); /* invoice total */ BigDecimal addChargeItem = BigDecimal.ZERO; List<OleInvoiceItem> item = invoiceDocument.getItems(); for (OleInvoiceItem invoiceditem : item) { if (invoiceditem.getItemType().isAdditionalChargeIndicator() && invoiceditem.getExtendedPrice() != null) { addChargeItem = addChargeItem.add(invoiceditem.getExtendedPrice().bigDecimalValue()); } } if (invoiceDocument.getTotalDollarAmount() != null) { invoiceDocument.setInvoiceItemTotal( invoiceDocument.getTotalDollarAmount().subtract(new KualiDecimal(addChargeItem)).toString()); invoiceDocument.setDocumentTotalAmount(invoiceDocument.getTotalDollarAmount().toString()); } /* invoice total */ // add missing below the line //getPurapService().addBelowLineItems(invoiceDocument); //invoiceDocument.setAccountsPayablePurchasingDocumentLinkIdentifier(po.getAccountsPayablePurchasingDocumentLinkIdentifier()); //fix up below the line items //getInvoiceService().removeIneligibleAdditionalCharges(invoiceDocument); LOG.debug("Leaving populateInvoiceFromPurchaseOrders method "); return invoiceDocument; }
From source file:mx.edu.um.mateo.activos.dao.impl.ActivoDaoHibernate.java
@Override @SuppressWarnings("unchecked") @Transactional(readOnly = true)// w w w . j a v a2s. c o m public Map<String, Object> depreciacionMensualPorCentroDeCosto(Map<String, Object> params) { Usuario usuario = (Usuario) params.get("usuario"); Query tiposDeActivoQuery = currentSession().createQuery( "select new map(ta.nombre as nombre, ta.cuenta.id.idCtaMayor as cuenta, ta.id as id) from TipoActivo ta where ta.cuenta.id.ejercicio.id.idEjercicio = :ejercicioId and ta.cuenta.id.ejercicio.id.organizacion.id = :organizacionId order by ta.cuenta.id.idCtaMayor"); tiposDeActivoQuery.setString("ejercicioId", usuario.getEjercicio().getId().getIdEjercicio()); tiposDeActivoQuery.setLong("organizacionId", usuario.getEjercicio().getId().getOrganizacion().getId()); List<Map<String, Object>> tiposDeActivo = tiposDeActivoQuery.list(); Map<String, Map<String, Object>> tiposDeActivoMap = new HashMap<>(); for (Map<String, Object> tipoActivo : tiposDeActivo) { tipoActivo.put("total", BigDecimal.ZERO); tiposDeActivoMap.put((String) tipoActivo.get("cuenta"), tipoActivo); } Map<String, Object> totalCC = new HashMap<>(); totalCC.put("nombre", ""); totalCC.put("cuenta", "TOTAL"); totalCC.put("id", 0); totalCC.put("total", BigDecimal.ZERO); tiposDeActivo.add(totalCC); tiposDeActivoMap.put("TOTAL", totalCC); params.put("tiposDeActivo", tiposDeActivo); Date fecha = (Date) params.get("fecha"); MathContext mc = new MathContext(16, RoundingMode.HALF_UP); Map<String, Map<String, Object>> mapa1 = new TreeMap<>(); Query query = currentSession().createQuery( "select new Activo(a.id, a.version, a.moi, a.fechaCompra, a.tipoActivo.porciento, a.tipoActivo.vidaUtil, a.inactivo, a.fechaInactivo, a.fechaReubicado, a.tipoActivo.cuenta.id.idCtaMayor, a.centroCosto.id.idCosto, a.centroCosto.nombre) from Activo a inner join a.tipoActivo where a.empresa.id = :empresaId and a.fechaCompra <= :fecha and a.fechaReubicado is null"); query.setLong("empresaId", usuario.getEmpresa().getId()); query.setDate("fecha", fecha); List<Activo> activos = query.list(); for (Activo activo : activos) { log.trace("Depreciando activo {}", activo.getId()); activo = this.deprecia(activo, fecha); this.depreciacionMensualPorCentroDeCosto(activo, mc, mapa1, tiposDeActivo, tiposDeActivoMap); } // busca reubicados query = currentSession().createQuery( "select new Activo(a.id, a.version, a.moi, a.fechaCompra, a.tipoActivo.porciento, a.tipoActivo.vidaUtil, a.inactivo, a.fechaInactivo, a.fechaReubicado, a.tipoActivo.cuenta.id.idCtaMayor, a.centroCosto.id.idCosto, a.centroCosto.nombre) from Activo a inner join a.tipoActivo where a.empresa.id = :empresaId and a.fechaCompra <= :fecha and a.fechaReubicado != null"); query.setLong("empresaId", usuario.getEmpresa().getId()); query.setDate("fecha", fecha); activos = query.list(); for (Activo activo : activos) { log.trace("Depreciando activo {}", activo.getId()); query = currentSession().createQuery( "select r from ReubicacionActivo r where r.activo.id = :activoId order by r.fecha"); query.setLong("activoId", activo.getId()); List<ReubicacionActivo> reubicaciones = query.list(); Date fechaAnterior = null; boolean bandera1 = true; for (ReubicacionActivo reubicacion : reubicaciones) { if (reubicacion.getFecha().before(fecha)) { activo.setCentroCosto(reubicacion.getCentroCostoAnterior()); if (fechaAnterior != null) { activo.setFechaCompra(fechaAnterior); } this.deprecia(activo, reubicacion.getFecha()); fechaAnterior = reubicacion.getFecha(); } else { if (fechaAnterior != null) { activo.setFechaCompra(fechaAnterior); } activo.setCentroCosto(reubicacion.getCentroCostoAnterior()); this.deprecia(activo, fecha); bandera1 = false; } this.depreciacionMensualPorCentroDeCosto(activo, mc, mapa1, tiposDeActivo, tiposDeActivoMap); } if (bandera1) { activo.setFechaCompra(activo.getFechaReubicado()); this.deprecia(activo, fecha); this.depreciacionMensualPorCentroDeCosto(activo, mc, mapa1, tiposDeActivo, tiposDeActivoMap); } } if (log.isTraceEnabled()) { for (Map<String, Object> centroCosto : mapa1.values()) { log.trace("CentroCosto: {} : {}", centroCosto.get("nombre"), centroCosto.get("totales")); } } params.put("centrosDeCosto", mapa1.values()); return params; }
From source file:org.kuali.kfs.module.ar.service.impl.ContractsGrantsInvoiceCreateDocumentServiceImpl.java
/** * Splits an amount evenly over the given List of invoice detail account object codes * @param invoiceDetailAccountObjectCodes a List of invoice detail account object codes to divvy an amount equally among * @param amount the amount to divvy/*w w w . j a v a 2s . c o m*/ */ protected void splitOutRedistribution(List<InvoiceDetailAccountObjectCode> invoiceDetailAccountObjectCodes, KualiDecimal amount) { final KualiDecimal amountEach = new KualiDecimal(amount.bigDecimalValue() .divide(new BigDecimal(invoiceDetailAccountObjectCodes.size()), 2, RoundingMode.HALF_UP)); for (InvoiceDetailAccountObjectCode invoiceDetailAccountObjectCode : invoiceDetailAccountObjectCodes) { invoiceDetailAccountObjectCode.setCurrentExpenditures(amountEach); } }
From source file:mx.edu.um.mateo.activos.dao.impl.ActivoDaoHibernate.java
@Override @SuppressWarnings("unchecked") @Transactional(readOnly = true)/*from ww w .j ava2 s . c o m*/ public Map<String, Object> depreciacionMensualPorCentroDeCostoDetalle(Map<String, Object> params) { MathContext mc = new MathContext(16, RoundingMode.HALF_UP); Map<String, BigDecimal> totales = new HashMap<>(); totales.put("ACUMULADA", BigDecimal.ZERO); totales.put("MENSUAL", BigDecimal.ZERO); totales.put("ANUAL", BigDecimal.ZERO); totales.put("NETO", BigDecimal.ZERO); Usuario usuario = (Usuario) params.get("usuario"); String centroCostoId = (String) params.get("centroCostoId"); Date fecha = (Date) params.get("fecha"); CCostoPK ccostoPK = new CCostoPK(usuario.getEjercicio(), centroCostoId); CentroCosto centroCosto = (CentroCosto) currentSession().get(CentroCosto.class, ccostoPK); params.put("centroCosto", centroCosto); Criteria criteria = currentSession().createCriteria(Activo.class); criteria.add(Restrictions.eq("empresa.id", usuario.getEmpresa().getId())); criteria.add(Restrictions.eq("centroCosto.id.ejercicio.id.idEjercicio", usuario.getEjercicio().getId().getIdEjercicio())); criteria.add(Restrictions.eq("centroCosto.id.ejercicio.id.organizacion.id", usuario.getEjercicio().getId().getOrganizacion().getId())); criteria.add(Restrictions.eq("centroCosto.id.idCosto", centroCostoId)); criteria.add(Restrictions.le("fechaCompra", fecha)); criteria.add(Restrictions.isNull("fechaReubicado")); List<Activo> activos = criteria.list(); for (Activo activo : activos) { log.trace("Depreciando activo {}", activo.getId()); activo = this.deprecia(activo, fecha); this.depreciacionMensualPorCentroDeCostoDetalle(activo, mc, totales); } // busca reubicados Query query = currentSession().createQuery( "select a from ReubicacionActivo ra inner join ra.activo a where ra.empresa.id = :empresaId and (ra.centroCosto.id.idCosto = :centroCostoId or ra.centroCostoAnterior.id.idCosto = :centroCostoId) and a.fechaCompra < :fecha group by a"); query.setLong("empresaId", usuario.getEmpresa().getId()); query.setString("centroCostoId", centroCostoId); query.setDate("fecha", fecha); List<Activo> reubicados = query.list(); for (Activo activo : reubicados) { log.trace("Depreciando reubicado {}", activo.getId()); query = currentSession().createQuery( "select r from ReubicacionActivo r where r.activo.id = :activoId order by r.fecha"); query.setLong("activoId", activo.getId()); List<ReubicacionActivo> reubicaciones = query.list(); Date fechaAnterior = null; boolean bandera1 = true; for (ReubicacionActivo reubicacion : reubicaciones) { boolean seDeprecio = false; if (reubicacion.getFecha().before(fecha) && reubicacion.getCentroCostoAnterior().getId().getIdCosto().equals(centroCostoId)) { if (fechaAnterior != null) { activo.setFechaCompra(fechaAnterior); } activo.setCentroCosto(reubicacion.getCentroCostoAnterior()); this.deprecia(activo, reubicacion.getFecha()); activos.add(activo); seDeprecio = true; } else if (reubicacion.getCentroCostoAnterior().getId().getIdCosto().equals(centroCostoId)) { if (fechaAnterior != null) { activo.setFechaCompra(fechaAnterior); } activo.setCentroCosto(reubicacion.getCentroCostoAnterior()); this.deprecia(activo, fecha); activos.add(activo); seDeprecio = true; bandera1 = false; } else { activo.setCentroCosto(reubicacion.getCentroCostoAnterior()); } fechaAnterior = reubicacion.getFecha(); if (seDeprecio) { this.depreciacionMensualPorCentroDeCostoDetalle(activo, mc, totales); } } if (bandera1 && activo.getCentroCosto().getId().getIdCosto().equals(centroCostoId)) { activo.setFechaCompra(activo.getFechaReubicado()); this.deprecia(activo, fecha); this.depreciacionMensualPorCentroDeCostoDetalle(activo, mc, totales); activos.add(activo); } } params.put("activos", activos); params.put("totales", totales); return params; }