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

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()