Python+mysql基于django的企业公司员工工资考勤管理系统 595p

147 篇文章 15 订阅

文末获取资源,收藏关注不迷路

前言

面对我国大型企业不断发展的趋势,单纯的人工管理办公已经远远不能满足大型企业的需求。大型企业拥有各种各样的部门,每个部门也包含这许多的用户。因此,各部门管理人员对用户的管理比较难,同时用户办公效率也在逐渐降低,各部门之间的工作无法及时联系,从而导致企业的停滞不前、发展缓慢。为了应对大型企业办公效率低、管理困难等问题,一些开发者就着手开发出了适应当前社会状况的员工工资考勤系统。员工工资考勤系统是实现员工工资考勤系统一种途径,主要是依赖于当今社会迅速发展的互联网,它将现代办公与互联网相结合,从而产生了一种新型的办公模式。
员工工资考勤系统是现代化办公与计算机网络相结合的一种新型办公模式。员工工资考勤系统实现了现代办公与计算机网络的结合,从而使企业能够快速的运转,进而提高企业的工作效率。

一、研究背景

随着我国经济的不断发展,国内企业的规模也在逐渐扩大,一些企业已经出现了内部管理困难、工作效率低等问题。企业为了更好的发展和获得更多的经济效益,他们开始使用员工工资考勤系统来提高工作效率。员工工资考勤系统不仅可以对企业人员信息进行管理,同时它还可以对部门信息、职位信息、职称信息、请假信息、工资账号、工资信息,添加、修改、删除,从而大大提高了企业的办公效率和管理水平,逐渐实现无纸化办公。员工工资考勤系统可以将企业各个部门紧密联系起来,从而使各个部门能够团结合作,为企业创造出更大的利益。
本文主要研究了以下内容:
(1)需求研究:
随着我国企业的不断发展,一些企业已经发展成为大型企业,企业人数越来越多,所以企业管理越来越困难,企业工作效率越来越低。因此,这些大型企业需要的是一个管理方便、工作效率高的体系,于是便需要一个好的员工工资考勤系统来拯救这些大型企业。
(2)功能结构划分:
管理员主要功能:用户、部门信息、职位信息、职称信息、请假信息、工资账号、工资信息。
用户主要功能:查看部门信息、职位信息、职称信息、请假信息、工资账号、工资信息、公告信息、修改个人信息。
(3)实现技术:
系统采用B/S设计模式,开发工具选择Eclipse,开发语言选择Java语言,框架采用Spring Boot,后台数据库选用mysql,实现了基于springboot的员工工资考勤系统。

二、研究意义

目前我国企业员工工资考勤系统还没有开始发展,加上没有可靠的系统支持工作,网络经常处于闲置状态,企业没有产生获得应得的效益等问题,使得我国企业员工工资考勤系统发展缓慢。由于我国企业员工工资考勤系统发展的现状不太理想,研究企业自动化办公的意义重大。为了能够走在时代的前沿,在竞争激烈的社会中能有自己的一席之地,一个员工工资考勤系统是每个企业必不可少的。
本系统的实施在某种意义上可以改善我国企业办公效率低、交流不方便等缺陷,本系统的研究目标是实现一个能够管理请假信息、工资账号、工资信息的员工工资考勤系统。其最基本的功能包括:添加、查询、修改、删除。
目前,员工工资考勤系统已经开始被企业所接受。大部分企业认识到只有实现员工工资考勤系统才能给自己带来巨大的收益。因此,本系统的开发意义非常重大。

三、主要使用技术

环境需要
1.运行环境:python3.7/python3.8。
2.IDE环境:pycharm+mysql5.7;
3.数据库工具:Navicat11
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
技术栈
后端:python+django
前端:vue+CSS+JavaScript+jQuery+elementui

使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用PyCharm 导入项目,修改配置,运行项目;
将项目中config.ini配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名

四、研究内容

管理员主要功能:用户、部门信息、职位信息、职称信息、请假信息、工资账号、工资信息。
用户主要功能:查看部门信息、职位信息、职称信息、请假信息、工资账号、工资信息、公告信息、修改个人信息。
本系统的实施在某种意义上可以改善我国企业办公效率低、交流不方便等缺陷,本系统的研究目标是实现一个能够管理请假信息、工资账号、工资信息的员工工资考勤系统。其最基本的功能包括:添加、查询、修改、删除。
目前,员工工资考勤系统已经开始被企业所接受。大部分企业认识到只有实现员工工资考勤系统才能给自己带来巨大的收益。因此,本系统的开发意义非常重大。
在这里插入图片描述
在这里插入图片描述
管理员登录系统后,可以对首页、个人中心、用户管理、部门信息管理、职位信息管理、职称信息管理、请假信息管理、工资账号管理、工资信息管理、公告信息管理等功能进行相应操作,如图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

