基于python的企业物流管理系统

项目运行

需要先安装Python的相关依赖:pymysql,Django==3.2.8 ,requests使用pip install 安装

第一步:创建数据库

第二步:执行SQL语句,.sql文件,运行该文件中的SQL语句

第三步:修改源代码中的settings.py文件,改成自己的mysql数据库用户名和密码

第四步:运行命令:python manage.py runserver 8000

第五步:打开浏览器查看http://127.0.0.1:8000

毕设帮助,指导,本源码分享,调试部署(见文末)

系统介绍:

前台:
用户注册与登录:用户们如果想在网站录入自己的个人信息,需要经过一系列的有验证信息的注册,注册成功并登录后,用户可以各模块功能
后台:
(4)汇总了基本的每日数据情况包括用户数,收入支出等基本内容,便于使用系统的用户进行查看。
(5)展示了当前计算机的系统信息,包括使用的python版本,mysql版本等。
(6)注销账号功能,便于后续人员继续使用该系统,不同的职级拥有不同的账号权限。
订单管理模块:
(3)临时订单:临时订单中用户可以查看订单,但并无操作权限,需要更高级别权限便可操作审核
(4)正式订单:正式订单包括货物id,状态,产品名等,用户可以进行具体的订单修改
货物管理模块:用户可以对公司货物进行系统录入,包括产品名称,id,状态
仓储管理模块:用户对以及录入系统的货物进行出入库操作管理
运输管理模块:
(3)运输员管理:对今日正常工作的运输员进行管理,包括其姓名,车牌,运输数量和是否在岗,可根据货物名称查询。
(4)运输订单:可根据运输员姓名对订单进行查找,管理订单情况,包括收发车时间等。
人事管理模块:
(1)用户管理:对员工进行管理,包括id,姓名车牌号,状态等信息可根据具体姓名进行查找信息。
(2)个人信息:可对用户资料进行修改,以及修改登陆密码等功能。

功能截图:

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

在这里插入图片描述

编程人员在搭建的开发环境中,会让各种编程技术一起呈现出最终效果。本节就展示关键部分的页面效果。

代码实现:

import datetime
import os
from django.core.paginator import Paginator
from django.db.models import Sum
from django.http import HttpResponseRedirect, HttpResponse, HttpResponseForbidden, JsonResponse
from django.shortcuts import render
from user.models import User
from .models import *

workdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


def login(req):
    """
    跳转登录
    :param req:
    :return:
    """
    return render(req, 'login.html')


def dashboard(request):
    total_user = len(User.objects.all())
    total_sr = CangkuOrder.objects.filter(status='出库').aggregate(MyCulate=Sum('price'))['MyCulate']
    total_zc = CangkuOrder.objects.filter(status='入库').aggregate(MyCulate=Sum('price'))['MyCulate']
    total_cc = CangkuOrder.objects.count()
    total_ts = Transporter.objects.count()
    total_goods = Goods.objects.count()
    print(total_sr)
    date = datetime.datetime.today()
    month = date.month
    year = date.year
    day = date.day
    username = request.session['username']
    current_day = str(year) + '-' + str(month) + "-" + str(day)
    return render(request, 'welcome.html',locals())


def register(req):
    """
    跳转注册
    :param req:
    :return:
    """
    return render(req, 'register.html')


def ls_order(req):
    """
    跳转注册
    :param req:
    :return:
    """
    goods = Goods.objects.all()
    role = int(req.session.get('role', 2))
    username = req.session.get('username', 'admin')
    return render(req, 'ls_order.html', locals())


def change_status(request, status):
    response_data = {}
    user_id = request.POST.get('id')
    if status == 0:
        status = "不通过"
    else:
        status = "正式"
    Order.objects.filter(id=user_id).update(
        status=status)
    response_data['msg'] = 'success'
    return JsonResponse(response_data, status=201)


def zs_order(req):
    """
    跳转注册
    :param req:
    :return:
    """
    goods = Goods.objects.all()
    username = req.session.get('username', 'admin')
    return render(req, 'zs_order.html', locals())


def index(req):
    """
    跳转首页
    :param req:
    :return:
    """
    username = req.session['username']
    total_user = len(User.objects.all())
    date = datetime.datetime.today()
    month = date.month
    year = date.year
    return render(req, 'index.html', locals())


