odoo开发——考勤系统(钉钉同步数据)

功能要求:

1、 建立员工档案表、考勤异常表、考勤明细表。

2、 从钉钉同步在职员工基本信息,每半小时一次,可手动同步。

3、 从钉钉同步员工考勤数据,每半小时一次,可手动同步。

4、 考勤明细表记录所有考勤信息,异常表只记录考勤异常的记录

5、 补卡申请表单状态:草稿、提交申请、审批中、修改中(驳回状态)、审批通过,按钮根据状态显示。

6、 员工每个月只有一次补卡机会,当补卡次数为0时,可以创建补卡申请表单。补卡申请表状态为通过时,考勤异常表显示该时间段已补卡,补卡次数减少。

7、菜单规划:员工档案、考勤异常、考勤明细、补卡申请、系统设置(信息同步、权限设置),根据角色可见。

8、权限设置:
管理员:拥有全部权限,可进行同步操作
部门经理:拥有自己部门的考勤异常表、考勤明细表、员工档案表和审批自己部门员工补卡申请表的权限
协调人:拥有审批补卡申请表的权限
普通用户:可查看个人考勤明细,考勤异常表,可提交补卡申请表,审批状态为审批中,则不可修改表单(按月)

问题思路及解决方法:

1、如何获取钉钉的数据:

查阅钉钉开发文档——创建钉钉个人应用——利用个人应用上的appKey和appSecret通过接口获取access_token——通过access_token和开发文档上的各种接口来获取相对应的数据

2、如何设置定时同步数据:


            信息自动同步
            
            code
            model.button_create_file()
            30
            hours
            -1
            
            
        

对于想了解字段详细介绍可参考该链接:https://www.cnblogs.com/ygj0930/p/10826270.html

3、如何设置菜单上手动同步按钮:
模型上定义按钮方法——菜单上利用向导创建按钮——按钮绑定方法

4、项目心得体会:

  • 自己需要了解每个字段属性的含义,观看源码或查阅资料,不然很容易出现bug,会降低自己的开发效率
  • 在明白项目需求时,不要急于求成,先思考,想清楚了该怎么实现,再动手,不然后期会造成代码冗余,还会出现各种隐藏bug
  • 对于逻辑代码这块,一定要思考,一定要思考,一定要思考,思路要清晰,脚踏实地一步一步来,才能完整的实现逻辑功能

完整功能实现功能需求项目源码:https://github.com/xulejun/check.git

你可能感兴趣的:(odoo,项目)