|
|
@@ -17,47 +17,11 @@ import com.xjrsoft.common.exception.MyException;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.common.utils.WeChatUtil;
|
|
|
import com.xjrsoft.config.CommonPropertiesConfig;
|
|
|
-import com.xjrsoft.module.assessment.dto.AddAssessmentTemplatePlanDto;
|
|
|
-import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerPageDto;
|
|
|
-import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerStudentDto;
|
|
|
-import com.xjrsoft.module.assessment.dto.AssessmentPlanAnswerSubmitDto;
|
|
|
-import com.xjrsoft.module.assessment.dto.AssessmentPlanSubmitDto;
|
|
|
-import com.xjrsoft.module.assessment.dto.AssessmentQuestionResultDto;
|
|
|
-import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanPageDto;
|
|
|
-import com.xjrsoft.module.assessment.dto.AssessmentTemplatePlanSureDto;
|
|
|
-import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanDto;
|
|
|
-import com.xjrsoft.module.assessment.dto.UpdateAssessmentTemplatePlanTimeDto;
|
|
|
-import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerClass;
|
|
|
-import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerResult;
|
|
|
-import com.xjrsoft.module.assessment.entity.AssessmentPlanAnswerStudent;
|
|
|
-import com.xjrsoft.module.assessment.entity.AssessmentPlanQuestion;
|
|
|
-import com.xjrsoft.module.assessment.entity.AssessmentQuestion;
|
|
|
-import com.xjrsoft.module.assessment.entity.AssessmentTemplate;
|
|
|
-import com.xjrsoft.module.assessment.entity.AssessmentTemplatePlan;
|
|
|
-import com.xjrsoft.module.assessment.mapper.AssessmentPlanAnswerClassMapper;
|
|
|
-import com.xjrsoft.module.assessment.mapper.AssessmentPlanAnswerResultMapper;
|
|
|
-import com.xjrsoft.module.assessment.mapper.AssessmentPlanAnswerStudentMapper;
|
|
|
-import com.xjrsoft.module.assessment.mapper.AssessmentPlanQuestionMapper;
|
|
|
-import com.xjrsoft.module.assessment.mapper.AssessmentQuestionMapper;
|
|
|
-import com.xjrsoft.module.assessment.mapper.AssessmentTemplateMapper;
|
|
|
-import com.xjrsoft.module.assessment.mapper.AssessmentTemplatePlanMapper;
|
|
|
+import com.xjrsoft.module.assessment.dto.*;
|
|
|
+import com.xjrsoft.module.assessment.entity.*;
|
|
|
+import com.xjrsoft.module.assessment.mapper.*;
|
|
|
import com.xjrsoft.module.assessment.service.IAssessmentTemplatePlanService;
|
|
|
-import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerClassResultVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerDetailVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentPageVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerStudentVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.AssessmentPlanAnswerTeacherPageVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.AssessmentQuestionOptionResultVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.AssessmentQuestionResultVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.AssessmentQuestionVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanAnswerResultVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanPageVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanQuestionVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.AssessmentTemplatePlanResultVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.OneQuestionAnswerVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.OneQuestionVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.TwoQuestionAnswerVo;
|
|
|
-import com.xjrsoft.module.assessment.vo.TwoQuestionVo;
|
|
|
+import com.xjrsoft.module.assessment.vo.*;
|
|
|
import com.xjrsoft.module.base.entity.BaseClass;
|
|
|
import com.xjrsoft.module.base.mapper.BaseClassMapper;
|
|
|
import com.xjrsoft.module.organization.dto.WeChatSendMessageDto;
|
|
|
@@ -66,14 +30,7 @@ import com.xjrsoft.module.student.entity.BaseStudentSchoolRoll;
|
|
|
import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
|
import com.xjrsoft.module.teacher.mapper.XjrUserMapper;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
-import org.apache.poi.ss.usermodel.Cell;
|
|
|
-import org.apache.poi.ss.usermodel.CellStyle;
|
|
|
-import org.apache.poi.ss.usermodel.Font;
|
|
|
-import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
|
|
-import org.apache.poi.ss.usermodel.Row;
|
|
|
-import org.apache.poi.ss.usermodel.Sheet;
|
|
|
-import org.apache.poi.ss.usermodel.VerticalAlignment;
|
|
|
-import org.apache.poi.ss.usermodel.Workbook;
|
|
|
+import org.apache.poi.ss.usermodel.*;
|
|
|
import org.apache.poi.ss.util.CellRangeAddress;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -82,22 +39,15 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.io.ByteArrayOutputStream;
|
|
|
import java.io.IOException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
-import java.util.Random;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
-* @title: 考核计划
|
|
|
-* @Author dzx
|
|
|
-* @Date: 2024-04-01
|
|
|
-* @Version 1.0
|
|
|
-*/
|
|
|
+ * @title: 考核计划
|
|
|
+ * @Author dzx
|
|
|
+ * @Date: 2024-04-01
|
|
|
+ * @Version 1.0
|
|
|
+ */
|
|
|
@Service
|
|
|
@AllArgsConstructor
|
|
|
public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<AssessmentTemplatePlanMapper, AssessmentTemplatePlan> implements IAssessmentTemplatePlanService {
|
|
|
@@ -125,9 +75,9 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
|
|
|
//查询模板下面的题目信息
|
|
|
List<AssessmentQuestion> questionList = questionMapper.selectList(
|
|
|
- new QueryWrapper<AssessmentQuestion>().lambda()
|
|
|
- .eq(AssessmentQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
- .eq(AssessmentQuestion::getAssessmentTemplateId, dto.getAssessmentTemplateId())
|
|
|
+ new QueryWrapper<AssessmentQuestion>().lambda()
|
|
|
+ .eq(AssessmentQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .eq(AssessmentQuestion::getAssessmentTemplateId, dto.getAssessmentTemplateId())
|
|
|
);
|
|
|
Map<Long, Long> parentMap = new HashMap<>();
|
|
|
for (AssessmentQuestion assessmentQuestion : questionList) {
|
|
|
@@ -141,22 +91,22 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
planQuestionMapper.insert(planQuestion);
|
|
|
}
|
|
|
List<BaseClass> classList = baseClassMapper.selectList(
|
|
|
- new QueryWrapper<BaseClass>().lambda()
|
|
|
- .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
- .eq(BaseClass::getIsGraduate, 1)
|
|
|
+ new QueryWrapper<BaseClass>().lambda()
|
|
|
+ .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .eq(BaseClass::getIsGraduate, 1)
|
|
|
);
|
|
|
List<Long> classIds = new ArrayList<>();
|
|
|
- if("all".equals(dto.getType())){
|
|
|
+ if ("all".equals(dto.getType())) {
|
|
|
for (BaseClass baseClass : classList) {
|
|
|
classIds.add(baseClass.getId());
|
|
|
}
|
|
|
dto.setClassIds(classIds);
|
|
|
- }else if("random".equals(dto.getType())){
|
|
|
+ } else if ("random".equals(dto.getType())) {
|
|
|
List<Integer> randomList = new ArrayList<>();
|
|
|
Random random = new Random();
|
|
|
- while(randomList.size() < dto.getRandomNumber()){
|
|
|
+ while (randomList.size() < dto.getRandomNumber()) {
|
|
|
int nextInt = random.nextInt(classList.size());
|
|
|
- if(!randomList.contains(nextInt) && nextInt >= 0){
|
|
|
+ if (!randomList.contains(nextInt) && nextInt >= 0) {
|
|
|
randomList.add(nextInt);
|
|
|
|
|
|
}
|
|
|
@@ -178,8 +128,8 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
|
|
|
MPJLambdaWrapper<XjrUser> query = new MPJLambdaWrapper<>();
|
|
|
query.leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, XjrUser::getId)
|
|
|
- .in(BaseStudentSchoolRoll::getStduyStatus, Arrays.asList(stduyStatus))
|
|
|
- .eq(BaseStudentSchoolRoll::getClassId, classId);
|
|
|
+ .in(BaseStudentSchoolRoll::getStduyStatus, Arrays.asList(stduyStatus))
|
|
|
+ .eq(BaseStudentSchoolRoll::getClassId, classId);
|
|
|
List<XjrUser> studentList = xjrUserMapper.selectJoinList(XjrUser.class, query);
|
|
|
for (XjrUser xjrUser : studentList) {
|
|
|
AssessmentPlanAnswerStudent answer = new AssessmentPlanAnswerStudent();
|
|
|
@@ -204,10 +154,10 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
planQuestionMapper.deleteByPlanId(assessmentTemplatePlan.getId(), StpUtil.getLoginIdAsLong());
|
|
|
//查询模板下面的题目信息
|
|
|
List<AssessmentQuestion> questionList = questionMapper.selectList(
|
|
|
- new QueryWrapper<AssessmentQuestion>().lambda()
|
|
|
- .eq(AssessmentQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
- .eq(AssessmentQuestion::getAssessmentTemplateId, dto.getAssessmentTemplateId())
|
|
|
- .orderByAsc(AssessmentQuestion::getCategory)
|
|
|
+ new QueryWrapper<AssessmentQuestion>().lambda()
|
|
|
+ .eq(AssessmentQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .eq(AssessmentQuestion::getAssessmentTemplateId, dto.getAssessmentTemplateId())
|
|
|
+ .orderByAsc(AssessmentQuestion::getCategory)
|
|
|
);
|
|
|
Map<Long, Long> parentMap = new HashMap<>();
|
|
|
for (AssessmentQuestion assessmentQuestion : questionList) {
|
|
|
@@ -224,21 +174,21 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
answerClassMapper.deleteByPlanId(assessmentTemplatePlan.getId(), StpUtil.getLoginIdAsLong());
|
|
|
studentMapper.deleteByPlanId(assessmentTemplatePlan.getId(), StpUtil.getLoginIdAsLong());
|
|
|
List<BaseClass> classList = baseClassMapper.selectList(
|
|
|
- new QueryWrapper<BaseClass>().lambda()
|
|
|
- .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
- .eq(BaseClass::getIsGraduate, 1)
|
|
|
+ new QueryWrapper<BaseClass>().lambda()
|
|
|
+ .eq(BaseClass::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .eq(BaseClass::getIsGraduate, 1)
|
|
|
);
|
|
|
List<Long> classIds = new ArrayList<>();
|
|
|
- if("all".equals(dto.getType())){
|
|
|
+ if ("all".equals(dto.getType())) {
|
|
|
for (BaseClass baseClass : classList) {
|
|
|
classIds.add(baseClass.getId());
|
|
|
}
|
|
|
- }else if("random".equals(dto.getType())){
|
|
|
+ } else if ("random".equals(dto.getType())) {
|
|
|
List<Integer> randomList = new ArrayList<>();
|
|
|
Random random = new Random();
|
|
|
- while(randomList.size() < dto.getRandomNumber()){
|
|
|
+ while (randomList.size() < dto.getRandomNumber()) {
|
|
|
int nextInt = random.nextInt(classList.size());
|
|
|
- if(!randomList.contains(nextInt) && nextInt >= 0){
|
|
|
+ if (!randomList.contains(nextInt) && nextInt >= 0) {
|
|
|
randomList.add(nextInt);
|
|
|
}
|
|
|
}
|
|
|
@@ -318,15 +268,15 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
.eq(AssessmentPlanAnswerStudent::getAssessmentTemplatePlanId, id)
|
|
|
.eq(AssessmentPlanAnswerStudent::getStudentUserId, StpUtil.getLoginIdAsLong())
|
|
|
);
|
|
|
- if(studentList.isEmpty()){
|
|
|
+ if (studentList.isEmpty()) {
|
|
|
throw new MyException("当前登录账号与消息接收账号不匹配,请重新登录账号!");
|
|
|
}
|
|
|
AssessmentTemplatePlan templatePlan = templatePlanMapper.selectById(id);
|
|
|
AssessmentTemplatePlanQuestionVo vo = BeanUtil.toBean(templatePlan, AssessmentTemplatePlanQuestionVo.class);
|
|
|
List<AssessmentPlanQuestion> questionList = planQuestionMapper.selectList(
|
|
|
- new QueryWrapper<AssessmentPlanQuestion>().lambda()
|
|
|
- .eq(AssessmentPlanQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
- .eq(AssessmentPlanQuestion::getAssessmentTemplatePlanId, id)
|
|
|
+ new QueryWrapper<AssessmentPlanQuestion>().lambda()
|
|
|
+ .eq(AssessmentPlanQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .eq(AssessmentPlanQuestion::getAssessmentTemplatePlanId, id)
|
|
|
);
|
|
|
|
|
|
Integer submitStatus = studentMapper.getSubmitStatus(id, StpUtil.getLoginIdAsLong());
|
|
|
@@ -344,7 +294,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
//循环大题
|
|
|
List<AssessmentQuestionVo> oneList = new ArrayList<>();
|
|
|
for (AssessmentPlanQuestion assessmentQuestion : questionList) {
|
|
|
- if(assessmentQuestion.getCategory() == 1){
|
|
|
+ if (assessmentQuestion.getCategory() == 1) {
|
|
|
oneList.add(BeanUtil.toBean(assessmentQuestion, AssessmentQuestionVo.class));
|
|
|
}
|
|
|
}
|
|
|
@@ -353,7 +303,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
for (AssessmentQuestionVo oneQuestion : oneList) {
|
|
|
List<AssessmentQuestionVo> twoList = new ArrayList<>();
|
|
|
for (AssessmentPlanQuestion assessmentQuestion : questionList) {
|
|
|
- if(assessmentQuestion.getCategory() == 2 && assessmentQuestion.getParentId().equals(oneQuestion.getId())){
|
|
|
+ if (assessmentQuestion.getCategory() == 2 && assessmentQuestion.getParentId().equals(oneQuestion.getId())) {
|
|
|
AssessmentQuestionVo questionVo = BeanUtil.toBean(assessmentQuestion, AssessmentQuestionVo.class);
|
|
|
questionVo.setValue(resultMap.get(questionVo.getId()));
|
|
|
twoList.add(questionVo);
|
|
|
@@ -367,7 +317,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
for (AssessmentQuestionVo twoQuestion : oneQuestion.getChildren()) {
|
|
|
List<AssessmentQuestionVo> optionList = new ArrayList<>();
|
|
|
for (AssessmentPlanQuestion assessmentQuestion : questionList) {
|
|
|
- if(assessmentQuestion.getCategory() == 3 && assessmentQuestion.getParentId().equals(twoQuestion.getId())){
|
|
|
+ if (assessmentQuestion.getCategory() == 3 && assessmentQuestion.getParentId().equals(twoQuestion.getId())) {
|
|
|
optionList.add(BeanUtil.toBean(assessmentQuestion, AssessmentQuestionVo.class));
|
|
|
}
|
|
|
}
|
|
|
@@ -390,16 +340,16 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
}
|
|
|
Map<Long, String> questionTypeMaps = new HashMap<>();
|
|
|
planQuestionMapper.selectList(
|
|
|
- new QueryWrapper<AssessmentPlanQuestion>().lambda()
|
|
|
- .in(AssessmentPlanQuestion::getId, questionIds)
|
|
|
- ).forEach(question ->{
|
|
|
+ new QueryWrapper<AssessmentPlanQuestion>().lambda()
|
|
|
+ .in(AssessmentPlanQuestion::getId, questionIds)
|
|
|
+ ).forEach(question -> {
|
|
|
questionTypeMaps.put(question.getId(), question.getType());
|
|
|
});
|
|
|
|
|
|
// 学生提交
|
|
|
studentMapper.submitAnswer(dto.getAssessmentTemplatePlanId(), studentUserId);
|
|
|
for (AssessmentPlanAnswerSubmitDto answerSubmitDto : dto.getAnswerList()) {
|
|
|
- if("multi_question".equals(questionTypeMaps.get(answerSubmitDto.getQuestionId()))){
|
|
|
+ if ("multi_question".equals(questionTypeMaps.get(answerSubmitDto.getQuestionId()))) {
|
|
|
String[] split = answerSubmitDto.getAnswerId().split(",");
|
|
|
for (String answerId : split) {
|
|
|
AssessmentPlanAnswerResult answerStudent = new AssessmentPlanAnswerResult();
|
|
|
@@ -410,7 +360,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
answerStudent.setAnswerId(answerId);
|
|
|
resultMapper.insert(answerStudent);
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
AssessmentPlanAnswerResult answerStudent = new AssessmentPlanAnswerResult();
|
|
|
answerStudent.setAssessmentTemplatePlanId(dto.getAssessmentTemplatePlanId());
|
|
|
answerStudent.setStudentUserId(studentUserId);
|
|
|
@@ -432,7 +382,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
@Override
|
|
|
public Page<AssessmentPlanAnswerStudentVo> getAnswerStudent(Page<AssessmentPlanAnswerStudentDto> page, AssessmentPlanAnswerStudentDto dto) {
|
|
|
List<String> roleList = StpUtil.getRoleList();
|
|
|
- if(roleList.size() == 2 && roleList.contains("CLASSTE") && roleList.contains("TEACHER")){
|
|
|
+ if (roleList.size() == 2 && roleList.contains("CLASSTE") && roleList.contains("TEACHER")) {
|
|
|
dto.setTeacherId(StpUtil.getLoginIdAsLong());
|
|
|
}
|
|
|
return templatePlanMapper.getAnswerStudent(page, dto);
|
|
|
@@ -441,7 +391,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
@Override
|
|
|
public List<AssessmentPlanAnswerStudentVo> getAnswerStudentList(AssessmentPlanAnswerStudentDto dto) {
|
|
|
List<String> roleList = StpUtil.getRoleList();
|
|
|
- if(roleList.size() == 2 && roleList.contains("CLASSTE") && roleList.contains("TEACHER")){
|
|
|
+ if (roleList.size() == 2 && roleList.contains("CLASSTE") && roleList.contains("TEACHER")) {
|
|
|
dto.setTeacherId(StpUtil.getLoginIdAsLong());
|
|
|
}
|
|
|
return this.baseMapper.getAnswerStudentList(dto);
|
|
|
@@ -463,15 +413,15 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
AssessmentTemplatePlanResultVo vo = BeanUtil.toBean(templatePlan, AssessmentTemplatePlanResultVo.class);
|
|
|
vo.setStudentCount(studentMapper.getSubmitStudentCount(id));
|
|
|
List<AssessmentPlanQuestion> questionList = planQuestionMapper.selectList(
|
|
|
- new QueryWrapper<AssessmentPlanQuestion>().lambda()
|
|
|
- .eq(AssessmentPlanQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
- .eq(AssessmentPlanQuestion::getAssessmentTemplatePlanId, id)
|
|
|
+ new QueryWrapper<AssessmentPlanQuestion>().lambda()
|
|
|
+ .eq(AssessmentPlanQuestion::getDeleteMark, DeleteMark.NODELETE.getCode())
|
|
|
+ .eq(AssessmentPlanQuestion::getAssessmentTemplatePlanId, id)
|
|
|
);
|
|
|
|
|
|
//循环大题
|
|
|
List<OneQuestionVo> oneList = new ArrayList<>();
|
|
|
for (AssessmentPlanQuestion assessmentQuestion : questionList) {
|
|
|
- if(assessmentQuestion.getCategory() == 1){
|
|
|
+ if (assessmentQuestion.getCategory() == 1) {
|
|
|
oneList.add(BeanUtil.toBean(assessmentQuestion, OneQuestionVo.class));
|
|
|
}
|
|
|
}
|
|
|
@@ -479,7 +429,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
for (OneQuestionVo oneQuestion : oneList) {
|
|
|
List<TwoQuestionVo> twoList = new ArrayList<>();
|
|
|
for (AssessmentPlanQuestion assessmentQuestion : questionList) {
|
|
|
- if(assessmentQuestion.getCategory() == 2 && assessmentQuestion.getParentId().equals(oneQuestion.getId())){
|
|
|
+ if (assessmentQuestion.getCategory() == 2 && assessmentQuestion.getParentId().equals(oneQuestion.getId())) {
|
|
|
TwoQuestionVo questionVo = BeanUtil.toBean(assessmentQuestion, TwoQuestionVo.class);
|
|
|
twoList.add(questionVo);
|
|
|
}
|
|
|
@@ -502,53 +452,53 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
for (OneQuestionVo oneQuestion : oneList) {
|
|
|
for (TwoQuestionVo twoQuestion : oneQuestion.getChildren()) {
|
|
|
List<AssessmentQuestionOptionResultVo> optionList = new ArrayList<>();
|
|
|
- if(AssessQuestionTypeEnum.RADIO.getCode().equals(twoQuestion.getType()) || AssessQuestionTypeEnum.MULTI.getCode().equals(twoQuestion.getType())){
|
|
|
+ if (AssessQuestionTypeEnum.RADIO.getCode().equals(twoQuestion.getType()) || AssessQuestionTypeEnum.MULTI.getCode().equals(twoQuestion.getType())) {
|
|
|
for (AssessmentPlanQuestion assessmentQuestion : questionList) {
|
|
|
- if(assessmentQuestion.getCategory() == 3 && assessmentQuestion.getParentId().equals(twoQuestion.getId())){
|
|
|
+ if (assessmentQuestion.getCategory() == 3 && assessmentQuestion.getParentId().equals(twoQuestion.getId())) {
|
|
|
AssessmentQuestionOptionResultVo questionVo = BeanUtil.toBean(assessmentQuestion, AssessmentQuestionOptionResultVo.class);
|
|
|
Integer count = answerCountMap.get(assessmentQuestion.getParentId().toString() + assessmentQuestion.getId().toString());
|
|
|
- questionVo.setCount(count == null?0:count);
|
|
|
+ questionVo.setCount(count == null ? 0 : count);
|
|
|
|
|
|
questionVo.setPercentage(vo.getStudentCount());
|
|
|
optionList.add(questionVo);
|
|
|
}
|
|
|
}
|
|
|
- }else if(AssessQuestionTypeEnum.JUDGE.getCode().equals(twoQuestion.getType())){
|
|
|
- optionList.add(new AssessmentQuestionOptionResultVo(){{
|
|
|
+ } else if (AssessQuestionTypeEnum.JUDGE.getCode().equals(twoQuestion.getType())) {
|
|
|
+ optionList.add(new AssessmentQuestionOptionResultVo() {{
|
|
|
setName("是");
|
|
|
Integer count = answerCountMap.get(twoQuestion.getId().toString() + "1");
|
|
|
setPercentage(vo.getStudentCount());
|
|
|
- setCount(count == null?0:count);
|
|
|
+ setCount(count == null ? 0 : count);
|
|
|
}});
|
|
|
- optionList.add(new AssessmentQuestionOptionResultVo(){{
|
|
|
+ optionList.add(new AssessmentQuestionOptionResultVo() {{
|
|
|
setName("否");
|
|
|
Integer count = answerCountMap.get(twoQuestion.getId().toString() + "0");
|
|
|
setPercentage(vo.getStudentCount());
|
|
|
- setCount(count == null?0:count);
|
|
|
+ setCount(count == null ? 0 : count);
|
|
|
}});
|
|
|
- }else if(AssessQuestionTypeEnum.SCALE.getCode().equals(twoQuestion.getType())) {
|
|
|
+ } else if (AssessQuestionTypeEnum.SCALE.getCode().equals(twoQuestion.getType())) {
|
|
|
for (AssessmentPlanAnswerDetailVo detailVo : scaleQuestionResult) {
|
|
|
- if(detailVo.getQuestionId().equals(twoQuestion.getId())){
|
|
|
- optionList.add(new AssessmentQuestionOptionResultVo(){{
|
|
|
+ if (detailVo.getQuestionId().equals(twoQuestion.getId())) {
|
|
|
+ optionList.add(new AssessmentQuestionOptionResultVo() {{
|
|
|
setName(detailVo.getAnswerId() + "星");
|
|
|
Integer count = detailVo.getChooseCount();
|
|
|
setPercentage(vo.getStudentCount());
|
|
|
- setCount(count == null?0:count);
|
|
|
+ setCount(count == null ? 0 : count);
|
|
|
}});
|
|
|
}
|
|
|
}
|
|
|
- }else if(AssessQuestionTypeEnum.TEXT.getCode().equals(twoQuestion.getType())) {
|
|
|
+ } else if (AssessQuestionTypeEnum.TEXT.getCode().equals(twoQuestion.getType())) {
|
|
|
AssessmentQuestionOptionResultVo questionVo = new AssessmentQuestionOptionResultVo();
|
|
|
int notNullCount = 0;
|
|
|
int nullCount = 0;
|
|
|
for (AssessmentPlanAnswerDetailVo detailVo : textQuestionResult) {
|
|
|
- if(!Objects.equals(detailVo.getQuestionId(), twoQuestion.getId())){
|
|
|
+ if (!Objects.equals(detailVo.getQuestionId(), twoQuestion.getId())) {
|
|
|
continue;
|
|
|
}
|
|
|
- if(StrUtil.isNotEmpty(detailVo.getAnswerId())){
|
|
|
- notNullCount ++;
|
|
|
- }else{
|
|
|
- nullCount ++;
|
|
|
+ if (StrUtil.isNotEmpty(detailVo.getAnswerId())) {
|
|
|
+ notNullCount++;
|
|
|
+ } else {
|
|
|
+ nullCount++;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -569,15 +519,15 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
public Boolean sendMsg(AssessmentTemplatePlanSureDto dto) {
|
|
|
Long teacherId = null;
|
|
|
List<String> roleList = StpUtil.getRoleList();
|
|
|
- if(roleList.size() == 2 && roleList.contains("TEACHER") && roleList.contains("CLASSTE")){
|
|
|
+ if (roleList.size() == 2 && roleList.contains("TEACHER") && roleList.contains("CLASSTE")) {
|
|
|
teacherId = StpUtil.getLoginIdAsLong();
|
|
|
}
|
|
|
//先查询班上的所有学生
|
|
|
MPJLambdaWrapper<XjrUser> queryWrapper = new MPJLambdaWrapper<>();
|
|
|
queryWrapper
|
|
|
.select(XjrUser.class, x -> VoToColumnUtil.fieldsToColumns(XjrUser.class).contains(x.getProperty()))
|
|
|
- .innerJoin(AssessmentPlanAnswerStudent.class, AssessmentPlanAnswerStudent::getStudentUserId,XjrUser::getId)
|
|
|
- .innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId,XjrUser::getId)
|
|
|
+ .innerJoin(AssessmentPlanAnswerStudent.class, AssessmentPlanAnswerStudent::getStudentUserId, XjrUser::getId)
|
|
|
+ .innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, XjrUser::getId)
|
|
|
.innerJoin(BaseClass.class, BaseClass::getId, BaseStudentSchoolRoll::getClassId)
|
|
|
.eq(BaseStudentSchoolRoll::getClassId, dto.getClassId())
|
|
|
.eq(AssessmentPlanAnswerStudent::getAssessmentTemplatePlanId, dto.getId())
|
|
|
@@ -635,7 +585,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
//循环大题
|
|
|
List<OneQuestionAnswerVo> oneList = new ArrayList<>();
|
|
|
for (AssessmentPlanQuestion assessmentQuestion : questionList) {
|
|
|
- if(assessmentQuestion.getCategory() == 1){
|
|
|
+ if (assessmentQuestion.getCategory() == 1) {
|
|
|
oneList.add(BeanUtil.toBean(assessmentQuestion, OneQuestionAnswerVo.class));
|
|
|
}
|
|
|
}
|
|
|
@@ -643,7 +593,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
for (OneQuestionAnswerVo oneQuestion : oneList) {
|
|
|
List<TwoQuestionAnswerVo> twoList = new ArrayList<>();
|
|
|
for (AssessmentPlanQuestion assessmentQuestion : questionList) {
|
|
|
- if(assessmentQuestion.getCategory() == 2 && assessmentQuestion.getParentId().equals(oneQuestion.getId())){
|
|
|
+ if (assessmentQuestion.getCategory() == 2 && assessmentQuestion.getParentId().equals(oneQuestion.getId())) {
|
|
|
TwoQuestionAnswerVo questionVo = BeanUtil.toBean(assessmentQuestion, TwoQuestionAnswerVo.class);
|
|
|
twoList.add(questionVo);
|
|
|
}
|
|
|
@@ -658,29 +608,29 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
for (OneQuestionAnswerVo oneQuestion : oneList) {
|
|
|
for (TwoQuestionAnswerVo twoQuestion : oneQuestion.getChildren()) {
|
|
|
List<AssessmentPlanAnswerDetailVo> resultList = answerResultMap.get(twoQuestion.getId());
|
|
|
- if(AssessQuestionTypeEnum.MULTI.getCode().equals(twoQuestion.getType())){
|
|
|
+ if (AssessQuestionTypeEnum.MULTI.getCode().equals(twoQuestion.getType())) {
|
|
|
String answerStr = "";
|
|
|
- for(int i = 0; i < resultList.size(); i ++){
|
|
|
- if(i > 0){
|
|
|
+ for (int i = 0; i < resultList.size(); i++) {
|
|
|
+ if (i > 0) {
|
|
|
answerStr += "\r\n";
|
|
|
}
|
|
|
- answerStr += resultList.get(i).getAnswerId() + "";
|
|
|
+ answerStr += resultList.get(i).getAnswerId();
|
|
|
}
|
|
|
twoQuestion.setResult(answerStr);
|
|
|
- }else if(AssessQuestionTypeEnum.SCALE.getCode().equals(twoQuestion.getType())){
|
|
|
+ } else if (AssessQuestionTypeEnum.SCALE.getCode().equals(twoQuestion.getType())) {
|
|
|
twoQuestion.setResult(resultList.get(0).getAnswerId() + "星");
|
|
|
- }else if(AssessQuestionTypeEnum.JUDGE.getCode().equals(twoQuestion.getType())){
|
|
|
+ } else if (AssessQuestionTypeEnum.JUDGE.getCode().equals(twoQuestion.getType())) {
|
|
|
List<String> answerList = resultList.stream().filter(x -> x.getAnswerId() != null)
|
|
|
.map(AssessmentPlanAnswerDetailVo::getAnswerId).collect(Collectors.toList());
|
|
|
String replace = answerList.toString().replace("[", "").replace("]", "");
|
|
|
- if("1".equals(replace)){
|
|
|
+ if ("1".equals(replace)) {
|
|
|
twoQuestion.setResult("是");
|
|
|
- }else if("0".equals(replace)){
|
|
|
+ } else if ("0".equals(replace)) {
|
|
|
twoQuestion.setResult("否");
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
List<String> answerList = resultList.stream().filter(x -> x.getAnswerId() != null).map(AssessmentPlanAnswerDetailVo::getAnswerId).collect(Collectors.toList());
|
|
|
- if(!answerList.isEmpty()){
|
|
|
+ if (!answerList.isEmpty()) {
|
|
|
twoQuestion.setResult(answerList.toString().replace("[", "").replace("]", ""));
|
|
|
}
|
|
|
}
|
|
|
@@ -731,48 +681,48 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
.stream().collect(Collectors.groupingBy(AssessmentPlanAnswerDetailVo::getQuestionId));
|
|
|
for (AssessmentPlanQuestion question : towQuesList) {
|
|
|
List<AssessmentPlanAnswerDetailVo> resultList = answerMaps.get(question.getId());
|
|
|
- if(resultList.isEmpty()){
|
|
|
+ if (resultList.isEmpty()) {
|
|
|
rowData.add("");
|
|
|
continue;
|
|
|
}
|
|
|
- if(AssessQuestionTypeEnum.MULTI.getCode().equals(question.getType())){
|
|
|
+ if (AssessQuestionTypeEnum.MULTI.getCode().equals(question.getType())) {
|
|
|
String answerStr = "";
|
|
|
- for(int i = 0; i < resultList.size(); i ++){
|
|
|
- if(i > 0){
|
|
|
+ for (int i = 0; i < resultList.size(); i++) {
|
|
|
+ if (i > 0) {
|
|
|
answerStr += "\r\n";
|
|
|
}
|
|
|
- answerStr += resultList.get(i).getAnswerId() + "";
|
|
|
+ answerStr += resultList.get(i).getAnswerId();
|
|
|
}
|
|
|
rowData.add(answerStr);
|
|
|
- }else if(AssessQuestionTypeEnum.SCALE.getCode().equals(question.getType())){
|
|
|
+ } else if (AssessQuestionTypeEnum.SCALE.getCode().equals(question.getType())) {
|
|
|
rowData.add(resultList.get(0).getAnswerId() + "星");
|
|
|
- }else if(AssessQuestionTypeEnum.TEXT.getCode().equals(question.getType())){
|
|
|
+ } else if (AssessQuestionTypeEnum.TEXT.getCode().equals(question.getType())) {
|
|
|
List<String> answerList = resultList.stream().filter(x -> x.getAnswerId() != null).map(AssessmentPlanAnswerDetailVo::getAnswerId).collect(Collectors.toList());
|
|
|
- if(!answerList.isEmpty()){
|
|
|
+ if (!answerList.isEmpty()) {
|
|
|
rowData.add(answerList.toString().replace("[", "").replace("]", ""));
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
rowData.add("");
|
|
|
}
|
|
|
- }else if(AssessQuestionTypeEnum.JUDGE.getCode().equals(question.getType())){
|
|
|
+ } else if (AssessQuestionTypeEnum.JUDGE.getCode().equals(question.getType())) {
|
|
|
List<String> answerList = resultList.stream().filter(x -> x.getAnswerId() != null)
|
|
|
.map(AssessmentPlanAnswerDetailVo::getAnswerId).collect(Collectors.toList());
|
|
|
String replace = answerList.toString().replace("[", "").replace("]", "");
|
|
|
- if("1".equals(replace)){
|
|
|
+ if ("1".equals(replace)) {
|
|
|
rowData.add("是");
|
|
|
- }else if("0".equals(replace)){
|
|
|
+ } else if ("0".equals(replace)) {
|
|
|
rowData.add("否");
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
List<String> answerList = resultList.stream().filter(x -> x.getAnswerId() != null).map(AssessmentPlanAnswerDetailVo::getAnswerId).collect(Collectors.toList());
|
|
|
- if(!answerList.isEmpty()){
|
|
|
+ if (!answerList.isEmpty()) {
|
|
|
rowData.add(answerList.toString().replace("[", "").replace("]", ""));
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
rowData.add("");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
dataList.add(rowData);
|
|
|
- sortCode ++;
|
|
|
+ sortCode++;
|
|
|
}
|
|
|
|
|
|
Workbook workbook = new XSSFWorkbook();
|
|
|
@@ -787,7 +737,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
|
|
|
for (List<String> rowData : dataList) {
|
|
|
Row dataRow = sheet.createRow(dataRowNumber);
|
|
|
- for (int i = 0; i < rowData.size(); i ++){
|
|
|
+ for (int i = 0; i < rowData.size(); i++) {
|
|
|
// if(i < 7){
|
|
|
// sheet.autoSizeColumn(i);
|
|
|
// }
|
|
|
@@ -795,7 +745,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
Font font = workbook.createFont();
|
|
|
font.setBold(false);// 设置为粗体
|
|
|
font.setFontName("宋体");
|
|
|
- font.setFontHeightInPoints((short)12);
|
|
|
+ font.setFontHeightInPoints((short) 12);
|
|
|
|
|
|
CellStyle cellStyle = workbook.createCellStyle();
|
|
|
cellStyle.setFont(font); // 将字体应用到样式
|
|
|
@@ -807,7 +757,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
row1cell2.setCellStyle(cellStyle);
|
|
|
}
|
|
|
|
|
|
- dataRowNumber ++;
|
|
|
+ dataRowNumber++;
|
|
|
}
|
|
|
|
|
|
//写入文件
|
|
|
@@ -869,7 +819,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
.eq(AssessmentPlanAnswerClass::getAssessmentTemplatePlanId, templatePlan.getId())
|
|
|
);
|
|
|
for (AssessmentPlanAnswerClass answerClass : classList) {
|
|
|
- this.sendMsg(new AssessmentTemplatePlanSureDto(){{
|
|
|
+ this.sendMsg(new AssessmentTemplatePlanSureDto() {{
|
|
|
setClassId(answerClass.getClassId());
|
|
|
setId(templatePlan.getId());
|
|
|
}});
|
|
|
@@ -887,7 +837,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
font.setBold(true);// 设置为粗体
|
|
|
font.setFontName("宋体");
|
|
|
//font.setColor(IndexedColors.RED.getIndex()); // 设置字体颜色为红色
|
|
|
- font.setFontHeightInPoints((short)12);
|
|
|
+ font.setFontHeightInPoints((short) 12);
|
|
|
|
|
|
CellStyle cellStyle = workbook.createCellStyle();
|
|
|
cellStyle.setFont(font); // 将字体应用到样式
|
|
|
@@ -902,35 +852,35 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
sheet.addMergedRegion(new CellRangeAddress(rowNumber, 1, cellNumber, cellNumber));
|
|
|
sheet.setColumnWidth(cellNumber, 5 * 3 * 256);
|
|
|
|
|
|
- cellNumber ++;
|
|
|
+ cellNumber++;
|
|
|
cell = row.createCell(cellNumber);
|
|
|
cell.setCellValue("班级");
|
|
|
cell.setCellStyle(cellStyle);
|
|
|
sheet.addMergedRegion(new CellRangeAddress(rowNumber, 1, cellNumber, cellNumber));
|
|
|
sheet.setColumnWidth(cellNumber, 5 * 3 * 256);
|
|
|
|
|
|
- cellNumber ++;
|
|
|
+ cellNumber++;
|
|
|
cell = row.createCell(cellNumber);
|
|
|
cell.setCellValue("学生姓名");
|
|
|
cell.setCellStyle(cellStyle);
|
|
|
sheet.addMergedRegion(new CellRangeAddress(rowNumber, 1, cellNumber, cellNumber));
|
|
|
sheet.setColumnWidth(cellNumber, 5 * 3 * 256);
|
|
|
|
|
|
- cellNumber ++;
|
|
|
+ cellNumber++;
|
|
|
cell = row.createCell(cellNumber);
|
|
|
cell.setCellValue("提交时间");
|
|
|
cell.setCellStyle(cellStyle);
|
|
|
sheet.addMergedRegion(new CellRangeAddress(rowNumber, 1, cellNumber, cellNumber));
|
|
|
sheet.setColumnWidth(cellNumber, 5 * 3 * 256);
|
|
|
|
|
|
- cellNumber ++;
|
|
|
+ cellNumber++;
|
|
|
for (AssessmentPlanQuestion question : oneQuesList) {
|
|
|
int size = towQuesMaps.get(question.getId()).size();
|
|
|
|
|
|
cell = row.createCell(cellNumber);
|
|
|
cell.setCellValue(question.getName());
|
|
|
cell.setCellStyle(cellStyle);
|
|
|
- if(size > 1){
|
|
|
+ if (size > 1) {
|
|
|
sheet.addMergedRegion(new CellRangeAddress(rowNumber, rowNumber, cellNumber, cellNumber + size - 1));
|
|
|
}
|
|
|
cellNumber = cellNumber + size;
|
|
|
@@ -943,7 +893,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
font.setBold(true);// 设置为粗体
|
|
|
font.setFontName("宋体");
|
|
|
//font.setColor(IndexedColors.RED.getIndex()); // 设置字体颜色为红色
|
|
|
- font.setFontHeightInPoints((short)12);
|
|
|
+ font.setFontHeightInPoints((short) 12);
|
|
|
|
|
|
CellStyle cellStyle = workbook.createCellStyle();
|
|
|
cellStyle.setFont(font); // 将字体应用到样式
|
|
|
@@ -957,7 +907,7 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
|
|
|
cell.setCellValue(question.getName());
|
|
|
cell.setCellStyle(cellStyle);
|
|
|
sheet.setColumnWidth(cellNumber, 20 * 3 * 256);
|
|
|
- cellNumber ++;
|
|
|
+ cellNumber++;
|
|
|
}
|
|
|
}
|
|
|
}
|