ソースを参照

Merge branch 'pre'

dzx 1 年間 前
コミット
05058ca054

+ 2 - 1
src/main/java/com/xjrsoft/module/evaluate/mapper/EvaluateResultMapper.java

@@ -5,6 +5,7 @@ import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.evaluate.dto.EvaluateResultDetailPageDetailDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateResultDetailPageDto;
 import com.xjrsoft.module.evaluate.dto.EvaluateResultIndexPageDto;
+import com.xjrsoft.module.evaluate.dto.ResultViewingPageDto;
 import com.xjrsoft.module.evaluate.dto.TeaEvaluateClassDto;
 import com.xjrsoft.module.evaluate.entity.EvaluateResult;
 import com.xjrsoft.module.evaluate.vo.EvaluateResultDetailPageDetailList;
@@ -43,5 +44,5 @@ public interface EvaluateResultMapper extends MPJBaseMapper<EvaluateResult> {
 
     List<TeaEvaluateClassListVo> getTeaEvaluateClassList(@Param("dto") TeaEvaluateClassDto dto);
 
-    List<ResultViewingListVo> getResultViewingList(@Param("evaluateManageId") Long evaluateManageId);
+    List<ResultViewingListVo> getResultViewingList(@Param("dto") ResultViewingPageDto dto);
 }

+ 8 - 4
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateResultServiceImpl.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.evaluate.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -122,6 +123,7 @@ public class EvaluateResultServiceImpl extends MPJBaseServiceImpl<EvaluateResult
                 .eq(EvaluateObject::getEvaluateManageId, dto.getEvaluateManageId())
                 .eq((dto.getBaseGradeId() != null && dto.getBaseGradeId() > 0), BaseClass::getGradeId, dto.getBaseGradeId())
                 .eq((dto.getClassId() != null && dto.getClassId() > 0), BaseClass::getId, dto.getClassId())
+                .eq(!ObjectUtil.isNotNull(dto.getTeacherId()), EvaluateObject::getObjectId, dto.getTeacherId())
                 .like((dto.getName() != null && !("").equals(dto.getName())), XjrUser::getName, dto.getName())
                 .disableSubLogicDel();
         List<ResultViewingPageVo> list = evaluateObjectMapper.selectJoinList(ResultViewingPageVo.class, evaluateObjectMPJLambdaWrapper);
@@ -169,13 +171,15 @@ public class EvaluateResultServiceImpl extends MPJBaseServiceImpl<EvaluateResult
                     .collect(Collectors.groupingBy(ResultViewingPageVo::getObjectId));
 
         }
