diff --git a/LSL2/STPROC/LABELING_SERVICES.txt b/LSL2/STPROC/LABELING_SERVICES.txt index ade35fd..b8e2fc6 100644 --- a/LSL2/STPROC/LABELING_SERVICES.txt +++ b/LSL2/STPROC/LABELING_SERVICES.txt @@ -8,6 +8,7 @@ Declare subroutine Error_Services, Labeling_Services, Lot_Services $insert LOGICAL $Insert LOT_EQUATES $Insert TEST_WAFER_PROD_EQUATES +$Insert RETURN_TO_FAB_LOTS_EQUATES LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\LabelPrinting' LogDate = Oconv(Date(), 'D4/') @@ -217,5 +218,39 @@ Service PrintReactorLabel(ReactNo, LoadLockSide=LOAD_LOCK_SIDE) end service +Service GetReturnToFabLabelZPL(RTFId) + ZPLStringLabel = '' + LotRec = Database_Services('ReadDataRow', 'RETURN_TO_FAB_LOTS', RTFId) + CassId = LotRec + CassType = LotRec + ReturnToFabReason = LotRec + CassIdText = CassId + BarcodeText = "" + Begin Case + Case CassType EQ 'RDS' + BarcodeText = '1T' : CassId + Case CassType EQ 'WM_OUT' + swap '*' with '.' in CassId + CassIdText = CassId + BarcodeText = 'O' : CassId + End Case + + ZPLStringLabel := '^XA' + ZPLStringLabel := '^LH0,0' + ZPLStringLabel := '^PR1' + ZPLStringLabel := '^LL406' + ZPLStringLabel := '^PW900' + ZPLStringLabel := '^MD22' + ZPLStringLabel := '^MMT' + ZPLStringLabel := '^FO25,25^A070,75^FDReturn To Fab^FS^FX(Title)^FS' + ZPLStringLabel := '^FO25,100^A045,70,40^FD(1T)Lot Number:':CassIdText:' ^FS^FX(Lot Number Title)^FS' + ZPLStringLabel := '^FB780,5,0,L^FO25,180^A045,30,30^FD':ReturnToFabReason:'^FS' + ZPLStringLabel := '^FO60,325^BY2^B3,,50,N^FD':BarcodeText:'^FS^FX(Lot Number 1D Barcode)^FS' + ZPLStringLabel := '^FO500,105^CI28' + ZPLStringLabel := '^XZ' + Response = ZPLStringLabel +end service + + diff --git a/LSL2/STPROC/RETURNTOFAB_API.txt b/LSL2/STPROC/RETURNTOFAB_API.txt index a416473..3b4fe30 100644 --- a/LSL2/STPROC/RETURNTOFAB_API.txt +++ b/LSL2/STPROC/RETURNTOFAB_API.txt @@ -38,7 +38,7 @@ Function Returntofab_API(@API) #pragma precomp SRP_PreCompiler -Declare function OI_Wizard_Services, Return_To_Fab_Services, Database_Services +Declare function OI_Wizard_Services, Return_To_Fab_Services, Database_Services, Labeling_Services Declare subroutine Return_To_Fab_Services $insert APP_INSERTS @@ -367,3 +367,38 @@ CreateResultOptionCollection: end return + + +API returntofab.getreturntofablabelzpl.HEAD +API returntofab.getreturntofablabelzpl.GET + OIWizardID = '' + Cookies = HTTP_Services('GetHTTPCookie') + For each Cookie in Cookies using ';' + Key = Field(Cookie, '=', 1) + If Key EQ 'sessionID' then + OIWizardID = Field(Cookie, '=', 2) + end + Next Cookie + + ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID) + + If ValidSession then + // Check if payload has the required information to create a react mode change record + RTFId = HTTP_Services('GetQueryField', 'ReturnToFabId') + If RTFId NE '' then + // The POST string will have been encoded so use percent (URL) decoding. + //Reactor_Services('CreateReactModeChange', UserID, ReactNo, Mode, ModeSubCat, ModeText) + ZPLString = Labeling_Services('GetReturnToFabLabelZPL', RTFId) + If Error_Services('NoError') And ZPLString NE '' then + // Maybe return the corresponding reactor object with the new current mode info. + HTTP_Services('SetResponseStatus', 201, ZPLString) + end else + HTTP_Services('SetResponseStatus', 400, Error_Services('GetMessage')) + end + end else + HTTP_Services('SetResponseStatus', 400, 'RTFId was null') + end + end else + HTTP_Services('SetResponseStatus', 401, 'Invalid session. Reauthentication required.') + end +end api