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

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()
# 添加完成重定向至主页
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)