Exemplo n.º 1
0
    def getStuResultBystuRange(self,rangeKind,rangeData):

        if rangeKind=='useClassId':
            inRoleStu = getClassOrStuByUser(self.requestData['userId'], 1,rangeData)
            self.inRoleStuDf = pd.DataFrame(inRoleStu)
            self.selectStuIds = list(self.inRoleStuDf['stuID'])
        else:
            inRoleStu = getClassOrStuByUser(self.requestData['userId'], 1)
            self.inRoleStuDf = pd.DataFrame(inRoleStu)
            if rangeKind=='useStuId':
                if len(self.inRoleStuDf[self.inRoleStuDf['stuID'] == rangeData]) > 0:
                    self.selectStuIds=[rangeData]
                else:
                    return {'status': 0, 'errorInfo': '该学生不存在或您无权限查看'}
            else:
                self.selectStuIds = list(self.inRoleStuDf[self.inRoleStuDf['stuName'] == rangeData]['stuID'])
                if len(self.selectStuIds)==0:
                    return {'status': 0, 'errorInfo': '该学生不存在或您无权限查看'}
        self.sleepCountResult=pd.DataFrame(MyBaseModel.returnList(stu_sleep_count.select(stu_sleep_count.stuID,stu_sleep_count.freeQueryCountInfo).where(
                            stu_sleep_count.stuID.in_(self.selectStuIds))))
        self.sleepCountResult.dropna(axis=1, inplace=True)
        self.sleepCountResult.index = self.sleepCountResult['stuID']
        self.sleepCountResult = self.sleepCountResult['freeQueryCountInfo'].to_dict()
        for key in self.sleepCountResult.keys():
            self.sleepCountResult[key] = eval(self.sleepCountResult[key])   #{学号:全部记录,....}

        return {'status': 1}
Exemplo n.º 2
0
 def getResultByStuRange(self, rangeKind, rangeData):
     if rangeKind == 'useClassId':
         inRoleStu = getClassOrStuByUser(self.requestData['userId'], 1,
                                         rangeData)
         inRoleStuDf = pd.DataFrame(inRoleStu)
         inRoleStuId = list(inRoleStuDf['stuID'])
         scoreCountResult = pd.DataFrame(
             MyBaseModel.returnList(
                 stu_score_count.select(
                     stu_score_count.stuID,
                     stu_score_count.scoreCountInfo).where(
                         stu_score_count.stuID.in_(inRoleStuId))))
         scoreCountResult.index = scoreCountResult['stuID']
         scoreCountResult = scoreCountResult['scoreCountInfo'].to_dict()
         self.resultDf = pd.DataFrame(
             [eval(line) for line in scoreCountResult.values()],
             index=scoreCountResult.keys())
     else:
         inRoleStu = getClassOrStuByUser(self.requestData['userId'], 1)
         inRoleStuDf = pd.DataFrame(inRoleStu)
         if rangeKind == 'useStuId':
             if len(inRoleStuDf[inRoleStuDf['stuID'] == rangeData]) > 0:
                 scoreCountResult = pd.DataFrame(
                     MyBaseModel.returnList(
                         stu_score_count.select(
                             stu_score_count.stuID,
                             stu_score_count.scoreCountInfo).where(
                                 stu_score_count.stuID == rangeData)))
                 scoreCountResult.index = scoreCountResult['stuID']
                 scoreCountResult = scoreCountResult[
                     'scoreCountInfo'].to_dict()
                 self.resultDf = pd.DataFrame(
                     [eval(line) for line in scoreCountResult.values()],
                     index=scoreCountResult.keys())
             else:
                 return {'status': 0, 'errorInfo': '该学生不存在或您无权限查看'}
         else:
             stuIds = list(
                 inRoleStuDf[inRoleStuDf['stuName'] == rangeData]['stuID'])
             if len(stuIds) > 0:
                 scoreCountResult = pd.DataFrame(
                     MyBaseModel.returnList(
                         stu_score_count.select(
                             stu_score_count.stuID,
                             stu_score_count.scoreCountInfo).where(
                                 stu_score_count.stuID.in_(stuIds))))
                 scoreCountResult.index = scoreCountResult['stuID']
                 scoreCountResult = scoreCountResult[
                     'scoreCountInfo'].to_dict()
                 self.resultDf = pd.DataFrame(
                     [eval(line) for line in scoreCountResult.values()],
                     index=scoreCountResult.keys())
             else:
                 return {'status': 0, 'errorInfo': '该学生不存在或您无权限查看'}
     return {'status': 1}
