Odoo开发——完整请假系统功能需求及源码

本文详细介绍了Odoo平台上的一个请假系统开发,包括员工请假、加班表单填写,管理员和部门经理的审批流程,以及权限规划。系统功能涵盖请假、加班的申请与审批,统计显示请假数据,并解决时间计算、权限配置、数据同步等问题。同时,文章提供了遇到的问题及其解决方案,并给出了代码仓库链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

请假系统功能要求

1、 员工可填写请假表单,包括请假人、部门、开始时间、结束时间、天数、类型(病假、事假、年假),请假原因。
2、 员工可填写加班表单,包括加班人、部门、开始时间、结束时间、天数、加班原因。
3、 管理员、审批岗可见所有请假申请并进行批量审批及拒绝。
4、 部门经理只读部门内部请假列表。
5、 请假列表:统计显示请假天数、请假人数;维度(部门、姓名、时间)
6、 功能限制:请假天数最小单位0.5天,只可填0.5倍数。请假开始时间不得低于当前日期3天,调休不可超过加班天数。
7、 调休时间,年假,根据使用情况自动变更同步数据。
8、 表单状态:草稿、审批中、修改中(驳回状态)、审批通过,按钮根据状态显示。
9、 权限规划:管理员拥有最高权限。人力岗拥有所有权限,增删改(审批通过无法删除及修改)、权限配置及审批;部门经理只可见部门内部数据,进行审批;普通员工只可见个人请假数据,进行提交、修改;说明:员工提交单据由部门经理审批,部门经理可指定审批人。

所遇到的问题及解决方法:

1.时间日期问题的计算:用strptime将时间日期类型转换成字符串类型进行计算,将小时转化成上下午计算,解决时间有重复问题,运用数组将所有记录进行遍历比较,选择的时间不能在区间内

2.批量选择服务器动作:涉及到员工权限问题,无法用员工权限用户组将服务器动作隐藏,因此将限制功能写入到按钮里,按钮所对应的方法进行限制判断。

3.权限的配置:定义用户组,赋予权限,记录规则限制当前用户只能看到自己的数据

4.人数和天数的统计总数:在view视图字段后加sum=“字段名”

5.图表视图的显示:参考odoo,graph视图功能模块

6.时间功能上的限制:运用python模型约束,对字段进行相对应的判断

7.数据上的同步变更:将计算的数据放入继承用户个人信息记录表里,通过对继承的用户信息表取数据

8.表单状态工作流按钮显示:在类中定义字段按钮以及按钮所对应方法,view视图中显示按钮(按钮绑定方法),点击按钮同步改变状态

详情代码请见git仓库:https://github.com/xulejun/Leave_System

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序少年不秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值