def login_out(req):
    """
    注销登录
    :param req:
    :return:
    """
    del req.session['username']
    return HttpResponseRedirect('/')


def personal(req):
    username = req.session['username']
    role_id = req.session['role']
    user = User.objects.filter(name=username).first()
    return render(req, 'personal.html', locals())


def get_zs_order(request):
    """
    获取列表信息 | 模糊查询
    :param request:
    :return:
    """
    keyword = request.GET.get('name')
    page = request.GET.get("page", '')
    limit = request.GET.get("limit", '')
    role_id = request.GET.get('position', '')
    response_data = {}
    response_data['code'] = 0
    response_data['msg'] = ''
    data = []
    if keyword is None:
        results_obj = Order.objects.filter(status='正式').all()
    else:
        results_obj = Order.objects.filter(owner__contains=keyword, status='正式').all()
    paginator = Paginator(results_obj, limit)
    results = paginator.page(page)
    if results:
        for user in results:
            record = {
                "id": user.id,
                "name": user.goods.name,
                "count1": user.count,
                "status": user.status,
                "owner": user.owner,
                'create_time': user.create_time.strftime('%Y-%m-%d %H:%m:%S'),
                "desc": user.description,
            }
            data.append(record)
        response_data['count'] = len(results_obj)
        response_data['data'] = data

    return JsonResponse(response_data)


def get_ls_order(request):
    """
    获取列表信息 | 模糊查询
    :param request:
    :return:
    """
    keyword = request.GET.get('name')
    page = request.GET.get("page", '')
    limit = request.GET.get("limit", '')
    role_id = request.GET.get('position', '')
    response_data = {}
    response_data['code'] = 0
    response_data['msg'] = ''
    data = []
    if keyword is None:
        results_obj = Order.objects.filter(status='临时').all()
    else:
        results_obj = Order.objects.filter(owner__contains=keyword, status='临时').all()
    paginator = Paginator(results_obj, limit)
    results = paginator.page(page)
    if results:
        for user in results:
            record = {
                "id": user.id,
                "name": user.goods.name,
                "count1": user.count,
                "status": user.status,
                "owner": user.owner,
                'create_time': user.create_time.strftime('%Y-%m-%d %H:%m:%S'),
                "desc": user.description,
            }
            data.append(record)
        response_data['count'] = len(results_obj)
        response_data['data'] = data

    return JsonResponse(response_data)


def get_goods(request):
    """
    获取列表信息 | 模糊查询
    :param request:
    :return:
    """
    keyword = request.GET.get('name')
    page = request.GET.get("page", '')
    limit = request.GET.get("limit", '')
    role_id = request.GET.get('position', '')
    response_data = {}
    response_data['code'] = 0
    response_data['msg'] = ''
    data = []
    if keyword is None:
        results_obj = Goods.objects.all()
    else:
        results_obj = Goods.objects.filter(name__contains=keyword).all()
    paginator = Paginator(results_obj, limit)
    results = paginator.page(page)
    if results:
        for user in results:
            record = {
                "id": user.id,
                "name": user.name,
                "source": user.source,
                "status": user.status,
                "yxq": user.yxq,
                'create_time': user.create_time.strftime('%Y-%m-%d %H:%m:%S'),
                "desc": user.description,
            }
            data.append(record)
        response_data['count'] = len(results_obj)
        response_data['data'] = data

    return JsonResponse(response_data)


def goods(request):
    """
    跳转页面
    """
    username = request.session['username']
    role = int(request.session['role'])
    user_id = request.session['user_id']
    return render(request, 'goods.html', locals())


def add_goods(request):
    name = request.POST.get('name')
    source = request.POST.get('source')
    desc = request.POST.get('desc')
    yxq = request.POST.get('yxq')

    goods_obj = Goods.objects.filter(name=name)
    if goods_obj:
        return JsonResponse({'message': '用户已存在,请直接登录'}, status=403)
    Goods.objects.create(
        name=name,
        description=desc,
        yxq=yxq,
        source=source,
    )
    response_data = {'message': '注册成功'}
    return JsonResponse(response_data)