Exemplo n.º 3
0
    def entry(self, receiveRequest):
        self.requestData = eval(receiveRequest.request.body)
        # self.requestData = receiveRequest
        userName = getValue(self.requestData['sessionId'])
        if userName == None:
            return {'status': 0, 'errorInfo': '登陆状态已过期,请重新登录'}

        inRoleStu = getClassOrStuByUser(self.requestData['userId'], 1)
        self.inRoleStuDf = pd.DataFrame(inRoleStu)
        self.selectStuIds = list(self.inRoleStuDf['stuID'])
        self.costCountResult = pd.DataFrame(
            MyBaseModel.returnList(
                stu_cost_count.select(
                    stu_cost_count.stuID, stu_cost_count.everyDayCount).where(
                        stu_cost_count.stuID.in_(self.selectStuIds))))

        self.costCountResult.dropna(axis=1, inplace=True)
        self.costCountResult.index = self.costCountResult['stuID']
        self.costCountResult = self.costCountResult['everyDayCount'].to_dict()
        for key in self.costCountResult.keys():
            self.costCountResult[key] = eval(
                self.costCountResult[key])  # {学号:全部记录,....}

        result = self.getStuResultByCondition(self.requestData['returnKind'],
                                              self.requestData['queryKind'])
        return result
    def getStuResultByQueryKind(self, queryKind):
        inRoleStu = getClassOrStuByUser(self.requestData['userId'], 1)
        inRoleStuDf = pd.DataFrame(inRoleStu)
        inRoleStuId = list(inRoleStuDf['stuID'])
        scoreCountResult = pd.DataFrame(
            MyBaseModel.returnList(
                stu_score_count.select(
                    stu_score_count.stuID,
                    stu_score_count.scoreCountInfo).where(
                        stu_score_count.stuID.in_(inRoleStuId))))
        scoreCountResult.index = scoreCountResult['stuID']
        scoreCountResult = scoreCountResult['scoreCountInfo'].to_dict()
        self.resultDf = pd.DataFrame(
            [eval(line) for line in scoreCountResult.values()],
            index=scoreCountResult.keys())

        if queryKind == 'fixed1':
            self.resultDf = self.resultDf[
                self.resultDf['failNum'] > self.failNum]
        elif queryKind == 'fixed2':
            self.resultDf = self.resultDf[
                (self.resultDf['failCredit'] >= self.failCreditMin)
                & (self.resultDf['failCredit'] <= self.failCreditMax)]
        else:
            self.resultDf = self.resultDf[
                self.resultDf['failCredit'] > self.failCreditMax]
Exemplo n.º 5
0
    def  entry(self,receiveRequest):
        body = eval(receiveRequest.request.body)
        sessionId = str(body["sessionId"])
        userName=getValue(sessionId)
        if userName==None:
            return {'status':0,'errorInfo':'登录状态已过期,请重新登录'}

        manageClass=getClassOrStuByUser(userName,0)
        return {'status':1,'classList':manageClass,'info':'请求成功'}
