server/instances/17/properties.xml in cpee-1.4.1 vs server/instances/17/properties.xml in cpee-1.4.2
- old
+ new
@@ -1,26 +1,2080 @@
<properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0">
<attributes>
- <uuid>548a4c91-42dd-4383-a1ed-be56213c4ac3</uuid>
- <theme>default</theme>
+ <uuid>bd96ac26-fa72-41b6-973e-510144f7839b</uuid>
+ <info>IHS1</info>
+ <modeltype>CPEE</modeltype>
+ <theme>labels</theme>
+ <customer>OEBB</customer>
+ <status>development</status>
</attributes>
- <state>ready</state>
+ <state>stopped</state>
<handlerwrapper>DefaultHandlerWrapper</handlerwrapper>
- <positions/>
- <dataelements/>
- <endpoints>
- <timeout>http://gruppe.wst.univie.ac.at/~mangler/services/timeout.php</timeout>
- </endpoints>
- <dsl/>
+ <positions>
+ <a21>at</a21>
+ </positions>
+ <dataelements>
+ <schaedigungen>["X","X","X"]</schaedigungen>
+ <taetigkeiten>["Drehen","Montage Deckel","Radsatzwelle drehen"]</taetigkeiten>
+ <lagerlaufleistung>2.1</lagerlaufleistung>
+ <tauschgruppe>{"lagerlaufleistung":1.5,"bremsscheiben":true,"personenzug":true,"gueterzug":false}</tauschgruppe>
+ <lagerbauart>{"innenring":true,"deckel_mit_loch":false}</lagerbauart>
+ <presskraftdiagramm>gut</presskraftdiagramm>
+ <wellenstatus>gut</wellenstatus>
+ <geometriedaten_radsatz>{"X":1,"Y":2,"Z":3}</geometriedaten_radsatz>
+ <geometriedaten_radsatz_neu>true</geometriedaten_radsatz_neu>
+ </dataelements>
+ <endpoints/>
+ <dsl>call :a1, :init, parameters: { :label => "Identifikation 110", :method => :post, :arguments => [⭐(:name => :radsatznummer, :value => nil), ⭐(:name => :wellentyp, :value => nil), ⭐(:name => :lagerbauart, :value => nil), ⭐(:name => :tauschgruppe, :value => nil), ⭐(:name => :eigentuemer, :value => nil), ⭐(:name => :regelwerk, :value => nil), ⭐(:name => :auftragsnummer, :value => nil), ⭐(:name => :mindeststragie, :value => nil), ⭐(:name => :technische_weisungen, :value => nil), ⭐(:name => :schadcodes, :value => nil), ⭐(:name => :lagerlaufleistung, :value => "in jahre"), ⭐(:name => :lagerlaufleistung, :value => "stempel am lager in zukunft aus sam")] }, finalize: <<-END
+ # Liste der Schadcodes
+ data.schaedigungen = result['schaedigungen']
+ # Manganschweissen, Gelber Anstrich, technische_weisungen
+ data.taetigkeiten = result['taetigkeiten']
+ data.lagerlaufleistung = result["lagerlaufleistung"].to_f
+ data.tauschgruppe = result["tauschgruppe"]
+ data.lagerbauart = result["lagerbauart"]
+END
+choose :exclusive do
+ alternative test{data.lagerbauart["deckel_mit_loch"] == false} do
+ call :a2, :fix, parameters: { :label => "Lagerdeckeldemontage 130", :method => :post, :arguments => [⭐(:name => :deckel, :value => "true"), ⭐(:name => :lager, :value => "false"), ⭐(:name => :anbauteile, :value => "true")] }, finalize: <<-END
+ data.taetigkeiten << "Montage Deckel"
+ END
+ end
+ otherwise do
+ call :a16, nil, parameters: { :label => "Lagerdemontage 130", :method => :post, :arguments => [⭐(:name => :deckel, :value => "true"), ⭐(:name => :lager, :value => "true"), ⭐(:name => :anbauteile, :value => "true"), ⭐(:name => :details, :value => nil)] }, finalize: <<-END
+ # ab IS1+IL aufwaerts
+ # data.details ist alles unten
+ data.wellenhersteller
+ data.wellenmaterial
+ data.schmelze
+ data.charge
+ data.wellenherstelldatum
+ data.erstfueger
+ data.erstfuegerdatum
+ data.wellennummer
+ data.lagerherstelldatum
+ data.lagerlaufleistung
+ data.lhm_korbnummer_rechts
+ data.lhm_korbnummer_links
+ # gibt der mitarbeiter ein, wird verglichen
+ END
+ choose :exclusive do
+ alternative test{data.radsatznummer != data.wellennummer} do
+ call :a4, nil, parameters: { :label => "Datenkonsistenz herstellen, eventuelle Barcode ausdrucken", :method => :post, :arguments => nil }
+ end
+ end
+ choose :exclusive do
+ alternative test{data.lagertyp == "kartuschenlager" && data.lagerherstelldatum < data.lagertyp.maximaldatum && data.lagerlaufleistung < data.lagertyp.maximallaufleistung} do
+ call :a6, nil, parameters: { :label => "Externe Lageraufbereitung", :method => :post, :arguments => nil }
+ end
+ alternative test{data.lagertyp == "kartuschenlager" && data.lagerherstelldatum >= data.lagertyp.maximaldatum && data.lagerlaufleistung > data.lagertyp.maximallaufleistung} do
+ call :a5, nil, parameters: { :label => "Lager Verschrotten", :method => :post, :arguments => nil }
+ end
+ otherwise do
+ manipulate :a42, <<-END
+ data.taetigkeiten << 'Lageraufbereitung'
+ END
+ end
+ end
+ end
+end
+parallel :wait => -1 do
+ parallel_branch do ||
+ loop post_test{data.taetigkeiten.include? 'Eigenspannungspruefung'} do
+ call :a3, :eigen, parameters: { :label => "Eigenspannungspruefung 140", :method => :post, :arguments => [⭐(:name => :werkstoff, :value => nil), ⭐(:name => :bauform_scheibe, :value => nil), ⭐(:name => :pruefprogramm, :value => nil)] }, finalize: <<-END
+ data.eigenspannungswerte
+ # Radsatz regenerieren falls die Station das meldet
+ data.taetigkeiten << "Radsatz regenerieren"
+ data.taetigkeiten.delete("Eigenspannungspruefung")
+ END
+ choose :exclusive do
+ alternative test{data.taetigkeiten.include? 'Radsatz regenerieren'} do
+ call :a20, :timeout, parameters: { :label => "Radsatz regenerieren", :method => :post, :arguments => [⭐(:name => :timeout, :value => "2")] }, finalize: <<-END
+ data.taetigkeiten.delete("Radsatz regenerieren")
+ END
+ end
+ end
+ end
+ choose :exclusive do
+ alternative test{data.taetigkeiten.include? 'Abpressen'} do
+ manipulate :a19
+ loop post_test{data.wuchten_status == 'schlecht'} do
+ loop post_test{data.wellenstatus == "beschaedigt"} do
+ call :a22, :abpressen, parameters: { :label => "Radscheibe abpressen 510/511", :method => :post, :arguments => nil }, finalize: <<-END
+ if result['status'] == "lagersitz kaputt"
+ # z.b. weil lagersitz im arsch
+ data.taetigkeiten.clear
+ end
+ data.taetigkeiten << "Radsatzwelle drehen"
+ END
+ call :a23, :timeout, parameters: { :label => "Radsatzwelle drehen 520/521", :method => :post, :arguments => [⭐(:name => :timeout, :value => "2")] }
+ call :a24, :timeout, parameters: { :label => "MT Welle unbescheibt prüfen 535", :method => :post, :arguments => [⭐(:name => :timeout, :value => "2")] }
+ call :a25, :timeout, parameters: { :label => "Senkrechtbohrwerk 530/531", :method => :post, :arguments => [⭐(:name => :timeout, :value => "2")] }, update: <<-END
+ # ich hab radscheibe demontiert, alle
+ # die fuer die wellentype zulässig sind
+ # dürfen wieder rauf
+ # (verbrauchsmaterial liste)
+ # wellentype -> zulässige materialnummer
+ # materialnummern können bremsscheibe, radscheibe oder
+ # radbremsscheibe sein. Mehrere zulässige.
+ END
+ call :a26, :aufpressen, parameters: { :label => "Radscheibe aufpressen 516/510", :method => :post, :arguments => nil }, finalize: <<-END
+ data.presskraftdiagramm = result["presskraftdiagramm"] # "gut" oder "schlecht"
+ data.wellenstatus = result["wellenstatus"] # "gut" oder "beschaedigt"
+ END
+ loop pre_test{data.presskraftdiagramm == "schlecht" && data.wellenstatus != "beschaedigt"} do
+ call :a27, :abpressen, parameters: { :label => "Radscheibe abpressen 510/511", :method => :post, :arguments => nil }
+ call :a28, :aufpressen_gut, parameters: { :label => "Radscheibe aufpressen 516/510", :method => :post, :arguments => nil }, finalize: <<-END
+ data.presskraftdiagramm = result["presskraftdiagramm"] # "gut" oder "schlecht"
+ data.wellenstatus = result["wellenstatus"] # "gut" oder "beschaedigt"
+ END
+ end
+ manipulate :a29, <<-END
+ data.taetigkeiten.delete("Abpressen")
+ END
+ end
+ choose :exclusive do
+ alternative test{data.tauschgruppe["bremsscheiben"]} do
+ call :a8, :drehen, parameters: { :label => "Rad und Bremsscheibe messen 320", :method => :post, :arguments => [⭐(:name => :wellentyp, :value => nil)] }, finalize: <<-END
+ data.geometriedaten_radsatz = result['geometriedaten']
+ data.geometriedaten_radsatz_neu = result['geometriedaten_neu'] # true/false
+ END
+ end
+ otherwise do
+ call :a9, :drehen, parameters: { :label => "Radscheibe messen 321", :method => :post, :arguments => [⭐(:name => :wellentyp, :value => nil)] }, finalize: <<-END
+ data.geometriedaten_radsatz = result['geometriedaten']
+ data.geometriedaten_radsatz_neu = result['geometriedaten_neu'] # true/false
+ END
+ end
+ end
+ choose :exclusive do
+ alternative test{data.geometriedata_radsatz_neu == false} do
+ call :a30, :worklist_b, parameters: { :label => "Lesen der Barcodes der gebrauchten Scheiben", :method => :post, :arguments => nil }, finalize: <<-END
+ # lesen anhand barcode
+ data.eigenspannunswerte = result.eigenspannungswerte
+ data.taetigkeiten << "UT Scheibe"
+ END
+ end
+ end
+ choose :exclusive do
+ alternative test{data.tauschgruppe["personenzug"] || (data.tauschgruppe["gueterzug"] && data.tauschgruppe["bremsscheiben"])} do
+ call :a21, :wuchten, parameters: { :label => "Wuchten 550", :method => :post, :arguments => nil }, finalize: <<-END
+ # sicher gramm pro meter, nachgeschaut
+ data.wucht_gramm_pro_meter = result.wucht_gramm_pro_meter
+ if data.wucht_gramm_pro_meter != data.tausch_gruppe["wucht_gramm_pro_meter"]
+ data.wucht_status == 'schlecht'
+ else
+ data.wucht_status == 'gut'
+ end
+ END
+ end
+ end
+ end
+ end
+ end
+ choose :exclusive do
+ alternative test{data.lagerlaufleistung > data.tauschgruppe["lagerlaufleistung"] || data.schaedigungen.include?("defekter innenring") || data.taetigkeiten.include?("Demontage Innenringe")} do
+ choose :exclusive do
+ alternative test{data.lagerbauart["innenring"]} do
+ call :a32, :timeout, parameters: { :label => "Demontage Innenringe 420", :method => :post, :arguments => [⭐(:name => :timeout, :value => "2")] }
+ end
+ otherwise do
+ manipulate :a43, <<-END
+ data.innenringstatus = "ok"
+ END
+ end
+ end
+ call :a31, :buersten, parameters: { :label => "Radsatzwelle Bürsten 490", :method => :post, :arguments => [⭐(:name => :timeout, :value => "2")] }, finalize: <<-END
+ # eventuell sandstrahlen
+ data.taetigkeiten << result.taetigkeiten
+ END
+ choose :exclusive do
+ alternative test{data.taetigkeiten.include? 'Sandstrahlen'} do
+ call :a33, :timeout, parameters: { :label => "Sandstrahlen 480", :method => :post, :arguments => [⭐(:name => :timeout, :value => "2")] }
+ end
+ end
+ call :a34, :ut, parameters: { :label => "UT Radsatzwelle 430", :method => :post, :arguments => nil }, finalize: <<-END
+ data.radsatzwelle_status = result["radsatzwelle_status"] # gut / schlecht
+ END
+ loop post_test{data.innenringstatus != 'ok'} do
+ loop post_test{data.radsatzwelle_status == 'schlecht'} do
+ call :a38, :timeout, parameters: { :label => "Radsatzwelle drehen HS4 595", :method => :post, :arguments => [⭐(:name => :timeout, :value => "2")] }
+ call :a37, :ut, parameters: { :label => "UT Radsatzwelle 430", :method => :post, :arguments => nil }, finalize: <<-END
+ data.radsatzwelle_status = result["radsatzwelle_status"] # gut / schlecht
+ END
+ end
+ choose :exclusive do
+ alternative test{data.lagerbauart["innenring"]} do
+ call :a36, :innenringmontage, parameters: { :label => "Innenringmontage 190", :method => :post, :arguments => nil }, finalize: <<-END
+ data.innenring_status = result["innnenring_status"] # ok, beschaedigung, untermass
+ END
+ end
+ end
+ end
+ call :a41, :timeout, parameters: { :label => "MT Allg. Prüfung 170", :method => :post, :arguments => [⭐(:name => :timeout, :value => "2")] }
+ call :a18, :ut_scheibe, parameters: { :label => "UT Scheibe 630", :method => :post, :arguments => nil }, finalize: <<-END
+ if result["ut_scheibe_status"] != 'gut'
+ data.taetigkeiten << 'Drehen'
+ end
+ END
+ end
+ end
+ loop post_test{data.taetigkeiten.include? 'Drehen'} do
+ choose :exclusive do
+ alternative test{data.tauschgruppe["bremsscheiben"]} do
+ call :a39, :drehen, parameters: { :label => "Rad und Bremsscheibe drehen 320", :method => :post, :arguments => [⭐(:name => :wellentyp, :value => nil)] }, finalize: <<-END
+ data.geometriedaten_radsatz = result['geometriedaten']
+ data.geometriedaten_radsatz_neu = result['geometriedaten_neu'] # true/false # eventuell abpressen
+ data.taetigkeiten << result.taetigkeiten
+ END
+ end
+ otherwise do
+ call :a40, :drehen, parameters: { :label => "Radscheibe drehen 321", :method => :post, :arguments => [⭐(:name => :wellentyp, :value => nil)] }, finalize: <<-END
+ data.geometriedaten_radsatz = result['geometriedaten']
+ data.geometriedaten_radsatz_neu = result['geometriedaten_neu'] # true/false
+ END
+ end
+ end
+ choose :exclusive do
+ alternative test{data.taetigkeiten.include? 'Kerbschleifen'} do
+ call :a17, :kerb, parameters: { :label => "Kerbschleifen 240", :method => :post, :arguments => nil }, finalize: <<-END
+ data.taetigkeiten.delete("Kerbschleifen")
+ # eventuell abpressen
+ if result["taetigkeiten"]
+ data.taetigkeiten << result["taetigkeiten"]
+ end
+ END
+ end
+ end
+ call :a10, :ut, parameters: { :label => "UT Scheibe 630", :method => :post, :arguments => nil }, finalize: <<-END
+ data.taetigkeiten.delete("UT Scheibe")
+ if endpoints.ut != "http://localhost/customers/oebb/services/oebb.php"
+ data.taetigkeiten = data.taetigkeiten + result['taetigkeiten']
+ end
+ endpoints.ut = "http://localhost/customers/oebb/services/oebb.php"
+ END
+ end
+ end
+ parallel_branch do ||
+ call :a7, :lageraufbereitung, parameters: { :label => "Lageraufbereitung 680", :method => :post, :arguments => [⭐(:name => :timeout, :value => "2")] }
+ end
+end
+call :a11, :fix, parameters: { :label => "Lagermontage 640", :method => :post, :arguments => [⭐(:name => :lagerbauart, :value => nil)] }, finalize: <<-END
+ data.taetigkeiten.delete("Montage Deckel")
+END
+call :a12, :fix, parameters: { :label => "Austrittskontrolle 650", :method => :post, :arguments => nil }
+call :a13, :fix, parameters: { :label => "Lackierung 675", :method => :post, :arguments => [⭐(:name => :strategie, :value => nil)] }
+call :a14, :fix, parameters: { :label => "Versandfertig 690", :method => :post, :arguments => [⭐(:name => :technische_weisungen, :value => nil), ⭐(:name => :regelwerk, :value => nil)] }
+call :a15, :fix, parameters: { :label => "Qualitaetsfreigabe 710", :method => :post, :arguments => [⭐(:name => :regelwerk, :value => nil), ⭐(:name => :technische_weisungen, :value => nil)] }
+choose :exclusive do
+ alternative test{data.taetigkeiten.include? "Anbauteile montieren"} do
+ call :a35, nil, parameters: { :label => "Anbauteilmontage 670", :method => :post, :arguments => nil }
+ end
+end
+</dsl>
<dslx>
- <description xmlns="http://cpee.org/ns/description/1.0"/>
+ <description xmlns="http://cpee.org/ns/description/1.0">
+ <call id="a1" endpoint="init">
+ <parameters>
+ <label>Identifikation 110</label>
+ <method>:post</method>
+ <arguments>
+ <radsatznummer/>
+ <wellentyp/>
+ <lagerbauart/>
+ <tauschgruppe/>
+ <eigentuemer/>
+ <regelwerk/>
+ <auftragsnummer/>
+ <mindeststragie/>
+ <technische_weisungen/>
+ <schadcodes/>
+ <lagerlaufleistung>in jahre</lagerlaufleistung>
+ <lagerlaufleistung>stempel am lager in zukunft aus sam</lagerlaufleistung>
+ </arguments>
+ </parameters>
+ <finalize output="result"># Liste der Schadcodes
+data.schaedigungen = result['schaedigungen']
+
+# Manganschweissen, Gelber Anstrich, technische_weisungen
+data.taetigkeiten = result['taetigkeiten']
+
+data.lagerlaufleistung = result["lagerlaufleistung"].to_f
+data.tauschgruppe = result["tauschgruppe"]
+data.lagerbauart = result["lagerbauart"]</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <choose mode="exclusive">
+ <alternative condition="data.lagerbauart["deckel_mit_loch"] == false">
+ <call id="a2" endpoint="fix">
+ <parameters>
+ <label>Lagerdeckeldemontage 130</label>
+ <method>:post</method>
+ <arguments>
+ <deckel>true</deckel>
+ <lager>false</lager>
+ <anbauteile>true</anbauteile>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.taetigkeiten << "Montage Deckel"</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise>
+ <call id="a16" endpoint="">
+ <parameters>
+ <label>Lagerdemontage 130</label>
+ <method>:post</method>
+ <arguments>
+ <deckel>true</deckel>
+ <lager>true</lager>
+ <anbauteile>true</anbauteile>
+ <details/>
+ </arguments>
+ </parameters>
+ <finalize output="result"># ab IS1+IL aufwaerts
+# data.details ist alles unten
+
+data.wellenhersteller
+data.wellenmaterial
+data.schmelze
+data.charge
+data.wellenherstelldatum
+data.erstfueger
+data.erstfuegerdatum
+data.wellennummer
+data.lagerherstelldatum
+data.lagerlaufleistung
+data.lhm_korbnummer_rechts
+data.lhm_korbnummer_links
+
+# gibt der mitarbeiter ein, wird verglichen</finalize>
+ <update output="result"/>
+ </call>
+ <choose mode="exclusive">
+ <alternative condition="data.radsatznummer != data.wellennummer">
+ <call id="a4" endpoint="">
+ <parameters>
+ <label>Datenkonsistenz herstellen, eventuelle Barcode ausdrucken</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ <choose mode="exclusive">
+ <alternative condition="data.lagertyp == "kartuschenlager" && data.lagerherstelldatum < data.lagertyp.maximaldatum && data.lagerlaufleistung < data.lagertyp.maximallaufleistung">
+ <call id="a6" endpoint="">
+ <parameters>
+ <label>Externe Lageraufbereitung</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ </call>
+ </alternative>
+ <alternative condition="data.lagertyp == "kartuschenlager" && data.lagerherstelldatum >= data.lagertyp.maximaldatum && data.lagerlaufleistung > data.lagertyp.maximallaufleistung">
+ <call id="a5" endpoint="">
+ <parameters>
+ <label>Lager Verschrotten</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ </call>
+ </alternative>
+ <otherwise>
+ <manipulate id="a42">data.taetigkeiten << 'Lageraufbereitung'</manipulate>
+ </otherwise>
+ </choose>
+ </otherwise>
+ </choose>
+ <parallel wait="-1">
+ <parallel_branch pass="" local="">
+ <loop mode="post_test" condition="data.taetigkeiten.include? 'Eigenspannungspruefung'">
+ <call id="a3" endpoint="eigen">
+ <parameters>
+ <label>Eigenspannungspruefung 140</label>
+ <method>:post</method>
+ <arguments>
+ <werkstoff/>
+ <bauform_scheibe/>
+ <pruefprogramm/>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.eigenspannungswerte
+# Radsatz regenerieren falls die Station das meldet
+data.taetigkeiten << "Radsatz regenerieren"
+data.taetigkeiten.delete("Eigenspannungspruefung")</finalize>
+ <update output="result"/>
+ <_notes>
+ <_notes_general/>
+ </_notes>
+ </call>
+ <choose mode="exclusive">
+ <alternative condition="data.taetigkeiten.include? 'Radsatz regenerieren'">
+ <call id="a20" endpoint="timeout">
+ <parameters>
+ <label>Radsatz regenerieren</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.taetigkeiten.delete("Radsatz regenerieren")</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ </loop>
+ <choose mode="exclusive">
+ <alternative condition="data.taetigkeiten.include? 'Abpressen'">
+ <manipulate id="a19"/>
+ <loop mode="post_test" condition="data.wuchten_status == 'schlecht'">
+ <loop mode="post_test" condition="data.wellenstatus == "beschaedigt"">
+ <call id="a22" endpoint="abpressen">
+ <parameters>
+ <label>Radscheibe abpressen 510/511</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">if result['status'] == "lagersitz kaputt"
+ # z.b. weil lagersitz im arsch
+ data.taetigkeiten.clear
+end
+
+data.taetigkeiten << "Radsatzwelle drehen"</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a23" endpoint="timeout">
+ <parameters>
+ <label>Radsatzwelle drehen 520/521</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a24" endpoint="timeout">
+ <parameters>
+ <label>MT Welle unbescheibt prüfen 535</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general>Wenn status schlecht, zum drehen
+Wenn mindestdruchmesser erreicht, schrott</_notes_general>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a25" endpoint="timeout">
+ <parameters>
+ <label>Senkrechtbohrwerk 530/531</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"># ich hab radscheibe demontiert, alle
+# die fuer die wellentype zulässig sind
+# dürfen wieder rauf
+# (verbrauchsmaterial liste)
+# wellentype -> zulässige materialnummer
+# materialnummern können bremsscheibe, radscheibe oder
+# radbremsscheibe sein. Mehrere zulässige.</update>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a26" endpoint="aufpressen">
+ <parameters>
+ <label>Radscheibe aufpressen 516/510</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.presskraftdiagramm = result["presskraftdiagramm"] # "gut" oder "schlecht"
+data.wellenstatus = result["wellenstatus"] # "gut" oder "beschaedigt"</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <loop mode="pre_test" condition="data.presskraftdiagramm == "schlecht" && data.wellenstatus != "beschaedigt"">
+ <call id="a27" endpoint="abpressen">
+ <parameters>
+ <label>Radscheibe abpressen 510/511</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a28" endpoint="aufpressen_gut">
+ <parameters>
+ <label>Radscheibe aufpressen 516/510</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.presskraftdiagramm = result["presskraftdiagramm"] # "gut" oder "schlecht"
+data.wellenstatus = result["wellenstatus"] # "gut" oder "beschaedigt"</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </loop>
+ <manipulate id="a29">data.taetigkeiten.delete("Abpressen")</manipulate>
+ </loop>
+ <choose mode="exclusive">
+ <alternative condition="data.tauschgruppe["bremsscheiben"]">
+ <call id="a8" endpoint="drehen">
+ <parameters>
+ <label>Rad und Bremsscheibe messen 320</label>
+ <method>:post</method>
+ <arguments>
+ <wellentyp/>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.geometriedaten_radsatz = result['geometriedaten']
+data.geometriedaten_radsatz_neu = result['geometriedaten_neu'] # true/false</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise>
+ <call id="a9" endpoint="drehen">
+ <parameters>
+ <label>Radscheibe messen 321</label>
+ <method>:post</method>
+ <arguments>
+ <wellentyp/>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.geometriedaten_radsatz = result['geometriedaten']
+data.geometriedaten_radsatz_neu = result['geometriedaten_neu'] # true/false</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </otherwise>
+ </choose>
+ <choose mode="exclusive">
+ <alternative condition="data.geometriedata_radsatz_neu == false">
+ <call id="a30" endpoint="worklist_b">
+ <parameters>
+ <label>Lesen der Barcodes der gebrauchten Scheiben</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result"># lesen anhand barcode
+data.eigenspannunswerte = result.eigenspannungswerte
+data.taetigkeiten << "UT Scheibe"</finalize>
+ <update output="result"/>
+ <_notes>
+ <_notes_general/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ <choose mode="exclusive">
+ <alternative condition="data.tauschgruppe["personenzug"] || (data.tauschgruppe["gueterzug"] && data.tauschgruppe["bremsscheiben"])">
+ <call id="a21" endpoint="wuchten">
+ <parameters>
+ <label>Wuchten 550</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result"># sicher gramm pro meter, nachgeschaut
+data.wucht_gramm_pro_meter = result.wucht_gramm_pro_meter
+
+if data.wucht_gramm_pro_meter != data.tausch_gruppe["wucht_gramm_pro_meter"]
+ data.wucht_status == 'schlecht'
+else
+ data.wucht_status == 'gut'
+end</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ </loop>
+ </alternative>
+ <otherwise/>
+ </choose>
+ <choose mode="exclusive">
+ <alternative condition="data.lagerlaufleistung > data.tauschgruppe["lagerlaufleistung"] || data.schaedigungen.include?("defekter innenring") || data.taetigkeiten.include?("Demontage Innenringe")">
+ <choose mode="exclusive">
+ <alternative condition="data.lagerbauart["innenring"]">
+ <call id="a32" endpoint="timeout">
+ <parameters>
+ <label>Demontage Innenringe 420</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise>
+ <manipulate id="a43" label="Innenringstatus OK (weils keinen gibt)">data.innenringstatus = "ok"</manipulate>
+ </otherwise>
+ </choose>
+ <call id="a31" endpoint="buersten">
+ <parameters>
+ <label>Radsatzwelle Bürsten 490</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"># eventuell sandstrahlen
+data.taetigkeiten << result.taetigkeiten</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <choose mode="exclusive">
+ <alternative condition="data.taetigkeiten.include? 'Sandstrahlen'">
+ <call id="a33" endpoint="timeout">
+ <parameters>
+ <label>Sandstrahlen 480</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ <call id="a34" endpoint="ut">
+ <parameters>
+ <label>UT Radsatzwelle 430</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.radsatzwelle_status = result["radsatzwelle_status"] # gut / schlecht</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <loop mode="post_test" condition="data.innenringstatus != 'ok'">
+ <loop mode="post_test" condition="data.radsatzwelle_status == 'schlecht'">
+ <call id="a38" endpoint="timeout">
+ <parameters>
+ <label>Radsatzwelle drehen HS4 595</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a37" endpoint="ut">
+ <parameters>
+ <label>UT Radsatzwelle 430</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.radsatzwelle_status = result["radsatzwelle_status"] # gut / schlecht</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </loop>
+ <choose mode="exclusive">
+ <alternative condition="data.lagerbauart["innenring"]">
+ <call id="a36" endpoint="innenringmontage">
+ <parameters>
+ <label>Innenringmontage 190</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.innenring_status = result["innnenring_status"] # ok, beschaedigung, untermass</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ </loop>
+ <call id="a41" endpoint="timeout">
+ <parameters>
+ <label>MT Allg. Prüfung 170</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a18" endpoint="ut_scheibe">
+ <parameters>
+ <label>UT Scheibe 630</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">if result["ut_scheibe_status"] != 'gut'
+ data.taetigkeiten << 'Drehen'
+end</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ <loop mode="post_test" condition="data.taetigkeiten.include? 'Drehen'">
+ <choose mode="exclusive">
+ <alternative condition="data.tauschgruppe["bremsscheiben"]">
+ <call id="a39" endpoint="drehen">
+ <parameters>
+ <label>Rad und Bremsscheibe drehen 320</label>
+ <method>:post</method>
+ <arguments>
+ <wellentyp/>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.geometriedaten_radsatz = result['geometriedaten']
+data.geometriedaten_radsatz_neu = result['geometriedaten_neu'] # true/false # eventuell abpressen
+data.taetigkeiten << result.taetigkeiten</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise>
+ <call id="a40" endpoint="drehen">
+ <parameters>
+ <label>Radscheibe drehen 321</label>
+ <method>:post</method>
+ <arguments>
+ <wellentyp/>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.geometriedaten_radsatz = result['geometriedaten']
+data.geometriedaten_radsatz_neu = result['geometriedaten_neu'] # true/false</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </otherwise>
+ </choose>
+ <choose mode="exclusive">
+ <alternative condition="data.taetigkeiten.include? 'Kerbschleifen'">
+ <call id="a17" endpoint="kerb">
+ <parameters>
+ <label>Kerbschleifen 240</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.taetigkeiten.delete("Kerbschleifen")
+
+# eventuell abpressen
+if result["taetigkeiten"]
+ data.taetigkeiten << result["taetigkeiten"]
+end</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ <call id="a10" endpoint="ut">
+ <parameters>
+ <label>UT Scheibe 630</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.taetigkeiten.delete("UT Scheibe")
+if endpoints.ut != "http://localhost/customers/oebb/services/oebb.php"
+ data.taetigkeiten = data.taetigkeiten + result['taetigkeiten']
+end
+endpoints.ut = "http://localhost/customers/oebb/services/oebb.php"</finalize>
+ <update output="result"/>
+ </call>
+ </loop>
+ </parallel_branch>
+ <parallel_branch pass="" local="">
+ <call id="a7" endpoint="lageraufbereitung">
+ <parameters>
+ <label>Lageraufbereitung 680</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </parallel_branch>
+ </parallel>
+ <call id="a11" endpoint="fix">
+ <parameters>
+ <label>Lagermontage 640</label>
+ <method>:post</method>
+ <arguments>
+ <lagerbauart/>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.taetigkeiten.delete("Montage Deckel")</finalize>
+ <update output="result"/>
+ <_notes>
+ <_notes_general/>
+ </_notes>
+ </call>
+ <call id="a12" endpoint="fix">
+ <parameters>
+ <label>Austrittskontrolle 650</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a13" endpoint="fix">
+ <parameters>
+ <label>Lackierung 675</label>
+ <method>:post</method>
+ <arguments>
+ <strategie/>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a14" endpoint="fix">
+ <parameters>
+ <label>Versandfertig 690</label>
+ <method>:post</method>
+ <arguments>
+ <technische_weisungen/>
+ <regelwerk/>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a15" endpoint="fix">
+ <parameters>
+ <label>Qualitaetsfreigabe 710</label>
+ <method>:post</method>
+ <arguments>
+ <regelwerk/>
+ <technische_weisungen/>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <choose mode="exclusive">
+ <alternative condition="data.taetigkeiten.include? "Anbauteile montieren"">
+ <call id="a35" endpoint="">
+ <parameters>
+ <label>Anbauteilmontage 670</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_notes>
+ <_notes_general/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ </description>
</dslx>
<status>
<id>0</id>
<message>undefined</message>
</status>
<description>
- <description xmlns="http://cpee.org/ns/description/1.0"/>
+ <description xmlns="http://cpee.org/ns/description/1.0">
+ <call id="a1" endpoint="init">
+ <parameters>
+ <label>Identifikation 110</label>
+ <method>:post</method>
+ <arguments>
+ <radsatznummer/>
+ <wellentyp/>
+ <lagerbauart/>
+ <tauschgruppe/>
+ <eigentuemer/>
+ <regelwerk/>
+ <auftragsnummer/>
+ <mindeststragie/>
+ <technische_weisungen/>
+ <schadcodes/>
+ <lagerlaufleistung>in jahre</lagerlaufleistung>
+ <lagerlaufleistung>stempel am lager in zukunft aus sam</lagerlaufleistung>
+ </arguments>
+ </parameters>
+ <finalize output="result"># Liste der Schadcodes
+data.schaedigungen = result['schaedigungen']
+
+# Manganschweissen, Gelber Anstrich, technische_weisungen
+data.taetigkeiten = result['taetigkeiten']
+
+data.lagerlaufleistung = result["lagerlaufleistung"].to_f
+data.tauschgruppe = result["tauschgruppe"]
+data.lagerbauart = result["lagerbauart"]</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <choose mode="exclusive">
+ <alternative condition="data.lagerbauart["deckel_mit_loch"] == false">
+ <call id="a2" endpoint="fix">
+ <parameters>
+ <label>Lagerdeckeldemontage 130</label>
+ <method>:post</method>
+ <arguments>
+ <deckel>true</deckel>
+ <lager>false</lager>
+ <anbauteile>true</anbauteile>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.taetigkeiten << "Montage Deckel"</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise>
+ <call id="a16" endpoint="">
+ <parameters>
+ <label>Lagerdemontage 130</label>
+ <method>:post</method>
+ <arguments>
+ <deckel>true</deckel>
+ <lager>true</lager>
+ <anbauteile>true</anbauteile>
+ <details/>
+ </arguments>
+ </parameters>
+ <finalize output="result"># ab IS1+IL aufwaerts
+# data.details ist alles unten
+
+data.wellenhersteller
+data.wellenmaterial
+data.schmelze
+data.charge
+data.wellenherstelldatum
+data.erstfueger
+data.erstfuegerdatum
+data.wellennummer
+data.lagerherstelldatum
+data.lagerlaufleistung
+data.lhm_korbnummer_rechts
+data.lhm_korbnummer_links
+
+# gibt der mitarbeiter ein, wird verglichen</finalize>
+ <update output="result"/>
+ </call>
+ <choose mode="exclusive">
+ <alternative condition="data.radsatznummer != data.wellennummer">
+ <call id="a4" endpoint="">
+ <parameters>
+ <label>Datenkonsistenz herstellen, eventuelle Barcode ausdrucken</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ <choose mode="exclusive">
+ <alternative condition="data.lagertyp == "kartuschenlager" && data.lagerherstelldatum < data.lagertyp.maximaldatum && data.lagerlaufleistung < data.lagertyp.maximallaufleistung">
+ <call id="a6" endpoint="">
+ <parameters>
+ <label>Externe Lageraufbereitung</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ </call>
+ </alternative>
+ <alternative condition="data.lagertyp == "kartuschenlager" && data.lagerherstelldatum >= data.lagertyp.maximaldatum && data.lagerlaufleistung > data.lagertyp.maximallaufleistung">
+ <call id="a5" endpoint="">
+ <parameters>
+ <label>Lager Verschrotten</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ </call>
+ </alternative>
+ <otherwise>
+ <manipulate id="a42">data.taetigkeiten << 'Lageraufbereitung'</manipulate>
+ </otherwise>
+ </choose>
+ </otherwise>
+ </choose>
+ <parallel wait="-1">
+ <parallel_branch pass="" local="">
+ <loop mode="post_test" condition="data.taetigkeiten.include? 'Eigenspannungspruefung'">
+ <call id="a3" endpoint="eigen">
+ <parameters>
+ <label>Eigenspannungspruefung 140</label>
+ <method>:post</method>
+ <arguments>
+ <werkstoff/>
+ <bauform_scheibe/>
+ <pruefprogramm/>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.eigenspannungswerte
+# Radsatz regenerieren falls die Station das meldet
+data.taetigkeiten << "Radsatz regenerieren"
+data.taetigkeiten.delete("Eigenspannungspruefung")</finalize>
+ <update output="result"/>
+ <_notes>
+ <_notes_general/>
+ </_notes>
+ </call>
+ <choose mode="exclusive">
+ <alternative condition="data.taetigkeiten.include? 'Radsatz regenerieren'">
+ <call id="a20" endpoint="timeout">
+ <parameters>
+ <label>Radsatz regenerieren</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.taetigkeiten.delete("Radsatz regenerieren")</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ </loop>
+ <choose mode="exclusive">
+ <alternative condition="data.taetigkeiten.include? 'Abpressen'">
+ <manipulate id="a19"/>
+ <loop mode="post_test" condition="data.wuchten_status == 'schlecht'">
+ <loop mode="post_test" condition="data.wellenstatus == "beschaedigt"">
+ <call id="a22" endpoint="abpressen">
+ <parameters>
+ <label>Radscheibe abpressen 510/511</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">if result['status'] == "lagersitz kaputt"
+ # z.b. weil lagersitz im arsch
+ data.taetigkeiten.clear
+end
+
+data.taetigkeiten << "Radsatzwelle drehen"</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a23" endpoint="timeout">
+ <parameters>
+ <label>Radsatzwelle drehen 520/521</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a24" endpoint="timeout">
+ <parameters>
+ <label>MT Welle unbescheibt prüfen 535</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general>Wenn status schlecht, zum drehen
+Wenn mindestdruchmesser erreicht, schrott</_notes_general>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a25" endpoint="timeout">
+ <parameters>
+ <label>Senkrechtbohrwerk 530/531</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"># ich hab radscheibe demontiert, alle
+# die fuer die wellentype zulässig sind
+# dürfen wieder rauf
+# (verbrauchsmaterial liste)
+# wellentype -> zulässige materialnummer
+# materialnummern können bremsscheibe, radscheibe oder
+# radbremsscheibe sein. Mehrere zulässige.</update>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a26" endpoint="aufpressen">
+ <parameters>
+ <label>Radscheibe aufpressen 516/510</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.presskraftdiagramm = result["presskraftdiagramm"] # "gut" oder "schlecht"
+data.wellenstatus = result["wellenstatus"] # "gut" oder "beschaedigt"</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <loop mode="pre_test" condition="data.presskraftdiagramm == "schlecht" && data.wellenstatus != "beschaedigt"">
+ <call id="a27" endpoint="abpressen">
+ <parameters>
+ <label>Radscheibe abpressen 510/511</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a28" endpoint="aufpressen_gut">
+ <parameters>
+ <label>Radscheibe aufpressen 516/510</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.presskraftdiagramm = result["presskraftdiagramm"] # "gut" oder "schlecht"
+data.wellenstatus = result["wellenstatus"] # "gut" oder "beschaedigt"</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </loop>
+ <manipulate id="a29">data.taetigkeiten.delete("Abpressen")</manipulate>
+ </loop>
+ <choose mode="exclusive">
+ <alternative condition="data.tauschgruppe["bremsscheiben"]">
+ <call id="a8" endpoint="drehen">
+ <parameters>
+ <label>Rad und Bremsscheibe messen 320</label>
+ <method>:post</method>
+ <arguments>
+ <wellentyp/>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.geometriedaten_radsatz = result['geometriedaten']
+data.geometriedaten_radsatz_neu = result['geometriedaten_neu'] # true/false</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise>
+ <call id="a9" endpoint="drehen">
+ <parameters>
+ <label>Radscheibe messen 321</label>
+ <method>:post</method>
+ <arguments>
+ <wellentyp/>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.geometriedaten_radsatz = result['geometriedaten']
+data.geometriedaten_radsatz_neu = result['geometriedaten_neu'] # true/false</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </otherwise>
+ </choose>
+ <choose mode="exclusive">
+ <alternative condition="data.geometriedata_radsatz_neu == false">
+ <call id="a30" endpoint="worklist_b">
+ <parameters>
+ <label>Lesen der Barcodes der gebrauchten Scheiben</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result"># lesen anhand barcode
+data.eigenspannunswerte = result.eigenspannungswerte
+data.taetigkeiten << "UT Scheibe"</finalize>
+ <update output="result"/>
+ <_notes>
+ <_notes_general/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ <choose mode="exclusive">
+ <alternative condition="data.tauschgruppe["personenzug"] || (data.tauschgruppe["gueterzug"] && data.tauschgruppe["bremsscheiben"])">
+ <call id="a21" endpoint="wuchten">
+ <parameters>
+ <label>Wuchten 550</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result"># sicher gramm pro meter, nachgeschaut
+data.wucht_gramm_pro_meter = result.wucht_gramm_pro_meter
+
+if data.wucht_gramm_pro_meter != data.tausch_gruppe["wucht_gramm_pro_meter"]
+ data.wucht_status == 'schlecht'
+else
+ data.wucht_status == 'gut'
+end</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ </loop>
+ </alternative>
+ <otherwise/>
+ </choose>
+ <choose mode="exclusive">
+ <alternative condition="data.lagerlaufleistung > data.tauschgruppe["lagerlaufleistung"] || data.schaedigungen.include?("defekter innenring") || data.taetigkeiten.include?("Demontage Innenringe")">
+ <choose mode="exclusive">
+ <alternative condition="data.lagerbauart["innenring"]">
+ <call id="a32" endpoint="timeout">
+ <parameters>
+ <label>Demontage Innenringe 420</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise>
+ <manipulate id="a43" label="Innenringstatus OK (weils keinen gibt)">data.innenringstatus = "ok"</manipulate>
+ </otherwise>
+ </choose>
+ <call id="a31" endpoint="buersten">
+ <parameters>
+ <label>Radsatzwelle Bürsten 490</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"># eventuell sandstrahlen
+data.taetigkeiten << result.taetigkeiten</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <choose mode="exclusive">
+ <alternative condition="data.taetigkeiten.include? 'Sandstrahlen'">
+ <call id="a33" endpoint="timeout">
+ <parameters>
+ <label>Sandstrahlen 480</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ <call id="a34" endpoint="ut">
+ <parameters>
+ <label>UT Radsatzwelle 430</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.radsatzwelle_status = result["radsatzwelle_status"] # gut / schlecht</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <loop mode="post_test" condition="data.innenringstatus != 'ok'">
+ <loop mode="post_test" condition="data.radsatzwelle_status == 'schlecht'">
+ <call id="a38" endpoint="timeout">
+ <parameters>
+ <label>Radsatzwelle drehen HS4 595</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a37" endpoint="ut">
+ <parameters>
+ <label>UT Radsatzwelle 430</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.radsatzwelle_status = result["radsatzwelle_status"] # gut / schlecht</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </loop>
+ <choose mode="exclusive">
+ <alternative condition="data.lagerbauart["innenring"]">
+ <call id="a36" endpoint="innenringmontage">
+ <parameters>
+ <label>Innenringmontage 190</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.innenring_status = result["innnenring_status"] # ok, beschaedigung, untermass</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ </loop>
+ <call id="a41" endpoint="timeout">
+ <parameters>
+ <label>MT Allg. Prüfung 170</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a18" endpoint="ut_scheibe">
+ <parameters>
+ <label>UT Scheibe 630</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">if result["ut_scheibe_status"] != 'gut'
+ data.taetigkeiten << 'Drehen'
+end</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ <loop mode="post_test" condition="data.taetigkeiten.include? 'Drehen'">
+ <choose mode="exclusive">
+ <alternative condition="data.tauschgruppe["bremsscheiben"]">
+ <call id="a39" endpoint="drehen">
+ <parameters>
+ <label>Rad und Bremsscheibe drehen 320</label>
+ <method>:post</method>
+ <arguments>
+ <wellentyp/>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.geometriedaten_radsatz = result['geometriedaten']
+data.geometriedaten_radsatz_neu = result['geometriedaten_neu'] # true/false # eventuell abpressen
+data.taetigkeiten << result.taetigkeiten</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise>
+ <call id="a40" endpoint="drehen">
+ <parameters>
+ <label>Radscheibe drehen 321</label>
+ <method>:post</method>
+ <arguments>
+ <wellentyp/>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.geometriedaten_radsatz = result['geometriedaten']
+data.geometriedaten_radsatz_neu = result['geometriedaten_neu'] # true/false</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </otherwise>
+ </choose>
+ <choose mode="exclusive">
+ <alternative condition="data.taetigkeiten.include? 'Kerbschleifen'">
+ <call id="a17" endpoint="kerb">
+ <parameters>
+ <label>Kerbschleifen 240</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.taetigkeiten.delete("Kerbschleifen")
+
+# eventuell abpressen
+if result["taetigkeiten"]
+ data.taetigkeiten << result["taetigkeiten"]
+end</finalize>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ <call id="a10" endpoint="ut">
+ <parameters>
+ <label>UT Scheibe 630</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result">data.taetigkeiten.delete("UT Scheibe")
+if endpoints.ut != "http://localhost/customers/oebb/services/oebb.php"
+ data.taetigkeiten = data.taetigkeiten + result['taetigkeiten']
+end
+endpoints.ut = "http://localhost/customers/oebb/services/oebb.php"</finalize>
+ <update output="result"/>
+ </call>
+ </loop>
+ </parallel_branch>
+ <parallel_branch pass="" local="">
+ <call id="a7" endpoint="lageraufbereitung">
+ <parameters>
+ <label>Lageraufbereitung 680</label>
+ <method>:post</method>
+ <arguments>
+ <timeout>2</timeout>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ </parallel_branch>
+ </parallel>
+ <call id="a11" endpoint="fix">
+ <parameters>
+ <label>Lagermontage 640</label>
+ <method>:post</method>
+ <arguments>
+ <lagerbauart/>
+ </arguments>
+ </parameters>
+ <finalize output="result">data.taetigkeiten.delete("Montage Deckel")</finalize>
+ <update output="result"/>
+ <_notes>
+ <_notes_general/>
+ </_notes>
+ </call>
+ <call id="a12" endpoint="fix">
+ <parameters>
+ <label>Austrittskontrolle 650</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a13" endpoint="fix">
+ <parameters>
+ <label>Lackierung 675</label>
+ <method>:post</method>
+ <arguments>
+ <strategie/>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a14" endpoint="fix">
+ <parameters>
+ <label>Versandfertig 690</label>
+ <method>:post</method>
+ <arguments>
+ <technische_weisungen/>
+ <regelwerk/>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <call id="a15" endpoint="fix">
+ <parameters>
+ <label>Qualitaetsfreigabe 710</label>
+ <method>:post</method>
+ <arguments>
+ <regelwerk/>
+ <technische_weisungen/>
+ </arguments>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_timing>
+ <_timing_min/>
+ <_timing_max/>
+ <_timing_avg/>
+ </_timing>
+ <_notes>
+ <_notes_general/>
+ <_notes_output/>
+ <_attachments/>
+ </_notes>
+ </call>
+ <choose mode="exclusive">
+ <alternative condition="data.taetigkeiten.include? "Anbauteile montieren"">
+ <call id="a35" endpoint="">
+ <parameters>
+ <label>Anbauteilmontage 670</label>
+ <method>:post</method>
+ <arguments/>
+ </parameters>
+ <finalize output="result"/>
+ <update output="result"/>
+ <_notes>
+ <_notes_general/>
+ </_notes>
+ </call>
+ </alternative>
+ <otherwise/>
+ </choose>
+ </description>
</description>
<transformation>
<description type="copy"/>
<dataelements type="none"/>
<endpoints type="none"/>
\ No newline at end of file