Package com.simplicite.util
Class Timesheet.TimesheetLine
- java.lang.Object
-
- com.simplicite.util.Timesheet.TimesheetLine
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<Timesheet.TimesheetLine>
- Enclosing class:
- Timesheet
public class Timesheet.TimesheetLine extends java.lang.Object implements java.io.Serializable, java.lang.Comparable<Timesheet.TimesheetLine>
Timesheet line between 2 resources- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description TimesheetLine(java.lang.String assignId, java.lang.String resId1, java.lang.String resId2)
Constructor of empty line between 2 resourcesTimesheetLine(java.lang.String assignId, java.lang.String resId1, java.lang.String resId2, java.lang.String label1, java.lang.String label2)
Constructor of empty line between 2 resources
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addValue(java.lang.String key, int indexField, java.lang.String val)
Add value in period keyvoid
addValues(java.lang.String key, java.lang.String[] val)
Add values to the period keyint
compareTo(Timesheet.TimesheetLine line)
void
copyInputs(Timesheet.TimesheetLine line, java.lang.String begin, java.lang.String end)
Add the line inputs values between a given periodjava.lang.String
getAssignRowId()
Assign row IDjava.lang.String
getBeginKey()
Optional begin key of start datejava.lang.String
getEndKey()
Optional end key of end datejava.lang.String
getGroupBy()
Optional group by valuejava.util.Map<java.lang.String,java.lang.String[]>
getInputs()
Get inputs key yyyy-MM-dd or yyyy-WW or yyyy-MM = Values for each input fieldjava.lang.String[]
getMinMaxInputKeys()
Returns the period including not null inputsjava.lang.String
getResource1Label()
Resource1 labeljava.lang.String
getResource1RowId()
Resource1 row IDjava.lang.String
getResource2Label()
Resource2 labeljava.lang.String
getResource2RowId()
Resource2 row IDjava.lang.String
getStatus(java.lang.String period)
Optional period statusdouble[]
getSubTotals()
Sub-total for a period per input fielddouble[]
getTotals()
Total per input fielddouble
getWorkload()
Optional assignment workloadvoid
refactor(double factor, java.lang.String begin, java.lang.String end)
Change the inputs charges in a given periodvoid
save(java.util.List<Timesheet.Period> periods, java.util.List<java.lang.String> msg)
Save the linevoid
setAssignPeriodKeys(java.lang.String begin, java.lang.String end)
Prepare keys with the assigned periodvoid
setGroupBy(java.lang.String groupBy)
Optional group by valuevoid
setStatus(java.lang.String period, java.lang.String status)
Set period statusvoid
setWorkload(double w)
boolean
shift(int offset)
Move and resize the input charges in timejava.lang.String
toJSON()
Line datajava.lang.String
toString()
-
-
-
Constructor Detail
-
TimesheetLine
public TimesheetLine(java.lang.String assignId, java.lang.String resId1, java.lang.String resId2)
Constructor of empty line between 2 resources- Parameters:
assignId
- assign row IDresId1
- resource 1 row IdresId2
- resource 2 row Id
-
TimesheetLine
public TimesheetLine(java.lang.String assignId, java.lang.String resId1, java.lang.String resId2, java.lang.String label1, java.lang.String label2)
Constructor of empty line between 2 resources- Parameters:
assignId
- assign row IDresId1
- resource 1 row IdresId2
- resource 2 row Idlabel1
- resource 1 labellabel2
- resource 2 label
-
-
Method Detail
-
getAssignRowId
public java.lang.String getAssignRowId()
Assign row ID
-
getResource1RowId
public java.lang.String getResource1RowId()
Resource1 row ID
-
getResource1Label
public java.lang.String getResource1Label()
Resource1 label
-
getResource2RowId
public java.lang.String getResource2RowId()
Resource2 row ID
-
getResource2Label
public java.lang.String getResource2Label()
Resource2 label
-
getStatus
public java.lang.String getStatus(java.lang.String period)
Optional period status
-
setStatus
public void setStatus(java.lang.String period, java.lang.String status)
Set period status
-
getWorkload
public double getWorkload()
Optional assignment workload
-
setWorkload
public void setWorkload(double w)
-
getTotals
public double[] getTotals()
Total per input field
-
getSubTotals
public double[] getSubTotals()
Sub-total for a period per input field
-
getBeginKey
public java.lang.String getBeginKey()
Optional begin key of start date
-
getEndKey
public java.lang.String getEndKey()
Optional end key of end date
-
getGroupBy
public java.lang.String getGroupBy()
Optional group by value
-
setGroupBy
public void setGroupBy(java.lang.String groupBy)
Optional group by value
-
getInputs
public java.util.Map<java.lang.String,java.lang.String[]> getInputs()
Get inputs key yyyy-MM-dd or yyyy-WW or yyyy-MM = Values for each input field
-
setAssignPeriodKeys
public void setAssignPeriodKeys(java.lang.String begin, java.lang.String end)
Prepare keys with the assigned period
-
getMinMaxInputKeys
public java.lang.String[] getMinMaxInputKeys()
Returns the period including not null inputs
-
compareTo
public int compareTo(Timesheet.TimesheetLine line)
- Specified by:
compareTo
in interfacejava.lang.Comparable<Timesheet.TimesheetLine>
-
addValues
public void addValues(java.lang.String key, java.lang.String[] val)
Add values to the period key
-
addValue
public void addValue(java.lang.String key, int indexField, java.lang.String val)
Add value in period key- Parameters:
key
- Period keyindexField
- Input indexval
- Value
-
copyInputs
public void copyInputs(Timesheet.TimesheetLine line, java.lang.String begin, java.lang.String end)
Add the line inputs values between a given period- Parameters:
line
- Timesheet linebegin
- Optional start dateend
- Optional end date
-
refactor
public void refactor(double factor, java.lang.String begin, java.lang.String end)
Change the inputs charges in a given period- Parameters:
factor
- Factor to applybegin
- Optional start dateend
- Optional end date
-
shift
public boolean shift(int offset)
Move and resize the input charges in time- Parameters:
offset
- Shift size in days if field is shiftable
-
save
public void save(java.util.List<Timesheet.Period> periods, java.util.List<java.lang.String> msg)
Save the line- Parameters:
periods
- Periods to savemsg
- Message to append errors
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
toJSON
public java.lang.String toJSON()
Line data- Returns:
- JSON
-
-