use of org.kuali.rice.core.api.util.type.KualiDecimal in project cu-kfs by CU-CommunityApps.
the class CapitalAssetInformationActionBase method redistributeEqualAmountsForAccountingLineForCreateAssets.
/**
* @param selectedCapitalAccountingLines
* @param capitalAssetInformation
* @param remainingAmountToDistribute
*/
protected void redistributeEqualAmountsForAccountingLineForCreateAssets(List<CapitalAccountingLines> selectedCapitalAccountingLines, List<CapitalAssetInformation> capitalAssetInformation, KualiDecimal remainingAmountToDistribute) {
// get the total capital assets quantity
int totalQuantity = getTotalQuantityOfCreateAssets(selectedCapitalAccountingLines, capitalAssetInformation);
if (totalQuantity > 0) {
KualiDecimal equalCreateAssetAmount = remainingAmountToDistribute.divide(new KualiDecimal(totalQuantity), true);
int lastAssetIndex = 0;
CapitalAssetInformation lastCapitalAsset = new CapitalAssetInformation();
if (equalCreateAssetAmount.compareTo(KualiDecimal.ZERO) != 0) {
for (CapitalAssetInformation capitalAsset : capitalAssetInformation) {
if (KFSConstants.CapitalAssets.CAPITAL_ASSET_CREATE_ACTION_INDICATOR.equals(capitalAsset.getCapitalAssetActionIndicator()) && (KFSConstants.CapitalAssets.DISTRIBUTE_COST_EQUALLY_CODE.equalsIgnoreCase(capitalAsset.getDistributionAmountCode()))) {
if (capitalAssetExists(selectedCapitalAccountingLines, capitalAsset, KFSConstants.CapitalAssets.CAPITAL_ASSET_CREATE_ACTION_INDICATOR)) {
redistributeEqualAmounts(selectedCapitalAccountingLines, capitalAsset, equalCreateAssetAmount, totalQuantity);
if (ObjectUtils.isNotNull(capitalAsset.getCapitalAssetQuantity())) {
lastAssetIndex = lastAssetIndex + capitalAsset.getCapitalAssetQuantity();
}
// get a reference to the last capital create asset to fix any variances...
lastCapitalAsset = capitalAsset;
}
}
}
}
// apply any variance left to the last
KualiDecimal varianceForAssets = remainingAmountToDistribute.subtract(equalCreateAssetAmount.multiply(new KualiDecimal(lastAssetIndex)));
if (varianceForAssets.isNonZero()) {
lastCapitalAsset.setCapitalAssetLineAmount(lastCapitalAsset.getCapitalAssetLineAmount().add(varianceForAssets));
redistributeEqualAmountsOnLastCapitalAsset(selectedCapitalAccountingLines, lastCapitalAsset, capitalAssetInformation, KFSConstants.CapitalAssets.CAPITAL_ASSET_CREATE_ACTION_INDICATOR);
}
}
}
use of org.kuali.rice.core.api.util.type.KualiDecimal in project cu-kfs by CU-CommunityApps.
the class CapitalAssetInformationActionBase method redistributeToGroupAccountingLinesFromAssetsByAmounts.
/**
* when the user user hits refresh button, takes the amount in the amount field and
* distributes to the group capital accounting lines for that asset only.
*
* @param selectedCapitalAccountingLines
* @param capitalAsset
*/
protected void redistributeToGroupAccountingLinesFromAssetsByAmounts(List<CapitalAccountingLines> selectedCapitalAccountingLines, CapitalAssetInformation capitalAsset) {
KualiDecimal amountToDistribute = capitalAsset.getCapitalAssetLineAmount();
KualiDecimal amountDistributed = KualiDecimal.ZERO;
KualiDecimal totalCapitalAccountsAmount = getTotalCapitalAccountsAmounts(selectedCapitalAccountingLines);
// to capture the last group accounting line to update its amount with any variance.
CapitalAssetAccountsGroupDetails lastGroupAccountLine = new CapitalAssetAccountsGroupDetails();
List<CapitalAssetAccountsGroupDetails> groupAccountLines = capitalAsset.getCapitalAssetAccountsGroupDetails();
for (CapitalAssetAccountsGroupDetails groupAccountLine : groupAccountLines) {
BigDecimal linePercent = getCapitalAccountingLinePercent(selectedCapitalAccountingLines, groupAccountLine, totalCapitalAccountsAmount);
// found the accounting line
lastGroupAccountLine = groupAccountLine;
KualiDecimal groupAccountLineAmount = capitalAsset.getCapitalAssetLineAmount().multiply(new KualiDecimal(linePercent));
groupAccountLine.setAmount(groupAccountLineAmount);
// keep track of amount distributed so far.
amountDistributed = amountDistributed.add(groupAccountLineAmount);
}
// add any variance in the amounts to the last group accounting line.
lastGroupAccountLine.setAmount(lastGroupAccountLine.getAmount().add(amountToDistribute.subtract(amountDistributed)));
}
use of org.kuali.rice.core.api.util.type.KualiDecimal in project cu-kfs by CU-CommunityApps.
the class PaymentRequestItem method addToExtendedPrice.
public void addToExtendedPrice(KualiDecimal addThisValue) {
if (getExtendedPrice() == null) {
setExtendedPrice(KualiDecimal.ZERO);
}
KualiDecimal addedPrice = getExtendedPrice().add(addThisValue);
setExtendedPrice(addedPrice);
}
use of org.kuali.rice.core.api.util.type.KualiDecimal in project cu-kfs by CU-CommunityApps.
the class CheckReconciliationImportStep method setCheckReconciliationAttributes.
/**
* Set CheckReconciliation Attributes
*
* @param hash
* @return
* @throws ParseException
*/
private CheckReconciliation setCheckReconciliationAttributes(Map<Integer, String> hash) throws ParseException {
String checkNumber = null;
Date checkDate = null;
KualiDecimal amount = null;
String accountNumber = null;
String status = null;
Date issueDate = null;
String payeeName = "";
String payeeID = "";
// Cornell Columns
Integer payeeNameCol = Integer.parseInt("12");
Integer issueDateCol = Integer.parseInt("7");
Integer payeeIDCol = Integer.parseInt("6");
checkNumber = hash.get(checkNumCol);
String rawCheckDate = hash.get(checkDateCol);
if (rawCheckDate == null || rawCheckDate.equals("") || rawCheckDate.equals("000000"))
rawCheckDate = "991231";
checkDate = getGregorianCalendar(rawCheckDate).getTime();
// checkDate = dateformat.parse(rawCheckDate); //Date Paid
amount = isAmountDecimalValue ? new KualiDecimal(addDecimalPoint(hash.get(amountCol))) : new KualiDecimal(hash.get(amountCol));
if (accountNumCol > 0)
accountNumber = isAccountNumHeaderValue ? getHeaderValue(accountNumCol) : hash.get(accountNumCol);
else
accountNumber = getParameterService().getParameterValueAsString(CheckReconciliationImportStep.class, CRConstants.ACCOUNT_NUM);
status = hash.get(statusCol);
String issueDateRawValue = hash.get(issueDateCol);
payeeName = hash.get(payeeNameCol);
payeeID = hash.get(payeeIDCol);
if (issueDateRawValue == null || issueDateRawValue.equals("") || issueDateRawValue.equals("000000"))
issueDateRawValue = "991231";
// issueDate = dateformat.parse(issueDateRawValue);
issueDate = getGregorianCalendar(issueDateRawValue).getTime();
CheckReconciliation cr = new CheckReconciliation();
cr.setAmount(amount);
cr.setCheckDate(new java.sql.Date(issueDate.getTime()));
cr.setCheckNumber(new KualiInteger(checkNumber));
cr.setBankAccountNumber(accountNumber);
cr.setStatus(status);
cr.setStatusChangeDate(new java.sql.Date(checkDate.getTime()));
cr.setGlTransIndicator(false);
cr.setPayeeName(payeeName);
cr.setPayeeId(payeeID);
return cr;
}
use of org.kuali.rice.core.api.util.type.KualiDecimal in project cu-kfs by CU-CommunityApps.
the class CheckReconciliationImportStep method getTotalNetAmount.
private KualiDecimal getTotalNetAmount(Collection<PaymentGroup> paymentGroups) {
KualiDecimal total = new KualiDecimal(0.0);
for (PaymentGroup paymentGroup : paymentGroups) {
KualiDecimal kd = paymentGroup.getNetPaymentAmount();
total = total.add(kd);
}
return total;
}
Aggregations