entity.setSubtotal(entity.getSubtotal().negate()); entity.setTotalTaxes(entity.getTotalTaxes().negate()); entity.setItsTotal(entity.getItsTotal().negate()); } else { entity.setItsQuantity(BigDecimal.ZERO);
/** * <p>Process entity request.</p> * @param pAddParam additional param, e.g. return this line's * document in "nextEntity" for farther process * @param pRequestData Request Data * @param pEntity Entity to process * @return Entity processed for farther process or null * @throws Exception - an exception **/ @Override public final PurchaseInvoiceLine process( final Map<String, Object> pAddParam, final PurchaseInvoiceLine pEntityPb, final IRequestData pRequestData) throws Exception { PurchaseInvoiceLine entity = this.prcAccEntityPbCopy .process(pAddParam, pEntityPb, pRequestData); if (entity.getReversedId() != null) { throw new ExceptionWithCode(ExceptionWithCode.FORBIDDEN, "attempt_to_reverse_reversed"); } entity.setReversedId(pEntityPb.getItsId()); entity.setItsQuantity(entity.getItsQuantity().negate()); entity.setSubtotal(entity.getSubtotal().negate()); entity.setTotalTaxes(entity.getTotalTaxes().negate()); entity.setItsTotal(entity.getItsTotal().negate()); entity.setForeignTotal(entity.getForeignTotal().negate()); entity.setForeignSubtotal(entity.getForeignSubtotal().negate()); entity.setForeignTotalTaxes(entity.getForeignTotalTaxes().negate()); return entity; }
pEntity.setItsCost(reversed.getItsCost()); pEntity.setSubtotal(reversed.getSubtotal().negate()); pEntity.setItsTotal(reversed.getItsTotal().negate()); pEntity.setForeignPrice(reversed.getForeignPrice()); pEntity.setForeignSubtotal(reversed.getForeignSubtotal().negate()); } else { if (pEntity.getItsOwner().getPriceIncTax()) { totalTaxes = pEntity.getItsTotal().subtract(pEntity.getItsTotal() .divide(BigDecimal.ONE.add(pEntity.getTaxCategory().getAggrOnlyPercent() .divide(bd100)), as.getPricePrecision(), rm)); pEntity.setSubtotal(pEntity.getItsTotal().subtract(totalTaxes)); if (pEntity.getItsOwner().getPriceIncTax()) { pEntity.setItsCost(pEntity.getSubtotal().divide(pEntity
.lazyGetAccSettings().getCostPrecision(), getSrvAccSettings() .lazyGetAccSettings().getRoundingMode())); pEntity.setSubtotal(pEntity.getItsTotal().setScale(getSrvAccSettings() .lazyGetAccSettings().getPricePrecision(), getSrvAccSettings() .lazyGetAccSettings().getRoundingMode()));
reversingLine.setItsQuantity(reversedLine.getItsQuantity() .negate()); reversingLine.setItsTotal(reversedLine.getItsTotal().negate()); reversingLine.setSubtotal(reversedLine.getSubtotal().negate()); reversingLine.setTotalTaxes(reversedLine.getTotalTaxes().negate());
reversingLine.setItsQuantity(reversedLine.getItsQuantity() .negate()); reversingLine.setItsTotal(reversedLine.getItsTotal().negate()); reversingLine.setSubtotal(reversedLine.getSubtotal().negate()); reversingLine.setTotalTaxes(reversedLine.getTotalTaxes().negate());