-        List<ResultViewingListVo> resultViewingList = evaluateResultMapper.getResultViewingList(dto.getEvaluateManageId());
+        List<ResultViewingListVo> resultViewingList = evaluateResultMapper.getResultViewingList(dto);
         //遍历分页记录
         for (ResultViewingPageVo resultViewingPageVo : list) {
             List<ResultViewingPageVo> resultViewingPageVoList = groupedByObjectIdList.get(resultViewingPageVo.getObjectId());
             Map<Long, List<ResultViewingListVo>> itemMaps = resultViewingList.stream().filter(x -> x.getObjectId().equals(resultViewingPageVo.getObjectId()))
                     .collect(Collectors.groupingBy(ResultViewingListVo::getEvaluateManageItemId));
-
+            if(itemMaps.isEmpty()){
+                continue;
+            }
             if(resultViewingPageVoList != null && !resultViewingPageVoList.isEmpty()){
                 for (ResultViewingPageVo r : resultViewingPageVoList) {
                     double v = itemMaps.get(r.getEvaluateManageItemId()).stream().mapToDouble(ResultViewingListVo::getScore).average().orElse(0.0);
@@ -207,10 +211,10 @@ public class EvaluateResultServiceImpl extends MPJBaseServiceImpl<EvaluateResult
         }
 
         for (ResultViewingPageVo pageVo : resultData) {
-            pageVo.setSynthesisScore(synthesisScoreMap.get(pageVo.getObjectId()) + "");
+            pageVo.setSynthesisScore(BigDecimal .valueOf(synthesisScoreMap.get(pageVo.getObjectId())).setScale(2, RoundingMode.HALF_UP).doubleValue() + "");
 
             Double itemScore = itemListMaps.get(pageVo.getObjectId() + "" + pageVo.getTopic());
-            pageVo.setTopicScore(itemScore + "");
+            pageVo.setTopicScore(BigDecimal .valueOf(itemScore).setScale(2, RoundingMode.HALF_UP).doubleValue()+ "");
         }
 
         return resultData;

+ 3 - 0
src/main/java/com/xjrsoft/module/teacher/controller/TeacherAwardController.java

@@ -2,6 +2,7 @@ package com.xjrsoft.module.teacher.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -15,6 +16,7 @@ import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.FileZipUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
+import com.xjrsoft.module.schedule.entity.WfCourseAdjust;
 import com.xjrsoft.module.system.entity.File;
 import com.xjrsoft.module.system.service.IFileService;
 import com.xjrsoft.module.teacher.dto.TeacherAwardDetailPageDto;
@@ -101,6 +103,7 @@ public class TeacherAwardController {
                 .like(dto.getApplicantUserIdCn() != null && !dto.getApplicantUserIdCn().equals(""), XjrUser::getName, dto.getApplicantUserIdCn())
                 .like(dto.getWholeCompetitionName() != null && !dto.getWholeCompetitionName().equals(""),TeacherAward::getWholeCompetitionName, dto.getWholeCompetitionName())
                 .eq(WorkflowFormRelation::getCurrentState, HistoricProcessInstance.STATE_COMPLETED)
+                .and((ObjectUtil.isNotNull(dto.getIssueDateStart()) && ObjectUtil.isNotNull(dto.getIssueDateEnd())), wq -> wq.between(TeacherAward::getAwardDate, dto.getIssueDateStart(), dto.getIssueDateEnd()).or().between(TeacherAward::getIssueDate, dto.getIssueDateStart(), dto.getIssueDateEnd()))
                 .orderByDesc(TeacherAward::getCreateDate)
         ;
         IPage<TeacherAwardDetailPageVo> page = teacherAwardService.selectJoinListPage(ConventPage.getPage(dto), TeacherAwardDetailPageVo.class, teacherAwardMPJLambdaWrapper);

+ 11 - 0
src/main/java/com/xjrsoft/module/teacher/dto/TeacherAwardDetailPageDto.java

@@ -4,6 +4,9 @@ import com.xjrsoft.common.page.PageInput;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDate;
 
 
 /**
@@ -35,4 +38,12 @@ public class TeacherAwardDetailPageDto extends PageInput {
      */
     @ApiModelProperty("是否论文(1:是 0:否)")
     private Integer isThesis;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("获奖/发表时间-开始")
+    private LocalDate issueDateStart;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("获奖/发表时间-结束")
+    private LocalDate issueDateEnd;
 }

+ 7 - 2
src/main/resources/mapper/evaluate/EvaluateResultMapper.xml

@@ -205,10 +205,15 @@
         AND t4.evaluate_type = #{dto.evaluateType}
     </select>
 
-    <select id="getResultViewingList" resultType="com.xjrsoft.module.evaluate.vo.ResultViewingListVo">
+    <select id="getResultViewingList" parameterType="com.xjrsoft.module.evaluate.dto.ResultViewingPageDto" resultType="com.xjrsoft.module.evaluate.vo.ResultViewingListVo">
         SELECT t1.id,t2.object_id,t3.id as evaluate_manage_item_id,t1.score,t1.user_id FROM evaluate_result t1
         INNER JOIN evaluate_object t2 ON t1.evaluated_object_id = t2.id
         INNER JOIN evaluate_manage_item t3 ON t3.id = t1.evaluate_item_id
-        WHERE t3.evaluate_manage_id = #{evaluateManageId}
+        INNER JOIN evaluate_submit_record t4 ON t1.submit_record_id = t4.id
+        WHERE t3.evaluate_manage_id = #{dto.evaluateManageId}
+        and t4.status = 2
+        <if test="dto.teacherId != null">
+            AND t2.object_id =  #{dto.teacherId}
+        </if>
     </select>
 </mapper>

+ 8 - 0
src/main/resources/mapper/teacher/TeacherAwardItemMapper.xml

@@ -17,6 +17,14 @@
         left join xjr_user_dept_relation t4 on t4.user_id = t1.id
         LEFT JOIN xjr_dictionary_detail t3 ON t1.gender = t3.code
         WHERE t1.delete_mark = 0 AND t2.delete_mark = 0
+        AND (SELECT SUM(a2.score) FROM teacher_award a1
+        INNER JOIN teacher_award_item a2 ON a1.teacher_award_item_id = a2.id
+        WHERE a1.status = 1 AND a1.delete_mark = 0 AND a2.delete_mark = 0
+        AND a1.applicant_user_id = t1.id
+        <if test="dto.awardDateStart != null and dto.awardDateEnd != null">
+            and a1.award_date between #{dto.awardDateStart} and #{dto.awardDateEnd}
+        </if>
+        )  IS NOT NULL
         <if test="dto.userName != null and dto.userName != '' ">
             and t1.user_name like concat('%', #{dto.userName}, '%')
         </if>