【java web毕业设计】基于Django大数据的投标管理与可视化系统

0 项目说明

基于Django大数据的投标管理与可视化系统

提示:适合用于课程设计或毕业设计,工作量达标,源码开放


1 研究目的

通过构建合理的信息平台并借用一定数据分析技术,实现信息的快速传递,数据的有效归纳及充分利用历史记录识别客户、激励员工、提升投标质量等,可以增强企业的投标履约能力,从而提升企业的竞争力和环境应变力,具有一定的现实意义。能够帮助企业有效管理从招投标准备到中标后合同履约管理的全过程。

2 研究方法

2.1 系统边界和模块关系

在这里插入图片描述

2.2 一级数据流程图

在这里插入图片描述

2.3 实体-关系模型

在系统设计部分,采用了实体-关系模型(E-R模型)来对整个系统的数据进行了建模。在概念模型的基础上进行了详细的数据库表的设计
在这里插入图片描述

为体现创新性,后面在系统功能上新增了一个标价预测,是用历史数据中同一种类机械的中标价格,基于多种时间序列模型来预测未来的中标价格。这个实际上是没有现实基础的,因为实际的中标价格还与原材料、供应商关系、客户关系、工人成本、客户细节需求等都有密切关系,仅依靠机型来划分价格进行预测是缺乏实际意义的。

2.4 系统实现

成了ECharts可是化工具,轻松地完成了网页端的很多可视化需求。

在这里插入图片描述
整个系统是基于Django框架实现的(简单实现,可以前台页面输入,然后在后台数据库里存数据,功能上实现简单处理数据后返回,没有部署服务器,本地版),也就是用Python来写的。

2.5 研究结论

在这里插入图片描述

2.6 目录

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

