2018-12-03 21:12:00 +01:00
package com.jFxKasse.datatypes ;
2018-10-04 23:46:42 +02:00
2018-12-07 11:25:45 +01:00
import java.math.BigDecimal ;
2018-10-04 23:46:42 +02:00
import java.util.ArrayList ;
public class Job
{
private int jobnumber ;
2018-10-05 13:01:42 +02:00
private float jobvalue ;
2018-10-04 23:46:42 +02:00
private String jobtime ;
private ArrayList < Integer > positionenQuantity ;
private ArrayList < String > positionenName ;
private ArrayList < Float > positionenValue ;
private ArrayList < String > positionenCat ;
2018-12-06 20:34:44 +01:00
public Job ( int pJobnumber )
2018-10-04 23:46:42 +02:00
{
this . jobnumber = pJobnumber ;
positionenQuantity = new ArrayList < Integer > ( ) ;
positionenName = new ArrayList < String > ( ) ;
positionenValue = new ArrayList < Float > ( ) ;
positionenCat = new ArrayList < String > ( ) ;
2018-12-06 20:34:44 +01:00
}
2018-10-05 13:01:42 +02:00
2018-12-06 20:34:44 +01:00
public void setJobtime ( String jobtime )
{
this . jobtime = jobtime ;
2018-10-05 13:01:42 +02:00
}
public int getJobnumber ( )
{
return this . jobnumber ;
}
public String getJobtime ( )
{
return this . jobtime ;
}
public float getJobValue ( )
{
2018-10-05 22:53:40 +02:00
calcJobValue ( ) ;
2018-10-05 13:01:42 +02:00
return this . jobvalue ;
2018-10-04 23:46:42 +02:00
}
public void addPosition ( String pPositionenName , float pPositionenValue ,
String pPositionenCat )
{
for ( int i = 0 ; i < positionenName . size ( ) ; i + + ) {
if ( positionenName . get ( i ) . equals ( pPositionenName ) ) {
// Item is already in list, increase quantity
positionenQuantity . set ( i , positionenQuantity . get ( i ) + 1 ) ;
return ;
}
}
positionenName . add ( pPositionenName ) ;
positionenValue . add ( pPositionenValue ) ;
positionenCat . add ( pPositionenCat ) ;
positionenQuantity . add ( 1 ) ;
2018-10-05 13:01:42 +02:00
calcJobValue ( ) ;
2018-10-04 23:46:42 +02:00
}
public void printJobOnConsole ( )
{
System . out . println ( " --------------------------------------------- " ) ;
System . out . println ( " JobNummer: " + jobnumber ) ;
System . out . println ( " --------------------------------------------- " ) ;
for ( int i = 0 ; i < positionenName . size ( ) ; i + + ) {
System . out . println (
positionenQuantity . get ( i ) + " " + positionenName . get ( i ) + " "
+ positionenValue . get ( i ) + " " + positionenCat . get ( i ) ) ;
}
System . out . println ( " --------------------------------------------- " ) ;
}
2018-10-05 13:01:42 +02:00
public ArrayList < tableDataCurrentOrder > getCurrentJobPositionen ( )
{
ArrayList < tableDataCurrentOrder > jobitems = new ArrayList < tableDataCurrentOrder > ( ) ;
2018-12-06 23:59:01 +01:00
2018-10-05 13:01:42 +02:00
for ( int i = 0 ; i < positionenName . size ( ) ; i + + ) {
tableDataCurrentOrder tmp = new tableDataCurrentOrder (
positionenName . get ( i ) , positionenQuantity . get ( i ) ) ;
jobitems . add ( tmp ) ;
}
return jobitems ;
}
private void calcJobValue ( )
{
2018-10-05 22:53:40 +02:00
jobvalue = 0 ;
2018-10-05 13:01:42 +02:00
for ( int i = 0 ; i < positionenValue . size ( ) ; i + + ) {
jobvalue = jobvalue
+ ( positionenQuantity . get ( i ) * positionenValue . get ( i ) ) ;
}
2018-12-07 11:25:45 +01:00
//Round to two decimals
jobvalue = BigDecimal . valueOf ( jobvalue ) . setScale ( 2 , BigDecimal . ROUND_HALF_UP ) . floatValue ( ) ;
2018-10-05 13:01:42 +02:00
}
public String createPosQuantityDBString ( )
{
2018-10-05 22:53:40 +02:00
String tmp = String . valueOf ( positionenQuantity . get ( 0 ) ) ;
for ( int i = 1 ; i < positionenName . size ( ) ; i + + ) {
2018-10-05 13:01:42 +02:00
tmp = tmp + " ; " + positionenQuantity . get ( i ) ;
}
return tmp ;
}
2018-10-05 22:53:40 +02:00
2018-10-05 13:01:42 +02:00
public String createPosNameDBString ( )
{
2018-10-05 22:53:40 +02:00
String tmp = positionenName . get ( 0 ) ;
for ( int i = 1 ; i < positionenName . size ( ) ; i + + ) {
2018-10-05 13:01:42 +02:00
tmp = tmp + " ; " + positionenName . get ( i ) ;
}
return tmp ;
}
2018-10-05 22:53:40 +02:00
2018-10-05 13:01:42 +02:00
public String createPosValueDBString ( )
{
2018-10-05 22:53:40 +02:00
String tmp = String . valueOf ( positionenValue . get ( 0 ) ) ;
for ( int i = 1 ; i < positionenName . size ( ) ; i + + ) {
2018-10-05 13:01:42 +02:00
tmp = tmp + " ; " + positionenValue . get ( i ) ;
}
return tmp ;
}
2018-10-05 22:53:40 +02:00
2018-10-05 13:01:42 +02:00
public String createPosCatDBString ( )
{
2018-10-05 22:53:40 +02:00
String tmp = positionenCat . get ( 0 ) ;
for ( int i = 1 ; i < positionenName . size ( ) ; i + + ) {
2018-10-05 13:01:42 +02:00
tmp = tmp + " ; " + positionenCat . get ( i ) ;
}
return tmp ;
}
2018-10-05 22:53:40 +02:00
public void deletePosName ( String pPosName )
{
for ( int i = 0 ; i < positionenName . size ( ) ; i + + ) {
if ( positionenName . get ( i ) . equals ( pPosName ) ) {
if ( positionenQuantity . get ( i ) > 1 ) {
positionenQuantity . set ( i , positionenQuantity . get ( i ) - 1 ) ;
} else {
positionenQuantity . remove ( i ) ;
positionenName . remove ( i ) ;
positionenValue . remove ( i ) ;
positionenCat . remove ( i ) ;
}
}
}
}
public boolean existsPosName ( String pPosName )
{
for ( int i = 0 ; i < positionenName . size ( ) ; i + + ) {
if ( positionenName . get ( i ) . equals ( pPosName ) ) {
return true ;
}
}
return false ;
}
2018-10-04 23:46:42 +02:00
}