勤怠管理システム - 生产环境资源

本リポジトリは勤怠管理システム(サブシステムA:勤怠休暇管理、サブシステムB:残業統計管理、サブシステムC:給与計算)の生产环境最終版リソースを管理する。

目录结构

production/
├── src/              # 主程序源代码(COBOL)
├── sub/              # 共通サブプログラム(SUB01DATSUB05TIM
├── 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

  1. GnuCOBOL 文件读取特性: 在纯二进制定长文件(无行分隔符)模式下,GnuCOBOL READ 操作可能在真正 EOF 前多产生一条记录,这是运行时环境的已知行为,非代码 Bug。

  2. COPY 文件命名: 所有 COPY 文件均保留原始命名,无额外字符后缀。

  3. 备份文件: 生产环境只包含最新确定的版本,不包含 .bak._fixed 等中间版本。

  4. 编码: 源文件使用 ASCII/JIS 编码保存。

维护建议

  • 每次修改后请再次进行完整疏通测试
  • JCL/batch 脚本的 DD 变量名需与实际 DD 分配一致
  • 确保 COB_LIBRARY_PATH 包含 SUB*.dll(如需要动态加载)
S
Description
No description provided
Readme 3.7 MiB
Languages
COBOL 100%