You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
198 lines
7.6 KiB
198 lines
7.6 KiB
from flask import Flask, render_template, request, redirect,url_for
|
|
from flask_sqlalchemy import SQLAlchemy
|
|
import pymysql
|
|
pymysql.install_as_MySQLdb()
|
|
app = Flask(__name__)
|
|
|
|
# 设置数据库连接
|
|
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:xyc19991216@127.0.0.1:3306/疫情物资'
|
|
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True # 设置每次请求结束后会自动提交数据库中的改动
|
|
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
|
|
app.config['SQLALCHEMY_ECHO'] = True # 查询时会显示原始SQL语句
|
|
db = SQLAlchemy(app)
|
|
|
|
|
|
class 物资(db.Model): # 表模型
|
|
物资编号 = db.Column(db.String(255), primary_key=True)
|
|
类别 = db.Column(db.String(255))
|
|
数量 = db.Column(db.Integer)
|
|
class 仓库(db.Model):
|
|
仓库编号 = db.Column(db.String(255), primary_key=True)
|
|
地址 = db.Column(db.String(255),nullable= False)
|
|
面积 = db.Column(db.Integer)
|
|
责任人 = db.Column(db.String(255),nullable= False)
|
|
class 仓管员(db.Model):
|
|
职员编号 = db.Column(db.String(255), primary_key=True)
|
|
姓名 = db.Column(db.String(255),nullable=False)
|
|
性别 = db.Column(db.String(255))
|
|
出生日期 = db.Column(db.DATE,nullable=False)
|
|
手机号码 = db.Column(db.String(255))
|
|
仓库编号 = db.Column(db.String(255),nullable=False)
|
|
区间号 = db.Column(db.String(255))
|
|
class 工厂(db.Model):
|
|
工厂编号 = db.Column(db.String(255), primary_key=True)
|
|
工厂名称 = db.Column(db.String(255))
|
|
工厂地址 = db.Column(db.String(255), nullable=False)
|
|
联系电话 = db.Column(db.String(255), nullable=False)
|
|
责任人 = db.Column(db.String(255))
|
|
class 捐赠(db.Model):
|
|
捐赠编号 = db.Column(db.String(255),primary_key=True)
|
|
捐赠者 = db. Column(db.String(255),nullable=False)
|
|
联系电话 = db.Column(db.String(255))
|
|
物资编号 = db. Column(db.String(255),nullable=False)
|
|
类别 = db. Column(db.String(255))
|
|
捐赠日期 = db. Column(db.DATE)
|
|
数量 = db. Column(db.Integer)
|
|
class 运输(db.Model):
|
|
工厂编号 = db. Column(db.String(255),nullable=False)
|
|
仓库编号 = db.Column(db.String(255),nullable=False)
|
|
物资编号 = db. Column(db.String(255),nullable=False)
|
|
类别 = db.Column(db.String(255))
|
|
数量 = db. Column(db.Integer)
|
|
到达日期 = db.Column(db.DATE)
|
|
交易单号 = db. Column(db.String(255),primary_key=True)
|
|
class 生产(db.Model):
|
|
工厂编号 = db. Column(db.String(255),nullable=False)
|
|
物资编号 = db. Column(db.String(255),nullable=False)
|
|
类别 = db.Column(db.String(255))
|
|
数量 = db.Column(db.Integer)
|
|
出厂日期 = db. Column(db.DATE)
|
|
生产单号 = db. Column(db.String(255),primary_key=True)
|
|
class 储存(db.Model):
|
|
储存号 = db. Column(db.String(255),primary_key=True)
|
|
物资编号 = db. Column(db.String(255),nullable=False)
|
|
类别 = db. Column(db.String(255))
|
|
数量 = db. Column(db.Integer)
|
|
来源 = db.Column(db.String(255))
|
|
入库时间 = db.Column(db.DATE)
|
|
去向 = db.Column(db.String(255))
|
|
出库时间 = db.Column(db.DATE)
|
|
仓库编号 = db.Column(db.String(255),nullable=False)
|
|
储存位置 = db. Column(db.String(255),nullable=False)
|
|
|
|
|
|
@app.route("/chucun")
|
|
def chucun():
|
|
储存表 = 储存.query.order_by(储存.储存号.desc()).all()
|
|
return render_template("chucun.html",储存表=储存表)
|
|
|
|
@app.route("/yunshu")
|
|
def yunshu():
|
|
运输表 = 运输.query.order_by(运输.交易单号.desc()).all()
|
|
return render_template("yunshu.html",运输表 = 运输表)
|
|
|
|
@app.route("/shengchan")
|
|
def shengchan():
|
|
生产表 = 生产.query.order_by(生产.生产单号.desc()).all()
|
|
return render_template("shengchan.html",生产表 =生产表)
|
|
|
|
@app.route("/gongchang")
|
|
def gongchang():
|
|
工厂表 = 工厂.query.order_by(工厂.工厂编号.desc()).all()
|
|
return render_template("gongchang.html",工厂表=工厂表)
|
|
|
|
@app.route("/juanzeng")
|
|
def juanzeng():
|
|
捐赠表 = 捐赠.query.order_by(捐赠.捐赠编号.desc()).all()
|
|
return render_template("juanzeng.html",捐赠表=捐赠表)
|
|
|
|
@app.route("/select_all")
|
|
def select_all():
|
|
物资表 = 物资.query.order_by(物资.物资编号.desc()).all() # 拿到数据库数据
|
|
return render_template("index.html", 物资表=物资表)
|
|
|
|
@app.route('/')
|
|
def hello_world():
|
|
return select_all()
|
|
|
|
@app.route("/insert_page")
|
|
def insert_page():
|
|
return render_template("insert.html")
|
|
|
|
@app.route("/insert_page1")
|
|
def insert_page1():
|
|
return render_template("insert1.html")
|
|
@app.route("/bianji1")
|
|
def bianji1():
|
|
储存号 = request.args.get("ic")
|
|
c = 储存.query.filter_by(储存号=储存号).first()
|
|
db.session.delete(c)
|
|
db.session.commit()
|
|
return render_template("bianji.html")
|
|
|
|
@app.route("/insert", methods=['GET', 'POST'])
|
|
def insert():
|
|
# 接受用户数据
|
|
物资编号 = request.form['物资编号'] # 获取表单信息
|
|
类别 = request.form['类别']
|
|
数量 = request.form['数量']
|
|
city = 物资(物资编号=物资编号, 类别=类别, 数量=数量)
|
|
db.session.add(city)
|
|
db.session.commit()
|
|
return redirect("/") # 重定向到主页
|
|
|
|
@app.route("/insert1", methods=['GET', 'POST'])
|
|
def insert1():
|
|
# 接受用户数据
|
|
储存号 = request.form['储存号']
|
|
物资编号 = request.form['物资编号'] # 获取表单信息
|
|
类别 = request.form['类别']
|
|
数量 = request.form['数量']
|
|
来源 = request.form['来源']
|
|
入库时间 = request.form['入库时间']
|
|
去向 = request.form['去向']
|
|
出库时间 = request.form['出库时间']
|
|
仓库编号 = request.form['仓库编号']
|
|
储存位置 = request.form['储存位置']
|
|
c = 储存(储存号=储存号,物资编号=物资编号, 类别=类别, 数量=数量,来源=来源,入库时间=入库时间,去向=去向,出库时间=出库时间,仓库编号=仓库编号,储存位置=储存位置)
|
|
db.session.add(c)
|
|
db.session.commit()
|
|
return redirect("/chucun")
|
|
|
|
@app.route("/bianji", methods=['GET', 'POST'])
|
|
def bianji():
|
|
# 接受用户数据
|
|
储存号 = request.form['储存号']
|
|
物资编号 = request.form['物资编号'] # 获取表单信息
|
|
类别 = request.form['类别']
|
|
数量 = request.form['数量']
|
|
来源 = request.form['来源']
|
|
入库时间 = request.form['入库时间']
|
|
去向 = request.form['去向']
|
|
出库时间 = request.form['出库时间']
|
|
仓库编号 = request.form['仓库编号']
|
|
储存位置 = request.form['储存位置']
|
|
l = 储存(储存号=储存号,物资编号=物资编号, 类别=类别, 数量=数量,来源=来源,入库时间=入库时间,去向=去向,出库时间=出库时间,仓库编号=仓库编号,储存位置=储存位置)
|
|
db.session.add(l)
|
|
db.session.commit()
|
|
return redirect("/chucun")
|
|
|
|
@app.route("/cangku")
|
|
def cangku():
|
|
仓库表 = 仓库.query.order_by(仓库.仓库编号.desc()).all()
|
|
return render_template("cangku.html", 仓库表=仓库表)
|
|
|
|
@app.route("/cangguanyuan")
|
|
def cangguanyuan():
|
|
职员表 = 仓管员.query.order_by(仓管员.职员编号.desc()).all()
|
|
return render_template("cangguanyuan.html",职员表=职员表)
|
|
|
|
@app.route("/delete",methods=['GET'])
|
|
def delete():
|
|
物资编号 = request.args.get("id")
|
|
a = 物资.query.filter_by(物资编号 = 物资编号).first()
|
|
db.session.delete(a)
|
|
db.session.commit()
|
|
return redirect("/")
|
|
|
|
@app.route("/delete1",methods=['GET'])
|
|
def delete1():
|
|
储存号 = request.args.get("ib")
|
|
b = 储存.query.filter_by(储存号 = 储存号).first()
|
|
db.session.delete(b)
|
|
db.session.commit()
|
|
return redirect("/chucun") #删除后跳转到主页选择是否删除相应物资信息
|
|
|
|
if __name__ == '__main__':
|
|
app.run()
|