update 教学质量接口内容

develop
hhb@hotmail.com 2 months ago
parent 42d5d59699
commit 1944abb0bc

@ -362,6 +362,13 @@ public class AdminIndexDutyServiceImpl implements AdminIndexDutyService {
double percentageChange = 0; double percentageChange = 0;
if (lastMonthTotal != 0) { if (lastMonthTotal != 0) {
percentageChange = ((double) (currentMonthTotal - lastMonthTotal) / lastMonthTotal) * 100; percentageChange = ((double) (currentMonthTotal - lastMonthTotal) / lastMonthTotal) * 100;
} else {
if (currentMonthTotal > 0) {
percentageChange = 100;
} else {
percentageChange = 0;
}
} }
String formattedPercentageChange = String.format("%.2f", percentageChange); String formattedPercentageChange = String.format("%.2f", percentageChange);
mapper.put("percentageChange", formattedPercentageChange); mapper.put("percentageChange", formattedPercentageChange);

@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid; import javax.validation.Valid;
import java.io.IOException; import java.io.IOException;
@ -74,8 +75,8 @@ public class AppraiseController {
@PostMapping("findVoteRecord") @PostMapping("findVoteRecord")
@ApiOperation(value = "多条件查询当前登录老师的学生评价(投票)") @ApiOperation(value = "多条件查询当前登录老师的学生评价(投票)")
public R<List<AppraiseRecordVo>> findMyVoteRecord(@Valid @RequestBody FindVoteRecordDto findVoteRecordDto) { public R<List<AppraiseRecordVo>> findMyVoteRecord(@Valid @RequestBody FindVoteRecordDto findVoteRecordDto, HttpServletRequest request) {
List<AppraiseRecordVo> res = evaluationService.findVoteRecord(findVoteRecordDto); List<AppraiseRecordVo> res = evaluationService.findVoteRecord(findVoteRecordDto,request);
return R.success(res); return R.success(res);
} }

@ -14,5 +14,7 @@ public class AppraiseRecordVo {
private String avatar; private String avatar;
private String targetId; private String targetId;
private String targetType; private String targetType;
private String classId;
private String className;
private AppraiseRecordItem info; private AppraiseRecordItem info;
} }

@ -8,6 +8,7 @@ import cn.teammodel.model.vo.appraise.AppraiseRecordVo;
import cn.teammodel.model.vo.appraise.StudentReportVo; import cn.teammodel.model.vo.appraise.StudentReportVo;
import com.itextpdf.text.DocumentException; import com.itextpdf.text.DocumentException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
@ -54,7 +55,7 @@ public interface EvaluationService {
*/ */
void vote(AppraiseVoteDto appraiseVoteDto); void vote(AppraiseVoteDto appraiseVoteDto);
List<AppraiseRecordVo> findVoteRecord(FindVoteRecordDto findVoteRecordDto); List<AppraiseRecordVo> findVoteRecord(FindVoteRecordDto findVoteRecordDto, HttpServletRequest request);
void recallVote(RecallVoteDto recallVoteDto); void recallVote(RecallVoteDto recallVoteDto);

@ -8,6 +8,9 @@ import cn.teammodel.common.IdRequest;
import cn.teammodel.common.PK; import cn.teammodel.common.PK;
import cn.teammodel.config.exception.ServiceException; import cn.teammodel.config.exception.ServiceException;
import cn.teammodel.model.dto.Appraise.*; import cn.teammodel.model.dto.Appraise.*;
import cn.teammodel.model.dto.admin.common.GroupDto;
import cn.teammodel.model.dto.admin.common.RGroupList;
import cn.teammodel.model.dto.admin.common.RMember;
import cn.teammodel.model.entity.User; import cn.teammodel.model.entity.User;
import cn.teammodel.model.entity.appraise.*; import cn.teammodel.model.entity.appraise.*;
import cn.teammodel.model.entity.school.ClassInfo; import cn.teammodel.model.entity.school.ClassInfo;
@ -18,10 +21,9 @@ import cn.teammodel.model.vo.appraise.StudentReportVo;
import cn.teammodel.repository.*; import cn.teammodel.repository.*;
import cn.teammodel.security.utils.SecurityUtil; import cn.teammodel.security.utils.SecurityUtil;
import cn.teammodel.service.EvaluationService; import cn.teammodel.service.EvaluationService;
import cn.teammodel.utils.ChartUtil; import cn.teammodel.utils.*;
import cn.teammodel.utils.PdfUtil; import com.alibaba.fastjson.JSON;
import cn.teammodel.utils.RepositoryUtil; import com.alibaba.fastjson.TypeReference;
import cn.teammodel.utils.SchoolDateUtil;
import com.azure.cosmos.models.CosmosPatchOperations; import com.azure.cosmos.models.CosmosPatchOperations;
import com.azure.spring.data.cosmos.core.query.CosmosPageRequest; import com.azure.spring.data.cosmos.core.query.CosmosPageRequest;
import com.itextpdf.text.DocumentException; import com.itextpdf.text.DocumentException;
@ -32,6 +34,8 @@ import org.apache.commons.lang3.StringUtils;
import org.jfree.chart.ChartUtils; import org.jfree.chart.ChartUtils;
import org.jfree.chart.JFreeChart; import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset; import org.jfree.data.general.DefaultPieDataset;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.ClassPathResource;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
@ -40,6 +44,7 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
@ -430,14 +435,14 @@ public class EvaluationServiceImpl implements EvaluationService {
} }
@Override @Override
public List<AppraiseRecordVo> findVoteRecord(FindVoteRecordDto findVoteRecordDto) { public List<AppraiseRecordVo> findVoteRecord(FindVoteRecordDto findVoteRecordDto, HttpServletRequest request) {
String periodId = findVoteRecordDto.getPeriodId(); String periodId = findVoteRecordDto.getPeriodId();
String targetId = StringUtils.isBlank(findVoteRecordDto.getTargetId()) ? null : findVoteRecordDto.getTargetId(); String targetId = StringUtils.isBlank(findVoteRecordDto.getTargetId()) ? null : findVoteRecordDto.getTargetId();
String targetType = StringUtils.isBlank(findVoteRecordDto.getTargetType()) ? null : findVoteRecordDto.getTargetType(); String targetType = StringUtils.isBlank(findVoteRecordDto.getTargetType()) ? null : findVoteRecordDto.getTargetType();
String classId = StringUtils.isBlank(findVoteRecordDto.getClassId()) ? null : findVoteRecordDto.getClassId(); String classId = StringUtils.isBlank(findVoteRecordDto.getClassId()) ? null : findVoteRecordDto.getClassId();
Boolean isPraise = findVoteRecordDto.getIsPraise(); Boolean isPraise = findVoteRecordDto.getIsPraise();
User loginUser = SecurityUtil.getLoginUser(); User loginUser = SecurityUtil.getLoginUser();
String teacherId = loginUser.getId(); String teacherId = "1530782422";
String schoolId = loginUser.getSchoolId(); String schoolId = loginUser.getSchoolId();
List<School.Semester> semesters = schoolRepository.findSemestersById(schoolId, periodId); List<School.Semester> semesters = schoolRepository.findSemestersById(schoolId, periodId);
@ -457,6 +462,41 @@ public class EvaluationServiceImpl implements EvaluationService {
); );
List<AppraiseRecordVo> content = appraiseRecordItemPage.getContent(); List<AppraiseRecordVo> content = appraiseRecordItemPage.getContent();
//提取学生ID 查询学生个人信息
Set<String> studentIds = content.stream().map(AppraiseRecordVo::getTargetId).collect(Collectors.toSet());
if (studentIds.isEmpty()) throw new ServiceException(ErrorCode.PARAM_ERROR.getCode(), "没有对应学生信息");
List<Student> students = studentRepository.findAllByCodeAndIdIn(String.format(PK.STUDENT, schoolId), studentIds);
Set<String> classIds = students.stream().map(Student::getClassId).filter(Objects::nonNull).collect(Collectors.toSet());
List<ClassInfo> classes = classRepository.findAllByCodeAndIdIn(String.format(PK.CLASS, schoolId), classIds);
//以防万一 其他成员名单
/*GroupDto groupDto = new GroupDto();
groupDto.setIds(new ArrayList<>(classIds));
groupDto.setSchoolId(schoolId);
String url = env.getProperty("ies.server-url-group");
Map<String, Object> groupId = GroupUtil.getGroupId(groupDto,new GroupUtil(env), request,url);
List<RGroupList> rGroupList = new ArrayList<>();
List<RMember> rMembers = new ArrayList<>();
for (Map.Entry<String, Object> entry : groupId.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
if (key.equals("groups")) {
String jsonGroups = JSON.toJSONString(value);
rGroupList = JSON.parseObject(jsonGroups, new TypeReference<List<RGroupList>>() {});
}
}*/
for(AppraiseRecordVo appraiseRecordVo : content) {
students.stream().filter(student -> student.getId().equals(appraiseRecordVo.getTargetId()))
.findFirst()
.ifPresent(student -> {
appraiseRecordVo.setClassId(student.getClassId());
});
classes.stream().filter(classInfo -> classInfo.getId().equals(appraiseRecordVo.getClassId()))
.findFirst()
.ifPresent(classInfo -> {
appraiseRecordVo.setClassName(classInfo.getName());
});
}
return content; return content;
} }

Loading…
Cancel
Save