start.bat
3.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
REM 绿纤美业ERP工资核算服务启动脚本 (Windows)
REM 支持Windows 10/11, Windows Server 2016+
echo.
echo ========================================
echo 绿纤美业ERP工资核算服务
echo ========================================
echo.
REM 检查参数
if "%1"=="--help" goto :help
if "%1"=="-h" goto :help
if "%1"=="--version" goto :version
if "%1"=="-v" goto :version
if "%1"=="--build" goto :build
if "%1"=="--clean" goto :clean
REM 检查.NET 6是否安装
echo [INFO] 检查.NET 6环境...
dotnet --version >nul 2>&1
if errorlevel 1 (
echo [ERROR] .NET 6 未安装,请先安装 .NET 6 SDK
echo [INFO] 下载地址: https://dotnet.microsoft.com/download/dotnet/6.0
pause
exit /b 1
)
for /f "tokens=*" %%i in ('dotnet --version') do set DOTNET_VERSION=%%i
echo [INFO] 检测到 .NET 版本: %DOTNET_VERSION%
REM 检查配置文件
if not exist "appsettings.json" (
echo [ERROR] 配置文件 appsettings.json 不存在
pause
exit /b 1
)
echo [INFO] 配置文件检查通过
REM 创建必要目录
echo [INFO] 创建必要目录...
if not exist "logs" mkdir logs
if not exist "output" mkdir output
if not exist "backup" mkdir backup
echo [INFO] 目录创建完成
REM 还原NuGet包
echo [INFO] 还原NuGet包...
dotnet restore
if errorlevel 1 (
echo [ERROR] NuGet包还原失败
pause
exit /b 1
)
echo [INFO] NuGet包还原成功
REM 构建项目
echo [INFO] 构建项目...
dotnet build -c Release
if errorlevel 1 (
echo [ERROR] 项目构建失败
pause
exit /b 1
)
echo [INFO] 项目构建成功
REM 运行服务
set MONTH=%1
if "%MONTH%"=="" (
for /f "tokens=1,2 delims=-" %%a in ('date /t') do set MONTH=%%a-%%b
echo [WARN] 未指定计算月份,使用当前月份: %MONTH%
echo [INFO] 使用方法: %0 [YYYY-MM]
echo [INFO] 示例: %0 2024-09
)
echo [INFO] 启动工资核算服务,计算月份: %MONTH%
dotnet run --configuration Release -- %MONTH%
goto :end
:help
echo.
echo 绿纤美业ERP工资核算服务
echo.
echo 使用方法:
echo %0 [月份] 运行工资核算服务
echo %0 --help, -h 显示帮助信息
echo %0 --version, -v 显示版本信息
echo %0 --build 仅构建项目
echo %0 --clean 清理构建文件
echo.
echo 参数:
echo 月份 计算月份,格式: YYYY-MM (例如: 2024-09)
echo.
echo 示例:
echo %0 2024-09 计算2024年9月工资
echo %0 计算当前月份工资
echo.
echo 环境要求:
echo - .NET 6.0 SDK
echo - MySQL数据库连接
echo - 网络连接
goto :end
:version
echo 绿纤美业ERP工资核算服务 v1.0.0
echo 构建时间: %date% %time%
for /f "tokens=*" %%i in ('dotnet --version') do echo .NET版本: %%i
goto :end
:build
echo [INFO] 检查.NET 6环境...
dotnet --version >nul 2>&1
if errorlevel 1 (
echo [ERROR] .NET 6 未安装
pause
exit /b 1
)
echo [INFO] 检查配置文件...
if not exist "appsettings.json" (
echo [ERROR] 配置文件不存在
pause
exit /b 1
)
echo [INFO] 创建目录...
if not exist "logs" mkdir logs
if not exist "output" mkdir output
if not exist "backup" mkdir backup
echo [INFO] 还原包...
dotnet restore
if errorlevel 1 (
echo [ERROR] 还原失败
pause
exit /b 1
)
echo [INFO] 构建项目...
dotnet build -c Release
if errorlevel 1 (
echo [ERROR] 构建失败
pause
exit /b 1
)
echo [INFO] 构建完成
goto :end
:clean
echo [INFO] 清理构建文件...
dotnet clean
if exist "bin" rmdir /s /q "bin"
if exist "obj" rmdir /s /q "obj"
echo [INFO] 清理完成
goto :end
:end
pause