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}
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}
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]
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':'请求成功'}
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)
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}
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': '未查询到相关内容'}
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}
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)