3 项目源码

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='AiarmParam',
            fields=[
                ('apID', models.AutoField(primary_key=True, serialize=False)),
                ('aContent', models.CharField(max_length=20, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='Alarm',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('time', models.DateTimeField(auto_now_add=True, null=True)),
                ('aState', models.CharField(max_length=10, null=True)),
                ('exDay', models.IntegerField(null=True)),
                ('aKind', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='bidHelp.AiarmParam')),
            ],
        ),
        migrations.CreateModel(
            name='BidInvitation',
            fields=[
                ('inviteID', models.AutoField(primary_key=True, serialize=False)),
                ('inviteTime', models.DateField(null=True)),
                ('inviteName', models.CharField(max_length=30, null=True)),
                ('inviteContent', models.TextField(null=True)),
                ('endTime', models.DateTimeField(null=True)),
                ('resWay', models.CharField(max_length=200, null=True)),
                ('preBidTime', models.DateField(null=True)),
                ('response', models.CharField(max_length=2, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='BidRequest',
            fields=[
                ('rID', models.AutoField(primary_key=True, serialize=False)),
                ('rKind', models.CharField(max_length=2, null=True)),
                ('rName', models.CharField(max_length=30, null=True)),
                ('rContent', models.CharField(max_length=100, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='BidResult',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('time', models.DateField(auto_now_add=True)),
                ('isWin', models.BooleanField(null=True)),
                ('winPrice', models.IntegerField(null=True)),
                ('winCompany', models.CharField(max_length=30, null=True)),
                ('lostReason', models.CharField(max_length=30, null=True)),
                ('remark', models.CharField(max_length=100, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='Contract',
            fields=[
                ('contractID', models.AutoField(primary_key=True, serialize=False)),
                ('newVerID', models.IntegerField(null=True)),
                ('contractDocPath', models.TextField(null=True)),
                ('contractPrice', models.IntegerField(null=True)),
                ('firPartPrice', models.DecimalField(decimal_places=2, max_digits=3, null=True)),
                ('secPartPrice', models.DecimalField(decimal_places=2, max_digits=3, null=True)),
                ('thrPartPrice', models.DecimalField(decimal_places=2, max_digits=3, null=True)),
                ('firTimeSpan', models.IntegerField(null=True)),
                ('secTimeSpan', models.IntegerField(null=True)),
                ('thrTimeSpan', models.IntegerField(null=True)),
                ('productTime', models.IntegerField(null=True)),
                ('conveyTime', models.IntegerField(null=True)),
                ('FATDoc', models.TextField(null=True)),
                ('SATDoc', models.TextField(null=True)),
                ('signTime', models.DateField(null=True)),
            ],
        ),
        migrations.CreateModel(
            name='Customer',
            fields=[
                ('cID', models.AutoField(primary_key=True, serialize=False)),
                ('cName', models.CharField(max_length=50, null=True)),
                ('cEnglishName', models.CharField(max_length=100, null=True)),
                ('cAddress', models.CharField(max_length=80, null=True)),
                ('cContactPerson', models.CharField(max_length=20, null=True)),
                ('cPhone', models.CharField(max_length=20, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='Device',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('deviceName', models.CharField(max_length=20, null=True)),
                ('deviceID', models.CharField(max_length=200, null=True)),
                ('functionWord', models.CharField(max_length=100, null=True)),
                ('picPath', models.TextField(null=True)),
            ],
        ),
        migrations.CreateModel(
            name='ExtraRequest',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('time', models.DateTimeField(auto_now_add=True, null=True)),
                ('requestContent', models.TextField(null=True)),
                ('answer', models.CharField(max_length=2, null=True)),
                ('remark', models.TextField(null=True)),
                ('contractID', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='bidHelp.Contract')),
            ],
        ),
        migrations.CreateModel(
            name='Project',
            fields=[
                ('pID', models.AutoField(primary_key=True, serialize=False)),
                ('pName', models.CharField(max_length=40, null=True)),
                ('startTime', models.DateField(null=True)),
                ('endTime', models.DateField(null=True)),
                ('bidPrice', models.IntegerField(null=True)),
                ('bidDocPath', models.TextField(null=True)),
                ('remark', models.CharField(max_length=100, null=True)),
                ('isGuaratee', models.CharField(max_length=2, null=True)),
                ('currentKind', models.CharField(max_length=3, null=True)),
                ('quantity', models.IntegerField(null=True)),
                ('aimDevice', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='bidHelp.Device')),
                ('inviteID', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='bidHelp.BidInvitation')),
            ],
        ),
        migrations.CreateModel(
            name='ProjectProccess',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('time', models.DateTimeField(auto_now_add=True, null=True)),
                ('pID', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='bidHelp.Project')),
            ],
        ),
        migrations.CreateModel(
            name='Staff_Project',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('job', models.CharField(max_length=2, null=True)),
                ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='bidHelp.Project')),
            ],
        ),
        migrations.CreateModel(
            name='StateParam',
            fields=[
                ('paramID', models.AutoField(primary_key=True, serialize=False)),
                ('paramContent', models.CharField(max_length=100, null=True)),
                ('remark', models.CharField(max_length=20, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='User',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('uID', models.CharField(max_length=7, null=True)),
                ('uName', models.CharField(max_length=10, null=True)),
                ('uAge', models.IntegerField(null=True)),
                ('uGender', models.CharField(max_length=2, null=True)),
                ('uKind', models.CharField(max_length=2, null=True)),
                ('uPassword', models.CharField(max_length=10, null=True)),
                ('uPhone', models.CharField(max_length=20, null=True)),
                ('uWorkTime', models.IntegerField(null=True)),
            ],
        ),
        migrations.CreateModel(
            name='VersionRecord',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('verID', models.IntegerField(null=True)),
                ('docPath', models.TextField(null=True)),
                ('time', models.DateTimeField(auto_now_add=True, null=True)),
                ('contractID', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='bidHelp.Contract')),
            ],
        ),
        migrations.AddField(
            model_name='staff_project',
            name='staff',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='bidHelp.User'),
        ),
        migrations.AddField(
            model_name='projectproccess',
            name='proccess',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='bidHelp.StateParam'),
        ),
        migrations.AddField(
            model_name='project',
            name='pState',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='bidHelp.StateParam'),
        ),
        migrations.AddField(
            model_name='contract',
            name='pID',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='bidHelp.Project'),
        ),
        migrations.AddField(
            model_name='contract',
            name='state',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='bidHelp.StateParam'),
        ),
        migrations.AddField(
            model_name='bidresult',
            name='pID',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='bidHelp.Project'),
        ),
        migrations.AddField(
            model_name='bidrequest',
            name='pID',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='bidHelp.Project'),
        ),
        migrations.AddField(
            model_name='bidinvitation',
            name='cID',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='bidHelp.Customer'),
        ),
    ]

4 最后

项目分享:https://gitee.com/asoonis/feed-neo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值