server/instances/7/properties.xml in cpee-1.4.1 vs server/instances/7/properties.xml in cpee-1.4.2

- old
+ new

@@ -1,156 +1,1765 @@ <properties xmlns="http://riddl.org/ns/common-patterns/properties/1.0"> <attributes> - <uuid>9b6c838c-09b4-4df2-9687-fe560eb65277</uuid> - <info>Linear</info> + <uuid>ceaf6d8e-a0ad-426f-a6ef-1b3af9062e74</uuid> + <info>IHS1</info> <modeltype>CPEE</modeltype> - <theme>default</theme> + <theme>labels</theme> + <customer>OEBB</customer> + <status>development</status> </attributes> <state>stopped</state> <handlerwrapper>DefaultHandlerWrapper</handlerwrapper> - <positions/> + <positions> + <a9>after</a9> + </positions> <dataelements> - <persons>3</persons> - <card>Visa_12345</card> - <airline>null</airline> - <hotels>[]</hotels> - <from>Vienna</from> - <to>Prague</to> - <costs>0</costs> + <strategie>IS1</strategie> + <schaedigungen>["X","X","X"]</schaedigungen> + <taetigkeiten>["Drehen","UT Scheibe","Austrittskontrolle","Lackierung","Versandfertig","Qualitaetsfreigabe","Montage Deckel","Radsatzwelle drehen"]</taetigkeiten> + <presskraftdiagramm>gut</presskraftdiagramm> + <wellenstatus>gut</wellenstatus> + <geometriedaten_radsatz>{"X":1,"Y":2,"Z":3}</geometriedaten_radsatz> + <geometriedaten_radsatz_neu/> </dataelements> <endpoints> - <bookAir>http://gruppe.wst.univie.ac.at/~mangler/services/airline.php</bookAir> - <bookHotel>http://gruppe.wst.univie.ac.at/~mangler/services/hotel.php</bookHotel> - <approve>http://gruppe.wst.univie.ac.at/~mangler/services/approval.php</approve> + <timeout>http://localhost/customers/oebb/services/timeout.php</timeout> + <init>http://localhost/customers/oebb/services/oebb.php?_taetigkeiten=taetigkeiten.txt&amp;strategie=IS1&amp;_schaedigungen=schaedigungen.txt&amp;_tauschgruppe=tauschgruppe.txt</init> + <fix>http://localhost/customers/oebb/services/oebb.php</fix> + <eigen>http://localhost/customers/oebb/services/oebb.php?_taetigkeiten=addeigen.txt</eigen> + <drehen>http://localhost/customers/oebb/services/oebb.php?_taetigkeiten=adddrehen.txt&amp;_geometriedaten=geometriedaten.txt</drehen> + <ut>http://localhost/customers/oebb/services/oebb.php?_taetigkeiten=ut.txt</ut> + <kerb>http://localhost/customers/oebb/services/oebb.php</kerb> + <lageraufbereitung>http://localhost/customers/oebb/services/timeout.php</lageraufbereitung> + <aufpressen>http://localhost/customers/oebb/services/oebb.php?presskraftdiagramm=schlecht&amp;wellenstatus=gut</aufpressen> + <abpressen>http://localhost/customers/oebb/services/oebb.php?status=lagersitz%20ok</abpressen> + <aufpressen_gut>http://localhost/customers/oebb/services/oebb.php?presskraftdiagramm=gut&amp;wellenstatus=gut</aufpressen_gut> </endpoints> - <dsl>call :a1, :bookAir, parameters: { :label =&gt; "Book Airline":method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :from, :value =&gt; data.from), ⭐(:name =&gt; :to, :value =&gt; data.to), ⭐(:name =&gt; :persons, :value =&gt; data.persons)] }, finalize: &lt;&lt;-END - data.airline = result.value('id') - data.costs += result.value('costs').to_f - status.update 1, 'Hotel' + <dsl>call :a1, :init, parameters: { :label =&gt; "Identifikation 110", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :radsatznummer, :value =&gt; nil), ⭐(:name =&gt; :wellentyp, :value =&gt; nil), ⭐(:name =&gt; :lagerbauart, :value =&gt; nil), ⭐(:name =&gt; :tauschgruppe, :value =&gt; nil), ⭐(:name =&gt; :eigentuemer, :value =&gt; nil), ⭐(:name =&gt; :regelwerk, :value =&gt; nil), ⭐(:name =&gt; :auftragsnummer, :value =&gt; nil), ⭐(:name =&gt; :mindeststragie, :value =&gt; nil), ⭐(:name =&gt; :technische_weisungen, :value =&gt; nil), ⭐(:name =&gt; :schadcodes, :value =&gt; nil)] }, finalize: &lt;&lt;-END + data.strategie = result['strategie'] # IHS 123 + # Liste der Schadcodes + data.schaedigungen = result['schaedigungen'] + # Manganschweissen, Gelber Anstrich, technische_weisungen + data.taetigkeiten = result['taetigkeiten'] END -parallel do - loop pre_test{data.persons &gt; 0} do - parallel_branch data.persons do |p| - call :a2, :bookHotel, parameters: { :label =&gt; "Book Hotel":method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :to, :value =&gt; data.to)] }, finalize: &lt;&lt;-END - data.hotels &lt;&lt; result.value('id') - data.costs += result.value('costs').to_f - END +choose :exclusive do + alternative test{data.taetigkeiten.grep(/Demontage Deckel/) &amp;&amp; data.taetigkeiten.grep(/Demontage Deckel/).length == 1} do + choose :exclusive do + alternative test{data.lagerbauart != 'Deckel mit Loch'} do + call :a2, :fix, parameters: { :label =&gt; "Lagerdeckeldemontage 130", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :deckel, :value =&gt; "true"), ⭐(:name =&gt; :lager, :value =&gt; "false"), ⭐(:name =&gt; :anbauteile, :value =&gt; "true")] }, finalize: &lt;&lt;-END + data.taetigkeiten &lt;&lt; "Montage Deckel" + data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Demontage Deckel"} + END + end end - manipulate :a3, &lt;&lt;-END - data.persons -= 1 + end + otherwise do + call :a16, nil, parameters: { :label =&gt; "Lagerdemontage 130", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :deckel, :value =&gt; "true"), ⭐(:name =&gt; :lager, :value =&gt; "true"), ⭐(:name =&gt; :anbauteile, :value =&gt; "true"), ⭐(:name =&gt; :details, :value =&gt; nil)] }, finalize: &lt;&lt;-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 =&gt; "Datenkonsistenz herstellen, eventuelle Barcode ausdrucken", :method =&gt; :post, :arguments =&gt; nil } + end + end + choose :exclusive do + alternative test{data.lagertyp == "kartuschenlager" &amp;&amp; data.lagerherstelldatum &lt; data.lagertyp.maximaldatum &amp;&amp; data.lagerlaufleistung &lt; data.lagertyp.maximallaufleistung} do + call :a6, nil, parameters: { :label =&gt; "Externe Lageraufbereitung", :method =&gt; :post, :arguments =&gt; nil } + end + alternative test{data.lagertyp == "kartuschenlager" &amp;&amp; data.lagerherstelldatum &gt;= data.lagertyp.maximaldatum &amp;&amp; data.lagerlaufleistung &gt; data.lagertyp.maximallaufleistung} do + call :a5, nil, parameters: { :label =&gt; "Lager Verschrotten", :method =&gt; :post, :arguments =&gt; nil } + end + otherwise do + manipulate :a42, &lt;&lt;-END + data.taetigkeiten &lt;&lt; 'Lageraufbereitung' + END + end + end end end -choose :inclusive do - alternative "data.costs &gt; 700" do - call :a4, :approve, parameters: { :label =&gt; "Approve Hotel":method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :costs, :value =&gt; data.costs)] } +parallel :wait =&gt; -1 do + parallel_branch do || + loop post_test{data.taetigkeiten.include? 'Eigenspannungspruefung'} do + call :a3, :eigen, parameters: { :label =&gt; "Eigenspannungspruefung 140", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :werkstoff, :value =&gt; nil), ⭐(:name =&gt; :bauform_scheibe, :value =&gt; nil), ⭐(:name =&gt; :pruefprogramm, :value =&gt; nil)] }, finalize: &lt;&lt;-END + data.eigenspannungswerte + # Radsatz regenerieren falls die Station das meldet + data.taetigkeiten &lt;&lt; "Radsatz regenerieren" + data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Eigenspannungspruefung"} + END + choose :exclusive do + alternative test{data.taetigkeiten.include? 'Radsatz regenerieren'} do + call :a20, :timeout, parameters: { :label =&gt; "Radsatz regenerieren", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; "2")] }, finalize: &lt;&lt;-END + data.taetigkeiten = data.taetigkeiten.reject{|a| a == "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 =&gt; "Radscheibe abpressen 510/511", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END + if result['status'] == "lagersitz kaputt" + # z.b. weil lagersitz im arsch + data.taetigkeiten.clear + end + data.taetigkeiten &lt;&lt; "Radsatzwelle drehen" + END + call :a23, :timeout, parameters: { :label =&gt; "Radsatzwelle drehen 520/521", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; "2")] } + call :a24, :timeout, parameters: { :label =&gt; "MT Welle unbescheibt prüfen 535", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; "2")] } + call :a25, :timeout, parameters: { :label =&gt; "Senkrechtbohrwerk 530/531", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; "2")] }, update: &lt;&lt;-END + # ich hab radscheibe demontiert, alle + # die fuer die wellentype zulässig sind + # dürfen wieder rauf + # (verbrauchsmaterial liste) + # wellentype -&gt; zulässige materialnummer + # materialnummern können bremsscheibe, radscheibe oder + # radbremsscheibe sein. Mehrere zulässige. + END + call :a26, :aufpressen, parameters: { :label =&gt; "Radscheibe aufpressen 516/510", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END + data.presskraftdiagramm = result["presskraftdiagramm"] # "gut" oder "schlecht" + data.wellenstatus = result["wellenstatus"] # "gut" oder "beschaedigt" + END + loop pre_test{data.presskraftdiagramm == "schlecht" &amp;&amp; data.wellenstatus != "beschaedigt"} do + call :a27, :abpressen, parameters: { :label =&gt; "Radscheibe abpressen 510/511", :method =&gt; :post, :arguments =&gt; nil } + call :a28, :aufpressen_gut, parameters: { :label =&gt; "Radscheibe aufpressen 516/510", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END + data.presskraftdiagramm = result["presskraftdiagramm"] # "gut" oder "schlecht" + data.wellenstatus = result["wellenstatus"] # "gut" oder "beschaedigt" + END + end + manipulate :a29, &lt;&lt;-END + data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Abpressen"} + END + end + choose :exclusive do + alternative test{data.tauschgruppe == "ich habe eine bremsscheibe"} do + call :a8, nil, parameters: { :label =&gt; "Rad und Bremsscheibe messen 320", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :wellentyp, :value =&gt; nil)] }, finalize: &lt;&lt;-END + data.geometriedaten_radsatz = result['geometriedaten'] + data.geometriedaten_radsatz_neu = result['geometriedaten_neu'] # true/false + END + end + otherwise do + call :a9, :drehen, parameters: { :label =&gt; "Radscheibe messen 321", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :wellentyp, :value =&gt; nil)] }, finalize: &lt;&lt;-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 =&gt; "Lesen der Barcodes der gebrauchten Scheiben", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END + # lesen anhand barcode + data.eigenspannunswerte = result.eigenspannungswerte + data.taetigkeiten &lt;&lt; "UT Scheibe" + END + end + end + choose :exclusive do + alternative test{data.tauschgruppe == 'ich bin ein zug mit personen drinn' || data.tauschgruppe == 'ich bin ein güterzug mit bremsscheigen'} do + call :a21, nil, parameters: { :label =&gt; "Wuchten 550", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END + # sicher gramm pro meter, nachgeschaut + data.wucht_gramm_pro_meter = result.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 &gt; data.tauschgruppe["lagerlaufleistung"] || data.schaedigungen.include?("defekter innenring") || data.taetigkeiten.include?("Demontage Innenringe") #kundenwunsch} do + call :a32, nil, parameters: { :label =&gt; "Demontage Innenringe 420", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END + # innenringe montieren falls welche drauf waren + data.taetigkeiten &lt;&lt; result.taetigkeiten + END + call :a31, nil, parameters: { :label =&gt; "Radsatzwelle Bürsten 490", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END + # eventuell sandstrahlen + data.taetigkeiten &lt;&lt; result.taetigkeiten + END + choose :exclusive do + alternative test{data.taetigkeiten.include? 'Sandstrahlen'} do + call :a33, nil, parameters: { :label =&gt; "Sandstrahlen 480", :method =&gt; :post, :arguments =&gt; nil } + end + end + call :a34, nil, parameters: { :label =&gt; "UT Radsatzwelle 430", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-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, nil, parameters: { :label =&gt; "Radsatzwelle drehen HS4 595", :method =&gt; :post, :arguments =&gt; nil } + call :a37, nil, parameters: { :label =&gt; "UT Radsatzwelle 430", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END + data.radsatzwelle_status = result["radsatzwelle_status"] # gut / schlecht + END + end + call :a36, nil, parameters: { :label =&gt; "Innenringmontage 190", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END + data.innenring_status = result["innnenring_status"] # ok, beschaedigung, untermass + END + end + call :a41, nil, parameters: { :label =&gt; "MT Allg. Prüfung 170", :method =&gt; :post, :arguments =&gt; nil } + call :a18, nil, parameters: { :label =&gt; "UT Scheibe 630", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END + if result.ut_scheibe_status != 'gut' + data.taetigkeiten &lt;&lt; 'Drehen' + end + END + end + end + loop post_test{data.taetigkeiten.include? 'Drehen'} do + choose :exclusive do + alternative test{data.tauschgruppe == "ich habe eine bremsscheibe"} do + call :a39, nil, parameters: { :label =&gt; "Rad und Bremsscheibe drehen 320", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :wellentyp, :value =&gt; nil)] }, finalize: &lt;&lt;-END + data.geometriedaten_radsatz = result['geometriedaten'] + # eventuell abpressen + data.taetigkeiten &lt;&lt; result.taetigkeiten + END + end + otherwise do + call :a40, :drehen, parameters: { :label =&gt; "Radscheibe drehen 321", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :wellentyp, :value =&gt; nil)] }, finalize: &lt;&lt;-END + data.geometriedaten_radsatz = result['geometriedaten'] + END + end + end + choose :exclusive do + alternative test{data.taetigkeiten.include? 'Kerbschleifen'} do + call :a17, :kerb, parameters: { :label =&gt; "Kerbschleifen 240", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END + data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Kerbschleifen"} + # eventuell abpressen + data.taetigkeiten &lt;&lt; result.taetigkeiten + END + end + end + call :a10, :ut, parameters: { :label =&gt; "UT Scheibe 630", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END + data.taetigkeiten = data.taetigkeiten.reject{|a| a == "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 =&gt; "Lageraufbereitung 680", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :timeout, :value =&gt; "2")] } + end end +call :a11, :fix, parameters: { :label =&gt; "Lagermontage 640", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :lagerbauart, :value =&gt; nil)] }, finalize: &lt;&lt;-END + data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Montage Deckel"} +END +call :a12, :fix, parameters: { :label =&gt; "Austrittskontrolle 650", :method =&gt; :post, :arguments =&gt; nil }, finalize: &lt;&lt;-END + data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Austrittskontrolle"} +END +call :a13, :fix, parameters: { :label =&gt; "Lackierung 675", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :strategie, :value =&gt; nil)] }, finalize: &lt;&lt;-END + data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Lackierung"} +END +call :a14, :fix, parameters: { :label =&gt; "Versandfertig 690", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :technische_weisungen, :value =&gt; nil), ⭐(:name =&gt; :regelwerk, :value =&gt; nil)] }, finalize: &lt;&lt;-END + data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Versandfertig"} +END +call :a15, :fix, parameters: { :label =&gt; "Qualitaetsfreigabe 710", :method =&gt; :post, :arguments =&gt; [⭐(:name =&gt; :regelwerk, :value =&gt; nil), ⭐(:name =&gt; :technische_weisungen, :value =&gt; nil)] }, finalize: &lt;&lt;-END + data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Qualitaetsfreigabe"} +END +choose :exclusive do + alternative test{data.taetigkeiten.include? "anbauteile montieren"} do + call :a35, nil, parameters: { :label =&gt; "Anbauteilmontage 670", :method =&gt; :post, :arguments =&gt; nil } + end +end </dsl> <dslx> <description xmlns="http://cpee.org/ns/description/1.0"> - <call id="a1" endpoint="bookAir"> + <call id="a1" endpoint="init"> <parameters> + <label>Identifikation 110</label> <method>:post</method> - <label>Book Airline</label> <arguments> - <from>data.from</from> - <to>data.to</to> - <persons>data.persons</persons> + <radsatznummer/> + <wellentyp/> + <lagerbauart/> + <tauschgruppe/> + <eigentuemer/> + <regelwerk/> + <auftragsnummer/> + <mindeststragie/> + <technische_weisungen/> + <schadcodes/> </arguments> </parameters> - <finalize output="result">data.airline = result.value('id') -data.costs += result.value('costs').to_f -status.update 1, 'Hotel'</finalize> + <finalize output="result">data.strategie = result['strategie'] # IHS 123 + +# Liste der Schadcodes +data.schaedigungen = result['schaedigungen'] + +# Manganschweissen, Gelber Anstrich, technische_weisungen +data.taetigkeiten = result['taetigkeiten']</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + <_notes_output/> + </_notes> </call> - <parallel> - <loop mode="pre_test" condition="data.persons &gt; 0"> - <parallel_branch pass="data.persons" local="p"> - <call id="a2" endpoint="bookHotel"> + <choose mode="exclusive"> + <alternative condition="data.taetigkeiten.grep(/Demontage Deckel/) &amp;&amp; data.taetigkeiten.grep(/Demontage Deckel/).length == 1"> + <choose mode="exclusive"> + <alternative condition="data.lagerbauart != 'Deckel mit Loch'"> + <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 &lt;&lt; "Montage Deckel" +data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Demontage Deckel"}</finalize> + <update output="result"/> + </call> + </alternative> + <otherwise/> + </choose> + </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 == &quot;kartuschenlager&quot; &amp;&amp; data.lagerherstelldatum &lt; data.lagertyp.maximaldatum &amp;&amp; data.lagerlaufleistung &lt; data.lagertyp.maximallaufleistung"> + <call id="a6" endpoint=""> + <parameters> + <label>Externe Lageraufbereitung</label> + <method>:post</method> + <arguments/> + </parameters> + </call> + </alternative> + <alternative condition="data.lagertyp == &quot;kartuschenlager&quot; &amp;&amp; data.lagerherstelldatum &gt;= data.lagertyp.maximaldatum &amp;&amp; data.lagerlaufleistung &gt; 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 &lt;&lt; '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> - <label>Book Hotel</label> <arguments> - <to>data.to</to> + <werkstoff/> + <bauform_scheibe/> + <pruefprogramm/> </arguments> </parameters> - <finalize output="result">data.hotels &lt;&lt; result.value('id') -data.costs += result.value('costs').to_f</finalize> + <finalize output="result">data.eigenspannungswerte +# Radsatz regenerieren falls die Station das meldet +data.taetigkeiten &lt;&lt; "Radsatz regenerieren" +data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Eigenspannungspruefung"}</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> </call> - </parallel_branch> - <manipulate id="a3">data.persons -= 1</manipulate> - </loop> - </parallel> - <choose mode="inclusive"> - <alternative condition="data.costs &gt; 700"> - <call id="a4" endpoint="approve"> + <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 = data.taetigkeiten.reject{|a| a == "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 == &quot;beschaedigt&quot;"> + <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 &lt;&lt; "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 -&gt; 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 == &quot;schlecht&quot; &amp;&amp; data.wellenstatus != &quot;beschaedigt&quot;"> + <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 = data.taetigkeiten.reject{|a| a == "Abpressen"}</manipulate> + </loop> + <choose mode="exclusive"> + <alternative condition="data.tauschgruppe == &quot;ich habe eine bremsscheibe&quot;"> + <call id="a8" endpoint=""> + <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"/> + <_notes> + <_notes_general/> + </_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"/> + <_notes> + <_notes_general/> + </_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 &lt;&lt; "UT Scheibe"</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + </alternative> + <otherwise/> + </choose> + <choose mode="exclusive"> + <alternative condition="data.tauschgruppe == 'ich bin ein zug mit personen drinn' || data.tauschgruppe == 'ich bin ein g&#xFC;terzug mit bremsscheigen'"> + <call id="a21" endpoint=""> + <parameters> + <label>Wuchten 550</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result"># sicher gramm pro meter, nachgeschaut +data.wucht_gramm_pro_meter = result.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"/> + <_notes> + <_notes_general/> + </_notes> + </call> + </alternative> + <otherwise/> + </choose> + </loop> + </alternative> + <otherwise/> + </choose> + <choose mode="exclusive"> + <alternative condition="data.lagerlaufleistung &gt; data.tauschgruppe[&quot;lagerlaufleistung&quot;] || data.schaedigungen.include?(&quot;defekter innenring&quot;) || data.taetigkeiten.include?(&quot;Demontage Innenringe&quot;) #kundenwunsch"> + <call id="a32" endpoint=""> + <parameters> + <label>Demontage Innenringe 420</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result"># innenringe montieren falls welche drauf waren +data.taetigkeiten &lt;&lt; result.taetigkeiten</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + <call id="a31" endpoint=""> + <parameters> + <label>Radsatzwelle Bürsten 490</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result"># eventuell sandstrahlen +data.taetigkeiten &lt;&lt; result.taetigkeiten</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + <choose mode="exclusive"> + <alternative condition="data.taetigkeiten.include? 'Sandstrahlen'"> + <call id="a33" endpoint=""> + <parameters> + <label>Sandstrahlen 480</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result"/> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + </alternative> + <otherwise/> + </choose> + <call id="a34" endpoint=""> + <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=""> + <parameters> + <label>Radsatzwelle drehen HS4 595</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result"/> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + <call id="a37" endpoint=""> + <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> + <call id="a36" endpoint=""> + <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> + </loop> + <call id="a41" endpoint=""> + <parameters> + <label>MT Allg. Prüfung 170</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result"/> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + <call id="a18" endpoint=""> + <parameters> + <label>UT Scheibe 630</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result">if result.ut_scheibe_status != 'gut' + data.taetigkeiten &lt;&lt; 'Drehen' +end</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + </alternative> + <otherwise/> + </choose> + <loop mode="post_test" condition="data.taetigkeiten.include? 'Drehen'"> + <choose mode="exclusive"> + <alternative condition="data.tauschgruppe == &quot;ich habe eine bremsscheibe&quot;"> + <call id="a39" endpoint=""> + <parameters> + <label>Rad und Bremsscheibe drehen 320</label> + <method>:post</method> + <arguments> + <wellentyp/> + </arguments> + </parameters> + <finalize output="result">data.geometriedaten_radsatz = result['geometriedaten'] +# eventuell abpressen +data.taetigkeiten &lt;&lt; result.taetigkeiten</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_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']</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_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 = data.taetigkeiten.reject{|a| a == "Kerbschleifen"} +# eventuell abpressen +data.taetigkeiten &lt;&lt; result.taetigkeiten</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_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 = data.taetigkeiten.reject{|a| a == "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> - <label>Approve Hotel</label> <arguments> - <costs>data.costs</costs> + <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 = data.taetigkeiten.reject{|a| a == "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">data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Austrittskontrolle"}</finalize> + <update output="result"/> + </call> + <call id="a13" endpoint="fix"> + <parameters> + <label>Lackierung 675</label> + <method>:post</method> + <arguments> + <strategie/> + </arguments> + </parameters> + <finalize output="result">data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Lackierung"}</finalize> + <update output="result"/> + </call> + <call id="a14" endpoint="fix"> + <parameters> + <label>Versandfertig 690</label> + <method>:post</method> + <arguments> + <technische_weisungen/> + <regelwerk/> + </arguments> + </parameters> + <finalize output="result">data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Versandfertig"}</finalize> + <update output="result"/> + </call> + <call id="a15" endpoint="fix"> + <parameters> + <label>Qualitaetsfreigabe 710</label> + <method>:post</method> + <arguments> + <regelwerk/> + <technische_weisungen/> + </arguments> + </parameters> + <finalize output="result">data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Qualitaetsfreigabe"}</finalize> + <update output="result"/> + </call> + <choose mode="exclusive"> + <alternative condition="data.taetigkeiten.include? &quot;anbauteile montieren&quot;"> + <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"> - <call id="a1" endpoint="bookAir"> + <call id="a1" endpoint="init"> <parameters> + <label>Identifikation 110</label> <method>:post</method> - <label>Book Airline</label> <arguments> - <from>data.from</from> - <to>data.to</to> - <persons>data.persons</persons> + <radsatznummer/> + <wellentyp/> + <lagerbauart/> + <tauschgruppe/> + <eigentuemer/> + <regelwerk/> + <auftragsnummer/> + <mindeststragie/> + <technische_weisungen/> + <schadcodes/> </arguments> </parameters> - <finalize output="result">data.airline = result.value('id') -data.costs += result.value('costs').to_f -status.update 1, 'Hotel'</finalize> + <finalize output="result">data.strategie = result['strategie'] # IHS 123 + +# Liste der Schadcodes +data.schaedigungen = result['schaedigungen'] + +# Manganschweissen, Gelber Anstrich, technische_weisungen +data.taetigkeiten = result['taetigkeiten']</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + <_notes_output/> + </_notes> </call> - <parallel> - <loop mode="pre_test" condition="data.persons &gt; 0"> - <parallel_branch pass="data.persons" local="p"> - <call id="a2" endpoint="bookHotel"> + <choose mode="exclusive"> + <alternative condition="data.taetigkeiten.grep(/Demontage Deckel/) &amp;&amp; data.taetigkeiten.grep(/Demontage Deckel/).length == 1"> + <choose mode="exclusive"> + <alternative condition="data.lagerbauart != 'Deckel mit Loch'"> + <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 &lt;&lt; "Montage Deckel" +data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Demontage Deckel"}</finalize> + <update output="result"/> + </call> + </alternative> + <otherwise/> + </choose> + </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 == &quot;kartuschenlager&quot; &amp;&amp; data.lagerherstelldatum &lt; data.lagertyp.maximaldatum &amp;&amp; data.lagerlaufleistung &lt; data.lagertyp.maximallaufleistung"> + <call id="a6" endpoint=""> + <parameters> + <label>Externe Lageraufbereitung</label> + <method>:post</method> + <arguments/> + </parameters> + </call> + </alternative> + <alternative condition="data.lagertyp == &quot;kartuschenlager&quot; &amp;&amp; data.lagerherstelldatum &gt;= data.lagertyp.maximaldatum &amp;&amp; data.lagerlaufleistung &gt; 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 &lt;&lt; '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> - <label>Book Hotel</label> <arguments> - <to>data.to</to> + <werkstoff/> + <bauform_scheibe/> + <pruefprogramm/> </arguments> </parameters> - <finalize output="result">data.hotels &lt;&lt; result.value('id') -data.costs += result.value('costs').to_f</finalize> + <finalize output="result">data.eigenspannungswerte +# Radsatz regenerieren falls die Station das meldet +data.taetigkeiten &lt;&lt; "Radsatz regenerieren" +data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Eigenspannungspruefung"}</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> </call> - </parallel_branch> - <manipulate id="a3">data.persons -= 1</manipulate> - </loop> - </parallel> - <choose mode="inclusive"> - <alternative condition="data.costs &gt; 700"> - <call id="a4" endpoint="approve"> + <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 = data.taetigkeiten.reject{|a| a == "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 == &quot;beschaedigt&quot;"> + <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 &lt;&lt; "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 -&gt; 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 == &quot;schlecht&quot; &amp;&amp; data.wellenstatus != &quot;beschaedigt&quot;"> + <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 = data.taetigkeiten.reject{|a| a == "Abpressen"}</manipulate> + </loop> + <choose mode="exclusive"> + <alternative condition="data.tauschgruppe == &quot;ich habe eine bremsscheibe&quot;"> + <call id="a8" endpoint=""> + <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"/> + <_notes> + <_notes_general/> + </_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"/> + <_notes> + <_notes_general/> + </_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 &lt;&lt; "UT Scheibe"</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + </alternative> + <otherwise/> + </choose> + <choose mode="exclusive"> + <alternative condition="data.tauschgruppe == 'ich bin ein zug mit personen drinn' || data.tauschgruppe == 'ich bin ein g&#xFC;terzug mit bremsscheigen'"> + <call id="a21" endpoint=""> + <parameters> + <label>Wuchten 550</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result"># sicher gramm pro meter, nachgeschaut +data.wucht_gramm_pro_meter = result.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"/> + <_notes> + <_notes_general/> + </_notes> + </call> + </alternative> + <otherwise/> + </choose> + </loop> + </alternative> + <otherwise/> + </choose> + <choose mode="exclusive"> + <alternative condition="data.lagerlaufleistung &gt; data.tauschgruppe[&quot;lagerlaufleistung&quot;] || data.schaedigungen.include?(&quot;defekter innenring&quot;) || data.taetigkeiten.include?(&quot;Demontage Innenringe&quot;) #kundenwunsch"> + <call id="a32" endpoint=""> + <parameters> + <label>Demontage Innenringe 420</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result"># innenringe montieren falls welche drauf waren +data.taetigkeiten &lt;&lt; result.taetigkeiten</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + <call id="a31" endpoint=""> + <parameters> + <label>Radsatzwelle Bürsten 490</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result"># eventuell sandstrahlen +data.taetigkeiten &lt;&lt; result.taetigkeiten</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + <choose mode="exclusive"> + <alternative condition="data.taetigkeiten.include? 'Sandstrahlen'"> + <call id="a33" endpoint=""> + <parameters> + <label>Sandstrahlen 480</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result"/> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + </alternative> + <otherwise/> + </choose> + <call id="a34" endpoint=""> + <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=""> + <parameters> + <label>Radsatzwelle drehen HS4 595</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result"/> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + <call id="a37" endpoint=""> + <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> + <call id="a36" endpoint=""> + <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> + </loop> + <call id="a41" endpoint=""> + <parameters> + <label>MT Allg. Prüfung 170</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result"/> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + <call id="a18" endpoint=""> + <parameters> + <label>UT Scheibe 630</label> + <method>:post</method> + <arguments/> + </parameters> + <finalize output="result">if result.ut_scheibe_status != 'gut' + data.taetigkeiten &lt;&lt; 'Drehen' +end</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_notes> + </call> + </alternative> + <otherwise/> + </choose> + <loop mode="post_test" condition="data.taetigkeiten.include? 'Drehen'"> + <choose mode="exclusive"> + <alternative condition="data.tauschgruppe == &quot;ich habe eine bremsscheibe&quot;"> + <call id="a39" endpoint=""> + <parameters> + <label>Rad und Bremsscheibe drehen 320</label> + <method>:post</method> + <arguments> + <wellentyp/> + </arguments> + </parameters> + <finalize output="result">data.geometriedaten_radsatz = result['geometriedaten'] +# eventuell abpressen +data.taetigkeiten &lt;&lt; result.taetigkeiten</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_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']</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_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 = data.taetigkeiten.reject{|a| a == "Kerbschleifen"} +# eventuell abpressen +data.taetigkeiten &lt;&lt; result.taetigkeiten</finalize> + <update output="result"/> + <_notes> + <_notes_general/> + </_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 = data.taetigkeiten.reject{|a| a == "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> - <label>Approve Hotel</label> <arguments> - <costs>data.costs</costs> + <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 = data.taetigkeiten.reject{|a| a == "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">data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Austrittskontrolle"}</finalize> + <update output="result"/> + </call> + <call id="a13" endpoint="fix"> + <parameters> + <label>Lackierung 675</label> + <method>:post</method> + <arguments> + <strategie/> + </arguments> + </parameters> + <finalize output="result">data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Lackierung"}</finalize> + <update output="result"/> + </call> + <call id="a14" endpoint="fix"> + <parameters> + <label>Versandfertig 690</label> + <method>:post</method> + <arguments> + <technische_weisungen/> + <regelwerk/> + </arguments> + </parameters> + <finalize output="result">data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Versandfertig"}</finalize> + <update output="result"/> + </call> + <call id="a15" endpoint="fix"> + <parameters> + <label>Qualitaetsfreigabe 710</label> + <method>:post</method> + <arguments> + <regelwerk/> + <technische_weisungen/> + </arguments> + </parameters> + <finalize output="result">data.taetigkeiten = data.taetigkeiten.reject{|a| a == "Qualitaetsfreigabe"}</finalize> + <update output="result"/> + </call> + <choose mode="exclusive"> + <alternative condition="data.taetigkeiten.include? &quot;anbauteile montieren&quot;"> + <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="rest"/> - <endpoints type="rest"/> + <dataelements type="none"/> + <endpoints type="none"/> </transformation> </properties> \ No newline at end of file