update 教学质量接口内容

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

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

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

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

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

@ -8,6 +8,9 @@ import cn.teammodel.common.IdRequest;
import cn.teammodel.common.PK;
import cn.teammodel.config.exception.ServiceException;
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.appraise.*;
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.security.utils.SecurityUtil;
import cn.teammodel.service.EvaluationService;
import cn.teammodel.utils.ChartUtil;
import cn.teammodel.utils.PdfUtil;
import cn.teammodel.utils.RepositoryUtil;
import cn.teammodel.utils.SchoolDateUtil;
import cn.teammodel.utils.*;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.azure.cosmos.models.CosmosPatchOperations;
import com.azure.spring.data.cosmos.core.query.CosmosPageRequest;
import com.itextpdf.text.DocumentException;
@ -32,6 +34,8 @@ import org.apache.commons.lang3.StringUtils;
import org.jfree.chart.ChartUtils;
import org.jfree.chart.JFreeChart;
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.data.domain.Page;
import org.springframework.data.domain.Sort;
@ -40,6 +44,7 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@ -430,14 +435,14 @@ public class EvaluationServiceImpl implements EvaluationService {
}
@Override
public List<AppraiseRecordVo> findVoteRecord(FindVoteRecordDto findVoteRecordDto) {
public List<AppraiseRecordVo> findVoteRecord(FindVoteRecordDto findVoteRecordDto, HttpServletRequest request) {
String periodId = findVoteRecordDto.getPeriodId();
String targetId = StringUtils.isBlank(findVoteRecordDto.getTargetId()) ? null : findVoteRecordDto.getTargetId();
String targetType = StringUtils.isBlank(findVoteRecordDto.getTargetType()) ? null : findVoteRecordDto.getTargetType();
String classId = StringUtils.isBlank(findVoteRecordDto.getClassId()) ? null : findVoteRecordDto.getClassId();
Boolean isPraise = findVoteRecordDto.getIsPraise();
User loginUser = SecurityUtil.getLoginUser();
String teacherId = loginUser.getId();
String teacherId = "1530782422";
String schoolId = loginUser.getSchoolId();
List<School.Semester> semesters = schoolRepository.findSemestersById(schoolId, periodId);
@ -457,6 +462,41 @@ public class EvaluationServiceImpl implements EvaluationService {
);
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;
}

Loading…
Cancel
Save