|
|
@@ -12,18 +12,14 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
|
|
import com.xjrsoft.common.enums.DeleteMark;
|
|
|
import com.xjrsoft.common.enums.EnabledMark;
|
|
|
+import com.xjrsoft.common.enums.EvaluateTypeEnum;
|
|
|
import com.xjrsoft.common.model.result.RT;
|
|
|
import com.xjrsoft.common.page.ConventPage;
|
|
|
+import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.module.base.entity.BaseClass;
|
|
|
import com.xjrsoft.module.evaluate.dto.*;
|
|
|
-import com.xjrsoft.module.evaluate.entity.EvaluateExecuter;
|
|
|
-import com.xjrsoft.module.evaluate.entity.EvaluateManageItem;
|
|
|
-import com.xjrsoft.module.evaluate.entity.EvaluateObject;
|
|
|
-import com.xjrsoft.module.evaluate.entity.EvaluateResult;
|
|
|
-import com.xjrsoft.module.evaluate.mapper.EvaluateExecuterMapper;
|
|
|
-import com.xjrsoft.module.evaluate.mapper.EvaluateManageItemMapper;
|
|
|
-import com.xjrsoft.module.evaluate.mapper.EvaluateObjectMapper;
|
|
|
-import com.xjrsoft.module.evaluate.mapper.EvaluateResultMapper;
|
|
|
+import com.xjrsoft.module.evaluate.entity.*;
|
|
|
+import com.xjrsoft.module.evaluate.mapper.*;
|
|
|
import com.xjrsoft.module.evaluate.service.IEvaluateResultService;
|
|
|
import com.xjrsoft.module.evaluate.vo.*;
|
|
|
import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
|
@@ -33,6 +29,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
|
+import java.time.LocalDate;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -50,8 +47,12 @@ public class EvaluateResultServiceImpl extends MPJBaseServiceImpl<EvaluateResult
|
|
|
|
|
|
private EvaluateResultMapper evaluateResultMapper;
|
|
|
|
|
|
+ private EvaluateManageMapper evaluateManageMapper;
|
|
|
+
|
|
|
private EvaluateManageItemMapper evaluateManageItemMapper;
|
|
|
|
|
|
+ private EvaluateSubmitRecordMapper evaluateSubmitRecordMapper;
|
|
|
+
|
|
|
private EvaluateExecuterMapper evaluateExecuterMapper;
|
|
|
|
|
|
@Override
|
|
|
@@ -265,7 +266,20 @@ public class EvaluateResultServiceImpl extends MPJBaseServiceImpl<EvaluateResult
|
|
|
public String saveBatch(EvaluateResultSaveDto dto) {
|
|
|
Long loginUserId = StpUtil.getLoginIdAsLong();
|
|
|
Date createDate = new Date();
|
|
|
- //修改答题人状态
|
|
|
+ //获取当前评价管理的类型
|
|
|
+ MPJLambdaWrapper<EvaluateManage> evaluateManageMPJLambdaWrapper = new MPJLambdaWrapper<>();
|
|
|
+ evaluateManageMPJLambdaWrapper
|
|
|
+ .selectAs(EvaluateTemplate::getEvaluateType, EvaluateManageVo::getEvaluateType)
|
|
|
+ .select(EvaluateManage.class, x -> VoToColumnUtil.fieldsToColumns(EvaluateManageVo.class).contains(x.getProperty()))
|
|
|
+ .innerJoin(EvaluateTemplate.class, EvaluateTemplate::getId, EvaluateManage::getEvaluateTemplateId)
|
|
|
+ .eq(EvaluateManage::getId, dto.getEvaluateManageId())
|
|
|
+ .disableSubLogicDel();
|
|
|
+ EvaluateManageVo evaluateManageVo = evaluateManageMapper.selectJoinOne(EvaluateManageVo.class, evaluateManageMPJLambdaWrapper);
|
|
|
+
|
|
|
+ if(evaluateManageVo == null){
|
|
|
+ return "该评价已失效!";
|
|
|
+ }
|
|
|
+
|
|
|
EvaluateExecuter executer = evaluateExecuterMapper.selectOne(
|
|
|
new QueryWrapper<EvaluateExecuter>().lambda()
|
|
|
.eq(EvaluateExecuter::getUserId, loginUserId)
|
|
|
@@ -273,18 +287,63 @@ public class EvaluateResultServiceImpl extends MPJBaseServiceImpl<EvaluateResult
|
|
|
.eq(EvaluateExecuter::getEvaluateObjectId, dto.getEvaluateObjectId())
|
|
|
);
|
|
|
|
|
|
+ if(executer == null){
|
|
|
+ return "该评价已失效!";
|
|
|
+ }
|
|
|
+
|
|
|
+ if(executer.getStatus() == 1){
|
|
|
+ return "已经评价,请勿重复评价";
|
|
|
+ }
|
|
|
+
|
|
|
+ //当评价需要重复评价,判断今天是否已经评价
|
|
|
+ if(evaluateManageVo.getIsAutoCreate() == 1){
|
|
|
+ //查询参评人提交记录
|
|
|
+ EvaluateSubmitRecord oldEvaluateSubmitRecord = evaluateSubmitRecordMapper.selectOne(
|
|
|
+ new QueryWrapper<EvaluateSubmitRecord>().lambda()
|
|
|
+ .eq(EvaluateSubmitRecord::getEvaluateManageId, dto.getEvaluateManageId())
|
|
|
+ .eq(EvaluateSubmitRecord::getEvaluatedObjectId, dto.getEvaluateObjectId())
|
|
|
+ .eq(EvaluateSubmitRecord::getEvaluateExecuterId, executer.getId())
|
|
|
+ .like(EvaluateSubmitRecord::getCreateDate, LocalDate.now())
|
|
|
+ );
|
|
|
+
|
|
|
+ if(oldEvaluateSubmitRecord != null){
|
|
|
+ return "今日已经评价,请勿重复评价";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //新增参评人提交记录表
|
|
|
+ EvaluateSubmitRecord evaluateSubmitRecord = new EvaluateSubmitRecord();
|
|
|
+ evaluateSubmitRecord.setEvaluateManageId(evaluateManageVo.getId());
|
|
|
+ evaluateSubmitRecord.setEvaluateExecuterId(executer.getId());
|
|
|
+ evaluateSubmitRecord.setCreateDate(createDate);
|
|
|
+ if(evaluateManageVo.getEvaluateType().equals(EvaluateTypeEnum.DRILLMASTER_EVALUATE_CLASS.getCode())){
|
|
|
+ evaluateSubmitRecord.setEvaluatedObject("class");
|
|
|
+ }
|
|
|
+ if(evaluateManageVo.getEvaluateType().equals(EvaluateTypeEnum.STUDENT_EVALUATE_HEAD_TEACHER.getCode())){
|
|
|
+ evaluateSubmitRecord.setEvaluatedObject("teacher");
|
|
|
+ }
|
|
|
+ evaluateSubmitRecord.setEvaluatedObjectId(executer.getEvaluateObjectId());
|
|
|
+ evaluateSubmitRecordMapper.insert(evaluateSubmitRecord);
|
|
|
+
|
|
|
List<AddEvaluateResultDto> resultList = dto.getResultList();
|
|
|
for (AddEvaluateResultDto addEvaluateResultDto : resultList) {
|
|
|
EvaluateResult evaluateResult = BeanUtil.toBean(addEvaluateResultDto, EvaluateResult.class);
|
|
|
- evaluateResult.setEvaluatedObject("teacher");
|
|
|
+ if(evaluateManageVo.getEvaluateType().equals(EvaluateTypeEnum.DRILLMASTER_EVALUATE_CLASS.getCode())){
|
|
|
+ evaluateResult.setEvaluatedObject("class");
|
|
|
+ }
|
|
|
+ if(evaluateManageVo.getEvaluateType().equals(EvaluateTypeEnum.STUDENT_EVALUATE_HEAD_TEACHER.getCode())){
|
|
|
+ evaluateResult.setEvaluatedObject("teacher");
|
|
|
+ }
|
|
|
evaluateResult.setUserId(executer.getId());
|
|
|
evaluateResult.setEvaluatedObjectId(executer.getEvaluateObjectId());
|
|
|
evaluateResult.setDeleteMark(DeleteMark.NODELETE.getCode());
|
|
|
evaluateResult.setEnabledMark(EnabledMark.ENABLED.getCode());
|
|
|
evaluateResult.setCreateDate(createDate);
|
|
|
+ evaluateResult.setSubmitRecordId(evaluateSubmitRecord.getId());
|
|
|
evaluateResultMapper.insert(evaluateResult);
|
|
|
}
|
|
|
|
|
|
+ //修改答题人状态
|
|
|
UpdateWrapper<EvaluateExecuter> updateWrapper = new UpdateWrapper<>();
|
|
|
updateWrapper.eq("id", executer.getId());
|
|
|
updateWrapper.setSql("status = 1");
|