Package org.compiere.model
Class MPeriod
java.lang.Object
org.compiere.model.PO
org.compiere.model.X_C_Period
org.compiere.model.MPeriod
- All Implemented Interfaces:
Serializable,Cloneable,Comparator<Object>,I_C_Period,I_Persistent,Evaluatee,ImmutablePOSupport
Calendar Period Model
- Version:
- $Id: MPeriod.java,v 1.4 2006/07/30 00:51:05 jjanke Exp $
- Author:
- Jorg Janke, Teo Sarca, SC ARHIPAC SERVICE SRL
- BF [ 1779438 ] Minor auto period control bug
- BF [ 1893486 ] Auto Period Control return that period is always open, victor.perez@e-evolution.com, e-Evolution http://www.e-evolution.com
- FR [ 2520591 ] Support multiples calendar for Org
- See Also:
-
Field Summary
Fields inherited from class org.compiere.model.X_C_Period
PERIODTYPE_AD_Reference_ID, PERIODTYPE_AdjustmentPeriod, PERIODTYPE_StandardCalendarPeriodFields 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, UUID_NEW_RECORD, XML_ATTRIBUTE_AD_Table_ID, XML_ATTRIBUTE_Record_IDFields inherited from interface org.compiere.model.I_C_Period
accessLevel, COLUMNNAME_AD_Client_ID, COLUMNNAME_AD_Org_ID, COLUMNNAME_C_Period_ID, COLUMNNAME_C_Period_UU, COLUMNNAME_C_Year_ID, COLUMNNAME_Created, COLUMNNAME_CreatedBy, COLUMNNAME_EndDate, COLUMNNAME_IsActive, COLUMNNAME_Name, COLUMNNAME_PeriodNo, COLUMNNAME_PeriodType, COLUMNNAME_Processing, COLUMNNAME_StartDate, COLUMNNAME_Updated, COLUMNNAME_UpdatedBy, Model, Table_ID, Table_Name -
Constructor Summary
ConstructorsConstructorDescriptionMPeriod(Properties ctx, int C_Period_ID, String trxName) Standard ConstructorMPeriod(Properties ctx, String C_Period_UU, String trxName) UUID based ConstructorMPeriod(Properties ctx, ResultSet rs, String trxName) Load ConstructorMPeriod(Properties ctx, MPeriod copy) Copy constructorMPeriod(Properties ctx, MPeriod copy, String trxName) Copy constructorCopy constructorParent constructor -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanafterSave(boolean newRecord, boolean success) Called after Save for Post-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it.protected booleanbeforeSave(boolean newRecord) Called before Save for Pre-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it.static MPeriodfindByCalendar(Properties ctx, Timestamp DateAcct, int C_Calendar_ID) Deprecated.static MPeriodfindByCalendar(Properties ctx, Timestamp DateAcct, int C_Calendar_ID, String trxName) Find standard Period of DateAcctstatic MPeriodget(int C_Period_ID) Get Period from Cache (immutable)static MPeriodget(Properties ctx, int C_Period_ID) Get Period from Cache (immutable)static MPeriodget(Properties ctx, Timestamp DateAcct) Deprecated.static MPeriodget(Properties ctx, Timestamp DateAcct, int AD_Org_ID) Deprecated.static MPeriodget(Properties ctx, Timestamp DateAcct, int AD_Org_ID, String trxName) Find standard Period of DateAcct based on Client CalendarintGet Calendar of Periodstatic intgetC_Calendar_ID(Properties ctx, int AD_Org_ID) Get Calendar for Organizationstatic intgetC_Period_ID(Properties ctx, Timestamp DateAcct) Deprecated.static intgetC_Period_ID(Properties ctx, Timestamp DateAcct, int AD_Org_ID) Find valid standard Period of DateAcct based on Client Calendarstatic MPeriodgetCopy(Properties ctx, int C_Period_ID, String trxName) Get updateable copy of MPeriod from cachestatic MPeriodgetFirstInYear(Properties ctx, Timestamp DateAcct) Deprecated.static MPeriodgetFirstInYear(Properties ctx, Timestamp DateAcct, int AD_Org_ID) Find first Year Period of DateAcct based on Client CalendargetPeriodControl(String DocBaseType) Get Period ControlgetPeriodControls(boolean requery) Get Period ControlbooleanIs the period has un-posted documentsbooleanhasUnpostedDocs(int periodControlID) Is this period has un-posted documentsbooleanisInPeriod(Timestamp date) Is Date In this PeriodbooleanDeprecated.booleanIs Period Open for Doc Base TypebooleanIs Period Open for Doc Base Typestatic booleanisOpen(Properties ctx, int tableID, int recordID, String trxName) Is standard Period Open - based on tableID+recordID (for IDEMPIERE-2392)static booleanisOpen(Properties ctx, int tableID, int recordID, String trxName, boolean forPosting) Is standard Period Open - based on tableID+recordID (for IDEMPIERE-2392)static booleanisOpen(Properties ctx, Timestamp DateAcct, String DocBaseType) Deprecated.static booleanisOpen(Properties ctx, Timestamp DateAcct, String DocBaseType, int AD_Org_ID) Is standard Period Open for Document Base Typestatic booleanisOpen(Properties ctx, Timestamp DateAcct, String DocBaseType, int AD_Org_ID, boolean forPosting) Is standard Period Open for Document Base TypebooleanStandard Periodmark PO as immutablestatic voidtestPeriodOpen(Properties ctx, Timestamp dateAcct, int C_DocType_ID) Deprecated.static voidtestPeriodOpen(Properties ctx, Timestamp dateAcct, int C_DocType_ID, int AD_Org_ID) Convenient method for testing if a period is openstatic voidtestPeriodOpen(Properties ctx, Timestamp dateAcct, String docBaseType) Deprecated.static voidtestPeriodOpen(Properties ctx, Timestamp dateAcct, String docBaseType, int AD_Org_ID) Convenient method for testing if a period is opentoString()String RepresentationMethods inherited from class org.compiere.model.X_C_Period
get_AccessLevel, getC_Period_ID, getC_Period_UU, getC_Year, getC_Year_ID, getEndDate, getKeyNamePair, getName, getPeriodNo, getPeriodType, getStartDate, initPO, isProcessing, setC_Period_ID, setC_Period_UU, setC_Year_ID, setEndDate, setName, setPeriodNo, setPeriodType, setProcessing, setStartDateMethods inherited from class org.compiere.model.PO
afterDelete, beforeDelete, buildInsertSQL, 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_TableAttribute, get_TableAttributeAsBoolean, get_TableAttributeAsInt, get_TableAttributes, get_TableName, get_Translation, get_Translation, get_Translation, get_Translation, get_Translation, get_TrxName, get_UUID, get_Value, get_Value, get_ValueAsBoolean, get_ValueAsInt, get_ValueAsInt, get_ValueAsString, 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, loadByUU, loadComplete, loadDefaults, loadPO, loadSpecial, lock, makeImmutable, postDelete, retrieveIdOfParentValue, retrieveIdOfParentValue, save, save, saveCrossTenantSafe, saveCrossTenantSafeEx, saveCrossTenantSafeEx, 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, toInsertSQL, unlock, update_Tree, validForeignKeys, validForeignKeysExMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongMethods inherited from interface org.compiere.model.I_C_Period
getAD_Client_ID, getAD_Org_ID, getCreated, getCreatedBy, getUpdated, getUpdatedBy, isActive, setAD_Org_ID, setIsActiveMethods inherited from interface org.compiere.model.I_Persistent
save
-
Constructor Details
-
MPeriod
UUID based Constructor- Parameters:
ctx- ContextC_Period_UU- UUID keytrxName- Transaction
-
MPeriod
Standard Constructor- Parameters:
ctx- contextC_Period_ID- idtrxName- transaction
-
MPeriod
Load Constructor- Parameters:
ctx- contextrs- result settrxName- transaction
-
MPeriod
Parent constructor- Parameters:
year- yearPeriodNo- noname- namestartDate- startendDate- end
-
MPeriod
Copy constructor- Parameters:
copy-
-
MPeriod
Copy constructor- Parameters:
ctx-copy-
-
MPeriod
Copy constructor- Parameters:
ctx-copy-trxName-
-
-
Method Details
-
get
Get Period from Cache (immutable)- Parameters:
C_Period_ID- id- Returns:
- MPeriod
-
get
Get Period from Cache (immutable)- Parameters:
ctx- contextC_Period_ID- id- Returns:
- MPeriod
-
get
Deprecated.Find standard Period of DateAcct based on Client Calendar- Parameters:
ctx- contextDateAcct- date- Returns:
- active Period or null
-
get
Find standard Period of DateAcct based on Client Calendar- Parameters:
ctx- contextDateAcct- dateAD_Org_ID- Organization- Returns:
- active Period or null
-
get
Deprecated. -
getCopy
Get updateable copy of MPeriod from cache- Parameters:
ctx-C_Period_ID-trxName-- Returns:
- MPeriod
-
findByCalendar
@Deprecated public static MPeriod findByCalendar(Properties ctx, Timestamp DateAcct, int C_Calendar_ID) Deprecated.- Parameters:
ctx-DateAcct-C_Calendar_ID-- Returns:
- MPeriod
-
findByCalendar
public static MPeriod findByCalendar(Properties ctx, Timestamp DateAcct, int C_Calendar_ID, String trxName) Find standard Period of DateAcct- Parameters:
ctx-DateAcct-C_Calendar_ID-trxName-- Returns:
- MPeriod or null
-
getC_Period_ID
Deprecated.Find valid standard Period of DateAcct based on Client Calendar- Parameters:
ctx- contextDateAcct- date- Returns:
- C_Period_ID or 0
-
getC_Period_ID
Find valid standard Period of DateAcct based on Client Calendar- Parameters:
ctx- contextDateAcct- dateAD_Org_ID- Organization- Returns:
- C_Period_ID or 0
-
isOpen
Deprecated.Is standard Period Open for Document Base Type- Parameters:
ctx- contextDateAcct- dateDocBaseType- base type- Returns:
- true if open
-
isOpen
Is standard Period Open for Document Base Type- Parameters:
ctx- contextDateAcct- dateDocBaseType- base type (X_C_DocType.DOCBASETYPE_*)AD_Org_ID- Organization- Returns:
- true if open
-
isOpen
public static boolean isOpen(Properties ctx, Timestamp DateAcct, String DocBaseType, int AD_Org_ID, boolean forPosting) Is standard Period Open for Document Base Type- Parameters:
ctx- contextDateAcct- dateDocBaseType- base type (X_C_DocType.DOCBASETYPE_*)AD_Org_ID- OrganizationforPosting- - true to check if the period is open for posting, false is for DocAction- Returns:
- true if open
-
isOpen
Is standard Period Open - based on tableID+recordID (for IDEMPIERE-2392)- Parameters:
ctx- contexttableID-recordID-trxName-- Returns:
- true if open
-
isOpen
public static boolean isOpen(Properties ctx, int tableID, int recordID, String trxName, boolean forPosting) Is standard Period Open - based on tableID+recordID (for IDEMPIERE-2392)- Parameters:
ctx- contexttableID-recordID-trxName-forPosting- - true to check if the period is open for posting, false is for DocAction- Returns:
- true if open
-
getFirstInYear
Deprecated.Find first Year Period of DateAcct based on Client Calendar- Parameters:
ctx- contextDateAcct- date- Returns:
- active first Period
-
getFirstInYear
Find first Year Period of DateAcct based on Client Calendar- Parameters:
ctx- contextDateAcct- dateAD_Org_ID- organization- Returns:
- active first Period
-
getPeriodControls
Get Period Control- Parameters:
requery- true to re-query from DB- Returns:
- period controls
-
getPeriodControl
Get Period Control- Parameters:
DocBaseType- Document Base Type (X_C_DocType.DOCBASETYPE_*)- Returns:
- period control or null
-
isInPeriod
Is Date In this Period- Parameters:
date- date- Returns:
- true if date is in this period
-
isOpen
Deprecated.since 3.3.1b; useisOpen(String, Timestamp)insteadIs Period Open for Doc Base Type- Parameters:
DocBaseType- document base type- Returns:
- true if open
-
isOpen
Is Period Open for Doc Base Type- Parameters:
DocBaseType- document base type (X_C_DocType.DOCBASETYPE_*)dateAcct- date; Applies only for "Auto Period Control":- if not null, date should be in auto period range (today - OpenHistory, today+OpenHistory)
- if null, this period should be in auto period range
- Returns:
- true if open
- Since:
- 3.3.1b
-
isOpen
Is Period Open for Doc Base Type- Parameters:
DocBaseType- document base typedateAcct- date; Applies only for "Auto Period Control":- if not null, date should be in auto period range (today - OpenHistory, today+OpenHistory)
- if null, this period should be in auto period range
forPosting- - true to check if the period is open for posting, false is for DocAction- Returns:
- true if open
-
isStandardPeriod
public boolean isStandardPeriod()Standard Period- Returns:
- true if this is of standard calendar periods type (PERIODTYPE_StandardCalendarPeriod)
-
beforeSave
protected boolean beforeSave(boolean newRecord) Description copied from class:POCalled before Save for Pre-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it.- Overrides:
beforeSavein classPO- Parameters:
newRecord- true if it is a new record- Returns:
- true if record can be saved
-
afterSave
protected boolean afterSave(boolean newRecord, boolean success) Description copied from class:POCalled after Save for Post-Save Operation.
Default implementation is nop, to be implemented in sub-classes that needed it. -
toString
String Representation- Overrides:
toStringin classX_C_Period- Returns:
- info
-
testPeriodOpen
@Deprecated public static void testPeriodOpen(Properties ctx, Timestamp dateAcct, String docBaseType) throws PeriodClosedException Deprecated.Convenient method for testing if a period is open- Parameters:
ctx-dateAcct-docBaseType-- Throws:
PeriodClosedException- if period is closed- See Also:
-
testPeriodOpen
public static void testPeriodOpen(Properties ctx, Timestamp dateAcct, String docBaseType, int AD_Org_ID) throws PeriodClosedException Convenient method for testing if a period is open- Parameters:
ctx-dateAcct-docBaseType- X_C_DocType.DOCBASETYPE_*AD_Org_ID- Organization- Throws:
PeriodClosedException- if period is closed- See Also:
-
testPeriodOpen
@Deprecated public static void testPeriodOpen(Properties ctx, Timestamp dateAcct, int C_DocType_ID) throws PeriodClosedException Deprecated.Convenient method for testing if a period is open- Parameters:
ctx-dateAcct-C_DocType_ID-- Throws:
PeriodClosedException
-
testPeriodOpen
public static void testPeriodOpen(Properties ctx, Timestamp dateAcct, int C_DocType_ID, int AD_Org_ID) throws PeriodClosedException Convenient method for testing if a period is open- Parameters:
ctx-dateAcct-C_DocType_ID-AD_Org_ID- Organization- Throws:
PeriodClosedException
-
getC_Calendar_ID
public int getC_Calendar_ID()Get Calendar of Period- Returns:
- C_Calendar_ID
-
getC_Calendar_ID
Get Calendar for Organization- Parameters:
ctx- ContextAD_Org_ID- Organization- Returns:
- C_Calendar_ID
-
markImmutable
Description copied from interface:ImmutablePOSupportmark PO as immutable- Specified by:
markImmutablein interfaceImmutablePOSupport- Returns:
- PO
-
hasUnpostedDocs
public boolean hasUnpostedDocs()Is the period has un-posted documents- Returns:
- boolean - true if there is at least 1 un-posted document in this period
-
hasUnpostedDocs
public boolean hasUnpostedDocs(int periodControlID) Is this period has un-posted documents- Parameters:
periodControlID- C_PeriodControl_ID. If > 0, check only documents with the period control's DocBaseType- Returns:
- boolean - true if there is at least 1 un-posted document in this period
-
isOpen(String, Timestamp)instead