diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ScalePublishController.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ScalePublishController.java index 87d0ce9..309c825 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ScalePublishController.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/controller/ScalePublishController.java @@ -1,11 +1,13 @@ package org.dromara.scale.controller; import cn.dev33.satoken.annotation.SaCheckPermission; +import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.excel.utils.ExcelUtil; import org.dromara.common.idempotent.annotation.RepeatSubmit; import org.dromara.common.log.annotation.Log; import org.dromara.common.log.enums.BusinessType; @@ -20,6 +22,8 @@ import org.dromara.scale.service.ISysScalePublishService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * 量表发布 * @@ -52,6 +56,16 @@ public class ScalePublishController extends BaseController { return sysScalePublishService.getEvaluationList(query, pageQuery); } + /** + * 获取量测进度 + */ + @SaCheckPermission("publish:evaluation:export") + @GetMapping("/evaluation/undone/export") + public void export(BaseQueryBo query, HttpServletResponse response) { + List list = sysScalePublishService.queryUndoneExportList(query); + ExcelUtil.exportExcel(list, query.getSessionName() + "的未测名单", EvaluationVo.class, response); + } + /** * 获取量表发布详细信息 * @@ -99,17 +113,5 @@ public class ScalePublishController extends BaseController { return toAjax(sysScalePublishService.end(bo)); } -// /** -// * 删除量表发布 -// * -// * @param batchNos 主键串 -// */ -// @SaCheckPermission("scale:publish:remove") -// @Log(title = "删除量表发布", businessType = BusinessType.DELETE) -// @DeleteMapping("/{batchNo}") -// public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long batchNos) { -// return toAjax(sysScalePublishService.deleteWithValidByIds(List.of(batchNos), true)); -// } - } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ArchiveStatisticVo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ArchiveStatisticVo.java index dfa491b..f124673 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ArchiveStatisticVo.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/ArchiveStatisticVo.java @@ -26,6 +26,8 @@ public class ArchiveStatisticVo implements Serializable { private String scaleName; + private Long recordId; + private Integer situation; private String createTime; diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/EvaluationVo.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/EvaluationVo.java index ddc51f7..46eed8c 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/EvaluationVo.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/domain/vo/EvaluationVo.java @@ -1,5 +1,7 @@ package org.dromara.scale.domain.vo; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data; import java.io.Serial; @@ -13,6 +15,7 @@ import java.io.Serializable; * @date 2024/4/21 15:44 */ @Data +@ExcelIgnoreUnannotated public class EvaluationVo implements Serializable { @Serial @@ -22,15 +25,15 @@ public class EvaluationVo implements Serializable { private Long recordId; private Long scaleId; - + @ExcelProperty(value = "量表名称") private String scaleName; private Long userId; - + @ExcelProperty(value = "测试人姓名") private String nickName; private Long deptId; - + @ExcelProperty(value = "班级") private String deptName; private Integer status; diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysScalePublishMapper.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysScalePublishMapper.java index c61cef3..9b6e5c1 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysScalePublishMapper.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/mapper/SysScalePublishMapper.java @@ -25,4 +25,6 @@ public interface SysScalePublishMapper extends BaseMapperPlus selectUndoneEvaluationVoList(@Param("batchNo") Long batchNo); + } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScalePublishService.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScalePublishService.java index 29d87c4..66c6093 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScalePublishService.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/ISysScalePublishService.java @@ -53,4 +53,6 @@ public interface ISysScalePublishService { TableDataInfo getEvaluationList(BaseQueryBo query, PageQuery pageQuery); + List queryUndoneExportList(BaseQueryBo query); + } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ArchiveServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ArchiveServiceImpl.java index 6aa2e37..7014447 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ArchiveServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/ArchiveServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; +import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.scale.domain.vo.ArchiveStatisticVo; @@ -28,7 +29,8 @@ public class ArchiveServiceImpl implements IArchiveService { @Override public TableDataInfo queryPageList(ArchiveVo vo, PageQuery pageQuery) { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.like(vo.getNickName() != null, ArchiveVo::getNickName, vo.getNickName()); + lqw.like(StringUtils.isNotEmpty(vo.getNickName()), ArchiveVo::getNickName, vo.getNickName()); + lqw.like(StringUtils.isNotEmpty(vo.getPhonenumber()), ArchiveVo::getPhonenumber, vo.getPhonenumber()); Page result = archiveMapper.selectArchiveVoPage(pageQuery.build(), lqw); return TableDataInfo.build(result); } diff --git a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScalePublishServiceImpl.java b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScalePublishServiceImpl.java index 0fe5ed3..fd7c306 100644 --- a/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScalePublishServiceImpl.java +++ b/ruoyi-modules/rouyi-scale/src/main/java/org/dromara/scale/service/impl/SysScalePublishServiceImpl.java @@ -196,4 +196,9 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService { Page result = baseMapper.selectEvaluationVoList(pageQuery.build(), batchNo, scaleId, deptId); return TableDataInfo.build(result); } + + @Override + public List queryUndoneExportList(BaseQueryBo query) { + return baseMapper.selectUndoneEvaluationVoList(query.getBatchNo()); + } } diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ArchiveMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ArchiveMapper.xml index 26f0ad1..47473bb 100644 --- a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ArchiveMapper.xml +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/ArchiveMapper.xml @@ -23,7 +23,8 @@ s.scale_id, s.scale_name, MAX(sfr.situation) as `situation`, - er.create_time + er.create_time, + er.record_id from sys_evaluation_record er left join sys_scale s on s.scale_id = er.scale_id left join sys_scale_publish sp on sp.batch_no = er.batch_no diff --git a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysScalePublishMapper.xml b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysScalePublishMapper.xml index 2d0c5ba..b7e0777 100644 --- a/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysScalePublishMapper.xml +++ b/ruoyi-modules/rouyi-scale/src/main/resources/mapper/scale/SysScalePublishMapper.xml @@ -36,4 +36,22 @@ where status = 1 and find_in_set(#{deptId}, dept_ids) + +