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
right
1
PRNr
1
ProductID:%String
%Boolean
0 )
}
Catch {
Do ##class(TECH.ExceptionHandler).Catch()
// Nog te melden of niet ?
}
Quit HasOptiData
]]>
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
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
Geeft een Exceptie i.p.v. $$$False
OptiboxServer:BL.Prod.OptiBox.enu.OptiServer=##class(BL.Prod.OptiBox.enu.OptiServer).SmallEnCuts()
1
%Boolean
BeginTekst:%String,objlasterror:%Status,SoapFault:%SOAP.Fault=""
1
w ##class(BL.Prod.OptiBox.Diverse).Alive(##class(BL.Prod.OptiBox.enu.OptiServer).SmallEnCuts())
1
OptiServer:BL.Prod.OptiBox.enu.OptiServer
%Boolean
1
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
#dim From As %String = "System@vanhoecke.be"
#dim Subj As %String="Kartonsnijmachine : "_MachineID_", "_$J((CurrentTijdStip-OldTijdStip)/60,0,0)_"min. niet beschikbaar, machinestatus = "_$S(OldMachineStatus.Status=0:"ERROR",1:"OK")_" : "_OldMachineStatus.Message
#dim To As %List = $LB("pv@vanhoecke.be")
#dim Werkpost As APPS.Halux.common.enu.Werkpost = $S(MachineID="HALUX":##class(APPS.Halux.common.enu.Werkpost).KartonHalux(),1:##class(APPS.Halux.common.enu.Werkpost).KartonOrgalux())
#dim Body As %String ="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,,,,,)
#dim BatchID As %String = ""
Do ##class(APPS.Halux.Opvolging.impl.Stilstanden).Registreer(..%ClassName(1),Werkpost,BatchID, 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
]]>