基于python智慧堆栈实时监控大屏 库存管理 堆栈管理 物品管理 堆栈大数据+ ...

打印 上一主题 下一主题

主题 617|帖子 617|积分 1851

博主先容:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相干专业毕业筹划项目实战6年之久,选择我们就是选择放心、选择安心毕业✌感兴趣的可以先收藏起来,点赞、关注不迷路✌
毕业筹划:2023-2024年计算机毕业筹划1000套(发起收藏)
毕业筹划:2023-2024年最新最全计算机专业毕业筹划选题汇总
1、项目先容

技能栈:
Python语言、Django框架、MySQL数据库、Echarts可视化大屏、HTML
功能模块:
(1)智慧堆栈实时监控大屏
数据统计面板、空满货物占比分析、堆栈库存数据分析、监控数据、库存货物规格分析、货物实时操纵记载
(2)货物列表
(3)货物入库出库
(4)厂家数据管理
(5)背景数据管理
(6)背景货物数据管理
2、项目界面

(1)智慧堆栈实时监控大屏
数据统计面板、空满货物占比分析、堆栈库存数据分析、监控数据、库存货物规格分析、货物实时操纵记载

(2)货物列表

(3)货物入库出库

(4)厂家数据管理

(5)背景数据管理

(6)背景货物数据管理

3、项目说明

