v1.1.0: 实现核心业务逻辑(扫描/任务书/派发/状态机)
新增(scripts/ 分层完整实现):
- scripts/util/{constants,date_util,runtime_paths,logging_setup}.py
- scripts/db/{connection,seed_data,repository}.py(SQLite + 5 张表 + 50 份样例合同)
- scripts/service/{scanner,task_generator,dispatcher,html_renderer}.py
- scripts/cli/app.py(argparse 子命令)
- scripts/templates/task.html.j2(Jinja2 渲染,无 jinja2 时降级到 str.replace)
- examples/{contracts_sample,performance_sample}.csv(本地样例数据)
修改:
- scripts/main.py:argparse + jiangchang_skill_core 降级
- SKILL.md:version 1.0.1 → 1.1.0
- CHANGELOG.md:加 v1.1.0 条目
- .env.example:加 DB_PATH / HTML_OUTPUT_DIR / JIANGCHANG_DATA_DIR
本地验证(9 个 CLI 命令全部 exit code = 0):
- health / version / config-path / init-db:基础 4 命令
- scan-expiring-contracts --thresholds 90,60,30:42 份可续聘 → 红 10 / 橙 10 / 黄 10,生成 30 任务
- render-html:写 output/<task_id>.html(4.9 KB)
- generate-renewal-task:单份合同任务书生成
- mark-contract-renewed:状态机更新 + 关闭 open alerts
- dispatch-task-notice:按单位/月份派发 payload(dry-run 模式)
业务规则(AI 续聘建议本地版,规则顺序判断):
1. 师德 < 60 → non_renew
2. 近 3 年考核有不合格(< 60)→ observe
3. 全部 >= 80 且逐年上升 → renew
4. 其他 → observe
Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
51
examples/contracts_sample.csv
Normal file
51
examples/contracts_sample.csv
Normal file
@@ -0,0 +1,51 @@
|
||||
contract_id,employee_id,teacher_name,unit_id,unit_name,position,contract_type,contract_start,contract_end,trial_period_end,status
|
||||
C001,E0001,朱华,U01,计算机学院,副教授,聘用合同,2023-08-29,2026-08-13,2024-08-28,已驳回
|
||||
C002,E0002,周超,U02,经管学院,副教授,聘用合同,2023-09-22,2026-08-25,2024-09-21,已驳回
|
||||
C003,E0003,徐磊敏,U03,马克思主义学院,副教授,劳动合同,2023-09-15,2026-08-07,2024-09-14,已驳回
|
||||
C004,E0004,李涛,U04,教务处,助教,聘用合同,2023-09-13,2026-08-15,2024-09-12,已驳回
|
||||
C005,E0005,赵秀英丽,U05,后勤处,讲师,劳动合同,2023-10-12,2026-08-11,2024-10-11,已驳回
|
||||
C006,E0006,陈明,U01,计算机学院,助教,聘用合同,2023-09-14,2026-09-25,2024-09-13,可续聘
|
||||
C007,E0007,胡洋军,U02,经管学院,教授,聘用合同,2023-08-31,2026-09-16,2024-08-30,可续聘
|
||||
C008,E0008,王杰平,U03,马克思主义学院,助教,劳动合同,2023-08-26,2026-09-30,2024-08-25,可续聘
|
||||
C009,E0009,吴艳,U04,教务处,副教授,聘用合同,2023-09-11,2026-09-26,2024-09-10,可续聘
|
||||
C010,E0010,陈刚磊,U05,后勤处,副教授,劳动合同,2023-09-19,2026-10-08,2024-09-18,可续聘
|
||||
C011,E0011,徐勇,U01,计算机学院,教授,劳动合同,2023-08-27,2026-09-23,2024-08-26,可续聘
|
||||
C012,E0012,何杰敏,U02,经管学院,教授,劳动合同,2023-10-08,2026-10-02,2024-10-07,可续聘
|
||||
C013,E0013,何艳娜,U03,马克思主义学院,助教,劳动合同,2023-09-18,2026-09-18,2024-09-17,可续聘
|
||||
C014,E0014,郭涛平,U04,教务处,讲师,聘用合同,2023-09-06,2026-10-07,2024-09-05,可续聘
|
||||
C015,E0015,胡勇静,U05,后勤处,助教,劳动合同,2023-08-22,2026-10-02,2024-08-21,可续聘
|
||||
C016,E0016,马娜强,U01,计算机学院,助教,聘用合同,2023-08-23,2026-10-20,2024-08-22,可续聘
|
||||
C017,E0017,高秀英艳,U02,经管学院,副教授,劳动合同,2023-08-17,2026-10-20,2024-08-16,可续聘
|
||||
C018,E0018,赵芳,U03,马克思主义学院,教授,聘用合同,2023-10-13,2026-10-23,2024-10-12,可续聘
|
||||
C019,E0019,林勇娜,U04,教务处,讲师,劳动合同,2023-09-10,2026-10-30,2024-09-09,可续聘
|
||||
C020,E0020,杨娜杰,U05,后勤处,助教,聘用合同,2023-10-11,2026-11-11,2024-10-10,可续聘
|
||||
C021,E0021,吴桂英,U01,计算机学院,讲师,劳动合同,2023-10-08,2026-11-03,2024-10-07,可续聘
|
||||
C022,E0022,林娟,U02,经管学院,副教授,聘用合同,2023-08-25,2026-11-08,2024-08-24,可续聘
|
||||
C023,E0023,朱娟,U03,马克思主义学院,教授,劳动合同,2023-09-11,2026-10-21,2024-09-10,可续聘
|
||||
C024,E0024,林杰超,U04,教务处,教授,劳动合同,2023-10-06,2026-11-09,2024-10-05,可续聘
|
||||
C025,E0025,黄静,U05,后勤处,副教授,聘用合同,2023-10-07,2026-11-02,2024-10-06,可续聘
|
||||
C026,E0026,李杰,U01,计算机学院,副教授,劳动合同,2023-09-27,2026-11-29,2024-09-26,可续聘
|
||||
C027,E0027,何磊勇,U02,经管学院,教授,聘用合同,2023-09-18,2026-11-26,2024-09-17,可续聘
|
||||
C028,E0028,吴静涛,U03,马克思主义学院,副教授,劳动合同,2023-09-07,2026-12-11,2024-09-06,可续聘
|
||||
C029,E0029,郭磊娟,U04,教务处,副教授,劳动合同,2023-10-03,2026-12-08,2024-10-02,可续聘
|
||||
C030,E0030,杨明强,U05,后勤处,助教,聘用合同,2023-09-11,2026-11-26,2024-09-10,可续聘
|
||||
C031,E0031,王杰涛,U01,计算机学院,讲师,劳动合同,2023-08-18,2026-12-05,2024-08-17,可续聘
|
||||
C032,E0032,朱涛华,U02,经管学院,教授,劳动合同,2023-08-31,2026-11-21,2024-08-30,可续聘
|
||||
C033,E0033,罗超,U03,马克思主义学院,副教授,劳动合同,2023-09-03,2026-12-11,2024-09-02,可续聘
|
||||
C034,E0034,杨强,U04,教务处,教授,劳动合同,2023-09-28,2026-11-16,2024-09-27,可续聘
|
||||
C035,E0035,高磊,U05,后勤处,副教授,聘用合同,2023-10-01,2026-11-27,2024-09-30,可续聘
|
||||
C036,E0036,黄洋平,U01,计算机学院,助教,劳动合同,2023-08-24,2027-02-23,2024-08-23,已续签
|
||||
C037,E0037,徐明芳,U02,经管学院,讲师,聘用合同,2023-09-26,2026-12-19,2024-09-25,已续签
|
||||
C038,E0038,赵伟超,U03,马克思主义学院,助教,聘用合同,2023-10-11,2027-03-01,2024-10-10,已续签
|
||||
C039,E0039,罗伟,U04,教务处,讲师,聘用合同,2023-08-30,2027-04-02,2024-08-29,可续聘
|
||||
C040,E0040,郭明霞,U05,后勤处,教授,劳动合同,2023-09-08,2027-02-02,2024-09-07,可续聘
|
||||
C041,E0041,周芳霞,U01,计算机学院,助教,劳动合同,2023-10-09,2027-05-13,2024-10-08,可续聘
|
||||
C042,E0042,黄丽,U02,经管学院,副教授,劳动合同,2023-10-05,2027-07-16,2024-10-04,可续聘
|
||||
C043,E0043,王艳刚,U03,马克思主义学院,教授,劳动合同,2023-10-14,2027-08-28,2024-10-13,可续聘
|
||||
C044,E0044,朱杰桂英,U04,教务处,副教授,劳动合同,2023-08-24,2027-04-16,2024-08-23,可续聘
|
||||
C045,E0045,张勇明,U05,后勤处,教授,劳动合同,2023-09-20,2027-08-06,2024-09-19,可续聘
|
||||
C046,E0046,罗秀英,U01,计算机学院,讲师,聘用合同,2023-09-30,2027-07-26,2024-09-29,可续聘
|
||||
C047,E0047,王伟,U02,经管学院,副教授,劳动合同,2023-09-03,2026-12-22,2024-09-02,可续聘
|
||||
C048,E0048,刘鹏娜,U03,马克思主义学院,讲师,聘用合同,2023-09-08,2027-02-25,2024-09-07,可续聘
|
||||
C049,E0049,黄娜鹏,U04,教务处,副教授,聘用合同,2023-10-13,2027-07-16,2024-10-12,可续聘
|
||||
C050,E0050,马涛强,U05,后勤处,副教授,劳动合同,2023-09-02,2027-06-21,2024-09-01,可续聘
|
||||
|
151
examples/performance_sample.csv
Normal file
151
examples/performance_sample.csv
Normal file
@@ -0,0 +1,151 @@
|
||||
record_id,contract_id,year,performance_score,moral_teaching_score,research_score,teaching_score
|
||||
R0001,C001,2023,89,93,93,84
|
||||
R0002,C001,2024,87,93,84,86
|
||||
R0003,C001,2025,77,93,71,79
|
||||
R0004,C002,2023,75,93,84,70
|
||||
R0005,C002,2024,80,93,90,80
|
||||
R0006,C002,2025,95,93,89,98
|
||||
R0007,C003,2023,80,86,77,81
|
||||
R0008,C003,2024,76,86,80,78
|
||||
R0009,C003,2025,93,86,87,88
|
||||
R0010,C004,2023,88,78,90,90
|
||||
R0011,C004,2024,90,78,91,88
|
||||
R0012,C004,2025,77,78,77,77
|
||||
R0013,C005,2023,92,97,91,88
|
||||
R0014,C005,2024,82,97,76,86
|
||||
R0015,C005,2025,76,97,83,81
|
||||
R0016,C006,2023,92,99,98,91
|
||||
R0017,C006,2024,93,99,91,88
|
||||
R0018,C006,2025,81,99,80,85
|
||||
R0019,C007,2023,79,93,69,74
|
||||
R0020,C007,2024,76,93,70,75
|
||||
R0021,C007,2025,91,93,96,88
|
||||
R0022,C008,2023,75,91,82,78
|
||||
R0023,C008,2024,75,91,74,80
|
||||
R0024,C008,2025,95,91,98,94
|
||||
R0025,C009,2023,78,87,84,82
|
||||
R0026,C009,2024,86,87,96,86
|
||||
R0027,C009,2025,95,87,100,94
|
||||
R0028,C010,2023,84,80,78,80
|
||||
R0029,C010,2024,79,80,81,76
|
||||
R0030,C010,2025,93,80,99,95
|
||||
R0031,C011,2023,83,88,81,78
|
||||
R0032,C011,2024,78,88,76,75
|
||||
R0033,C011,2025,84,88,93,79
|
||||
R0034,C012,2023,91,88,83,93
|
||||
R0035,C012,2024,82,88,77,81
|
||||
R0036,C012,2025,77,88,79,75
|
||||
R0037,C013,2023,77,98,82,77
|
||||
R0038,C013,2024,76,98,85,73
|
||||
R0039,C013,2025,85,98,94,80
|
||||
R0040,C014,2023,91,87,96,92
|
||||
R0041,C014,2024,85,87,90,90
|
||||
R0042,C014,2025,93,87,84,91
|
||||
R0043,C015,2023,86,88,84,86
|
||||
R0044,C015,2024,79,88,71,79
|
||||
R0045,C015,2025,91,88,83,95
|
||||
R0046,C016,2023,94,78,94,93
|
||||
R0047,C016,2024,90,78,88,85
|
||||
R0048,C016,2025,55,78,55,51
|
||||
R0049,C017,2023,93,78,96,92
|
||||
R0050,C017,2024,79,78,86,78
|
||||
R0051,C017,2025,85,78,76,85
|
||||
R0052,C018,2023,80,76,77,79
|
||||
R0053,C018,2024,84,76,77,83
|
||||
R0054,C018,2025,95,76,88,100
|
||||
R0055,C019,2023,85,81,90,89
|
||||
R0056,C019,2024,86,81,79,84
|
||||
R0057,C019,2025,94,81,93,95
|
||||
R0058,C020,2023,82,76,82,78
|
||||
R0059,C020,2024,90,76,92,89
|
||||
R0060,C020,2025,75,76,84,74
|
||||
R0061,C021,2023,83,90,77,79
|
||||
R0062,C021,2024,79,90,85,81
|
||||
R0063,C021,2025,77,90,74,79
|
||||
R0064,C022,2023,93,76,97,96
|
||||
R0065,C022,2024,81,76,85,86
|
||||
R0066,C022,2025,91,76,86,94
|
||||
R0067,C023,2023,85,99,82,81
|
||||
R0068,C023,2024,86,99,89,82
|
||||
R0069,C023,2025,83,99,77,86
|
||||
R0070,C024,2023,77,95,74,77
|
||||
R0071,C024,2024,78,95,72,77
|
||||
R0072,C024,2025,89,95,88,94
|
||||
R0073,C025,2023,75,97,68,80
|
||||
R0074,C025,2024,82,97,78,87
|
||||
R0075,C025,2025,90,97,98,94
|
||||
R0076,C026,2023,79,75,75,74
|
||||
R0077,C026,2024,93,75,84,91
|
||||
R0078,C026,2025,90,75,80,87
|
||||
R0079,C027,2023,80,76,75,85
|
||||
R0080,C027,2024,94,76,98,95
|
||||
R0081,C027,2025,77,76,74,77
|
||||
R0082,C028,2023,83,76,92,81
|
||||
R0083,C028,2024,79,76,74,83
|
||||
R0084,C028,2025,81,76,86,77
|
||||
R0085,C029,2023,90,84,80,95
|
||||
R0086,C029,2024,81,84,76,77
|
||||
R0087,C029,2025,75,84,65,75
|
||||
R0088,C030,2023,92,79,90,95
|
||||
R0089,C030,2024,84,79,75,86
|
||||
R0090,C030,2025,94,79,96,95
|
||||
R0091,C031,2023,90,91,93,93
|
||||
R0092,C031,2024,79,91,83,84
|
||||
R0093,C031,2025,84,91,85,87
|
||||
R0094,C032,2023,85,88,78,82
|
||||
R0095,C032,2024,92,88,90,95
|
||||
R0096,C032,2025,91,88,99,91
|
||||
R0097,C033,2023,88,98,90,88
|
||||
R0098,C033,2024,83,98,90,87
|
||||
R0099,C033,2025,86,98,85,81
|
||||
R0100,C034,2023,80,97,83,84
|
||||
R0101,C034,2024,94,97,90,89
|
||||
R0102,C034,2025,95,97,86,96
|
||||
R0103,C035,2023,82,76,90,79
|
||||
R0104,C035,2024,90,76,86,95
|
||||
R0105,C035,2025,77,76,73,73
|
||||
R0106,C036,2023,83,91,83,87
|
||||
R0107,C036,2024,95,91,100,98
|
||||
R0108,C036,2025,76,91,86,74
|
||||
R0109,C037,2023,79,98,78,84
|
||||
R0110,C037,2024,94,98,93,98
|
||||
R0111,C037,2025,75,98,67,74
|
||||
R0112,C038,2023,95,89,86,96
|
||||
R0113,C038,2024,87,89,87,87
|
||||
R0114,C038,2025,92,89,88,92
|
||||
R0115,C039,2023,90,91,96,91
|
||||
R0116,C039,2024,86,91,79,89
|
||||
R0117,C039,2025,81,91,84,82
|
||||
R0118,C040,2023,76,98,84,81
|
||||
R0119,C040,2024,82,98,72,80
|
||||
R0120,C040,2025,91,98,84,92
|
||||
R0121,C041,2023,84,99,76,81
|
||||
R0122,C041,2024,85,99,78,83
|
||||
R0123,C041,2025,81,99,79,82
|
||||
R0124,C042,2023,82,99,86,78
|
||||
R0125,C042,2024,80,99,70,79
|
||||
R0126,C042,2025,79,99,79,78
|
||||
R0127,C043,2023,94,82,98,99
|
||||
R0128,C043,2024,77,82,71,78
|
||||
R0129,C043,2025,91,82,97,93
|
||||
R0130,C044,2023,75,82,79,73
|
||||
R0131,C044,2024,78,82,73,83
|
||||
R0132,C044,2025,88,82,79,83
|
||||
R0133,C045,2023,93,94,100,97
|
||||
R0134,C045,2024,76,94,77,73
|
||||
R0135,C045,2025,79,94,82,80
|
||||
R0136,C046,2023,81,86,71,86
|
||||
R0137,C046,2024,82,86,82,82
|
||||
R0138,C046,2025,78,86,82,76
|
||||
R0139,C047,2023,79,83,73,78
|
||||
R0140,C047,2024,89,83,97,86
|
||||
R0141,C047,2025,92,83,90,93
|
||||
R0142,C048,2023,92,81,87,91
|
||||
R0143,C048,2024,84,81,89,83
|
||||
R0144,C048,2025,85,81,78,81
|
||||
R0145,C049,2023,81,86,80,80
|
||||
R0146,C049,2024,77,86,80,82
|
||||
R0147,C049,2025,87,86,93,83
|
||||
R0148,C050,2023,76,96,82,75
|
||||
R0149,C050,2024,94,96,93,92
|
||||
R0150,C050,2025,93,96,100,93
|
||||
|
Reference in New Issue
Block a user