def add_order(request):
    goods_id = request.POST.get('goods')
    count = request.POST.get('count')
    owner = request.POST.get('username')
    Order.objects.create(
        goods_id=goods_id,
        count=count,
        owner=owner,
        status='临时'
    )
    response_data = {'message': '注册成功'}
    return JsonResponse(response_data)


def edit_order(request):
    """
    修改信息
    """
    response_data = {}
    user_id = request.POST.get('id')
    goods_id = request.POST.get('goods')
    count = request.POST.get('count')
    Order.objects.filter(id=user_id).update(
        goods_id=goods_id,
        count=count)
    response_data['msg'] = 'success'
    return JsonResponse(response_data, status=201)


def del_order(request):
    """
    删除信息
    """
    user_id = request.POST.get('id')
    result = Order.objects.filter(id=user_id).first()
    try:
        if not result:
            response_data = {'error': '删除失败!', 'message': '找不到id为%s' % user_id}
            return JsonResponse(response_data, status=403)
        result.delete()
        response_data = {'message': '删除成功!'}
        return JsonResponse(response_data, status=201)
    except Exception as e:
        response_data = {'message': '删除失败!'}
        return JsonResponse(response_data, status=403)


def edit_goods(request):
    """
    修改信息
    """
    response_data = {}
    user_id = request.POST.get('id')
    name = request.POST.get('name')
    source = request.POST.get('source')
    yxq = request.POST.get('yxq')
    desc = request.POST.get('desc')
    Goods.objects.filter(id=user_id).update(
        name=name,
        source=source,
        description=desc,
        yxq=yxq)
    response_data['msg'] = 'success'
    return JsonResponse(response_data, status=201)


def del_goods(request):
    """
    删除信息
    """
    user_id = request.POST.get('id')
    result = Goods.objects.filter(id=user_id).first()
    try:
        if not result:
            response_data = {'error': '删除失败!', 'message': '找不到id为%s' % user_id}
            return JsonResponse(response_data, status=403)
        result.delete()
        response_data = {'message': '删除成功!'}
        return JsonResponse(response_data, status=201)
    except Exception as e:
        response_data = {'message': '删除失败!'}
        return JsonResponse(response_data, status=403)


def add_cangchu(request):
    goods = request.POST.get('goods')
    owner = request.POST.get('owner')
    status = request.POST.get('status')
    count = request.POST.get('count')
    price = request.POST.get('price')
    cangku_order = CangkuOrder.objects.create(
        goods_id=goods,
        owner=owner,
        status=status,
        count=count,
        price=price
    )
    print(cangku_order.id)
    ts = Transporter.objects.filter(status='在岗').all()[0].id
    print('ts',ts)
    if status=='出库':
        CarOrder.objects.create(
            transporter_id=ts,
            order_id = cangku_order.id,
            status='正常',
            create_time ='待定',
            sc_time = '待定'
        )
        Transporter.objects.filter(id=ts).update(
            status='送货'
        )
    response_data = {'message': '注册成功'}
    return JsonResponse(response_data)


def edit_cangchu(request):
    """
    修改信息
    """
    response_data = {}
    user_id = request.POST.get('id')
    price = request.POST.get('price')
    count = request.POST.get('count')
    status = request.POST.get('status')
    CangkuOrder.objects.filter(id=user_id).update(
        price=price,
        status=status,
        count=count)
    response_data['msg'] = 'success'
    return JsonResponse(response_data, status=201)


def del_cangchu(request):
    """
    删除信息
    """
    user_id = request.POST.get('id')
    result = CangkuOrder.objects.filter(id=user_id).first()
    try:
        if not result:
            response_data = {'error': '删除失败!', 'message': '找不到id为%s' % user_id}
            return JsonResponse(response_data, status=403)
        result.delete()
        response_data = {'message': '删除成功!'}
        return JsonResponse(response_data, status=201)
    except Exception as e:
        response_data = {'message': '删除失败!'}
        return JsonResponse(response_data, status=403)


