def _save_student_relative(self, student_relative_info): name = student_relative_info.get('name', '') sex = student_relative_info.get('sex') birthday = student_relative_info.get('birthday', '') class_id = student_relative_info.get('class_id', '') relation_number = student_relative_info.get("relation_number") relative_list = student_relative_info.get("relative_list", []) stu_op = StudentLogic() relative_op = RelativeLogic() relation_op = RelationLogic() student_info = stu_op.input(name=name, sex=sex, birthday=birthday, class_id=class_id, relation_number=relation_number) if not student_info: #self.finish(json.dumps({'state': 1, 'message': 'student info error'})) return 1, '%s:student info error.'%name for relative in relative_list: relative_info = relative_op.input( name=convert.bs2utf8(relative.get("name", "")), sex=relative.get("sex", 0), birthday=convert.bs2utf8(relative.get("birthday", "")), phone=convert.bs2utf8(relative.get("phone", ""))) if not relative_info: #self.finish(json.dumps({'state': 2, 'message': '%s: relative info error' % relative.get("name", "")})) return 2, '%s: relative info error.' % relative.get("name", "") relation_op.input(relative.get("relation", ""), student_id=student_info.get("id"), relative_id=relative_info.get("id")) return 0, 'save student success.'
def post(self, delete_obj): try: id = self.get_argument('id', '') kwargs = {} _op = Logic() if delete_obj == "school": _op = SchoolLogic() if delete_obj == "grade": _op = GradeLogic() if delete_obj == "class": _op = ClassLogic() if delete_obj == "teacher": _op = TeacherLogic() if delete_obj == "student": _op = StudentLogic() if delete_obj == "relative": _op = RelativeLogic() if delete_obj == "relation": _op = RelationLogic() if delete_obj == "face": _op = FaceLogic() if delete_obj == "user": # only admin current_user_level = self.get_secure_cookie('user_level') kwargs.update({"current_user_level": current_user_level}) _op = UserLogic() if not id: self.finish( json.dumps({ 'state': 1, 'message': 'params %s is None' % delete_obj })) id = id.split(",") _message = _op.delete(id, **kwargs) if _message: self.finish(json.dumps({'state': 9, 'message': _message})) return self.finish( json.dumps({ 'state': 0, 'message': 'delete info success.' })) except Exception as ex: LOG.error("Delete %s error:%s" % (delete_obj, ex)) self.finish( json.dumps({ 'state': 10, 'message': 'Delete action error' }))
def delete_student_relative(self): student_id = convert.bs2utf8(self.get_argument('student_id', '')) stu_op = StudentLogic() stu_op.combination_delete(id=student_id) message = self.finish(json.dumps({'state': 0, 'message': 'success'})) if not message: self.finish(json.dumps({'state': 0, 'message': 'delete student success'})) else: self.finish(json.dumps({'state': 1, 'message': message}))
def student_sign_details(self): student_id = convert.bs2utf8(self.get_argument('student_id', '')) start_date = convert.bs2utf8(self.get_argument('start_date', '')) end_date = convert.bs2utf8(self.get_argument('end_date', '')) student_op = StudentLogic() _ = student_op.info_detail_for_sign(student_id, start_date, end_date) if _: self.finish(json.dumps(_)) else: self.finish(json.dumps({'state': 1, 'message': 'action student_sign_details error'}))
def batch_student_excel(self): student_id = convert.bs2utf8(self.get_argument('student_id', '')) student_name = convert.bs2utf8(self.get_argument('student_name', '')) school_id = convert.bs2utf8(self.get_argument('school_id', '')) grade_id = convert.bs2utf8(self.get_argument('grade_id', '')) class_id = convert.bs2utf8(self.get_argument('class_id', '')) student_op = StudentLogic() _data = student_op.student_relative_excel(student_id, student_name, school_id, grade_id, class_id) _excel = util_excel.make_student_excel(_data) self.write(_excel) self.set_header('Content-Type', 'application/octet-stream') self.set_header('Content-Disposition', 'attachment; filename=student.xls') self.finish()
def student_sign_day(self): school_id = convert.bs2utf8(self.get_argument('school_id', '')) student_id = convert.bs2utf8(self.get_argument('student_id', '')) student_name = convert.bs2utf8(self.get_argument('student_name', '')) relative_id = convert.bs2utf8(self.get_argument('relative_id', '')) grade_id = convert.bs2utf8(self.get_argument('grade_id', '')) class_id = convert.bs2utf8(self.get_argument('class_id', '')) sign_date = convert.bs2utf8(self.get_argument('sign_date', '')) limit = int(self.get_argument('limit', 100)) offset = int(self.get_argument('offset', 0)) student_op = StudentLogic() _ = student_op.infos_for_sign_day(id=student_id, name=student_name, school_id=school_id, grade_id=grade_id, class_id=class_id, relative_id=relative_id, sign_date=sign_date, limit=limit, offset=offset ) if _: self.finish(json.dumps(_)) else: self.finish(json.dumps({'state': 1, 'message': 'action student_sign error'}))
def get(self, infos_obj): limit = int(self.get_argument('limit', 100)) offset = int(self.get_argument('offset', 0)) try: _op = Logic() _value = dict() if infos_obj == "school": _value = self._get_school_argument() _op = SchoolLogic() if infos_obj == "grade": _value = self._get_grade_argument() _op = GradeLogic() if infos_obj == "class": _value = self._get_class_argument() _op = ClassLogic() if infos_obj == "teacher": _value = self._get_teacher_argument() _op = TeacherLogic() if infos_obj == "teacher_history": _value = self._get_teacher_history_argument() _op = Teacher_HistoryLogic() if infos_obj == "student": _value = self._get_student_argument() _op = StudentLogic() if infos_obj == "student_history": _value = self._get_student_history_argument() _op = Student_HistoryLogic() if infos_obj == "relative": _value = self._get_relative_argument() _op = RelativeLogic() if infos_obj == "relation": _value = self._get_relation_argument() _op = RelationLogic() if infos_obj == "face": _value = self._get_face_argument() _op = FaceLogic() if infos_obj == "relative_sign": _value = self._get_relative_sign_argument() _op = SignLogic() if infos_obj == "teacher_sign": _value = self._get_teacher_sign_argument() _op = SignLogic() if infos_obj == "user": _value = self._get_user_argument() _op = UserLogic() _ = _op.infos(limit=limit, offset=offset, **_value) if _: self.finish(json.dumps(_)) else: self.finish( json.dumps({ 'state': 1, 'message': 'action %s error' % infos_obj })) except Exception as ex: LOG.error("query %s error:%s" % (infos_obj, ex)) self.finish( json.dumps({ "state": 1, "message": "error", "data": [] }))
def post(self, update_obj): try: _id = "" _value = {} _op = Logic() if update_obj == "school": _id, _value = self._get_school_argument() _op = SchoolLogic() if update_obj == "grade": _id, _value = self._get_grade_argument() _op = GradeLogic() if update_obj == "class": _id, _value = self._get_class_argument() _op = ClassLogic() if update_obj == "teacher": _id, _value = self._get_teacher_argument() _op = TeacherLogic() if update_obj == "student": _id, _value = self._get_student_argument() _op = StudentLogic() if update_obj == "relative": _id, _value = self._get_relative_argument() _op = RelativeLogic() if update_obj == "relation": _id, _value = self._get_relation_argument() _op = RelationLogic() if update_obj == "user": _id, _value = self._get_user_argument() _op = UserLogic() if not _value or not _id: LOG.error("update info, %s params is None: %s, %r" % (update_obj, _id, _value)) self.finish( json.dumps({ 'state': 1, 'message': 'params %s is None' % update_obj })) return _ = _op.update(_id, **_value) if _: self.finish( json.dumps({ 'state': 0, 'message': 'update info success.' })) else: self.finish( json.dumps({ 'state': 4, 'message': 'update info faild.' })) except NotFound as ex: LOG.error("Update %s param not data:%s" % (update_obj, ex)) self.finish(json.dumps({'state': 2, 'message': 'param not data'})) except ParamExist as ex: LOG.error("Update %s param exit:%s" % (update_obj, ex)) self.finish(json.dumps({'state': 5, 'message': 'param exit'})) except Exception as ex: LOG.error("Update %s error:%s" % (update_obj, ex)) self.finish( json.dumps({ 'state': 3, 'message': 'update action error' }))
def post(self, registry_obj): try: _op = Logic() _infos = dict() if registry_obj == "school": _infos = self._get_school_argument() _op = SchoolLogic() if registry_obj == "grade": _infos = self._get_grade_argument() _op = GradeLogic() if registry_obj == "class": _infos = self._get_class_argument() _op = ClassLogic() if registry_obj == "teacher": _infos = self._get_teacher_argument() _op = TeacherLogic() if registry_obj == "teacher_history": _infos = self._get_teacher_history_argument() _op = Teacher_HistoryLogic() if registry_obj == "student": _infos = self._get_student_argument() _op = StudentLogic() if registry_obj == "student_history": _infos = self._get_student_history_argument() _op = Student_HistoryLogic() if registry_obj == "relative": _infos = self._get_relative_argument() _op = RelativeLogic() if registry_obj == "relation": _infos = self._get_relation_argument() _op = RelationLogic() if registry_obj == "user": user_level = int(self.get_secure_cookie('user_level')) level = int(self.get_argument('level', 1)) if user_level >= level: self.finish( json.dumps({ 'state': 4, 'message': 'Permissions cannot operate' })) return _infos = self._get_user_argument() _op = UserLogic() _ = _op.input(**_infos) if _: self.finish( json.dumps({ 'state': 0, 'message': 'input info success.' })) else: self.finish( json.dumps({ 'state': 1, 'message': 'action %s error' % registry_obj })) except NotFound as ex: LOG.error("Input %s param not data:%s" % (registry_obj, ex)) self.finish(json.dumps({'state': 2, 'message': 'param not data'})) except ParamExist as ex: LOG.error("Input %s param exit:%s" % (registry_obj, ex)) self.finish(json.dumps({'state': 5, 'message': 'param exit'})) except ParamNone as ex: LOG.error("Input %s param exit:%s" % (registry_obj, ex)) self.finish(json.dumps({'state': 6, 'message': 'param exit'})) except Exception as ex: LOG.error("Input %s error:%s" % (registry_obj, ex)) self.finish(json.dumps({'state': 3, 'message': 'input error'}))