Importeren van de XML gedefinieerd door de optimizer en deze opslaan in de basistabellen
BL.Prod.OptiBox,%Prod.Product,TECH.Error
1
%RegisteredObject,TECH.Error.ErrorAdaptor
0
1
PRNr
w ##class(BL.Prod.OptiBox.Diverse).OptiDataDisplayName(108353)
1
PRNr
1
PRNr
OptiType else OptiType end, MaxCombinAantal
into :OptiType, :MaxCombin from Prod.Optibox_BoxData where ObjType="PR" and ObjRef=:PRNr and AantalExec<>-99)
&sql(OPEN OptiDataDisplay)
Set String=""
For &sql(FETCH OptiDataDisplay) Quit:SQLCODE Do
. Set String=String_";"_$$INITCAP^vhRtn1(OptiType)_$S(MaxCombin>1:"/"_MaxCombin,1:"")
&sql(CLOSE OptiDataDisplay)
Quit $E(String,2,99)
]]>
1
Type,PRNr,Aantallen,CallBack,SnijPrioriteit,PPSOutput,MachineID
Opvragen van de snijstatus van alle snijdata die voldoen aan de basisref
1
Result is een array met $LB(Omschrijving, PRNr, Aantal, Lengte, Breedte, HistID, SnijMachineID)
Tijdens het wachten wordt de callback opgeroepen door Do CallBack^Routine(Status,Qty,MaxQty)
1
TimeOut
. Do ..SnijStatus(BasisRef,.Status,.Qty,.MaxQty)
. H 1
Set Result=BasisRef
Set Cnt=0
&sql(DECLARE CalcCarboardUse CURSOR FOR
Select BoxSelect,SnijHistoriek->CardboardProduct,SnijHistoriek->CardboardBreedte,SnijHistoriek->Lengte,SnijHistoriek,Aantal,SnijMachineID into :BoxSelect,:CardPRNr,:Breedte,:Lengte,:HistID,:Aantal,:SnijMachineID from prod.OptiBox_Snijdata where (Reference %STARTSWITH :BasisRef) and (Status="F") )
&sql(OPEN CalcCarboardUse)
For &sql(FETCH CalcCarboardUse) Quit:SQLCODE Do
. Set Result($i(Cnt))=$LB(BoxSelect,CardPRNr,Aantal,Lengte,Breedte,HistID,SnijMachineID)
&sql(CLOSE CalcCarboardUse)
Quit Status
]]>
machinekant = 2 x 25mm
50
Selecteer het kartonproduct VFF.... volgens logo, dikte en nodige breedte
1
Dikte,LogoPrint,PlanoBreedte
=:PlanoBreedte order by Breedte asc)
&sql(OPEN GetProduct)
&sql(FETCH GetProduct)
&sql(CLOSE GetProduct)
Quit PRNr
]]>
D ##class(BL.Prod.OptiBox.Diverse).ExportBoxData()
1
ObjType="PR"
D ##class(BL.Prod.OptiBox.Diverse).ExportProdBoxData()
1
0
D ##class(BL.Prod.OptiBox.Diverse).Clean()
1
1
D ##class(BL.Prod.OptiBox.Diverse).CleanOld()
1
w ##class(BL.Prod.OptiBox.Diverse).Alive(##class(BL.Prod.OptiBox.enu.OptiServer).SmallEnCuts())
1
ServerName:BL.Prod.OptiBox.enu.OptiServer
%Boolean
1
1
ServerName:BL.Prod.OptiBox.enu.OptiServer
%String
d ##class(BL.Prod.OptiBox.Diverse).ChangeMachineStatus()
opslaan van de laatste machinestatus wordt opgeroepen door de webservice
1
oStatus:BL.Prod.OptiBox.sub.pxStatus
OldTijdStip ; meer dan dag tussen
. . Set From="System@vanhoecke.be"
. . Set Subj="Kartonsnijmachine : "_MachineID_", "_$J((CurrentTijdStip-OldTijdStip)/60,0,0)_"min. niet beschikbaar, machinestatus = "_$S(OldMachineStatus.Status=0:"ERROR",1:"OK")_" : "_OldMachineStatus.Message
. . Set To=$LB("pv@vanhoecke.be","stm@vanhoecke.be")
. . Set:MachineID="HALUX" To=To_$LB("dgu@vanhoecke.be")
. . Set To=$LB("pv@vanhoecke.be")
. . Set Werkpost=$S(MachineID="HALUX":##class(APPS.Halux.TBX.enu.Werkpost).KartonHalux(),1:##class(APPS.Halux.TBX.enu.Werkpost).KartonOrgalux())
. . Set Body="Duur : "_(CurrentTijdStip-OldTijdStip)_" sec"
. . Set Body=Body_$C(13)_"Werkpost : "_Werkpost
. . Set Body=Body_$C(13)_"OptiServer : "_oStatus.ServerName
. . Do SendMiniMail^vhLib(From,To,Subj,Body,,,,,)
. . Do ##class(APPS.Halux.TBX.Stilstanden).Create(Werkpost, , OldMachineStatus.Message, (CurrentTijdStip-OldTijdStip))
]]>
Controleert of de machine status in error staat voor een aantal seconde
1
MachineID,WaitTime:%Integer=10
%String
1
Nr,ServerName
1
pxCardboardLoaded:BL.Prod.OptiBox.sub.pxCardboardLoaded
D ##class(BL.Prod.OptiBox.Diverse).%New().BoxSelectUsed()
D ##class(BL.Prod.OptiBox.Diverse).%New().ImportBoxSelect("//optibox/panotecoptimizer/xml/","DEFINEBOXSELECT.XML")
D ##class(BL.Prod.OptiBox.Diverse).%New().ImportBoxSelect("//Cache01/c$/CacheSys/CSP/vhINTRA/","DefineBOXSELECT.XML")
Dir,FileName
pxBoxSelectGroep
D ##class(BL.Prod.OptiBox.Diverse).%New().ImportCardboard("//Notes01/Shared/P V/","CARDBOARDDEFS.XML")
D ##class(BL.Prod.OptiBox.Diverse).%New().ImportCardboard("c:/CacheSys/CSP/vhINTRA/","CARDBOARDDEFS.XML")
Dir,FileName
pxCardboard
"_$S($isObject(oCardboard.Product):oCardboard.Product.KortTekst,1:"noproduct"))
Set sc=oCardboard.%Save()
Do WE^vhDBG(sc,"SAVE ERROR on "_..%ClassName()_".SaveCardboard")
Quit sc
]]>