def get_cangchu(request):
    """
    获取列表信息 | 模糊查询
    :param request:
    :return:
    """
    keyword = request.GET.get('name')
    page = request.GET.get("page", '')
    limit = request.GET.get("limit", '')
    role_id = request.GET.get('position', '')
    response_data = {}
    response_data['code'] = 0
    response_data['msg'] = ''
    data = []
    if keyword is None:
        results_obj = CangkuOrder.objects.all()
    else:
        results_obj = CangkuOrder.objects.filter(owner__contains=keyword).all()
    paginator = Paginator(results_obj, limit)
    results = paginator.page(page)
    if results:
        for user in results:
            record = {
                "id": user.id,
                "name": user.goods.name,
                "count1": user.count,
                "price": user.price,
                "status": user.status,
                "owner": user.owner,
                'create_time': user.create_time.strftime('%Y-%m-%d %H:%m:%S'),
            }
            data.append(record)
        response_data['count'] = len(results_obj)
        response_data['data'] = data

    return JsonResponse(response_data)


def cangchu(request):
    """
    跳转页面
    """
    username = request.session['username']
    role = int(request.session['role'])
    user_id = request.session['user_id']
    goods = Goods.objects.all()
    return render(request, 'cangchu.html', locals())



def add_ts(request):
    name = request.POST.get('name')
    chepai = request.POST.get('chepai')
    status = request.POST.get('status')
    weight = request.POST.get('weight')
    desc = request.POST.get('desc')
    Transporter.objects.create(
        name=name,
        chepai=chepai,
        status=status,
        weight=weight,
        description=desc
    )
    response_data = {'message': '注册成功'}
    return JsonResponse(response_data)


def edit_ts(request):
    """
    修改信息
    """
    response_data = {}
    user_id = request.POST.get('id')
    name = request.POST.get('name')
    desc = request.POST.get('desc')
    weight = request.POST.get('weight')
    chepai = request.POST.get('chepai')
    status = request.POST.get('status')
    Transporter.objects.filter(id=user_id).update(
        chepai=chepai,
        name=name,
        status=status,
        desc=desc,
        weight=weight)
    response_data['msg'] = 'success'
    return JsonResponse(response_data, status=201)


def del_ts(request):
    """
    删除信息
    """
    user_id = request.POST.get('id')
    result = Transporter.objects.filter(id=user_id).first()
    try:
        if not result:
            response_data = {'error': '删除失败!', 'message': '找不到id为%s' % user_id}
            return JsonResponse(response_data, status=403)
        result.delete()
        response_data = {'message': '删除成功!'}
        return JsonResponse(response_data, status=201)
    except Exception as e:
        response_data = {'message': '删除失败!'}
        return JsonResponse(response_data, status=403)


def get_ts(request):
    """
    获取列表信息 | 模糊查询
    :param request:
    :return:
    """
    keyword = request.GET.get('name')
    page = request.GET.get("page", '')
    limit = request.GET.get("limit", '')
    role_id = request.GET.get('position', '')
    response_data = {}
    response_data['code'] = 0
    response_data['msg'] = ''
    data = []
    if keyword is None:
        results_obj = Transporter.objects.all()
    else:
        results_obj = Transporter.objects.filter(owner__contains=keyword).all()
    paginator = Paginator(results_obj, limit)
    results = paginator.page(page)
    if results:
        for user in results:
            record = {
                "id": user.id,
                "name": user.name,
                "chepai": user.chepai,
                "weight": user.weight,
                "status": user.status,
                "desc": user.description,
                'create_time': user.create_time.strftime('%Y-%m-%d %H:%m:%S'),
            }
            data.append(record)
        response_data['count'] = len(results_obj)
        response_data['data'] = data

    return JsonResponse(response_data)


def ts(request):
    """
    跳转页面
    """
    username = request.session['username']
    role = int(request.session['role'])
    user_id = request.session['user_id']
    goods = Goods.objects.all()
    return render(request, 'transporter.html', locals())


def add_co(request):
    name = request.POST.get('name')
    chepai = request.POST.get('chepai')
    status = request.POST.get('status')
    weight = request.POST.get('weight')
    desc = request.POST.get('desc')
    Transporter.objects.create(
        name=name,
        chepai=chepai,
        status=status,
        weight=weight,
        description=desc
    )
    response_data = {'message': '注册成功'}
    return JsonResponse(response_data)


