def infos(self, id="", name="", school_id="", school_name="", limit=100, offset=1): offset = (offset - 1) * limit if offset > 0 else 0 filters = dict() if id: filters.update({"id": id}) if name: filters.update({"name": name}) if school_id or school_name: if not school_id: _school_list = db_api.school_list(name=school_name) if not _school_list: return {"count": 0, "state": 0, "message": "query success", "data": []} school_id = _school_list[0].id filters.update({"school_id": school_id}) grade_list = db_api.grade_list(offset=offset, limit=limit, **filters) #更新学生数和学校名称 views_list = self.views(grade_list) for view in views_list: school_list = db_api.school_list(id=view.get("school_id")) if school_list: view.update({"school_name": school_list[0].name}) grade_count = db_api.grade_count(**filters) return {"count": grade_count, "state": 0, "message": "query success", "data": views_list}
def input(self, name="", cardcode="", describe=""): if not name or not cardcode: LOG.error("school name or cardcode is None") return if db_api.school_list(name=name): raise ParamExist(name=convert.bs2unicode(name)) values = {"name": name, "cardcode": cardcode, "describe": describe} school_obj = db_api.school_create(values) #生成人脸库,获取faceset_token,并更新学校 #faceset_token = face_util.create_face_tokenset(values) code, faceset_token = face_recognition_yyl.FaceSet_Create( name, school_obj.get("id")) if code != 200: LOG.error("create faceset token error") return self.update(school_obj.get("id"), faceset_token=faceset_token) return values
def infos(self, id="", name="", cardcode="", limit=100, offset=0): offset = (offset - 1) * limit if offset > 0 else 0 filters = dict() if id: filters.update({"id": id}) if name: filters.update({"name": name}) if cardcode: filters.update({"cardcode": cardcode}) school_list = db_api.school_list(offset=offset, limit=limit, **filters) school_count = db_api.school_count(**filters) return { "count": school_count, "state": 0, "message": "query success", "data": self.views(school_list) }
def infos(self, id="", name="", school_id="", school_name="", grade_id="", grade_name="", cardcode="", limit=100, offset=1): offset = (offset - 1) * limit if offset > 0 else 0 filters = dict() if id: filters.update({"id": id}) if name: filters.update({"name": name}) if cardcode: filters.update({"cardcode": cardcode}) if school_id or school_name: if not school_id: _school_list = db_api.school_list(name=school_name) if not _school_list: return {"count": 0, "state": 0, "message": "query success", "data": []} school_id = [school_info.id for school_info in _school_list] filters.update({"school_id": school_id}) if grade_id or grade_name: if not grade_id: _grade_list = db_api.grade_list(name=grade_name) if not _grade_list: return grade_id = [grade_info.id for grade_info in _grade_list] filters.update({"grade_id": grade_id}) class_list = db_api.class_list(offset=offset, limit=limit, **filters) #更新学生数和学校名称 views_list = self.views(class_list) for view in views_list: school_info = db_api.school_get(id=view.get("school_id", "")) if school_info: view.update({"school_name": school_info.name}) grade_info = db_api.grade_get(id=view.get("grade_id", "")) if grade_info: view.update({"grade_name": grade_info.name}) student_count = db_api.student_count(class_id=view.get("id")) view.update({"reality_number": student_count}) class_count = db_api.class_count(**filters) return {"count": class_count, "state": 0, "message": "query success", "data": views_list}
def infos(self, id="", name="", school_id="", school_name="", grade_id="", grade_name="", class_id="", class_name="", phone="", status="", position=0, limit=100, offset=1): offset = (offset - 1) * limit if offset > 0 else 0 filters = dict() if id: filters.update({"id": id}) if name: filters.update({"name": name}) if position in (1, 2): filters.update({"position": position}) if status: filters.update({"status": status}) if school_id or school_name: if not school_id: _school_list = db_api.school_list(name=school_name) if not _school_list: return { "count": 0, "state": 0, "message": "query success", "data": [] } school_id = [school_info.id for school_info in _school_list] filters.update({"school_id": school_id}) if grade_id or grade_name: if not grade_id: _grade_list = db_api.grade_list(name=grade_name) if not _grade_list: return { "count": 0, "state": 0, "message": "query success", "data": [] } grade_id = [grade_info.id for grade_info in _grade_list] filters.update({"grade_id": grade_id}) if class_id or class_name: if not class_id: _class_list = db_api.class_list(name=class_name) if not _class_list: return { "count": 0, "state": 0, "message": "query success", "data": [] } class_id = [class_info.id for class_info in _class_list] filters.update({"class_id": class_id}) if phone: filters.update({"phone": phone}) #关联班级名和学校名 teacher_list = db_api.teacher_list(offset=offset, limit=limit, **filters) views_list = self.views(teacher_list) for view in views_list: view.update({"school_name": ""}) if view.get("school_id", ""): school_info = db_api.school_get(id=view.get("school_id")) if school_info: view.update({"school_name": school_info.name}) view.update({"grade_name": ""}) if view.get("grade_id", ""): grade_info = view.get("grade_info", None) # grade_info = db_api.grade_get(id=view.get("grade_id")) if grade_info: view.update({"grade_name": grade_info.get("name")}) view.update({"class_name": ""}) if view.get("class_id", ""): class_info = view.get("class_info", None) # class_info = db_api.class_get(id=view.get("class_id")) if class_info: view.update({"class_info": self.views(class_info)}) view.update({"class_name": class_info.get("name")}) """ #history teacher_history_lilst = db_api.teacher_history_list(teacher_id=view.get("id")) if teacher_history_lilst: view.update({"status": teacher_history_lilst[0].status}) """ teacher_count = db_api.teacher_count(**filters) return { "count": teacher_count, "state": 0, "message": "query success", "data": views_list }
def infos(self, id="", name="", school_id="", school_name="", grade_id="", grade_name="", class_id="", class_name="", relative_id="", relative_name="", phone="", limit=100, offset=1): offset = (offset - 1) * limit if offset > 0 else 0 filters = dict() if id: filters.update({"id": id}) if name: filters.update({"name": name}) if school_id or school_name: if not school_id: _school_list = db_api.school_list(name=school_name) if not _school_list: return {"count": 0, "state": 0, "message": "query success", "data": []} school_id = [school_info.id for school_info in _school_list] filters.update({"school_id": school_id}) if grade_id or grade_name: if not grade_id: _grade_list = db_api.grade_list(name=grade_name) if not _grade_list: return {"count": 0, "state": 0, "message": "query success", "data": []} grade_id = [grade_info.id for grade_info in _grade_list] filters.update({"grade_id": grade_id}) if class_id or class_name: if not class_id: _class_list = db_api.class_list(name=class_name) if not _class_list: return {"count": 0, "state": 0, "message": "query success", "data": []} class_id = [class_info.id for class_info in _class_list] filters.update({"class_id": class_id}) if relative_id or relative_name or phone: _relation_list = self._get_relations_by_relative(relative_id, relative_name, phone) if _relation_list: _ids = [_relation.student_id for _relation in _relation_list] filters.update({"id": _ids}) student_list = db_api.student_list(offset=offset, limit=limit, **filters) #关联学校和班级 views_list = self.views(student_list) for view in views_list: school_info = db_api.school_get(id=view.get("school_id")) if school_info: view.update({"school_name": school_info.name}) grade_info = view.get("grade_info", None) if grade_info: view.update({"grade_name": grade_info.get("name")}) class_info = view.get("class_info", None) if class_info: view.update({"class_name": class_info.get("name")}) relation_list = self._get_relations_by_student(view.get("id")) if relation_list: view.update({"relation_list": relation_list}) student_count = db_api.student_count(**filters) return {"count": student_count, "state": 0, "message": "query success", "data": views_list}