Prechádzať zdrojové kódy

教室获奖统计调整

dzx 1 rok pred
rodič
commit
144d1bd75d

+ 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;
 }

+ 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>