人事部门反馈,现有的人事管理系统,在员工劳动合同续签时,只支持固定期限合同续签,不支持无固定期限合同续签。
正常情况下,第三次续签时,员工就会转为无固定期限合同。
当时设计的时候,确实没有考虑到这个场景,上周忙大赛系统的开发,这周才有时间来处理这个问题。
数据库设计
原来的员工表中,已经有了一个字段,表示合同类型;以及一个合同续签次数字段。
对应的 golang 结构体字段:
ContractType string // 合同类型。劳动合同,实习协议,退休返聘协议
RenewalCount int // 合同续签次数
ContractTime utils.NullDate // 合同签订日。格式为 YYYY-MM-DD,例如 2020-01-01
ContractEndTime utils.NullDate // 合同到期日。格式为 YYYY-MM-DD,例如 2020-01-01
看来,需要增加一个新字段,表示是否是无固定期限合同。
无固定期限合同的英文
- 无固定期限合同:Open-ended (labor) contracts
- 固定期限和同:labor contract with fixed-term
这里字段命名为 OpenEndedContract。1 表示是无固定期限合同,0 表示固定期限合同。
数据库字段命名为 open_ended_contract,类型为 int,默认值为 0。
业务逻辑修改点
- 续签合同接口。需要增加一个参数,表示是否是无固定期限合同。
- 员工信息编辑接口。需要增加一个参数,表示是否是无固定期限合同。如果是,需要将合同到期日设置为 null。
- 人事专门代办功能。每天凌晨自动扫描快到期的合同,需要能兼容无固定期限合同的情况。对于无固定期限合同,不需要提醒续签。
- 花名册导入功能,需要能兼容无固定期限合同的情况。批量导入 Excel 的“合同到期日”列的值为“无固定期限”时,表示该员工是无固定期限合同。现有的日期类型解析函数还不支持“无固定期限”这个特殊值,需要增加一个特殊的处理函数来处理这个情况。
- 花名册导出功能,也需要兼容无固定期限合同的情况。需要将”合同到期日”列的值设置为“无固定期限”
github copilot AI 自动实现的尝试
每天开发这种无聊的需求,即没有成就感,也没有人认可,确实很痛苦。
我想试试能否让 AI 自动去实现这些批量的改动。
我问了一下 gemini:
github copilot 是否能自动修复 github issue 中记录的 bug 和新功能
得到的回答是:
Assign to Copilot (指派给 Copilot) 在 GitHub 的 Issue 界面中,你可以像指派同事一样,在 Assignees 栏选择 “Copilot”。
- 自动领任务: 一旦指派,Copilot 机器人会自动开始分析该 Issue。
- 生成修复 PR: 它会分析 Bug 根源,完成后自动提交一个 PR,并在 PR 描述中解释它是如何修复的。
我感觉这才是未来的趋势啊,让业务部门直接去 github issue 中描述需求和 bug,然后 AI 自动去分析和修复,开发人员只需要 review 和 merge 就好了。
关于作者 🌱
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式