Exemplo n.º 6
0
    def entry(self,receiveRequest):
        # self.requestData = receiveRequest
        self.requestData = eval(receiveRequest.request.body)
        userId = self.requestData['userId']
        if judgeIfPermiss(user_id=userId, mode=1, page="earlyWarning") == False:
            return {"status": 0, "errorInfo": "用户没有操作此页面的权限"}
        else:
            inRoleStu = getClassOrStuByUser(self.requestData['userId'], 1)
            self.inRoleStuDf = pd.DataFrame(inRoleStu)
            self.selectStuIds = list(self.inRoleStuDf['stuID'])
            self.someStateResultDf = pd.DataFrame(MyBaseModel.returnList(
                stu_some_state.select(stu_some_state.stuID,stu_some_state.lastTimeCountDate,stu_some_state.earlyWarningInfo).where(
                    stu_some_state.stuID.in_(self.selectStuIds))))

            self.someStateResultDf.dropna(axis=1, inplace=True)
            return self.getResultData()
    def getLastResultByReturnKind(self, returnKind, queryKind):
        if len(self.resultDf) == 0:
            return scoreModel(returnKind, queryKind, [])
        if returnKind == 'stuRecord':
            allFailIdList = list(self.resultDf['failId'])
            allFailId = []
            for line in allFailIdList:
                allFailId = allFailId + line

            self.resultDf = pd.DataFrame(
                MyBaseModel.returnList(
                    exam_results.select(
                        exam_results.stuID, exam_results.stuName,
                        exam_results.courseName, exam_results.credit,
                        exam_results.examKind, exam_results.examScore,
                        exam_results.courseID).where(
                            exam_results.id.in_(allFailId))))

            self.resultDf.dropna(axis=1, inplace=True)
            resultData = self.resultDf.to_dict("report")
            return scoreModel('stuRecord', 'queryScore', resultData)

        else:
            inRoleStu = getClassOrStuByUser(self.requestData['userId'], 1)
            inRoleStuDf = pd.DataFrame(inRoleStu)
            inRoleStuDf.index = inRoleStuDf['stuID']
            inRoleStuList = inRoleStuDf.to_dict('index')
            # self.resultDf.index = self.resultDf['stuID']
            if queryKind == 'fixed1':
                tempResult = self.resultDf['failNum'].to_dict()
                resultData = []
                for stu in tempResult.keys():
                    oneStu = inRoleStuList[stu]
                    oneStu['failNum'] = int(tempResult[stu])
                    resultData.append(oneStu)
            else:
                tempResult = self.resultDf['failCredit'].to_dict()
                resultData = []
                for stu in tempResult.keys():
                    oneStu = inRoleStuList[stu]
                    oneStu['failCredit'] = float(tempResult[stu])
                    resultData.append(oneStu)

            return scoreModel('stuList', queryKind, resultData)
Exemplo n.º 8
0
 def getResultByStuRange(self,rangeKind,rangeData):
     if rangeKind =='useClassId':
         self.resultDf=pd.DataFrame(MyBaseModel.returnList(exam_results.select(exam_results.stuID,exam_results.stuName,exam_results.courseName,
                             exam_results.credit,exam_results.examKind,exam_results.examScore,exam_results.courseID).where(exam_results.stuClass.in_(rangeData))))
     else:
         inRoleStu=getClassOrStuByUser(self.requestData['userId'],1)
         inRoleStuDf=pd.DataFrame(inRoleStu)
         if rangeKind=='useStuId':
             if len(inRoleStuDf[inRoleStuDf['stuID']==rangeData])>0:
                 self.resultDf = pd.DataFrame(MyBaseModel.returnList(
                     exam_results.select(exam_results.stuID, exam_results.stuName, exam_results.courseName,
                                         exam_results.credit, exam_results.examKind, exam_results.examScore,exam_results.courseID).where(exam_results.stuID==rangeData)))
             else:
                 return {'status':0,'errorInfo':'该学生不存在或您无权限查看'}
         else:
             if len(inRoleStuDf[inRoleStuDf['stuName'] == rangeData]) > 0:
                 self.resultDf = pd.DataFrame(MyBaseModel.returnList(
                     exam_results.select(exam_results.stuID, exam_results.stuName, exam_results.courseName,
                                         exam_results.credit, exam_results.examKind, exam_results.examScore,exam_results.courseID).where(
                         exam_results.stuID == rangeData)))
             else:
                 return {'status': 0, 'errorInfo': '该学生不存在或您无权限查看'}
     return {'status':1}
Exemplo n.º 9
0
 def getLastResultStuWithCourse(self, returnKind):
     self.resultDf = self.resultDf[self.resultDf['examScore'] < 60]
     if len(self.resultDf) > 0:
         self.resultDf.drop([
             'courseIndex', 'stuClass', 'examSemester', 'examDate',
             'courseKind', 'remarks'
         ],
                            axis=1,
                            inplace=True)
         if returnKind == 'stuRecord':
             resultData = self.resultDf.to_dict("report")
             return scoreModel('stuRecord', 'failCourse', resultData)
         else:
             inRoleStu = getClassOrStuByUser(self.requestData['userId'], 1)
             inRoleStuDf = pd.DataFrame(inRoleStu)
             inRoleStuDf['number'] = 1
             self.resultDf.index = self.resultDf['stuID']
             inRoleStuDf = inRoleStuDf[inRoleStuDf['stuID'].isin(
                 list(self.resultDf.index))]
             resultData = inRoleStuDf.to_dict('report')
             return scoreModel('stuList', 'failCourse', resultData)
     else:
         {'status': 0, 'errorInfo': '未查询到相关内容'}
