c13e2407d7d6f963e9938e5c52d56fb85712dcb4
勤怠管理システム - 生产环境资源
本リポジトリは勤怠管理システム(サブシステム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
运行环境设置
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
-
GnuCOBOL 文件读取特性: 在纯二进制定长文件(无行分隔符)模式下,GnuCOBOL READ 操作可能在真正 EOF 前多产生一条记录,这是运行时环境的已知行为,非代码 Bug。
-
COPY 文件命名: 所有 COPY 文件均保留原始命名,无额外字符后缀。
-
备份文件: 生产环境只包含最新确定的版本,不包含 .bak. 或 _fixed 等中间版本。
-
编码: 源文件使用 ASCII/JIS 编码保存。
维护建议
- 每次修改后请再次进行完整疏通测试
- JCL/batch 脚本的 DD 变量名需与实际 DD 分配一致
- 确保
COB_LIBRARY_PATH包含 SUB*.dll(如需要动态加载)
Description
Languages
COBOL
100%