文章目录

0 项目说明1 研究目的2 研究方法2.1 系统边界和模块关系2.2 一级数据流程图2.3 实体-关系模型2.4 系统实现2.5 研究结论2.6 目录

3 项目源码4 最后

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

文章链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。