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.
423 lines
17 KiB
423 lines
17 KiB
5 years ago
|
from flask import Flask, render_template, request, redirect
|
||
|
from flask_sqlalchemy import SQLAlchemy
|
||
|
from sqlalchemy import Column, ForeignKey, Integer, MetaData, String
|
||
|
from sqlalchemy.orm import relationship
|
||
|
|
||
|
app = Flask(__name__)
|
||
|
db = SQLAlchemy(app)
|
||
|
|
||
|
# 设置数据库连接
|
||
|
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:123456@127.0.0.1:3306/test1'
|
||
|
|
||
|
class Fangjianshiyongqingkuangbiao(db.Model):
|
||
|
__tablename__ = 'fangjianshiyongqingkuangbiao'
|
||
|
|
||
|
fangjianhao = Column(String(3), primary_key=True)
|
||
|
fangjianweizhi = Column(ForeignKey('huanzherjibenxinxibiao.fangjianweizhi'), index=True)
|
||
|
fangjianshifoumanyuan = Column(String(2))
|
||
|
|
||
|
huanzherjibenxinxibiao = relationship('Huanzherjibenxinxibiao',
|
||
|
primaryjoin='Fangjianshiyongqingkuangbiao.fangjianweizhi == Huanzherjibenxinxibiao.fangjianweizhi',
|
||
|
backref='fangjianshiyongqingkuangbiaos')
|
||
|
|
||
|
|
||
|
class Huanzhebingqingcanzhaobiao(db.Model):
|
||
|
__tablename__ = 'huanzhebingqingcanzhaobiao'
|
||
|
|
||
|
huanzhebingqingdaihao = Column(Integer, primary_key=True)
|
||
|
jutibingqing = Column(String(2), nullable=False)
|
||
|
|
||
|
|
||
|
class Huanzhebingqingzhuangkuangbiao(db.Model):
|
||
|
__tablename__ = 'huanzhebingqingzhuangkuangbiao'
|
||
|
|
||
|
huanzhehao = Column(String(10), primary_key=True)
|
||
|
fangjianhao = Column(Integer)
|
||
|
huanzhebingqingdaihao = Column(ForeignKey('huanzhebingqingcanzhaobiao.huanzhebingqingdaihao'), index=True)
|
||
|
teshuqingkuangbeizhu = Column(String(255))
|
||
|
jiashuyouwuganran = Column(String(2))
|
||
|
|
||
|
huanzhebingqingcanzhaobiao = relationship('Huanzhebingqingcanzhaobiao',
|
||
|
primaryjoin='Huanzhebingqingzhuangkuangbiao.huanzhebingqingdaihao == Huanzhebingqingcanzhaobiao.huanzhebingqingdaihao',
|
||
|
backref='huanzhebingqingzhuangkuangbiaos')
|
||
|
|
||
|
|
||
|
class Huanzherjibenxinxibiao(db.Model):
|
||
|
__tablename__ = 'huanzherjibenxinxibiao'
|
||
|
|
||
|
shenfenzhenghao = Column(String(18), primary_key=True)
|
||
|
xingming = Column(String(3))
|
||
|
xingbie = Column(String(2))
|
||
|
nianling = Column(Integer)
|
||
|
jiguan = Column(String(4))
|
||
|
huanzhehao = Column(ForeignKey('huanzhebingqingzhuangkuangbiao.huanzhehao'), index=True)
|
||
|
fangjianweizhi = Column(Integer, index=True)
|
||
|
ruyuanshijian = Column(String(10))
|
||
|
jiashulianxitianhua = Column(String(11))
|
||
|
|
||
|
huanzhebingqingzhuangkuangbiao = relationship('Huanzhebingqingzhuangkuangbiao',
|
||
|
primaryjoin='Huanzherjibenxinxibiao.huanzhehao == Huanzhebingqingzhuangkuangbiao.huanzhehao',
|
||
|
backref='huanzherjibenxinxibiaos')
|
||
|
|
||
|
|
||
|
class Siwanghuanzhebiao(Huanzherjibenxinxibiao):
|
||
|
__tablename__ = 'siwanghuanzhebiao'
|
||
|
|
||
|
xingming = Column(String(3))
|
||
|
xingbie = Column(String(2))
|
||
|
nianling = Column(Integer)
|
||
|
shenfenzhenghao = Column(ForeignKey('huanzherjibenxinxibiao.shenfenzhenghao'), primary_key=True)
|
||
|
siwangshijian = Column(String(10))
|
||
|
|
||
|
|
||
|
class Yihuanguanxibiao(Huanzherjibenxinxibiao):
|
||
|
__tablename__ = 'yihuanguanxibiao'
|
||
|
|
||
|
huanzhehao = Column(ForeignKey('huanzherjibenxinxibiao.huanzhehao'), primary_key=True)
|
||
|
yishenggongzuozhenghao = Column(ForeignKey('yiyuanrenyuanxinxibiao.yishenggongzuozhenghao'), index=True)
|
||
|
yiyurenyuandegongzuoleixingdaihao = Column(Integer)
|
||
|
|
||
|
yiyuanrenyuanxinxibiao = relationship('Yiyuanrenyuanxinxibiao',
|
||
|
primaryjoin='Yihuanguanxibiao.yishenggongzuozhenghao == Yiyuanrenyuanxinxibiao.yishenggongzuozhenghao',
|
||
|
backref='yihuanguanxibiaos')
|
||
|
|
||
|
|
||
|
class Zhiyuhuanzhebiao(Huanzherjibenxinxibiao):
|
||
|
__tablename__ = 'zhiyuhuanzhebiao'
|
||
|
|
||
|
xingming = Column(String(3))
|
||
|
xingbie = Column(String(2))
|
||
|
nianling = Column(Integer)
|
||
|
shenfenzhenghao = Column(ForeignKey('huanzherjibenxinxibiao.shenfenzhenghao'), primary_key=True)
|
||
|
zhiyushijian = Column(String(10))
|
||
|
lianxidianhua = Column(String(11))
|
||
|
|
||
|
|
||
|
class Shebeishiyongqingkuangbiao(db.Model):
|
||
|
__tablename__ = 'shebeishiyongqingkuangbiao'
|
||
|
|
||
|
shebeihao = Column(String(5), primary_key=True)
|
||
|
shebeileixing = Column(String(10), nullable=False)
|
||
|
shifoushiyong = Column(String(2), nullable=False)
|
||
|
yongyunagehuanzhe_huanzhehao_ = Column('yongyunagehuanzhe(huanzhehao)', String(10), index=True)
|
||
|
|
||
|
|
||
|
class Yiyuanrenyuangongzuoqufenbiao(db.Model):
|
||
|
__tablename__ = 'yiyuanrenyuangongzuoqufenbiao'
|
||
|
|
||
|
yiyuanrenyuandegongzuoleixingdaihao = Column(String(4), primary_key=True)
|
||
|
jutigongzuoleixing = Column(String(4), nullable=False)
|
||
|
|
||
|
|
||
|
class Yiyuanrenyuanxinxibiao(db.Model):
|
||
|
__tablename__ = 'yiyuanrenyuanxinxibiao'
|
||
|
|
||
|
yishenggongzuozhenghao = Column(String(10), primary_key=True)
|
||
|
xingming = Column(String(3), nullable=False)
|
||
|
xingbie = Column(String(2), nullable=False)
|
||
|
nianling = Column(Integer, nullable=False)
|
||
|
dianhua = Column(String(11), nullable=False)
|
||
|
shifoudushengzinv = Column(String(2), nullable=False)
|
||
|
shifoudangyuan = Column(String(2), nullable=False)
|
||
|
gongzuonianling = Column(Integer, nullable=False)
|
||
|
yiyuanrenyuandegongzuoleixingdaihao = Column(
|
||
|
ForeignKey('yiyuanrenyuangongzuoqufenbiao.yiyuanrenyuandegongzuoleixingdaihao'), nullable=False, index=True)
|
||
|
|
||
|
yiyuanrenyuangongzuoqufenbiao = relationship('Yiyuanrenyuangongzuoqufenbiao',
|
||
|
primaryjoin='Yiyuanrenyuanxinxibiao.yiyuanrenyuandegongzuoleixingdaihao == Yiyuanrenyuangongzuoqufenbiao.yiyuanrenyuandegongzuoleixingdaihao',
|
||
|
backref='yiyuanrenyuanxinxibiaos')
|
||
|
|
||
|
|
||
|
@app.route('/')
|
||
|
def check_in():
|
||
|
return render_template("check_in.html")
|
||
|
|
||
|
@app.route('/suggestion')
|
||
|
def suggestion():
|
||
|
return render_template("suggestion.html")
|
||
|
|
||
|
|
||
|
@app.route('/call')
|
||
|
def call():
|
||
|
return render_template("call.html")
|
||
|
|
||
|
|
||
|
@app.route('/repair')
|
||
|
def repair():
|
||
|
return render_template("repair.html")
|
||
|
|
||
|
|
||
|
@app.route('/doctor')
|
||
|
def doctor():
|
||
|
doctor_list = Yiyuanrenyuanxinxibiao.query.all()
|
||
|
return render_template("doctor.html", doctor_list=doctor_list)
|
||
|
|
||
|
|
||
|
@app.route('/start')
|
||
|
def start():
|
||
|
return render_template("start.html")
|
||
|
|
||
|
|
||
|
@app.route('/device')
|
||
|
def device():
|
||
|
device_list = Shebeishiyongqingkuangbiao.query.all()
|
||
|
return render_template("device.html", device_list=device_list)
|
||
|
|
||
|
|
||
|
@app.route('/bingfang')
|
||
|
def bingfang():
|
||
|
bingfang_list = Fangjianshiyongqingkuangbiao.query.all()
|
||
|
return render_template("bingfang.html", bingfang_list=bingfang_list)
|
||
|
|
||
|
|
||
|
@app.route('/huanzhe')
|
||
|
def huanzhe():
|
||
|
huanzhe_list = Huanzherjibenxinxibiao.query.all()
|
||
|
return render_template("huanzhe.html", huanzhe_list=huanzhe_list)
|
||
|
|
||
|
#插入
|
||
|
@app.route('/insert_gen', methods=['GET', 'POST'])
|
||
|
def insert_gen():
|
||
|
if request.method == 'POST':
|
||
|
type = request.args.get("type")
|
||
|
if type == 'bingfang':
|
||
|
province = request.form['province']
|
||
|
cityname = request.form['city']
|
||
|
number = request.form['number']
|
||
|
print(province, cityname, number)
|
||
|
bingfang = Fangjianshiyongqingkuangbiao(fangjianhao=province, fangjianweizhi=cityname,
|
||
|
fangjianshifoumanyuan=number)
|
||
|
|
||
|
try:
|
||
|
db.session.add(bingfang)
|
||
|
db.session.commit()
|
||
|
except:
|
||
|
db.session.rollback()
|
||
|
detail = Fangjianshiyongqingkuangbiao.query.get(province)
|
||
|
detail.fangjianhao=province
|
||
|
detail.fangjianweizhi=cityname
|
||
|
detail.fangjianshifoumanyuan = number
|
||
|
|
||
|
db.session.commit()
|
||
|
|
||
|
# 添加完成重定向至主页
|
||
|
return redirect('/bingfang')
|
||
|
elif type == 'device':
|
||
|
province = request.form['province']
|
||
|
cityname = request.form['city']
|
||
|
number = request.form['number']
|
||
|
belong=request.form['belong']
|
||
|
print(province, cityname, number,belong)
|
||
|
bingfang = Shebeishiyongqingkuangbiao(shebeihao=province, shebeileixing=cityname,
|
||
|
shifoushiyong=number,yongyunagehuanzhe_huanzhehao_=belong)
|
||
|
try:
|
||
|
db.session.add(bingfang)
|
||
|
db.session.commit()
|
||
|
except:
|
||
|
db.session.rollback()
|
||
|
detail = Shebeishiyongqingkuangbiao.query.get(province)
|
||
|
detail.shebeihao=province
|
||
|
detail.shebeileixing = cityname
|
||
|
detail.shifoushiyong=number
|
||
|
detail.yongyunagehuanzhe_huanzhehao_=belong
|
||
|
db.session.commit()
|
||
|
|
||
|
# 添加完成重定向至主页
|
||
|
return redirect('/device')
|
||
|
elif type == 'doctor':
|
||
|
ysh = request.form['ysh']
|
||
|
name = request.form['name']
|
||
|
sex = request.form['sex']
|
||
|
olf = request.form['old']
|
||
|
child = request.form['child']
|
||
|
dy = request.form['dy']
|
||
|
job = request.form['job']
|
||
|
phone = request.form['phone']
|
||
|
number = request.form['number']
|
||
|
try:
|
||
|
ys = Yiyuanrenyuanxinxibiao(yishenggongzuozhenghao=ysh, xingbie=sex, nianling=olf, xingming=name,
|
||
|
shifoudushengzinv=child, shifoudangyuan=dy, dianhua=phone,
|
||
|
gongzuonianling=job,
|
||
|
yiyuanrenyuandegongzuoleixingdaihao=number)
|
||
|
db.session.add(ys)
|
||
|
db.session.commit()
|
||
|
except:
|
||
|
db.session.rollback()
|
||
|
detail = Yiyuanrenyuanxinxibiao.query.get(ysh)
|
||
|
detail.yishenggongzuozhenghao=ysh
|
||
|
detail.xingbie=sex
|
||
|
detail.nianling=olf
|
||
|
detail.xingming = name
|
||
|
detail.shifoudushengzinv=child
|
||
|
detail.shifoudangyuan=dy
|
||
|
detail.dianhua=phone
|
||
|
detail.gongzuonianling=job
|
||
|
detail.yiyuanrenyuandegongzuoleixingdaihao=number
|
||
|
db.session.commit()
|
||
|
|
||
|
return redirect('/doctor')
|
||
|
elif type == 'huanzhe':
|
||
|
ysh = request.form['a']
|
||
|
name = request.form['b']
|
||
|
sex = request.form['c']
|
||
|
olf = request.form['d']
|
||
|
child = request.form['e']
|
||
|
dy = request.form['f']
|
||
|
job = request.form['g']
|
||
|
phone = request.form['h']
|
||
|
number = request.form['phone']
|
||
|
try:
|
||
|
ys = Huanzherjibenxinxibiao(shenfenzhenghao=ysh, xingming=name, xingbie=sex, nianling=olf, jiguan=child,
|
||
|
huanzhehao=dy, fangjianweizhi=job, ruyuanshijian=phone,
|
||
|
jiashulianxitianhua=number)
|
||
|
db.session.add(ys)
|
||
|
db.session.commit()
|
||
|
except:
|
||
|
db.session.rollback()
|
||
|
detail = Huanzherjibenxinxibiao.query.get(ysh)
|
||
|
detail.shenfenzhenghao=ysh
|
||
|
detail.xingming = name
|
||
|
detail.xingbie=sex
|
||
|
detail.nianling=olf
|
||
|
detail.jiguan=child
|
||
|
detail.huanzhehao=dy
|
||
|
detail.fangjianweizhi=job
|
||
|
detail.ruyuanshijian=phone
|
||
|
detail.jiashulianxitianhua=number
|
||
|
db.session.commit()
|
||
|
|
||
|
return redirect('/huanzhe')
|
||
|
|
||
|
#修改
|
||
|
@app.route('/update_gen', methods=['GET', 'POST'])
|
||
|
def update_gen():
|
||
|
if request.method == 'GET':
|
||
|
id = request.args.get("id")
|
||
|
type = request.args.get("type")
|
||
|
if type == 'doctor':
|
||
|
detail = Yiyuanrenyuanxinxibiao.query.filter_by(yishenggongzuozhenghao=id).first()
|
||
|
return render_template("insert_doctor.html", detail=detail)
|
||
|
elif type == 'huanzhe':
|
||
|
detail = Huanzherjibenxinxibiao.query.filter_by(shenfenzhenghao=id).first()
|
||
|
return render_template("insert_huanzhe.html", detail=detail)
|
||
|
elif type == 'device':
|
||
|
detail = Shebeishiyongqingkuangbiao.query.filter_by(shebeihao=id).first()
|
||
|
return render_template("insert_device.html", detail=detail)
|
||
|
elif type == 'bingfang':
|
||
|
detail = Fangjianshiyongqingkuangbiao.query.filter_by(fangjianhao=id).first()
|
||
|
return render_template("insert_bingfang.html", detail=detail)
|
||
|
else:
|
||
|
type = request.args.get("type")
|
||
|
if type == 'bingfang':
|
||
|
province = request.form['province']
|
||
|
cityname = request.form['city']
|
||
|
number = request.form['number']
|
||
|
print(province, cityname, number)
|
||
|
bingfang = Fangjianshiyongqingkuangbiao(fangjianhao=province, fangjianweizhi=cityname,
|
||
|
fangjianshifoumanyuan=number)
|
||
|
db.session.add(bingfang)
|
||
|
db.session.commit()
|
||
5 years ago
|
|
||
5 years ago
|
# 添加完成重定向至主页
|
||
|
return redirect('/bingfang')
|
||
|
elif type == 'doctor':
|
||
|
ysh = request.form['ysh']
|
||
|
name = request.form['name']
|
||
|
sex = request.form['sex']
|
||
|
olf = request.form['old']
|
||
|
child = request.form['child']
|
||
|
dy = request.form['dy']
|
||
|
job = request.form['job']
|
||
|
phone = request.form['phone']
|
||
|
number = request.form['number']
|
||
|
print(request.form)
|
||
|
ys = Yiyuanrenyuanxinxibiao(yishenggongzuozhenghao=ysh, xingbie=sex, nianling=olf, xingming=name,
|
||
|
shifoudushengzinv=child, shifoudangyuan=dy, dianhua=phone, gongzuonianling=job,
|
||
|
yiyuanrenyuandegongzuoleixingdaihao=number)
|
||
|
db.session.add(ys)
|
||
|
db.session.commit()
|
||
|
return redirect('/doctor')
|
||
|
elif type == 'huanzhe':
|
||
|
ysh = request.form['ysh']
|
||
|
name = request.form['name']
|
||
|
sex = request.form['sex']
|
||
|
olf = request.form['old']
|
||
|
child = request.form['child']
|
||
|
dy = request.form['dy']
|
||
|
job = request.form['job']
|
||
|
phone = request.form['phone']
|
||
|
number = request.form['number']
|
||
|
print(request.form)
|
||
|
ys = Huanzherjibenxinxibiao(shenfenzhenghao=ysh, xingbie=sex, nianling=olf, xingming=name,
|
||
|
jiguan=child, huanzhehao=dy, fangjianweizhi=phone, ruyuanshijian=job,
|
||
|
jiashulianxitianhua=number)
|
||
|
db.session.add(ys)
|
||
|
db.session.commit()
|
||
|
return redirect('/huanzhe')
|
||
|
elif type == 'device':
|
||
|
ysh = request.form['ysh']
|
||
|
name = request.form['name']
|
||
|
sex = request.form['sex']
|
||
|
olf = request.form['old']
|
||
|
print(request.form)
|
||
|
ys = Shebeishiyongqingkuangbiao(shebeihao=ysh, shebeileixing=sex, shifoushiyong=olf,
|
||
|
yongyunagehuanzhe_huanzhehao_=name
|
||
|
)
|
||
|
db.session.add(ys)
|
||
|
db.session.commit()
|
||
|
return redirect('/device')
|
||
|
#删除
|
||
|
@app.route('/delete_gen', methods=['GET', 'POST'])
|
||
|
def delete_gen():
|
||
|
if request.method == 'GET':
|
||
|
id = request.args.get("id")
|
||
|
type = request.args.get("type")
|
||
|
if type == 'doctor':
|
||
|
detail = Yiyuanrenyuanxinxibiao.query.filter_by(yishenggongzuozhenghao=id).first()
|
||
|
|
||
|
db.session.delete(detail)
|
||
|
db.session.commit()
|
||
|
return redirect('/doctor')
|
||
|
elif type == 'huanzhe':
|
||
|
detail = Huanzherjibenxinxibiao.query.filter_by(shenfenzhenghao=id).first()
|
||
|
|
||
|
db.session.delete(detail)
|
||
|
db.session.commit()
|
||
|
return redirect('/huanzhe')
|
||
|
elif type == 'device':
|
||
|
detail = Shebeishiyongqingkuangbiao.query.filter_by(shebeihao=id).first()
|
||
|
|
||
|
db.session.delete(detail)
|
||
|
db.session.commit()
|
||
|
return redirect('/device')
|
||
|
elif type == 'bingfang':
|
||
|
detail = Fangjianshiyongqingkuangbiao.query.filter_by(fangjianhao=id).first()
|
||
|
|
||
|
db.session.delete(detail)
|
||
|
db.session.commit()
|
||
|
return redirect('/bingfang')
|
||
|
|
||
|
|
||
|
@app.route("/insert_device")
|
||
|
def insert_device():
|
||
|
# 跳转至添加信息页面
|
||
|
if request.method == 'GET':
|
||
|
type = request.args.get("type")
|
||
|
if type == 'device':
|
||
|
qufen = Shebeishiyongqingkuangbiao.query.all()
|
||
|
return render_template("insert_device.html", qufen=qufen,mark='0')
|
||
|
elif type == 'doctor':
|
||
|
qufen = Yiyuanrenyuanxinxibiao.query.all()
|
||
|
return render_template("insert_doctor.html", qufen=qufen, mark='0')
|
||
|
elif type == 'huanzhe':
|
||
|
qufen = Huanzherjibenxinxibiao.query.all()
|
||
|
return render_template("insert_huanzhe.html", qufen=qufen,mark='0')
|
||
|
elif type == 'bingfang':
|
||
|
qufen = Fangjianshiyongqingkuangbiao.query.all()
|
||
|
return render_template("insert_bingfang.html", qufen=qufen, mark='0')
|
||
|
if request.method == 'POST':
|
||
|
pass
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
app.run(debug=True, host='127.0.0.1', port=8080)
|