xiatian 8 달 전
부모
커밋
db09d1b74b

+ 10 - 0
src/main/java/cn/com/qmth/scancentral/bean/WorkloadDomain.java

@@ -8,6 +8,8 @@ public class WorkloadDomain {
 
     private Long endTime;
 
+    private String sort;
+
     public Long getExamId() {
         return examId;
     }
@@ -32,4 +34,12 @@ public class WorkloadDomain {
         this.endTime = endTime;
     }
 
+    public String getSort() {
+        return sort;
+    }
+
+    public void setSort(String sort) {
+        this.sort = sort;
+    }
+
 }

+ 2 - 2
src/main/java/cn/com/qmth/scancentral/dao/BatchDao.java

@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 import cn.com.qmth.scancentral.bean.BatchQueryDomain;
+import cn.com.qmth.scancentral.bean.WorkloadDomain;
 import cn.com.qmth.scancentral.entity.BatchEntity;
 import cn.com.qmth.scancentral.enums.BatchStatus;
 import cn.com.qmth.scancentral.enums.CheckStatus;
@@ -39,8 +40,7 @@ public interface BatchDao extends BaseMapper<BatchEntity> {
 
     List<String> batchScanner(@Param("examId") Long examId);
 
-    List<ScannerWorkloadVo> workload(@Param(value = "examId") Long examId, @Param(value = "startTime") Long startTime,
-            @Param(value = "endTime") Long endTime);
+    List<ScannerWorkloadVo> workload(@Param("req") WorkloadDomain domain);
 
     IPage<BatchEntity> findUnCheck(Page<BatchEntity> page, @Param("examId") Long examId,
             @Param("batchStatus") BatchStatus batchStatus, @Param("checkStatus") CheckStatus checkStatus);

+ 3 - 5
src/main/java/cn/com/qmth/scancentral/service/impl/BatchServiceImpl.java

@@ -642,12 +642,10 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
     @Override
     public List<ScannerWorkloadVo> workload(WorkloadDomain domain) {
         Long examId = domain.getExamId();
-        Long startTime = domain.getStartTime();
-        Long endTime = domain.getEndTime();
         if (examId == null) {
             throw new ParameterException("examId不能为空");
         }
-        return baseMapper.workload(examId, startTime, endTime);
+        return baseMapper.workload(domain);
     }
 
     @Override
@@ -784,9 +782,9 @@ public class BatchServiceImpl extends ServiceImpl<BatchDao, BatchEntity> impleme
     public IPage<BatchEntity> findUnCheck(Long examId, int pageNumber, int pageSize, BatchStatus batchStatus,
             CheckStatus checkStatus, String order) {
         Page page = new Page<>(pageNumber, pageSize);
-        if("ASC".equalsIgnoreCase(order)){
+        if ("ASC".equalsIgnoreCase(order)) {
             page.addOrder(OrderItem.asc("id"));
-        }else{
+        } else {
             page.addOrder(OrderItem.desc("id"));
         }
         return this.baseMapper.findUnCheck(page, examId, batchStatus, checkStatus);

+ 15 - 7
src/main/resources/mapper/BatchMapper.xml

@@ -26,7 +26,7 @@
 
     <select id="workload"
             resultType="cn.com.qmth.scancentral.vo.ScannerWorkloadVo">
-        SELECT
+        select tem.* from(SELECT
         b.device,
         s.device_name,
         count(DISTINCT bp.student_id) answerScanCount
@@ -35,14 +35,22 @@
         left join sc_batch_paper bp on b.id=bp.batch_id
         left join sc_scanner s on b.device=s.device
         where
-        b.exam_id=#{examId}
-        <if test="startTime != null">
-            AND b.create_time &gt;= #{startTime}
+        b.exam_id=#{req.examId}
+        <if test="req.startTime != null">
+            AND b.create_time &gt;= #{req.startTime}
+        </if>
+        <if test="req.endTime != null">
+            AND b.create_time &lt;= #{req.endTime}
         </if>
-        <if test="endTime != null">
-            AND b.create_time &lt;= #{endTime}
+        GROUP BY b.device) tem
+        <if test="req.sort != null">
+        	<if test="req.sort = 'ASC'">
+        		order by tem.answerScanCount ASC
+        	</if>
+        	<if test="req.sort != 'DESC'">
+        		order by tem.answerScanCount DESC
+        	</if>
         </if>
-        GROUP BY b.device
     </select>
 
     <select id="batchQueryPage"