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

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="删除成功"))