该系统分用户和管理员。
管理员界面,具有以下功能:
(1)添加用户:管理员添加本系统的用户信息。
(2)添加部门信息:管理员添加本系统的部门信息。
(3)添加职位信息:管理员添加本系统的职位信息。
(4)添加请假信息:管理员添加本系统的请假信息。
(5)添加工资信息:管理员添加本系统的工资信息。
(6)添加公告信息:管理员添加本系统的公告信息。
用户界面,具有以下功能:
(1)首页:用户可以对自己的用户名、密码、个人信息进行修改。
(2)部门信息:用户可以查看部门信息。
(3)请假信息:用户可以对请假信息进行添加、修改、删除。
(4)工资账号:用户可以对工资账号进行详情、修改、删除。
(5)公告信息:用户可以查看公告信息。

五、核心代码

# coding:utf-8
__author__ = "ila"

from django.http import JsonResponse

from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes


def users_login(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")
        if req_dict.get('role')!=None:
            del req_dict['role']
        datas = users.getbyparams(users, users, req_dict)
        if not datas:
            msg['code'] = password_error_code
            msg['msg'] = mes.password_error_code
            return JsonResponse(msg)

        req_dict['id'] = datas[0].get('id')
        return Auth.authenticate(Auth, users, req_dict)


def users_register(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")

        error = users.createbyreq(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_session(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code,"msg":mes.normal_code, "data": {}}

        req_dict = {"id": request.session.get('params').get("id")}
        msg['data'] = users.getbyparams(users, users, req_dict)[0]

        return JsonResponse(msg)


def users_logout(request):
    if request.method in ["POST", "GET"]:
        msg = {
            "msg": "退出成功",
            "code": 0
        }

        return JsonResponse(msg)


def users_page(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code,
               "data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}}
        req_dict = request.session.get("req_dict")
        tablename = request.session.get("tablename")
        try:
            __hasMessage__ = users.__hasMessage__
        except:
            __hasMessage__ = None
        if __hasMessage__ and __hasMessage__ != "否":

            if tablename != "users":
                req_dict["userid"] = request.session.get("params").get("id")
        if tablename == "users":
            msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
            msg['data']['pageSize'] = users.page(users, users, req_dict)
        else:
            msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \
            msg['data']['pageSize'] = [],1,0,0,10

        return JsonResponse(msg)


def users_info(request, id_):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}

        data = users.getbyid(users, users, int(id_))
        if len(data) > 0:
            msg['data'] = data[0]
        # 浏览点击次数
        try:
            __browseClick__ = users.__browseClick__
        except:
            __browseClick__ = None

        if __browseClick__ and "clicknum" in users.getallcolumn(users, users):
            click_dict = {"id": int(id_), "clicknum": str(int(data[0].get("clicknum", 0)) + 1)}
            ret = users.updatebyparams(users, users, click_dict)
            if ret != None:
                msg['code'] = crud_error_code
                msg['msg'] = ret
        return JsonResponse(msg)


def users_save(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")
        req_dict['role'] = '管理员'
        error = users.createbyreq(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_update(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")
        if req_dict.get("mima") and req_dict.get("password"):
            if "mima" not in users.getallcolumn(users,users):
                del req_dict["mima"]
            if "password" not in users.getallcolumn(users,users):
                del req_dict["password"]
        try:
            del req_dict["clicknum"]
        except:
            pass
        error = users.updatebyparams(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)


def users_delete(request):
    '''
    '''
    if request.method in ["POST", "GET"]:
        msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}
        req_dict = request.session.get("req_dict")

        error = users.deletes(users,
            users,
            req_dict.get("ids")
        )
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)

六、文章目录

1系统概述 1
1.1 研究背景 1
1.2研究目的 1
1.3系统设计思想 1
2相关技术 3
2.1 MYSQL数据库 3
2.2 B/S结构 3
2.3 Djangot框架简介 4
2.4 VUE框架 4
3系统分析 5
3.1可行性分析 5
3.1.1技术可行性 5
3.1.2经济可行性 5
3.1.3操作可行性 5
3.2系统性能分析 6
3.2.1 系统安全性 6
3.2.2 数据完整性 6
3.3系统界面分析 6
3.4系统流程和逻辑 8
4系统概要设计 9
4.1概述 9
4.2系统结构 10
4.3.数据库设计 11
4.3.1数据库实体 11
4.3.2数据库设计表 13
5系统详细实现 17
5.1 管理员模块的实现 17
5.2用户模块的实现 19
6系统测试 21
6.1概念和意义 21
6.2特性 22
6.3重要性 22
6.4测试方法 23
6.5 功能测试 23
6.6可用性测试 24
6.7性能测试 24
6.8测试分析 24
6.9测试结果分析 25
结论 25
致谢语 26
参考文献 26

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wqq6310855

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

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

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

打赏作者

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

抵扣说明:

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

余额充值