def edit_co(request):
    """
    修改信息
    """
    response_data = {}
    user_id = request.POST.get('id')
    create_time = request.POST.get('create_time')
    sc_time = request.POST.get('sc_time')
    CarOrder.objects.filter(id=user_id).update(

        create_time=create_time,
        sc_time=sc_time)
    response_data['msg'] = 'success'
    return JsonResponse(response_data, status=201)


def del_co(request):
    """
    删除信息
    """
    user_id = request.POST.get('id')
    result = CarOrder.objects.filter(id=user_id).first()
    try:
        if not result:
            response_data = {'error': '删除失败!', 'message': '找不到id为%s' % user_id}
            return JsonResponse(response_data, status=403)
        result.delete()
        response_data = {'message': '删除成功!'}
        return JsonResponse(response_data, status=201)
    except Exception as e:
        response_data = {'message': '删除失败!'}
        return JsonResponse(response_data, status=403)


def get_co(request):
    """
    获取列表信息 | 模糊查询
    :param request:
    :return:
    """
    keyword = request.GET.get('name')
    page = request.GET.get("page", '')
    limit = request.GET.get("limit", '')
    role_id = request.GET.get('position', '')
    response_data = {}
    response_data['code'] = 0
    response_data['msg'] = ''
    data = []
    if keyword is None:
        results_obj = CarOrder.objects.all()
        print(results_obj)
    else:
        results_obj = CarOrder.objects.filter(status__contains=keyword).all()
    paginator = Paginator(results_obj, limit)
    results = paginator.page(page)
    if results:
        for user in results:
            record = {
                "id": user.id,
                "order": user.order.id,
                "ts": user.transporter.name,
                "sc_time": user.sc_time,
                "status": user.status,
                'create_time': user.create_time,
            }
            data.append(record)
        response_data['count'] = len(results_obj)
        response_data['data'] = data

    return JsonResponse(response_data)


def car_order(request):
    """
    跳转页面
    """
    username = request.session['username']
    role = int(request.session['role'])
    user_id = request.session['user_id']
    goods = Goods.objects.all()
    return render(request, 'car_order.html', locals())

总结:

基于Python的企业物流管理系统使用的编程技术为python+mysql数据库的开发模式,也是当下最实用、开发效率最高的模式之一。经过我的努力和不懈的工作,我成功地开发了这个系统,它已经通过了全面的测试,符合预期的设计要求和功能需求,性能稳定可靠,达到了预期的开发目标。
在开发过程中,我采用了现代化的开发工具和技术,如Python编程语言、Django框架、MySQL数据库等,从需求分析、系统设计、编码实现、测试调试等各个环节认真严谨地工作,不断优化系统的功能和性能,以满足用户的需求和期望。

源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

  • 19
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于基于Python物流管理系统代码,通常需要包括以下方面的实现: 一、 数据库设计 物流管理系统中最核心的就是数据管理,因此需要设计一个合理、高效的数据库结构,存储各类数据信息。这些数据包括:客户信息、订单信息、运输信息、库存信息等等。 二、 用户登录与权限管理 基于安全性考虑,物流管理系统需要实现用户登录与权限管理,不同用户关联不同的权限,以保证系统中各类业务操作的合法性,降低操作风险。 三、 订单管理 关于订单管理,包括订单的创建、修改、查询、删除等。订单信息包括:客户信息、商品类型、商品数量、运输方式等。 四、 运输管理 物流管理系统的核心是运输管理,包括运输路线规划、运输进度追踪、异常处理、车辆管理等。系统需要实现运输人员、车辆、客户等信息的管理,同时,运输人员需要通过系统获得订单信息,并根据订单信息完成运输任务。 五、 库存管理 物流管理系统中还需要实现库存管理,包括库存的盘点、进货、出库、调拨等操作。这需要经过系统的检测、审核、自动库存更新等等工作。 总之,基于Python物流管理系统代码需要考虑数据管理、用户登录与权限、订单与运输管理以及库存管理等多个方面的设计。而对于具体的代码实现,需要结合系统需求及具体业务情况进行设计,保证系统的合理性、高效性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

paterWang

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

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

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

打赏作者

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

抵扣说明:

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

余额充值