Exemplo n.º 1
0
    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.'
Exemplo n.º 2
0
 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}))
Exemplo n.º 3
0
 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'}))
Exemplo n.º 4
0
    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()
Exemplo n.º 5
0
    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'
                }))
Exemplo n.º 6
0
    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'}))
Exemplo n.º 7
0
    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": []
                }))
Exemplo n.º 8
0
    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'
                }))
Exemplo n.º 9
0
    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'}))