Bilag1 Rigebilleder Ordremodtagelse Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 71
Overordnet Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 72
Produktionsgulvet Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 73
Reservedelslageret Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 74
Bilag2 økonomiskeanalyse RentabilitetsanalyseforDanfoss Irentabilitetsanalysenberegnerogvurderervifølgendenøgletal: 1. Afkastningsgrad 2. Overskudsgrad 3. Aktivernesomsætningshastighed 4. Egenkapitalensforrentning 5. Fremmedkapitalensforrentning Afkastningsgraden Viharbrugtfølgendeformeltiludregningafafkastningsgraden Afkastningsgradenviserenvirksomhedsevnetilatforrentedeninvesteredekapital. ForDanfosserafkastningsgradenfølgendeiperioden2004 2007 Årstal 2004 2005 2006 2007 Afkastningsgrad 100,00% 6,85% 9,67% 8,42% Viharikketallenefra2003såafkastningsgradenfor2004vilblive100%.Denne afkastningsgradermisvisendeogerderforikkeblevettagetmedivoresvurdering.vihar ikkevalgtatkiggepåår2008dadepådettetidspunktvarvedatopkøbeaktierisauer, hvilketmedvirertilatderernogletvetydigeposter(før/efterderesaktieopkøbisauer)i Danfoss hoved ognøgletaltabelfraårsrapporten. VikanherseatDanfossharværetnogenlundegodetilatforrentederesinvesteringer.Med andreordhardefåetflerepengetilbagefraderesinvesteringerenddehargivetud,hvilket vilgiveetpositivtafsætideresindtjening. Overskudsgraden Viharbrugtfølgendeformeltiludregningafoverskudsgraden Overskudsgradenviserhvorstorendelafengivenvirksomhedsaktivitetderblivertil overskud. Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 75
OverskudsgradenforDanfossiperioden2004 2007 Årstal 2004 2005 2006 2007 Overskudsgrad 6,56% 5,77% 8,24% 7,28% Omdetteertilfredsstillendeellerej,kanviikkeligeumiddelbartsigedaviikkeharkunne findedanfoss forventedemålforårene,altsåhvormegetdeforventeratfåioverskud. Aktivernesomsætningshastighed Viharbrugtfølgendeformeltiludregningafaktivernesomsætningshastighed Aktivernesomsætningshastighedviserhvormangegangeaktivernesomsættespr.år.Jo størredettetaler,jobedreervirksomhedentilatskabeaktiverudfraaktiverne. ForDanfosseraktivernesomsætningshastighediperioden2004 2007 Årstal 2004 2005 2006 2007 Aktivers omsætningshastighed 15,25 1,19 1,17 1,16 Igenskalmankiggevækfra2004daviikkehartallenefra2003,ogdervedervores gennemsnitligebalancesumikkerealistisk. Deresomsætningshastighederrimelighøj.I2005hardeenomsætningshastighedpå1,19. Detfortællerosathvorhergangdeharinvesteret100kr.hardefået19kr.igen.Dogerden konstantfaldende. Egenkapitalensforrentning Viharbrugtfølgendeformeltiludregningafegenkapitalensforrentning Detteermestivirksomhedensejereinteresse,daegenkapitalensforrentningviserhvor megetdefårudafderesinvesteringivirksomheden,altsåhvilkenafkastenejerfårpåhans investeredekapital. ForDanfosseregenkapitalensforrentningiperioden2004 2007 Årstal 2004 2005 2006 2007 Egenkapitalens forrentning 9,13% 9,17% 11,85% 11,32% Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 76
Somenlillenotekanvipåpegeatviselvharregnetegenkapitalensforrentningudselvomden alleredestodiårsrapporten.hvisvisammenlignertallenefor2005,stårderiårsrapporten 9,2%hvorviharregnetosfremtil9,13%,altsåerderenafvigelsepå0,07%.For2006er afvigelsen11,9% 11,85%=0,05%.Afvigelsenerligeledesligesålillefor2007. Vivarrigtigeoverraskedeoveratseatteorienvilærerpåskolenfaktiskgælderipraksis. Fremmedkapitalensforrentning Viharbrugtfølgendeformeltilatudregnefremmedkapitalensforrentning Fremmedkapitalensforrentningfortælleroshvormegetvirksomhedenigennemsnithar betaltirentefordenlåntekapital. FremmedkapitalensforrentningforDanfossiperioden2004til2007 Årstal 2004 2005 2006 2007 Fremmedkapitalens forrentning -2,26% -0,19% -2,10% -3,03% Detteviserosatdefaktiskikkeharlåntkapital.Dettekanværefordideharenkapitalfondi ryggenogdervedbliverfinansieret.denneudregningviserosfaktiskatdeharoverskudtilat lånelidtpenge. IndtjeningsevneforDanfoss Vedindtjeningsevnenkiggervipå 1. Overskudsgrad 2. Bruttoavanceprocent 3. Indekstalforomsætningensudvikling 4. Indekstalforomkostningernesudvikling 5. Kapacitetsgrad 6. Nulpunktsomsætning 7. Sikkerhedsmargin Indtjeningsevnenforklarerosnogetvirksomhedensevnetilattilpasseindtægternetil omkostningerne.altsåfortællerdenosnogetomhvorstærkomsætningenerblevetvianogle indextal.denkanogsåfortælleosnogetomhvormegetdenminimaleindkomstudenatgive underskudiforholdtilomkostningerne. Overskudsgraden Overskudsgradenharjegforklaretomunderrentabilitetsevnen. Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 77
Bruttoavanceprocent Viharbrugtfølgendeformeltiludregningafbruttoavanceprocenten Bruttoavanceprocenten,ellerbruttomarginen,fortælleroshvormegetenvirksomhedhar tilbageafomsætningentilatdækkekapacitetsomkostningerneefter produktionsomkostningerneerbetalt. ForDanfosserbruttoavanceprocenteniperioden2004 2007 Årstal 2004 2005 2006 2007 Bruttoavanceprocent 31,20% 30,50% 30,11% 29,18% Indextalforudviklingafetspecifiktnøgletal Viharbrugtfølgendeformeltiludregningafindextalforomsætningensudvikling Indekstalletkanfortælleosomudviklingenforetgiventnøgletalfrabasisårettiletgiventår, n. ForDanfossharviudregnetindextalforomkostningerogomsætningiperioden2004 2007 Årstal 2004 2005 2006 2007 Indekstal for omsætnings udvikling 100,00% 100,43% 118,86% 135,80% Indekstal for omkostningernes udvikling 100,00% 101,87% 120,70% 139,62% Hererdetvigtigtatbemærkeatbasisåretaltidvilvære100%. Kapacitetsgraden Viharbrugtfølgendeformeltiludregningafkapacitetsgraden Kapacitetsgradenviseroshvormangegangebruttoresultatetdækkerdefasteomkostninger. Danfosshavdeiperioden2004 2007følgendekapacitetsgrader Årstal 2004 2005 2006 2007 Kapacitetsgrad 1,22 1,22 1,32 1,34 Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 78
Nulpunktsomsætning Viharbrugtfølgendeformeltiludregningafnulpunktsomsætningen Nulpunktsomsætningengiverosetindblikihvorlidtbruttoresultatetskalværeforatdække overomkostningerne.altsådenfortællerosdetabsolutminimalevimåtjeneforatdethele ligekanløberundt. ForDanfoss,iperioden2004 2007,havdedefølgendenulpunktomsætninger Årstal 2004 2005 2006 2007 Nulpunksomsætning kr82,22 kr81,75 kr75,88 kr74,77 Havvenligstibaghovedetatdeterimio.DKK!! Sikkerhedsmargin Viharbrugtfølgendeformeltiludregningafsikkerhedsmargin Sikkerhedsmarginenfortællerosstorenprocentdelafomsætningenmankantåleatmiste udenundernulpunktsomsætningen. Danfosshavdeiperioden2004 2007ensikkerhedsmarginpå Årstal 2004 2005 2006 2007 Sikkerhedmargin 99,50% 99,50% 99,61% 99,66% Jegmågåudfraatderetellerandetstederenfejlimineberegninger.Dogkanjegikkefinde den.jegnægterdogattropåatdekantåleatmistenæstenhelederesomsætning!! Somenlillenoteviljeggernetilføjeatdetmåskeikkeersærligbrugbartatkiggetilbagepå sikkerhedsmarginenognulpunktsomsætningenideforegåendeår.detmannokermere interesseretiernokatkiggepåenfremadrettetprognosefordetkommendeår,hvordissetal ermed.herkandegiveenvisindsigtihvorlidtvirksomhedenharlovtilattjene. Kapitaltilpasning Ikapitaltilpasningenservipåfølgende 1. Anlægsaktivernesomsætningshastighed 2. Materielleanlægsaktiversomsætningshastighed 3. Varelagrenesomsætningshastighed 4. Varedebitorernesomsætningshastighed Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 79
Kapitaltilpasningenfortællerosnogetomhvormegetkapitalaktivitetdereriindogudaf virksomheden. Anlægsaktivernesomsætningshastighed Viharbrugtfølgendeformeltiludregninganlægsaktivernerogdematerielleanlægsaktivers omsætningshastigheder og Omsætningshastighedforanlægsaktiverneogdematerielleanlægsaktiverfortællerosnoget virksomhedensevnetilatomsætteiforholdtildeanvendteanlægsaktiver,altsåmaskiner hvisdeterenproduktionsvirksomhed. Danfossharfølgendetaliperioden2004 2007 Årstal 2004 2005 2006 2007 Omsætningshastighed for anlægsaktiverne 2,49 1,19 1,92 2,01 Omsætningshastighed for materielle anlægsaktiver 4,07 3,78 4,21 4,38 Varelagrenesomsætningshastighed Viharbrugtfølgendeformeltiludregningafvarelagrenesomsætningshastighed Varelagrenesomsætningshastighedfortællerosnogetvirksomhedensevnetilatomsætte varernedenharpålager.johøjeredettetaler,jofleregangeharenvirksomhedfåetskiftet lageretud. ForDanfosssådettenøgletalsåledesudiperioden2004 2007 Årstal 2004 2005 2006 2007 Varelagrenes omsætningshastighed 4,83 4,95 5,02 4,83 Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 80
Varedebitorernesomsætningshastighed Viharbrugtfølgendeformeltiludregningafvaredebitorernesomsætningshastighed Varedebitorernesomsætningshastighedfortællerosnogetomhvorlangtidenkundeeromat betaletilbage.dennetidmåhelstikkeværeforlang,dadettebetyderentabikapitalda pengeneellerskunnehaveværetforrentet. OmsætningshastighedenforDanfossvaredebitoreriperioden2004 2007er Årstal 2004 2005 2006 2007 Varedebitorernes omsætningshastighed 6,02 5,36 5,29 5,92 Soliditetoglikviditet Vedsoliditetoglikviditetkiggervipå 1. Soliditetsgrad 2. Likviditetsgrad1 3. Likviditetsgrad2 Soliditetoglikviditetfortællerosnogetomhvorgodevirksomhedenertilathåndteretabog betalederesregningertiltiden. Soliditetsgrad Viharbrugtfølgendeformeltiludregningafsoliditetsgraden Dettenøgletalviserhvorøkonomiskstærkenvirksomheder.Detteermegetbrugbartoverfor kreditorer,somselvfølgeligønskerenatlånederespengeudtilvirksomhedsomharenså stærksoliditetsgradsomoverhovedmuligtsådeersikrepåatfåderespengetilbageigen. Iperioden2004 2007havdeDanfossfølgendesoliditetsgrad Årstal 2004 2005 2006 2007 Soliditetsgrad 58,16% 58,12% 48,75% 49,07% Likviditetsgrader ViharkiggetpåDanfoss likviditetogbrugtdissetoformlertiludregningen Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 81
og Likviditetsgradernefortællerosnogetomhvorstorensandsynligheddererforaten virksomhedkanbetalesingæld.jomereover100dissetoerjosikkerkanenvirksomhed værepåathavetilstrækkeliglikvidertilatbetaleengæld. Danfosshavdeiperioden2004 2007følgendelikviditetsgrader Årstal 2004 2005 2006 2007 Likviditetsgrad 1 120,03 120,57 97,16 76,81 Likviditetsgrad 2 189,04 184,76 145,69 124,30 Bilag3 Øvrige Linielayout Ienlinielayoutersamtligeprocesserogfunktionerplaceretienlinjeforetbestemtprodukt. Produktetkøresslaviskigennemhverenkeltproces.Dennelayoutbrugesisammenhæng medmasseproduktion. Mankanhaveflereafdisselinjerpåproduktionsgulvetdedikerettilatlaveetbestemt produkt.dettelåserprocessernefasttiletbestemtprodukt. Fordeleneeratmedarbejderenkanspecialiserersigienprocesforetprodukt,hvorderer mulighedforatoptimererarbejdsmetoderneogprocesudviklingen.gennemløbstidenfor hverproceserlav,mensmaningenbufferlagreharmellemhverproces.detteergodthvis manskalfremstillefålignendevarianteristorvolumenudenatomstilleenellerflere processerilinjen.daprodukternekørergennemlinjenudenstoperderderforlav Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 82
kapitalbindingiselveproduktionen.dogkankapitalbindingenværehøjhvisdetendermedat slutproduktetrygerpåetfærdigvarelager!! Ulempeneratmannemtkankommetilathavefleremaskinerafsammeslagsiforskellige linjer.herharmanderformangemedarbejdereoplærttilsammemaskinehvilketgiverenlav effektivitet.nogenafdissemaskinerkangodthavemindremodifikationer,dogerdettestadig ikkeenoptimaludnyttelseafproduktionen.manskalderforværesikkerpåatsalgeter stabiltilangtidhvisindkøbetafmaskinerneskalværerentable. Enandenulempeermonotonearbejdsrytmerformedarbejderen,modsatfunktionslayoutet hvormedarbejderenskiftermellemflereforskelligeting.modsatfunktionslayoutet!en medarbejderharhellerikkedetstoreoverblikoverprocesserne.detteoverladerhantil lederne.detteerstikmodsatgruppelayoutet,hvormedarbejderenfårenindflydelseog overblikoverprocesserne. Internanalyse Bostonmodellen Sometledideninternestrategiskeanalysefindessortimentsanalysen.Herbrugerman Bostonmodellentilatbeskrivedenstrategiskepositionpåmarkedetforengiven virksomhed.denstrategiskepositionmålespåtofaktorerbeståendeafmarkedets attraktivitetogvirksomhedenskonkurrencemæssigestyrke. Markedetsattraktivitetbeskrivesmedmarkedsvækstendersigernoget udviklingsmulighederivolumen,cashflowogindtjening.virksomhedens konkurrencemæssigestyrkesesudfravirksomhedensmarkedsandel. Danfoss konkurrencemæssigestyrkeerstordadeermarkedslederpåmarkedetfor radiaotorventiler.tiltrodsforatverdensmarkedsandelenerunderpresermarkedetstadigt stigende. Dissetofaktorerkankombineresi etdiagramkaldetbostonmatricen. IBostonmatricenbefinderDanfoss sigsomstjernedadefungerersom markedlederesamtdetat markedeterivækst. GruppenStjerneermeget attraktivtforenvirksomhedmen derfølgeretstortansvarmedi formafenstoromsætningsamt viljentilatheletidenatudviklesig. HvisDanfossikkeheletidener fokuseretpåatforblive markedsledervildemedtiden Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 83
mistederesmarkedsandelvedatlukkeandreellernyekonkurrenterind.dettevilresulterei atdanfossrygertilbageigruppenspørgsmålstegndererdefineretvedusikkerhedi spørgsmåletomatsatsepåderesprodukt. HvisDanfossikkefølgermedudviklingenogdermedmarkedetsvækstrisikererdeat efterspørgslenpåderesproduktstagnererellerdirektefalder.dettevilresultereiatdanfoss vilgåfragruppenstjernetilmalkeko. EnvirksomhedvilaldrigkunnebliveigruppenStjernemenkunstræbeefterdetogså omstillesigogfinansiererudbygningafnyeområderhvismankommerimalkekogruppen ellerfølgeudviklingenforforretningsområdetindendersatsespåetprodukthvismaneri gruppenspørgsmåltegn. Værdikæden Dennemodelerudarbejdettilatkunneseforengivenvirksomhedhvilkeaktivitetersom bidragervedværdikundeogisidsteendehvormegetkundenervilligtilatbetalefordet færdigeprodukt.dettegøresudfrainputfraråvaretildetfærdigeprodukt. Modellenerdeltopitohovedgrupper: Primæreaktiviteter. Støtteaktiviteter. Deprimæreaktiviteterbeskrivesudfradearbejdsprocessersomproduktetgennemgår igennemproduktionen. Hvorimodstøtteaktivitetererdeaktivitetersomgårpåtværsafdeprimæreaktiviteterogde tingudefrasomkanskabeenmerværdifordetfærdigeprodukt,somdervedskaber merværdiforkunden. Foratkunnekommemedetrigtigtbilledeafhvaddetersomskaberdenværdi,erdetmeget vigtigtatderikkekommeraktivitetermedidennemodelsomikkeskaberenellerandenform forværdi. ForatkunnefåetbedreindblikihvordanværdikædenforDanfosser,harviherlavetet billedeafhvordandenserud. Ladosstartemedatbeskrivede primæreaktiviteter.grundentilat markedsføringogsalgstårsomdet førsteerfordiatdanfossmarkedsfører etproduktførdetfaktiskersati produktion,pådennemådehardeogså enordrepåetproduktsomdetførstei deresproduktionsproces.derefter kommerheleproduktionsforløbet,her iblandindkøbogfragt.tilsidstkommer dendelderhedderservice.dennedeleraltefterarbejdeefteratkundenharmodtagetsin ordre. Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 84
Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 85 VivilnutageetnærmerekigpådestøtteaktivitetersomDanfosshar. Virksomhedensstrukturgiverværdiiformafderesmatrixorganisationsomdebrugeridele deresproduktionsafdelinger. Menneskeligeressourcergiverværdiiformafdenkompetencematrixsomerudviklettilat giverbedreoverblikovermedarbejderneskunnen. TeknologigiverværdiiformafatDanfosserenafdeførendeproducenterafdenslag materialepåverdensmarkedetidag,ogerderformedheltfremmeielitenafprodukter. Indkøbgiverværdiiformafatdebrugerforskelligeleverandørerforikkeatkommetilatståi detproblemmedikkeatkunnefåderesmaterialer. Eksternanalyse Portersbranchestrukturmodel EtafelementerneideneksterneanalyseerPortersFiveForcessomerenmodelderbeskriver konkurrencenforenvirksomhediengivenbranche.foratkunnebeskrivedennekonkurrenceskal femkræftertagesibetragtningsomhverisærharindflydelsepåkonkurrencen. Købernesforhandlingsmagt Købersforhandlingsmagtskalforståespådenmådeatjoflereudbyderedereromdensammevare destostørreforhandlingsmagtharkøberen.derudoverharkøbersstørrelseogsåmegetatsigeda køberigenharforhandlingsmagtenhvisvirksomhedenharkøberensomhovedindtægt. Etandetpunktderkanspilleindifhtkøbersforhandlingsmagterkøberensudgifterforatskifte leverandør.hvisdetikkekosterkøberenmegetitidogpengeatsætteenkonkurrentindi forretningsgangeneviletskiftevære smertefrit ogderforenmulighed. DaDanfossermarkedslederindenforproduktionafventilerharkøberikkedenstørste forhandlingmagtmedmindredetselvfølgeligerenkøberafekstrastorkaliber. Truslenmedkøbernesforhandlingsmagtkanminimeresvedatreducereafhænginghedenafensamlet forbrugergruppe. Leverandørenesforhandlingsmagt Leverandørensforhandlingsmagterbaseretpåleverandørensposition.Hvadbetyderbranchenfor leverandørenogomvendthvadbetyderleverandørenforbranchen.altefterhvorstorellerom hvorvidtenleverandørharmonopolafgørihvorhøjgradleverandørenerpressettilattilpassesig kunden. DanfossharflereforskelligeleverandørerfrablandtandetEngland,TysklandogFrankringhvilketer enbevidstpolitikforikkeatværeafhængigafenbestemtleverandørifhthverkenpriseller leveringstid.pådenmådeminimererdanfossleverandørenesforhandlingsmagt. Truslenfrasubstituerendeprodukter Substituerendeprodukterkommerindibilledetnårenvirksomhedudbyderetproduktderkan erstatteenandenvirksomhedsprodukt.detteskaberstørrekonkurrenceogdermedlavereprofit. DerfindesalleredesubstituerendeproduktertilDanfoss radiatorventiliformafandrevarmekilder, menpånuværendetidspunkterdetdanfos dervinderkampen.dogerdetvigtigatdanfossikke hvilerpålaurbærrenedavileverienverdeniudviklingogdersagtenskunnekommeennyformfor varmeiennærfremtid.
Truslenfrapotentielleindtrængere Nårenbranchesindtjeningsmulighederstigerbliverbranchenogsådetmereeftertragtet.Truslenfra potentielleindtrængereliggerihvornemtdeteratkommeindogetableresigsomnyibranchen. Mangeaspekterspillerindblandtandetøkonomiskeetableringskrav,adgangtil distributionskanalerne,prisniveauogerfaringfraeksisterendeaktører. SomnypåmarkedetikonkurrencenmedenmultinationalvirksomhedsomDanfossvilde flestefåkamptilstregenoghvisdeskulleslåigennemersandsynlighedenforatbliveopkøbt afnetopdanfossstor.enmådevirksomhedersomdanfosskanmodvirketruslenom indtrængningeratopbyggesåkaldteadgangs barriererforståetpådenmådeatgørede forskelligeaspekterietableringeniennybranchesvære. Konkurrencesituationenibranchen Sometsidsteledianalysenbeskrivesdenkonkretekonkurrencesituationibranchenaltsådeninterne rivalisering.manserpåproduktionsmængderfordeforskelligevirksomhedersamtvæksteni branchen. SomnævnttidligereerDanfossmarkedslederienbranchederstadigeristorvækstmenhvortruslen omrivaliseringikkepresserdanfoss.skullederkommedirekterivaliseringvildanfosskunnevælge sommodtrækattageandrehandlingsparametreindistedetforkunprisf.eks.reklameog markedsføring. Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 86
Bilag4 Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 87
Bilag5 Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 88
Bilag6 Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 89
Bilag7 Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 90
Bilag8 Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 91
Bilag9 Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 92
Bilag10 Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 93
Bilag11 Graf Graf.java import java.awt.point; public class Graf private GrafData grafdata = null; private double width = 0; private double height = 0; private double xvalue = 0; private double yvalue = 0; private int elements = 0; private int scalar = 0; public Graf(GrafData gd,double width, double height) grafdata = gd; elements = gd.getpoints().size(); calculatescalar(); setbounds(width,height); public void setbounds(double width, double height) this.width = width; this.height = height; calculatexy(); public double getxvalue() return xvalue; public double getyvalue() return yvalue; public int getelements() return elements; public Pair<Point,Point> getxaxe() Point start = new Point(0, (int) height-20); Point slut = new Point((int)width, (int)height-20); Pair<Point,Point> xaxe = new Pair<Point,Point>(start,slut); return xaxe; public Pair<Point,Point> getyaxe() Point start = new Point(20,0); Point slut = new Point(20,(int) height); Pair<Point,Point> yaxe = new Pair<Point,Point>(start,slut); return yaxe; public int getwidth() Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 94
return (int) width; public int getheight() return (int) height; public int getscalar() return scalar; private void calculatescalar() int biggest = grafdata.getbiggest(); System.out.println("Biggest: " + biggest); this.scalar = (int) (height/biggest); private void calculatexy() xvalue = (height/elements); yvalue = (width/elements); Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 95
GrafData.java import java.awt.point; import java.util.arraylist; import java.util.list; public class GrafData private List<Pair<String,Integer>> data = null; private List< Pair<String, Pair<Point,Point> >> points = new ArrayList<Pair<String, Pair<Point,Point>>>(); private String title; public GrafData(String title, List<Pair<String,Integer>> data) this.data = data; this.title = title; createpoints(); private void createpoints() List<String> måneder = extractmåneder(); List<Integer> downtid = extractdowntid(); Pair<Point,Point> sidstestartslut = null; //jeg skal bruge de sidste points fra den sidste indgang der bliver addet til points. for(int i = 1; i < data.size(); i++) String måned = data.get(i-1).getfirst(); Point start = new Point(i-1,data.get(i-1).getSecond()*10); Point slut = new Point(i,data.get(i).getSecond()*10); Pair<Point,Point> startslut = new Pair<Point,Point>(start,slut); Pair<String,Pair<Point,Point>> indgang = new Pair<String, Pair<Point,Point>>(måned,startSlut); points.add(indgang); if(i == data.size()-1) sidstestartslut = startslut; /* * December har ingen yderligere slutpunkt. * der gør jeg sådan her, at dens start og slut punkt er lig * novembers slutpunkt. Altså Det er en streng der faktisk bare er en prik. */ Point sidstepoint = sidstestartslut.getsecond(); //Skal have den sidste indgang String sidstemåned = data.get(data.size()-1).getfirst(); //skal have den sidste måned Pair<Point,Point> startslut = new Pair<Point,Point>(sidstePoint,sidstePoint); Pair<String,Pair<Point,Point>> indgang = new Pair<String, Pair<Point,Point>>(sidsteMåned,startSlut); points.add(indgang); public List<String> extractmåneder() List<String> måneder = new ArrayList<String>(); for(int i = 0; i < data.size(); i++) måneder.add(data.get(i).getfirst()); return måneder; Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 96
public List<Integer> extractdowntid() List<Integer> downtid = new ArrayList<Integer>(); for(int i=0; i < data.size(); i++) downtid.add(data.get(i).getsecond()); return downtid; public String gettitle() return title; public List<Pair<String,Integer>> getdata() return data; public List< Pair<String, Pair<Point,Point> >> getpoints() return points; public int getbiggest() return calculatebiggest(); private int calculatebiggest() List<Integer> list = extractdowntid(); int result = 0; for(int i = 0; i < list.size(); i++) if(list.get(i) > result) result = list.get(i); return result; Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 97
Pair.java public class Pair <T,U> private T first; private U second; public Pair(T first, U second) this.first = first; this.second = second; public T getfirst() return first; public U getsecond() return second; public static Pair<String,Integer> makepair(string s, Integer i) return new Pair<String, Integer>(s,i); public String tostring() return "" + first + "," + second; Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 98
StatistikPanel.java import java.awt.color; import java.awt.graphics; import java.awt.point; import javax.swing.jpanel; public class StatistikPanel extends JPanel private static final long serialversionuid = 1L; private GrafData grafdata = null; private Graf graf = null; public StatistikPanel(GrafData gd, double width, double height) super(); grafdata = gd; graf = new Graf(gd,width,height); public void paintcomponent(graphics g) System.out.println("h: " + this.getheight() + " w:" + this.getwidth()); drawcoordinatesystem(g); private void drawcoordinatesystem(graphics g) graf.setbounds(this.getwidth(), this.getheight()); //drawgitterscaled(g); drawgitter(g); drawxaxe(g); drawyaxe(g); drawxtext(g); drawdata(g); private void drawxtext(graphics g) Pair<Point, Point> p = graf.getxaxe(); 8); for(int i=0; i < graf.getelements(); i++) g.drawstring(grafdata.extractmåneder().get(i),i*((int)graf.getyvalue())+8,graf.getheight()- private void drawdatatext(int x, int y, Graphics g, int index) int text = (int) (grafdata.getpoints().get(index).getsecond().getfirst().gety()/10); g.drawstring(""+text+ " t.", x, y); private void drawdata(graphics g) for(int i = 0; i < graf.getelements(); i++) Pair<Point,Point> point = grafdata.getpoints().get(i).getsecond(); Point start = point.getfirst(); Point slut = point.getsecond(); int x1 = (int) start.getx()*((int)graf.getyvalue())+20; int y1 = (int) graf.getheight()-(int)start.gety()-20; int x2 = (int) slut.getx()*((int)graf.getyvalue())+20; int y2 = (int) graf.getheight()-(int)slut.gety()-20; Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 99
g.drawline(x1,y1,x2,y2); drawdatatext(x1,y1,g,i); System.out.println("start: " + start); System.out.println("slut: " + slut); System.out.println("("+x1+","+y1+") " + "("+x2+","+y2+")"); private void drawxaxe(graphics g) g.setcolor(color.black); System.out.println("xValue: " +graf.getxvalue()); Pair<Point, Point> p = graf.getxaxe(); g.drawline((int)p.getfirst().getx(),(int)p.getfirst().gety(),(int)p.getsecond().getx(),(int)p.get Second().getY()); private void drawyaxe(graphics g) g.setcolor(color.black); System.out.println("YValue: " + graf.getyvalue()); Pair<Point, Point> p = graf.getyaxe(); g.drawline((int)p.getfirst().getx(),(int)p.getfirst().gety(),(int)p.getsecond().getx(),(int)p.get Second().getY()); private void drawgitterscaled(graphics g) g.setcolor(color.lightgray); drawygitterscaled(g); drawxgitterscaled(g); private void drawygitterscaled(graphics g) Pair<Point, Point> p = graf.getxaxe(); for(int i = 0; i < graf.getelements(); i++) g.drawline((int)p.getfirst().getx()+20, (int)p.getfirst().gety()-(i*((int)graf.getxvalue())), (int)p.getsecond().getx()+20, (int)p.getsecond().gety()-(i*((int)graf.getxvalue()))); private void drawxgitterscaled(graphics g) Pair<Point, Point> p = graf.getyaxe(); for(int i = 0; i < graf.getelements(); i++) g.drawline((int)p.getfirst().getx()+(i*((int)graf.getyvalue())), (int)p.getfirst().gety()-20, (int)p.getsecond().getx()+(i*((int)graf.getyvalue())), (int)p.getsecond().gety()-20); private void drawgitter(graphics g) g.setcolor(color.lightgray); drawygitter(g); Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 100
drawxgitter(g); private void drawygitter(graphics g) Pair<Point, Point> p = graf.getxaxe(); for(int i = 0; i < graf.getwidth(); i++) int x1 = (int)p.getfirst().getx()+20; int y1 = (int)p.getfirst().gety()-(i*20); int x2 = (int)p.getsecond().getx()+20; int y2 = (int)p.getsecond().gety()-(i*20); g.drawline(x1,y1,x2,y2); g.drawstring(""+i*2, x1, y1); private void drawxgitter(graphics g) Pair<Point, Point> p = graf.getyaxe(); for(int i = 0; i < graf.getheight(); i++) int x1 = (int)p.getfirst().getx()+(i*20); int y1 = (int)p.getfirst().gety()-20; int x2 = (int)p.getsecond().getx()+(i*20); int y2 = (int)p.getsecond().gety()-20; g.drawline(x1,y1,x2,y2); Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 101
TestMain.java import java.util.arraylist; import java.util.list; import javax.swing.jpanel; import javax.swing.jframe; import java.awt.dimension; public class TestMain extends JFrame private static final long serialversionuid = 1L; private StatistikPanel jcontentpane = null; private GrafData grafdata = null; /** * This is the default constructor */ public TestMain() super(); initialize(); /** * This method initializes this * * @return void */ private void initialize() initgrafdata(); this.setcontentpane(getjcontentpane()); this.settitle("jframe"); this.setsize(new Dimension(1054, 540)); this.setdefaultcloseoperation(exit_on_close); /** * This method initializes jcontentpane * * @return javax.swing.jpanel */ private JPanel getjcontentpane() if (jcontentpane == null) jcontentpane = new StatistikPanel(grafData,this.getWidth(),this.getHeight()); jcontentpane.setlayout(null); return jcontentpane; private void initgrafdata() List<Pair<String,Integer>> list = new ArrayList<Pair<String,Integer>>(); list.add(pair.makepair("jan",26)); list.add(pair.makepair("feb",2)); list.add(pair.makepair("mar",6)); list.add(pair.makepair("apr",5)); list.add(pair.makepair("maj",8)); list.add(pair.makepair("jun",34)); list.add(pair.makepair("jul",4)); list.add(pair.makepair("aug",5)); list.add(pair.makepair("sep",1)); list.add(pair.makepair("okt",1)); list.add(pair.makepair("nov",10)); list.add(pair.makepair("dec",9)); list.add(pair.makepair("dec",50)); list.add(pair.makepair("dec",9)); list.add(pair.makepair("dec",9)); list.add(pair.makepair("dec",9)); list.add(pair.makepair("dec",9)); list.add(pair.makepair("dec",9)); grafdata = new GrafData("Boremaskine", list); // @jve:decl-index=0:visual-constraint="10,10" Tværfagligtprojektpå2.Semester Bilag afchristian,kennetogmartin 102