This commit is contained in:
145
PROMS/Baseline/AutomatedTesting.sql
Normal file
145
PROMS/Baseline/AutomatedTesting.sql
Normal file
@@ -0,0 +1,145 @@
|
||||
/* ========================================================================
|
||||
Copyright 2018 - Volian Enterprises, Inc. All rights reserved.
|
||||
Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
|
||||
------------------------------------------------------------------------
|
||||
This is a SQL script which can be used to create a CMD Batch file to
|
||||
perform automated testing on all of the folders within the current
|
||||
database and server.
|
||||
------------------------------- NOTE -----------------------------------
|
||||
There are no parameters in this script. The following values are
|
||||
retrieved from the databse which is currently open
|
||||
DB_NAME() - Gets the current Database Name
|
||||
@@Servername - Gets the current SQL Servername
|
||||
These are passed as parameters to PROMS along with some other paramters
|
||||
which specifies how the procedure should be printed.
|
||||
You can add REM before any folders that should not print
|
||||
****************************** CAUTION *********************************
|
||||
If you are comparing against code created before 8/1/2018 you will need
|
||||
to specify /NW to exclude the Word output which had not previously been
|
||||
included.
|
||||
=======================================================================*/
|
||||
PRINT 'REM Blank Line Before Batch Commands
|
||||
@ECHO OFF
|
||||
ECHO Automated testing assumes the following:
|
||||
ECHO C:\PDFS will be used to store the results of the Automated Print Testing
|
||||
ECHO C:\PROMS will be used to store the executable for the Automated Print Testing
|
||||
ECHO ---
|
||||
ECHO The following Parameter Needs to be set:
|
||||
set PROMSEXE=1.5.1805.910.Production
|
||||
ECHO PROMSEXE [%PROMSEXE%] - Subfolder of the PROMS Executable
|
||||
ECHO ---
|
||||
ECHO Automated Testing will:
|
||||
ECHO Delete PDFs
|
||||
ECHO Update Formats From the folder promsformats under the PROMSEXE folder
|
||||
set dbName=' + DB_NAME() + '
|
||||
set /p GroupComment=Specify Output[%PROMSEXE%_%dbName%]: || set GroupComment=%PROMSEXE%_%dbName%
|
||||
ECHO AAA >%TEMP%\VEPROMS\NewFile.txt
|
||||
for %%a in (%TEMP%\VEPROMS\NewFile.txt) do Set fdt=%%~ta
|
||||
for /F "tokens=1,2,3,4,5,6 delims=/: " %%i in (''echo %fdt%'') do call:sc_FixTime %%k %%i %%j %%n %%l %%m
|
||||
set fdt=%fdt::=%_%GroupComment%
|
||||
set ServerName=' + @@Servername + '
|
||||
md %TEMP%\VEPROMS\%fdt%
|
||||
echo %date% %time% Start ' + @@Servername + ' ' + DB_NAME() + '%GroupComment% >>%TEMP%\VEPROMS\%fdt%\Times.txt
|
||||
del %TEMP%\VEPROMS\NewFile.txt
|
||||
Rem Cleanup output folder before processing
|
||||
del %temp%\VEPROMS\*.txt
|
||||
del %temp%\VEPROMS\*.pdf
|
||||
Rem Delete PDFs
|
||||
sqlcmd -E -S%servername% -d%DBNAME% -b -Q "delete from pdfs"
|
||||
if ERRORLEVEL 1 goto :oops
|
||||
Rem Update Formats
|
||||
call :sc_setformats unnecessary unnecessary ' + DB_NAME() + ' unnecessary %PROMSEXE%
|
||||
Rem Perform PROMS printing for each Folder ----------------------------------------
|
||||
'
|
||||
|
||||
declare @CommandLine nvarchar(255)
|
||||
declare Commands cursor for
|
||||
select 'Call :sc_PrintPDF %TEMP%\VEPROMS ' +
|
||||
cast(VersionID as varchar(5))+ ' ' + db_name() + ' ' +
|
||||
Replace(Replace(ff.name,' ','_'),'-','_') + ' %PROMSEXE%'
|
||||
from docversions dv
|
||||
join folders ff on dv.folderID = ff.FolderID
|
||||
order by versionID
|
||||
OPEN Commands
|
||||
FETCH NEXT FROM Commands INTO @CommandLine
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
print @CommandLine
|
||||
FETCH NEXT FROM Commands INTO @CommandLine
|
||||
END
|
||||
CLOSE Commands
|
||||
DEALLOCATE Commands
|
||||
PRINT 'Call :sc_MoveErrorLog ' + db_name() +'
|
||||
|
||||
echo %date% %time% Done >>%TEMP%\VEPROMS\%fdt%\Times.txt
|
||||
Move %TEMP%\VEPROMS\%fdt% C:\PDFs\%fdt%
|
||||
|
||||
set GroupComment=
|
||||
set fdt=
|
||||
rem wait 20
|
||||
goto:eof
|
||||
|
||||
:sc_setformats
|
||||
echo loading formats from c:\proms\%5\promsformats
|
||||
"C:\PROMS\%5\VEPROMS.exe" /UF=c:\proms\%5\promsformats /P= /DB=%ServerName%:%3
|
||||
timeout /T 10
|
||||
goto:eof
|
||||
|
||||
:sc_PrintPDF
|
||||
echo %date% %time% Start %2 (%4) >>%TEMP%\VEPROMS\%fdt%\Times.txt
|
||||
echo Creating PDFs for DocVersion %2 (%4) in %3
|
||||
rem del %userprofile%\Documents\VEPROMS\%3*.txt
|
||||
"C:\PROMS\%5\VEPROMS.exe" /P=%2 /DB=%ServerName%:%3 /NT /NC
|
||||
rem -----------------------------------------------
|
||||
rem Add /NW to exclude Word Output to the Meta File
|
||||
rem -----------------------------------------------
|
||||
echo %date% %time% Done %2 (%4) >>%TEMP%\VEPROMS\%fdt%\Times.txt
|
||||
call :sc_AddText %3 %2 %4 %5
|
||||
C:
|
||||
cd %1
|
||||
if not exist DebugP*.txt goto:sc_PrintPDFNoFiles
|
||||
set fdt1=%fdt%\%3\%2_%4
|
||||
md %fdt1%
|
||||
del DOC_*.pdf > nul
|
||||
move *.pdf %fdt1% > nul
|
||||
move *.txt %fdt1% > nul
|
||||
for /F %%c in (''cd'') do echo Files Moved to %%c\%fdt1%
|
||||
set fdt1=
|
||||
goto:eof
|
||||
:sc_PrintPDFNoFiles
|
||||
for /F %%d in (''cd'') do echo No Files to Move in %%d
|
||||
goto:eof
|
||||
|
||||
:sc_FixTime
|
||||
set fdt=%1%2%3_%5%6
|
||||
if "%5%4"=="12PM" goto:sc_FixTimeDone
|
||||
if "%5%4"=="12AM" set fdt=%1%2%3_00%6
|
||||
if "%4"=="AM" goto:sc_FixTimeDone
|
||||
if "%5"=="01" set fdt=%1%2%3_13%6
|
||||
if "%5"=="02" set fdt=%1%2%3_14%6
|
||||
if "%5"=="03" set fdt=%1%2%3_15%6
|
||||
if "%5"=="04" set fdt=%1%2%3_16%6
|
||||
if "%5"=="05" set fdt=%1%2%3_17%6
|
||||
if "%5"=="06" set fdt=%1%2%3_18%6
|
||||
if "%5"=="07" set fdt=%1%2%3_19%6
|
||||
if "%5"=="08" set fdt=%1%2%3_20%6
|
||||
if "%5"=="09" set fdt=%1%2%3_21%6
|
||||
if "%5"=="10" set fdt=%1%2%3_22%6
|
||||
if "%5"=="11" set fdt=%1%2%3_23%6
|
||||
:sc_FixTimeDone
|
||||
echo %2/%3/%1 %5:%6 %4 %fdt%
|
||||
goto:eof
|
||||
|
||||
:sc_MoveErrorLog
|
||||
move %userprofile%\Documents\VEPROMS\%1*.txt %fdt%\%1 > nul
|
||||
goto:eof
|
||||
|
||||
:sc_AddText
|
||||
for %%a in ("%userprofile%\Documents\VEPROMS\%1 *.txt") do Set fil=%%a
|
||||
echo "=========== %4 Printing Complete %2 %3 ===========" >>"%fil%"
|
||||
set fil=
|
||||
goto :eof
|
||||
|
||||
oops:
|
||||
TIMEOUT /T 60
|
||||
'
|
Reference in New Issue
Block a user