Features: - feat: Excel template generation and download (with examples) - feat: Excel file parsing in memory (cloud-native, no disk write) - feat: Field validation (title + abstract required) - feat: Smart deduplication (DOI priority + Title fallback) - feat: Literature preview table with statistics - feat: Complete submission flow (create project + import literatures) Components: - feat: Create excelUtils.ts with full Excel processing toolkit - feat: Enhance TitleScreeningSettings page with upload/preview/submit - feat: Update API interface signatures and export unified aslApi object Dependencies: - chore: Add xlsx library for Excel file processing Ref: Week 2 Frontend Development - Day 2 Scope: ASL Module MVP - Title Abstract Screening Cloud-Native: Memory parsing, no file persistence
119 lines
2.1 KiB
Batchfile
119 lines
2.1 KiB
Batchfile
@echo off
|
|
echo ========================================
|
|
echo Stop All Services
|
|
echo ========================================
|
|
echo.
|
|
|
|
echo [1] Stopping backend service (port 3001)...
|
|
for /f "tokens=5" %%a in ('netstat -aon ^| findstr :3001') do (
|
|
set PID=%%a
|
|
echo Found process: PID=%%a
|
|
taskkill /F /PID %%a >nul 2>&1
|
|
if errorlevel 1 (
|
|
echo ERROR: Cannot terminate process %%a
|
|
) else (
|
|
echo OK: Process %%a terminated
|
|
)
|
|
)
|
|
|
|
echo.
|
|
echo [2] Stopping frontend service (port 5173)...
|
|
for /f "tokens=5" %%a in ('netstat -aon ^| findstr :5173') do (
|
|
set PID=%%a
|
|
echo Found process: PID=%%a
|
|
taskkill /F /PID %%a >nul 2>&1
|
|
if errorlevel 1 (
|
|
echo ERROR: Cannot terminate process %%a
|
|
) else (
|
|
echo OK: Process %%a terminated
|
|
)
|
|
)
|
|
|
|
echo.
|
|
echo [3] Stopping Python service (port 8000)...
|
|
for /f "tokens=5" %%a in ('netstat -aon ^| findstr :8000') do (
|
|
set PID=%%a
|
|
echo Found process: PID=%%a
|
|
taskkill /F /PID %%a >nul 2>&1
|
|
if errorlevel 1 (
|
|
echo ERROR: Cannot terminate process %%a
|
|
) else (
|
|
echo OK: Process %%a terminated
|
|
)
|
|
)
|
|
|
|
echo.
|
|
echo [4] Terminating all Node processes...
|
|
tasklist | findstr node.exe >nul
|
|
if not errorlevel 1 (
|
|
echo Found Node processes, terminating...
|
|
taskkill /F /IM node.exe >nul 2>&1
|
|
if errorlevel 1 (
|
|
echo ERROR: Cannot terminate Node processes
|
|
) else (
|
|
echo OK: All Node processes terminated
|
|
)
|
|
) else (
|
|
echo INFO: No running Node processes
|
|
)
|
|
|
|
echo.
|
|
echo [5] Terminating Python processes (uvicorn)...
|
|
tasklist | findstr python.exe >nul
|
|
if not errorlevel 1 (
|
|
echo Found Python processes, terminating...
|
|
taskkill /F /IM python.exe >nul 2>&1
|
|
if errorlevel 1 (
|
|
echo ERROR: Cannot terminate Python processes
|
|
) else (
|
|
echo OK: All Python processes terminated
|
|
)
|
|
) else (
|
|
echo INFO: No running Python processes
|
|
)
|
|
|
|
echo.
|
|
echo ========================================
|
|
echo Cleanup Complete!
|
|
echo ========================================
|
|
echo.
|
|
echo All services stopped. You can restart them now.
|
|
echo.
|
|
pause
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|