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.
155 lines
4.9 KiB
155 lines
4.9 KiB
2 years ago
|
#!/usr/bin/env python
|
||
|
# -*- encoding: utf-8 -*-
|
||
|
'''
|
||
|
@Date: 2022/11/28 10:51:52
|
||
|
'''
|
||
|
import sys
|
||
|
sys.path.append('.')
|
||
|
import json
|
||
|
from flask import Blueprint, request, jsonify
|
||
|
|
||
|
from db_logic.medicament_label import BllMedicamentLabel
|
||
|
from db_logic.medicament_relation import BllMedicamentRelation
|
||
|
|
||
|
from models.medicament_models import EntityMedicamentLabel, EntityMedicamentRelation
|
||
|
|
||
|
from Common.Utils import PageParam, Utils
|
||
|
|
||
|
drug_label_app = Blueprint("drug_label", __name__)
|
||
|
|
||
|
|
||
|
@drug_label_app.route("/get", methods=["POST"])
|
||
|
# @token_auth.login_required
|
||
|
def get_seach_drug_label():
|
||
|
seach_word = request.values.get("seach_word")
|
||
|
page = request.values.get("page", 1)
|
||
|
page_size = request.values.get("page_size", 10)
|
||
|
page_param = PageParam(int(page), int(page_size))
|
||
|
|
||
|
data_list = BllMedicamentLabel().get_seach_list(
|
||
|
seach_word=seach_word,
|
||
|
page_param=page_param
|
||
|
)
|
||
|
return jsonify(Utils.true_return(data={
|
||
|
"total_count": page_param.totalRecords,
|
||
|
"data_list": Utils.msyql_table_model(data_list)
|
||
|
}))
|
||
|
|
||
|
|
||
|
@drug_label_app.route("/attribute_label_list", methods=["POST"])
|
||
|
def get_attribute_label_list():
|
||
|
data_list = []
|
||
|
data = BllMedicamentLabel().get_attribute_label_list_info()
|
||
|
for i in data:
|
||
|
for j in i[0].split(","):
|
||
|
if j not in data_list:
|
||
|
data_list.append(j)
|
||
|
return jsonify(
|
||
|
Utils.true_return(
|
||
|
data=data_list
|
||
|
)
|
||
|
)
|
||
|
|
||
|
@drug_label_app.route("/update_add", methods=["POST"])
|
||
|
# @token_auth.login_required
|
||
|
def set_drug_label():
|
||
|
variety_id = request.values.get("id")
|
||
|
name = request.values.get("name")
|
||
|
description = request.values.get("description")
|
||
|
obj = BllMedicamentLabel()
|
||
|
if variety_id:
|
||
|
label_obj = obj.findEntity(
|
||
|
EntityMedicamentLabel.variety_id == variety_id)
|
||
|
if label_obj:
|
||
|
setattr(label_obj, "name", name)
|
||
|
setattr(label_obj, "description", description)
|
||
|
obj.update(label_obj)
|
||
|
return jsonify(Utils.true_return(msg="修改成功"))
|
||
|
else:
|
||
|
return jsonify(Utils.false_return())
|
||
|
else:
|
||
|
model_obj = EntityMedicamentLabel(
|
||
|
name=name,
|
||
|
description=description
|
||
|
)
|
||
|
obj.insert(model_obj)
|
||
|
return jsonify(Utils.true_return(msg="添加成功"))
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
@drug_label_app.route("/del", methods=["POST"])
|
||
|
# @token_auth.login_required
|
||
|
def del_drug_label():
|
||
|
label_id = request.values.get("id_list")
|
||
|
obj = BllMedicamentLabel()
|
||
|
data_list = obj.findList(
|
||
|
EntityMedicamentLabel.variety_id.in_(tuple(json.loads(label_id)))).all()
|
||
|
for i in data_list:
|
||
|
obj.session.delete(i)
|
||
|
obj.session.commit()
|
||
|
return jsonify(Utils.true_return(msg="删除成功"))
|
||
|
|
||
|
|
||
|
@drug_label_app.route("/relation/get", methods=["POST"])
|
||
|
# @token_auth.login_required
|
||
|
def get_seach_drug_relation():
|
||
|
seach_word = request.values.get("seach_word")
|
||
|
page = request.values.get("page", 1)
|
||
|
page_size = request.values.get("page_size", 10)
|
||
|
page_param = PageParam(int(page), int(page_size))
|
||
|
|
||
|
data_list = BllMedicamentRelation().get_seach_list(
|
||
|
seach_word=seach_word,
|
||
|
page_param=page_param
|
||
|
)
|
||
|
return jsonify(Utils.true_return(data={
|
||
|
"total_count": page_param.totalRecords,
|
||
|
"data_list": Utils.msyql_table_model(data_list)
|
||
|
}))
|
||
|
|
||
|
|
||
|
@drug_label_app.route("/relation/update_add", methods=["POST"])
|
||
|
# @token_auth.login_required
|
||
|
def set_drug_relation():
|
||
|
relation_id = request.values.get("id")
|
||
|
name = request.values.get("name1")
|
||
|
name2 = request.values.get("name2")
|
||
|
relation = request.values.get("relation")
|
||
|
description = request.values.get("description")
|
||
|
obj = BllMedicamentRelation()
|
||
|
if relation_id:
|
||
|
relation_obj = obj.findEntity(
|
||
|
EntityMedicamentRelation.id == relation_id)
|
||
|
if relation_obj:
|
||
|
setattr(relation_obj, "name1", name)
|
||
|
setattr(relation_obj, "name2", name2)
|
||
|
setattr(relation_obj, "relation", relation)
|
||
|
setattr(relation_obj, "description", description)
|
||
|
obj.update(relation_obj)
|
||
|
return jsonify(Utils.true_return(msg="修改成功"))
|
||
|
else:
|
||
|
return jsonify(Utils.false_return())
|
||
|
else:
|
||
|
model_obj = EntityMedicamentRelation()
|
||
|
setattr(model_obj, "name1", name)
|
||
|
setattr(model_obj, "name2", name2)
|
||
|
setattr(model_obj, "relation", relation)
|
||
|
setattr(model_obj, "description", description)
|
||
|
obj.insert(model_obj)
|
||
|
return jsonify(Utils.true_return(msg="添加成功"))
|
||
|
|
||
|
|
||
|
@drug_label_app.route("/relation/del", methods=["POST"])
|
||
|
# @token_auth.login_required
|
||
|
def del_relation():
|
||
|
list_id = request.values.get("id_list")
|
||
|
obj = BllMedicamentRelation()
|
||
|
data_list = obj.findList(
|
||
|
EntityMedicamentRelation.id.in_(tuple(json.loads(list_id)))).all()
|
||
|
for i in data_list:
|
||
|
obj.session.delete(i)
|
||
|
obj.session.commit()
|
||
|
return jsonify(Utils.true_return(msg="删除成功"))
|
||
|
|