WorkFerret/tables/session: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
(ID_Prev -> Seq)
(+field: CostAdd)
Line 3: Line 3:
** '''2010-01-28''' Adapted from MS Access version
** '''2010-01-28''' Adapted from MS Access version
** '''2010-01-29''' Changed ID_Prev to Seq; moved next to Sort
** '''2010-01-29''' Changed ID_Prev to Seq; moved next to Sort
** '''2010-01-30''' Added CostAdd field from MS Access version (not sure why it got left out)
* '''Fields''':
* '''Fields''':
** '''TimeAdd''': time added to (finish-start), typically an approximation for when start/finish times aren't known
** '''TimeAdd''': time added to (finish-start), typically an approximation for when start/finish times aren't known
** '''TimeSub''': time subtracted from (finish-start), typically for distractions in the middle of a work session
** '''TimeSub''': time subtracted from (finish-start), typically for distractions in the middle of a work session
** '''TimeTotal''' = WhenFinish - WhenStart + TimeAdd - TimeSub
** '''TimeTotal''' = WhenFinish - WhenStart + TimeAdd - TimeSub
** '''CostAdd''' is added before calculating CostLine; can be used for flat-rate billing and for deducting invoice amounts
** '''CostLine''' = (TimeTotal * BillRate) + CostAdd
==SQL==
==SQL==
<mysql>DROP TABLE IF EXISTS `session`;
<mysql>DROP TABLE IF EXISTS `session`;
Line 21: Line 24:
   `ID_Rate`    INT(4)      DEFAULT NULL COMMENT "rate ID, for tracking usage -- ignored by billing",
   `ID_Rate`    INT(4)      DEFAULT NULL COMMENT "rate ID, for tracking usage -- ignored by billing",
   `BillRate`  DECIMAL(9,2) DEFAULT NULL COMMENT "rate, if using time",
   `BillRate`  DECIMAL(9,2) DEFAULT NULL COMMENT "rate, if using time",
  `CostAdd`    DECIMAL(9,2) DEFAULT NULL COMMENT "additional cost (can be used instead of by-rate total)",
   `CostLine`  DECIMAL(9,2)    NOT NULL COMMENT "final cost for this line",
   `CostLine`  DECIMAL(9,2)    NOT NULL COMMENT "final cost for this line",
   `CostBal`    DECIMAL(9,2) DEFAULT NULL COMMENT "cost balance after this line is added in",
   `CostBal`    DECIMAL(9,2) DEFAULT NULL COMMENT "cost balance after this line is added in",

Revision as of 20:23, 30 January 2010

About

  • History:
    • 2010-01-28 Adapted from MS Access version
    • 2010-01-29 Changed ID_Prev to Seq; moved next to Sort
    • 2010-01-30 Added CostAdd field from MS Access version (not sure why it got left out)
  • Fields:
    • TimeAdd: time added to (finish-start), typically an approximation for when start/finish times aren't known
    • TimeSub: time subtracted from (finish-start), typically for distractions in the middle of a work session
    • TimeTotal = WhenFinish - WhenStart + TimeAdd - TimeSub
    • CostAdd is added before calculating CostLine; can be used for flat-rate billing and for deducting invoice amounts
    • CostLine = (TimeTotal * BillRate) + CostAdd

SQL

<mysql>DROP TABLE IF EXISTS `session`; CREATE TABLE `session` (

 `ID`         INT(4)           NOT NULL AUTO_INCREMENT,
 `ID_Proj`    INT(4)           NOT NULL COMMENT "Project to which this session applies",
 `WhenStart`  DATETIME     DEFAULT NULL COMMENT "when Session started (optional)",
 `WhenFinish` DATETIME     DEFAULT NULL COMMENT "when Session finished (optional)",
 `Sort`       DECIMAL(7,4) DEFAULT NULL COMMENT "when there's no specific time, use this to sort sessions",
 `Seq`        INT(4)           NOT NULL COMMENT "order in which this line was added (within a Project)",
 `TimeAdd`    INT(4)       DEFAULT NULL COMMENT "time to add, in minutes",
 `TimeSub`    INT(4)       DEFAULT NULL COMMENT "time to subtract, in minutes",
 `TimeTotal`  INT(4)       DEFAULT NULL COMMENT "calculated total time for this session",
 `ID_Rate`    INT(4)       DEFAULT NULL COMMENT "rate ID, for tracking usage -- ignored by billing",
 `BillRate`   DECIMAL(9,2) DEFAULT NULL COMMENT "rate, if using time",
 `CostAdd`    DECIMAL(9,2) DEFAULT NULL COMMENT "additional cost (can be used instead of by-rate total)",
 `CostLine`   DECIMAL(9,2)     NOT NULL COMMENT "final cost for this line",
 `CostBal`    DECIMAL(9,2) DEFAULT NULL COMMENT "cost balance after this line is added in",
 `Descr`      VARCHAR(127) DEFAULT NULL COMMENT "session summary, for invoices",
 `Notes`      VARCHAR(255) DEFAULT NULL COMMENT "longer notes, for reference",
 `WhenEntered` DATETIME        NOT NULL COMMENT "when this record was first created",
 `WhenEdited`  DATETIME    DEFAULT NULL COMMENT "when an existing record was modified by hand",
 `WhenFigured` DATETIME    DEFAULT NULL COMMENT "when the balance was last calculated",
  PRIMARY KEY(`ID`)

) ENGINE=MyISAM;</mysql>