堆栈库存管理系统
在当今快速发展的物盛行业中,堆栈库存管理的高效性和正确性对于企业的运营至关紧张。为此,我们开发了一款基于Python语言、Django框架、MySQL数据库、Echarts可视化大屏和HTML技能的堆栈库存管理系统。该系统旨在实现堆栈库存的实时监控、数据统计分析以及高效的货物管理功能,资助企业提拔堆栈运营效率,降低库存成本。
技能栈概述
Python语言:作为一种强大的编程语言,Python在数据处理和逻辑分析方面表现出色,为我们的堆栈库存管理系统提供了稳定可靠的编程环境。
Django框架:Django是一个高级Python Web框架,它支持快速开发、安全且可维护的网站。我们利用Django框架构建了系统的后端,保证了系统的稳定性和扩展性。
MySQL数据库:MySQL数据库以其高性能、可扩展性和易用性成为我们存储和管理堆栈数据的理想选择。通过MySQL,我们可以高效地存储、查询和更新库存数据。
Echarts可视化大屏:Echarts是一款功能强大的数据可视化库,它支持丰富的图表类型和灵活的交互方式。我们利用Echarts将堆栈数据以直观、雅观的图表情势展示给用户,资助用户快速了解堆栈运营状况。
HTML:作为Web页面的底子,HTML用于构建系统的用户界面。我们利用HTML技能为用户提供了友好的操纵界面,方便用户与系统进行交互。
功能模块先容
智慧堆栈实时监控大屏:该模块通过Echarts可视化大屏技能,实时展示堆栈的运营数据。包括数据统计面板、空满货物占比分析、堆栈库存数据分析、监控数据、库存货物规格分析以及货物实时操纵记载等。用户可以通过大屏快速了解堆栈的整体运营状况,为决议提供有力支持。
货物列表:该模块展示了堆栈中所有货物的详细信息,包括货物名称、规格、数量、生产厂家等。用户可以通过货物列表查看货物的具体情况,并进行相应的操纵。
货物入库出库:该模块实现了货物的入库和出库功能。用户可以通过系统录入货物的入库和出库信息,系统会自动更新库存数据,并生成相应的操纵记载。
厂家数据管理:该模块用于管理货物的生产厂家书息。用户可以添加、修改和删除生产厂家书息,以便更好地管理货物的来源和品质。
背景数据管理:该模块提供了系统的背景管理功能,包括用户管理、权限管理、系统设置等。管理员可以通过背景管理模块对系统进行全面的设置和管理,确保系统的稳定运行。
背景货物数据管理:该模块用于管理堆栈中的货物数据。管理员可以通过背景货物数据管理模块对货物信息进行查询、修改和删除操纵,确保货物数据的正确性和完整性。
总之,这款堆栈库存管理系统依附其先辈的技能栈和丰富的功能模块,为企业提供了高效、正确的堆栈库存管理服务。通过实时监控、数据分析和高效的货物管理功能,资助企业提拔堆栈运营效率,降低库存成本,从而在激烈的市场竞争中脱颖而出。
4、焦点代码

  1. from django.shortcuts import render, get_object_or_404
  2. from django.http import HttpResponse
  3. from .models import KeShi, Bottle, AirType, State, Size, Log, Person
  4. from django.template import loader
  5. from .forms import ChangeBottle
  6. # 仓库库存盘点
  7. def keshikucun():
  8.     keshi= KeShi.objects.order_by('id')
  9.     info = {}
  10.     for each in keshi:
  11.         info[each.name] = len(Bottle.objects.filter(loc__id=each.id))
  12.         # print(each.name)
  13.     return info
  14. # 货物类型盘点
  15. def qiti_num():
  16.     qiti = AirType.objects.order_by('id')
  17.     info = {}
  18.     for each in qiti:
  19.         info[each.name] = len(Bottle.objects.filter(type__id=each.id))
  20.         # print(each.name)
  21.     return info
  22. # 货物状态盘点
  23. def state_num():
  24.     state = State.objects.order_by('id')
  25.     info = {}
  26.     for each in state:
  27.         info[each.name] = len(Bottle.objects.filter(state__id=each.id))
  28.         # print(each.name)
  29.     return info
  30. # 数据可视化首页
  31. def index(request):
  32.     template = loader.get_template('airhub/index.html')
  33.     # 表头数据
  34.     bottle_num = Bottle.objects.count()         # 货物录入总量
  35.     log_num = Log.objects.count()       # 货物配送总量
  36.     # 数据面板
  37.     bottle_O2_num = Bottle.objects.filter(type__id=1).count()                   # 大型货物
  38.     bottle_40_num = Bottle.objects.filter(size__id=1, type__id=1).count()       # 固体数量
  39.     bottle_10_num = Bottle.objects.filter(size__id=2, type__id=1).count()       # 液体数量
  40.     bottle_CO2_num = Bottle.objects.filter(type__id=2).count()                  # 小型货物数量
  41.     bottle_N2_num = Bottle.objects.filter(type__id=3).count()                   # 小型货物数量
  42.     # 空满数据占比
  43.     bottle_Man = Bottle.objects.filter(state__id=1).count()                     # 企业货物数量
  44.     bottle_Kong = Bottle.objects.filter(state__id=2).count()                    # 普通用户货物数量
  45.     # 仓库库存占比
  46.     kucun_dic = {}
  47.     kucun_name = []
  48.     kucun_num = []
  49.     keshi = KeShi.objects.filter()
  50.     for each in keshi:
  51.         kucun_dic[each.name]=Bottle.objects.filter(loc__id=each.id).count()
  52.         kucun_name.append(each.name)
  53.         kucun_num.append(Bottle.objects.filter(loc__id=each.id).count())
  54.     # print(str(kucun_dic))
  55.     # print(str(kucun_name))
  56.     # print(str(kucun_num))
  57.     # 新增货物列表
  58.     new_bottle = Bottle.objects.order_by('-id')[:6]
  59.     # 新增配送列表
  60.     new_log = Log.objects.order_by('-id')[:6]
  61.     context = {
  62.         'bottle_num': bottle_num,
  63.         'log_num': log_num,
  64.         'bottle_O2_num': bottle_O2_num,
  65.         'bottle_40_num': bottle_40_num,
  66.         'bottle_10_num': bottle_10_num,
  67.         'bottle_CO2_num': bottle_CO2_num,
  68.         'bottle_N2_num': bottle_N2_num,
  69.         'bottle_Man': bottle_Man,
  70.         'bottle_Kong': bottle_Kong,
  71.         'kucun_dic': kucun_dic,
  72.         'kucun_name': str(kucun_name),
  73.         'kucun_num': str(kucun_num),
  74.         'new_bottle': new_bottle,
  75.         'new_log': new_log,
  76.     }
  77.     return HttpResponse(template.render(context, request))
  78. # 货物详情页面
  79. def bottleinfo(request, id):       #货物详情
  80.     bottle = get_object_or_404(Bottle, id = id)
  81.     info = str(bottle.state) +',' +str(bottle.type)+',' + str(bottle.uid) + ',' + str(bottle.name)
  82.     return HttpResponse(info)
  83. # 仓库库存页面
  84. def keshi(request, name):
  85.     list = Bottle.objects.filter(loc__name=name)
  86.     if len(list) == 0:
  87.         return HttpResponse('无库存')
  88.     else:
  89.         INFO = ''
  90.         for each in list:
  91.             INFO = INFO + each.name + ','
  92.         return HttpResponse(INFO)
  93. # 添加货物api
  94. def add_bottle_api(request):
  95.     print(request.method)
  96.     if request.method == "POST":
  97.         if request.POST:
  98.             name = request.POST.get('name', 0)
  99.             state = request.POST.get('state', 0)
  100.             uid = request.POST.get('uid', 0)
  101.             type = request.POST.get('type', 0)
  102.             bro_date = request.POST.get('bro_date', 0)
  103.             loc = request.POST.get('loc', 0)
  104.             size = request.POST.get('size', 0)
  105.             print(111111111111111)
  106.             if name and state and uid and type and bro_date and size:
  107.                 bottle = Bottle()
  108.                 bottle.name = name
  109.                 bottle.uid = uid
  110.                 bottle.state = get_object_or_404(State, id=state)
  111.                 bottle.type = get_object_or_404(AirType, id=type)
  112.                 bottle.bro_date = bro_date
  113.                 bottle.loc = get_object_or_404(KeShi, id=loc)
  114.                 bottle.size = get_object_or_404(Size, id=size)
  115.                 bottle.save()
  116.                 info = name + ',' + uid + ',' + state + ',' + type
  117.                 return HttpResponse('修改成功'+',' + info)
  118.             else:
  119.                 return HttpResponse('输入错误')
  120.         else:
  121.             return HttpResponse('输入为空')
  122.     else:
  123.         return HttpResponse('方法错误')
  124. # 变更货物log_api
  125. def change_bottle_api(request):
  126.     if request.method == 'POST':
  127.         if request.POST :
  128.             state = request.POST.get('state', 0)
  129.             loc = request.POST.get('loc', 0)
  130.             bottle_id = request.POST.get('bottle_id', 0)
  131.             person = request.POST.get('person', 0)
  132.             print(bottle_id, state, loc)
  133.             if state and loc and bottle_id:
  134.                 bottle = Bottle.objects.get(id=bottle_id)
  135.                 bottle.state = State.objects.get(id=state)
  136.                 bottle.loc = KeShi.objects.get(id=loc)
  137.                 bottle.save()
  138.                 log = Log()
  139.                 log.loc = KeShi.objects.get(id=loc)
  140.                 log.state = State.objects.get(id=state)
  141.                 log.bottle = Bottle.objects.get(id=bottle_id)
  142.                 log.person = Person.objects.get(id=person)
  143.                 log.save()
  144.                 return HttpResponse('修改成功')
  145.             else:
  146.                 return HttpResponse('输入为空')
  147.         else:
  148.             return HttpResponse('方法错误')
  149. # show_主页
  150. def show(request):
  151.     template = loader.get_template('airhub/show.html')
  152.     airtype = AirType.objects.all()
  153.     keshiname= KeShi.objects.all()
  154.     context = {
  155.         'airtype': airtype,
  156.         'keshiname': keshiname,
  157.     }
  158.     return HttpResponse(template.render(context, request))
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

魏晓东

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表