# Leave_System **Repository Path**: lingsensen/Leave_System ## Basic Information - **Project Name**: Leave_System - **Description**: 基于odoo开发的请假系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-09 - **Last Updated**: 2021-04-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Leave_System 基于odoo开发的请假系统 请假系统功能要求 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视图中显示按钮(按钮绑定方法),点击按钮同步改变状态