勤怠管理システム production 定版
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
# 勤怠管理システム - 生产环境资源
|
||||
|
||||
本リポジトリは勤怠管理システム(サブシステムA:勤怠休暇管理、サブシステムB:残業統計管理、サブシステムC:給与計算)の生产环境最終版リソースを管理する。
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
production/
|
||||
├── src/ # 主程序源代码(COBOL)
|
||||
├── sub/ # 共通サブプログラム(SUB01DAT~SUB05TIM)
|
||||
├── cpy/ # COPY書式ファイル(レコード定義・連絡領域)
|
||||
├── jcl/ # 実行スクリプト(Windows batch)
|
||||
└── 詳細設計書/ # 詳細設計ドキュメント
|
||||
|
||||
## 构建与运行
|
||||
|
||||
### 编译命令
|
||||
|
||||
```batch
|
||||
rem 单个程序编译
|
||||
tools\build.bat <cobol>\<program>.cbl
|
||||
|
||||
rem 例如:
|
||||
tools\build.bat cobol\ZAN01CHK.cbl
|
||||
tools\build.bat cobol\ZAN02CHK.cbl
|
||||
tools\build.bat cobol\ZAN03CHK.cbl
|
||||
```
|
||||
|
||||
### 运行环境设置
|
||||
|
||||
```batch
|
||||
set COB_CONFIG_DIR=C:\mingw64\share\gnucobol\config
|
||||
set COB_LIBRARY_PATH=<path_to_cobol_directory>
|
||||
```
|
||||
|
||||
### 输入输出 DD 名称对应关系
|
||||
|
||||
| 程序 | DD 名称 | 说明 |
|
||||
|----------|---------|----------------|
|
||||
| ZAN01CHK | ZAN01R01 | OVT-APPLY.DAT |
|
||||
| | ZAN01W01 | OVT-VALID.DAT |
|
||||
| | ZAN01W02 | OVT-CANCEL.DAT |
|
||||
| | ZAN01W03 | ERROR-LOG.DAT |
|
||||
| ZAN02CHK | ZAN02R01 | OVT-VSORT.DAT |
|
||||
| | ZAN02W01 | OVT-CHECKED.DAT|
|
||||
| | ZAN02W02 | ERROR-LOG.DAT |
|
||||
| ZAN03CHK | ZAN03R01 | OVT-NODUP.DAT |
|
||||
| | ZAN03R02 | PUNCH-SORTED.DAT|
|
||||
| | ZAN03R03 | HOLIDAY.DAT |
|
||||
| | ZAN03W01 | OVT-MATCHED.DAT|
|
||||
| | ZAN03W02 | ERROR-LOG.DAT |
|
||||
|
||||
## 测试结果概要
|
||||
|
||||
三个主程序均已通过疏通测试,覆盖正常和异常分支:
|
||||
|
||||
**ZAN01CHK - 残業申請振分処理**
|
||||
- ✓ CSV 格式解析正确
|
||||
- ✓ status=0/1 → W01 有效申请
|
||||
- ✓ status=9 → W02 取消申请
|
||||
- ✓ 无效状态/DATETIME CHECK→ W03错误日志
|
||||
- ✓ START TIME >= 1830验证
|
||||
- ✓ START < END验证
|
||||
- ✓ 时间差 >= 30min验证
|
||||
- **已修复**: W01/W02/W03 FILLER 未初始化 Bug
|
||||
|
||||
**ZAN02CHK - 時間帯重複チェック処理**
|
||||
- ✓ 同一天同一员工的时段重复检查
|
||||
- ✓ 初回记录直出到 W01
|
||||
- ✓ キーブレイク正确处理
|
||||
- ✓ OVERLAP 判断逻辑正确(前終了 > 現開始)
|
||||
- **已修复**: 主循环中首条记录与自身比较误判的 Bug
|
||||
- **已修复**: NORMALOUTSOR不更新 PREV 导致后续比较基准失准
|
||||
|
||||
**ZAN03CHK - 打刻時間照合処理**
|
||||
- ✓ R01(申请) vs R02(打刻) 匹配检查
|
||||
- ✓ 时间范围包含验证(申请⊆打刻)
|
||||
- ✓ NOMATCH 处理(无对应打刻)→ W02错误
|
||||
- ✓ MISMATCH 处理(时间不符)→ W02错误
|
||||
- ✓ HOLIDAY判定正确(OVT-TYPE="H")
|
||||
- ✓ R03休日计数问题已修复
|
||||
- ✓ W02 FILLER 初始化问题已修复
|
||||
- **已知限制**: GnuCOBOL 读无 CRLF 的二进制文件可能多产生一条伪空记录
|
||||
|
||||
## 重要 Notes
|
||||
|
||||
1. **GnuCOBOL 文件读取特性**: 在纯二进制定长文件(无行分隔符)模式下,GnuCOBOL READ 操作可能在真正 EOF 前多产生一条记录,这是运行时环境的已知行为,非代码 Bug。
|
||||
|
||||
2. **COPY 文件命名**: 所有 COPY 文件均保留原始命名,无额外字符后缀。
|
||||
|
||||
3. **备份文件**: 生产环境只包含最新确定的版本,不包含 *.bak.* 或 *_fixed* 等中间版本。
|
||||
|
||||
4. **编码**: 源文件使用 ASCII/JIS 编码保存。
|
||||
|
||||
## 维护建议
|
||||
|
||||
- 每次修改后请再次进行完整疏通测试
|
||||
- JCL/batch 脚本的 DD 变量名需与实际 DD 分配一致
|
||||
- 确保 `COB_LIBRARY_PATH` 包含 SUB*.dll(如需要动态加载)
|
||||
Reference in New Issue
Block a user