|
@@ -1,12 +1,12 @@
|
|
|
package com.qmth.teachcloud.mark.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.update.Update;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.qmth.teachcloud.common.bean.dto.mark.entrance.MarkEntranceDto;
|
|
|
+import com.qmth.teachcloud.common.bean.dto.mark.manage.MarkQualityDto;
|
|
|
import com.qmth.teachcloud.common.bean.dto.mark.manage.MarkUserGroupProgressDto;
|
|
|
import com.qmth.teachcloud.common.bean.dto.mark.setting.MarkUser;
|
|
|
import com.qmth.teachcloud.common.entity.MarkPaper;
|
|
@@ -14,6 +14,7 @@ import com.qmth.teachcloud.common.entity.SysUser;
|
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
import com.qmth.teachcloud.common.service.MarkPaperService;
|
|
|
import com.qmth.teachcloud.common.service.MarkQuestionService;
|
|
|
+import com.qmth.teachcloud.common.service.SysUserService;
|
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
|
import com.qmth.teachcloud.mark.entity.MarkGroup;
|
|
|
import com.qmth.teachcloud.mark.entity.MarkTask;
|
|
@@ -23,12 +24,12 @@ import com.qmth.teachcloud.mark.lock.LockService;
|
|
|
import com.qmth.teachcloud.mark.mapper.MarkUserGroupMapper;
|
|
|
import com.qmth.teachcloud.mark.service.*;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
-import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
+import java.text.DecimalFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
@@ -55,6 +56,8 @@ public class MarkUserGroupServiceImpl extends ServiceImpl<MarkUserGroupMapper, M
|
|
|
@Resource
|
|
|
private MarkSyncService markSyncService;
|
|
|
@Resource
|
|
|
+ private SysUserService sysUserService;
|
|
|
+ @Resource
|
|
|
private MarkService markService;
|
|
|
@Resource
|
|
|
private LockService lockService;
|
|
@@ -193,4 +196,21 @@ public class MarkUserGroupServiceImpl extends ServiceImpl<MarkUserGroupMapper, M
|
|
|
.eq(MarkUserGroup::getId, id);
|
|
|
this.update(updateWrapper);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public IPage<MarkQualityDto> pageQuality(Long examId, String paperNumber, Integer groupNumber, Long userId, Integer pageNumber, Integer pageSize) {
|
|
|
+ Page<MarkQualityDto> page = new Page<>(pageNumber, pageSize);
|
|
|
+ IPage<MarkQualityDto> markQualityDtoIPage = this.baseMapper.pageQuality(page, examId, paperNumber, groupNumber, userId);
|
|
|
+ for (MarkQualityDto qualityDto : markQualityDtoIPage.getRecords()) {
|
|
|
+ if (qualityDto.getUserId() != null) {
|
|
|
+ SysUser sysUser = sysUserService.getByUserId(qualityDto.getUserId());
|
|
|
+ qualityDto.setLoginName(sysUser.getLoginName());
|
|
|
+ qualityDto.setName(sysUser.getRealName());
|
|
|
+ qualityDto.setOrgName(sysUser.getOrgName());
|
|
|
+ String percent = qualityDto.getFinishCount() > 0 ? new DecimalFormat("####.###").format((qualityDto.getFinishCount() - qualityDto.getHeaderFinishCount()) * 100.0 / qualityDto.getFinishCount()) : "0";
|
|
|
+ qualityDto.setAdoptionRate(Double.parseDouble(percent));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return markQualityDtoIPage;
|
|
|
+ }
|
|
|
}
|