Exemplo n.º 10
0
 def getResultByStuRangeNextCourseRange(self, rangeKind, rangeData):
     if len(self.resultDf) == 0:
         {'status': 0, 'errorInfo': '未查询到相关内容'}
     if rangeKind == 'useClassId':
         self.resultDf = self.resultDf[self.resultDf['stuClass'].isin(
             rangeData)]
     else:
         inRoleStu = getClassOrStuByUser(self.requestData['userId'], 1)
         inRoleStuDf = pd.DataFrame(inRoleStu)
         if rangeKind == 'useStuId':
             if len(inRoleStuDf[inRoleStuDf['stuID'] == rangeData]) > 0:
                 self.resultDf = self.resultDf[self.resultDf['stuID'] ==
                                               rangeData]
             else:
                 return {'status': 0, 'errorInfo': '该学生不存在或您无权限查看'}
         else:
             if len(inRoleStuDf[inRoleStuDf['stuName'] == rangeData]) > 0:
                 self.resultDf = self.resultDf[self.resultDf['stuName'] ==
                                               rangeData]
             else:
                 return {'status': 0, 'errorInfo': '该学生不存在或您无权限查看'}
     if len(self.resultDf) == 0:
         {'status': 0, 'errorInfo': '未查询到相关内容'}
     return {'status': 1}
Exemplo n.º 11
0
    def getLastResultByCountKind(self, returnKind, countKind, minNum, maxNum):
        if countKind == 'failCourse':
            self.resultDf = self.resultDf[(self.resultDf['failNum'] >= minNum)
                                          &
                                          (self.resultDf['failNum'] <= maxNum)]
        elif countKind == 'totalCredit':
            self.resultDf = self.resultDf[
                (self.resultDf['gainTotalCredit'] >= minNum)
                & (self.resultDf['gainTotalCredit'] <= maxNum)]
        else:
            self.resultDf = self.resultDf[
                (self.resultDf['failCredit'] >= minNum)
                & (self.resultDf['failCredit'] <= maxNum)]

        if len(self.resultDf) == 0:
            return {'status': 0, 'errorInfo': '未查询到相关内容'}

        if returnKind == 'stuRecord':
            if countKind == 'totalCredit':
                allSuccessIdList = list(self.resultDf['successId'])
                allSuccessId = []
                for line in allSuccessIdList:
                    allSuccessId = allSuccessId + line
                self.resultDf = pd.DataFrame(
                    MyBaseModel.returnList(
                        exam_results.select(
                            exam_results.stuID, exam_results.stuName,
                            exam_results.courseName, exam_results.credit,
                            exam_results.examKind, exam_results.examScore,
                            exam_results.courseID).where(
                                exam_results.id.in_(allSuccessId))))
            else:
                allFailIdList = list(self.resultDf['failId'])
                allFailId = []
                for line in allFailIdList:
                    allFailId = allFailId + line

                self.resultDf = pd.DataFrame(
                    MyBaseModel.returnList(
                        exam_results.select(
                            exam_results.stuID, exam_results.stuName,
                            exam_results.courseName, exam_results.credit,
                            exam_results.examKind, exam_results.examScore,
                            exam_results.courseID).where(
                                exam_results.id.in_(allFailId))))
            self.resultDf.dropna(axis=1, inplace=True)
            resultData = self.resultDf.to_dict("report")
            return scoreModel('stuRecord', 'queryScore', resultData)

        else:
            inRoleStu = getClassOrStuByUser(self.requestData['userId'], 1)
            inRoleStuDf = pd.DataFrame(inRoleStu)
            inRoleStuDf.index = inRoleStuDf['stuID']
            inRoleStuList = inRoleStuDf.to_dict('index')
            # self.resultDf.index = self.resultDf['stuID']
            if countKind == 'totalCredit':
                tempResult = self.resultDf['gainTotalCredit'].to_dict()
                resultData = []
                for stu in tempResult.keys():
                    oneStu = inRoleStuList[stu]
                    oneStu['gainTotalCredit'] = float(tempResult[stu])
                    resultData.append(oneStu)
            elif countKind == 'failCourse':
                tempResult = self.resultDf['failNum'].to_dict()
                resultData = []
                for stu in tempResult.keys():
                    oneStu = inRoleStuList[stu]
                    oneStu['failNum'] = int(tempResult[stu])
                    resultData.append(oneStu)
            else:
                tempResult = self.resultDf['failCredit'].to_dict()
                resultData = []
                for stu in tempResult.keys():
                    oneStu = inRoleStuList[stu]
                    oneStu['failCredit'] = float(tempResult[stu])
                    resultData.append(oneStu)

            return scoreModel('stuList', countKind, resultData)