Package org.compiere.model
Class MDepreciation
- java.lang.Object
-
- org.compiere.model.PO
-
- org.compiere.model.X_A_Depreciation
-
- org.compiere.model.MDepreciation
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Comparator<Object>
,I_A_Depreciation
,I_Persistent
,Evaluatee
,ImmutablePOSupport
public class MDepreciation extends X_A_Depreciation implements ImmutablePOSupport
Depreciation Engine (eg. SL, ARH_VAR ...)- Author:
- Teo Sarca, SC ARHIPAC SERVICE SRL
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.compiere.model.PO
ACCESSLEVEL_ALL, ACCESSLEVEL_CLIENT, ACCESSLEVEL_CLIENTORG, ACCESSLEVEL_ORG, ACCESSLEVEL_SYSTEM, ACCESSLEVEL_SYSTEMCLIENT, ENTITYTYPE_Dictionary, ENTITYTYPE_UserMaintained, I_ZERO, LOCAL_TRX_PREFIX, log, p_ctx, p_info, XML_ATTRIBUTE_AD_Table_ID, XML_ATTRIBUTE_Record_ID
-
Fields inherited from interface org.compiere.model.I_A_Depreciation
accessLevel, COLUMNNAME_A_Depreciation_ID, COLUMNNAME_A_Depreciation_UU, COLUMNNAME_AD_Client_ID, COLUMNNAME_AD_Org_ID, COLUMNNAME_Created, COLUMNNAME_CreatedBy, COLUMNNAME_DepreciationType, COLUMNNAME_Description, COLUMNNAME_IsActive, COLUMNNAME_Name, COLUMNNAME_Processed, COLUMNNAME_Text, COLUMNNAME_Updated, COLUMNNAME_UpdatedBy, Model, Table_ID, Table_Name
-
-
Constructor Summary
Constructors Constructor Description MDepreciation(Properties ctx, int A_Depreciation_ID, String trxName)
Standard ConstructorMDepreciation(Properties ctx, ResultSet rs, String trxName)
Load ConstructorMDepreciation(Properties ctx, MDepreciation copy)
MDepreciation(Properties ctx, MDepreciation copy, String trxName)
MDepreciation(MDepreciation copy)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canInvoke(MDepreciationWorkfile assetwk, MAssetAcct assetAcct, int A_Current_Period, BigDecimal Accum_Dep)
Check if the method can be invoked to give parametersstatic MDepreciation
get(int A_Depreciation_ID)
Get Depreciation method from cachestatic MDepreciation
get(String depreciationType)
Get Depreciation methodstatic MDepreciation
get(Properties ctx, int A_Depreciation_ID)
Get Depreciation method from cachestatic MDepreciation
get(Properties ctx, String depreciationType)
Get Depreciation method (immutable)int
getFixMonthOffset()
protected BigDecimal
getPeriodExp(int A_Current_Period, BigDecimal amtPerYear)
Calculate the value of depreciation over a month (period).static int
getPrecision()
Returns the precision of calculation of depreciationBigDecimal
invoke(MDepreciationWorkfile assetwk, MAssetAcct assetAcct, int A_Current_Period, BigDecimal Accum_Dep, IDepreciationMethod depreciationMethod)
Calculate the value of depreciation over timeMDepreciation
markImmutable()
mark PO as immutableboolean
requireLastPeriodAdjustment()
Needs to be adjusted in last month's amortization-
Methods inherited from class org.compiere.model.X_A_Depreciation
get_AccessLevel, getA_Depreciation_ID, getA_Depreciation_UU, getDepreciationType, getDescription, getName, getText, initPO, isProcessed, setA_Depreciation_ID, setA_Depreciation_UU, setDepreciationType, setDescription, setName, setProcessed, setText, toString
-
Methods inherited from class org.compiere.model.PO
afterDelete, afterSave, beforeDelete, beforeSave, checkImmutable, clearCrossTenantSafe, clone, columnExists, columnExists, compare, copyPO, copyValues, copyValues, createAttachment, delete, delete, delete_Accounting, delete_Tree, deleteEx, deleteEx, dump, dump, equals, get_Attribute, get_Attributes, get_ColumnCount, get_ColumnDescription, get_ColumnDisplayType, get_ColumnIndex, get_ColumnLabel, get_ColumnLookup, get_ColumnName, get_DisplayValue, get_HashMap, get_ID, get_IDOld, get_KeyColumns, get_Logger, get_OptimisticLockingColumns, get_Table_ID, get_TableName, get_Translation, get_Translation, get_Translation, get_Translation, get_Translation, get_TrxName, get_Value, get_Value, get_ValueAsBoolean, get_ValueAsInt, get_ValueAsInt, get_ValueAsString, get_ValueDifference, get_ValueDifference, get_ValueE, get_ValueOfColumn, get_ValueOld, get_ValueOld, get_ValueOldAsInt, get_WhereClause, get_WhereClause, get_xmlDocument, get_xmlString, getAD_Client_ID, getAD_Org_ID, getAllIDs, getAttachment, getAttachment, getAttachmentData, getCreated, getCreatedBy, getCtx, getDoc, getFindParameter, getPdfAttachment, getUpdated, getUpdatedBy, getUUIDColumnName, getUUIDColumnName, hashCode, insert_Accounting, insert_Tree, insert_Tree, is_Changed, is_Immutable, is_new, is_UseOptimisticLocking, is_ValueChanged, is_ValueChanged, isActive, isAttachment, isColumnMandatory, isColumnUpdateable, isMandatoryOK, isPdfAttachment, isReplication, load, load, load, load, load, loadByUU, loadComplete, loadDefaults, loadSpecial, lock, makeImmutable, postDelete, retrieveIdOfParentValue, retrieveIdOfParentValue, save, save, saveEx, saveEx, saveNew_afterSetID, saveNew_getID, saveNewSpecial, saveReplica, saveUpdate, set_Attribute, set_ColumnUpdateable, set_CustomColumn, set_CustomColumnReturningBoolean, set_OptimisticLockingColumns, set_TrxName, set_TrxName, set_UseOptimisticLocking, set_Value, set_Value, set_Value, set_Value, set_ValueE, set_ValueNoCheck, set_ValueNoCheckE, set_ValueOfColumn, set_ValueOfColumn, set_ValueOfColumnReturningBoolean, set_ValueOfColumnReturningBoolean, setAD_Client_ID, setAD_Org_ID, setClientOrg, setClientOrg, setCrossTenantSafe, setDoc, setDocWorkflowMgr, setIsActive, setProcessedOn, setReplication, setStandardDefaults, setUpdateable, setUpdatedBy, unlock, update_Tree, validForeignKeys
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Methods inherited from interface org.compiere.model.I_A_Depreciation
getAD_Client_ID, getAD_Org_ID, getCreated, getCreatedBy, getUpdated, getUpdatedBy, isActive, setAD_Org_ID, setIsActive
-
Methods inherited from interface org.compiere.model.I_Persistent
save
-
-
-
-
Constructor Detail
-
MDepreciation
public MDepreciation(Properties ctx, int A_Depreciation_ID, String trxName)
Standard Constructor
-
MDepreciation
public MDepreciation(Properties ctx, ResultSet rs, String trxName)
Load Constructor- Parameters:
ctx
- contextrs
- result set record
-
MDepreciation
public MDepreciation(MDepreciation copy)
- Parameters:
copy
-
-
MDepreciation
public MDepreciation(Properties ctx, MDepreciation copy)
- Parameters:
ctx
-copy
-
-
MDepreciation
public MDepreciation(Properties ctx, MDepreciation copy, String trxName)
- Parameters:
ctx
-copy
-trxName
-
-
-
Method Detail
-
get
public static MDepreciation get(int A_Depreciation_ID)
Get Depreciation method from cache- Parameters:
A_Depreciation_ID
- depreciation id
-
get
public static MDepreciation get(Properties ctx, int A_Depreciation_ID)
Get Depreciation method from cache- Parameters:
ctx
-A_Depreciation_ID
- depreciation id
-
get
public static MDepreciation get(String depreciationType)
Get Depreciation method- Parameters:
depreciationType
- depreciation type (e.g. SL)
-
get
public static MDepreciation get(Properties ctx, String depreciationType)
Get Depreciation method (immutable)- Parameters:
ctx
-depreciationType
- depreciation type (e.g. SL)
-
getPrecision
public static int getPrecision()
Returns the precision of calculation of depreciation- Returns:
- accuracy of calculation of depreciation
-
requireLastPeriodAdjustment
public boolean requireLastPeriodAdjustment()
Needs to be adjusted in last month's amortization
-
invoke
public BigDecimal invoke(MDepreciationWorkfile assetwk, MAssetAcct assetAcct, int A_Current_Period, BigDecimal Accum_Dep, IDepreciationMethod depreciationMethod)
Calculate the value of depreciation over time- Parameters:
assetwk
- - Fixed Assets worksheetassetAcct
- - FA default accounting elementsA_Current_Period
- - current periodAccum_Dep
- accumulated depreciation until present period- Returns:
- amortized value
-
canInvoke
public boolean canInvoke(MDepreciationWorkfile assetwk, MAssetAcct assetAcct, int A_Current_Period, BigDecimal Accum_Dep)
Check if the method can be invoked to give parameters- Parameters:
assetwk
-assetAcct
-A_Current_Period
- between 0 to UseLifeMonths - 1Accum_Dep
-
-
getPeriodExp
protected BigDecimal getPeriodExp(int A_Current_Period, BigDecimal amtPerYear)
Calculate the value of depreciation over a month (period). In the last month of the year we add errors from the adjustment calculation- Parameters:
A_Current_Period
- current month's indexamtPerYear
- value of depreciation per year- Returns:
- rounded value to the nearest month/decimal getPrecision ()
-
getFixMonthOffset
public int getFixMonthOffset()
-
markImmutable
public MDepreciation markImmutable()
Description copied from interface:ImmutablePOSupport
mark PO as immutable- Specified by:
markImmutable
in interfaceImmutablePOSupport
- Returns:
- PO
-
-