团队模板80%;新增发布没有填入names的bug修复;web获取发布没有recordId的bug修复
This commit is contained in:
parent
d3b8086723
commit
81cb29e4ba
|
@ -51,7 +51,7 @@ public class EvaluationRecordController extends BaseController {
|
|||
* 导出量测记录列表
|
||||
*/
|
||||
@SaCheckPermission("evaluation:record:export")
|
||||
@Log(title = "量测记录", businessType = BusinessType.EXPORT)
|
||||
@Log(title = "个人量测记录", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(BaseQueryBo bo, HttpServletResponse response) throws IOException {
|
||||
XWPFTemplate template = sysEvaluationRecordService.getWordTemplate(bo);
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
package org.dromara.scale.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.util.PoitlIOUtils;
|
||||
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.utils.file.FileUtils;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
|
@ -22,6 +25,9 @@ import org.dromara.scale.service.ISysScalePublishService;
|
|||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -62,7 +68,7 @@ public class ScalePublishController extends BaseController {
|
|||
@SaCheckPermission("publish:evaluation:export")
|
||||
@Log(title = "未测名单", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/evaluation/undone/export")
|
||||
public void export(BaseQueryBo query, HttpServletResponse response) {
|
||||
public void undoneExport(BaseQueryBo query, HttpServletResponse response) {
|
||||
List<EvaluationVo> list = sysScalePublishService.queryUndoneExportList(query);
|
||||
ExcelUtil.exportExcel(list, query.getSessionName() + "的未测名单", EvaluationVo.class, response);
|
||||
}
|
||||
|
@ -124,4 +130,22 @@ public class ScalePublishController extends BaseController {
|
|||
return toAjax(sysScalePublishService.deleteById(batchNo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出量测记录列表
|
||||
*/
|
||||
@SaCheckPermission("scale:publish:export")
|
||||
@Log(title = "场次量测记录", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(BaseQueryBo bo, HttpServletResponse response) throws IOException {
|
||||
XWPFTemplate template = sysScalePublishService.getWordTemplate(bo);
|
||||
//ExcelUtil.exportExcel(list, "量测记录", SysEvaluationRecordVo.class, response);
|
||||
FileUtils.setAttachmentResponseHeader(response, bo.getSessionName() + "的报告");
|
||||
response.setContentType("application/octet-stream");
|
||||
OutputStream out = response.getOutputStream();
|
||||
BufferedOutputStream bos = new BufferedOutputStream(out);
|
||||
template.write(bos);
|
||||
bos.flush();
|
||||
out.flush();
|
||||
PoitlIOUtils.closeQuietlyMulti(template, bos, out);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,7 @@ public class SysWarnRecord {
|
|||
* 测评人id
|
||||
*/
|
||||
private Long userId;
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 补充说明
|
||||
|
|
|
@ -70,6 +70,8 @@ public class SysScalePublishVo implements Serializable {
|
|||
|
||||
private String createName;
|
||||
|
||||
private Date createTime;
|
||||
|
||||
private List<SysScaleVo> scaleList;
|
||||
|
||||
|
||||
|
|
|
@ -7,14 +7,14 @@ import lombok.Data;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>TODO<p>
|
||||
* <p>个人测试报告<p>
|
||||
*
|
||||
* @author cjw
|
||||
* @version V1.0.0
|
||||
* @date 2024/4/29 11:09
|
||||
*/
|
||||
@Data
|
||||
public class EvaluationEecordWordData {
|
||||
public class EvaluationRecordWordData {
|
||||
|
||||
private String createTime;
|
||||
private String useTime;
|
|
@ -0,0 +1,53 @@
|
|||
package org.dromara.scale.domain.word;
|
||||
|
||||
import com.deepoove.poi.data.ChartSingleSeriesRenderData;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>团体测试报告<p>
|
||||
*
|
||||
* @author cjw
|
||||
* @version V1.0.0
|
||||
* @date 2024/4/29 11:09
|
||||
*/
|
||||
@Data
|
||||
public class PublishRecordWordData {
|
||||
|
||||
private String sessionName;
|
||||
|
||||
private String publishTime;
|
||||
private String dataTime;
|
||||
|
||||
private String classNum;
|
||||
|
||||
private String personNum;
|
||||
|
||||
private String maleNum;
|
||||
private String malePercent;
|
||||
private String femaleNum;
|
||||
private String femalePercent;
|
||||
private ChartSingleSeriesRenderData sexChart;
|
||||
|
||||
private String completeNum;
|
||||
private String completePercent;
|
||||
private String undoneNum;
|
||||
private String undonePercent;
|
||||
private ChartSingleSeriesRenderData completeChart;
|
||||
|
||||
private String warnNum;
|
||||
private String warnPercent;
|
||||
private String normalNum;
|
||||
private String normalPercent;
|
||||
private ChartSingleSeriesRenderData warnChart;
|
||||
|
||||
private String classWarnName;
|
||||
private String classWarnNum;
|
||||
private String classWarnPercent;
|
||||
private ChartSingleSeriesRenderData classChart;
|
||||
|
||||
private List<WordWarn> warnCharts;
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package org.dromara.scale.domain.word;
|
||||
|
||||
import com.deepoove.poi.data.ChartSingleSeriesRenderData;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* <p>TODO<p>
|
||||
*
|
||||
* @author cjw
|
||||
* @version V1.0.0
|
||||
* @date 2024/5/11 16:20
|
||||
*/
|
||||
@Data
|
||||
public class WordWarn {
|
||||
|
||||
|
||||
private String scaleName;
|
||||
private ChartSingleSeriesRenderData warnChart;
|
||||
}
|
|
@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Mapper;
|
|||
import org.apache.ibatis.annotations.Param;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.scale.domain.SysEvaluationRecord;
|
||||
import org.dromara.scale.domain.vo.StatisticNumVo;
|
||||
import org.dromara.scale.domain.vo.SysScaleVo;
|
||||
import org.dromara.scale.domain.word.WordEvaluationFactor;
|
||||
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
|
||||
|
@ -35,4 +36,10 @@ public interface SysEvaluationRecordMapper extends BaseMapperPlus<SysEvaluationR
|
|||
|
||||
int deleteByBatchNo(Long batchNo);
|
||||
|
||||
int selectCompleteNumByBatchNo(Long batchNo);
|
||||
|
||||
int selectWarnNumByBatchNo(Long batchNo);
|
||||
|
||||
List<StatisticNumVo> selectMaxWarnNumByBatchNo(Long batchNo);
|
||||
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import org.apache.ibatis.annotations.Param;
|
|||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.scale.domain.SysScalePublish;
|
||||
import org.dromara.scale.domain.vo.EvaluationVo;
|
||||
import org.dromara.scale.domain.vo.StatisticNumVo;
|
||||
import org.dromara.scale.domain.vo.SysScalePublishVo;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -32,4 +33,6 @@ public interface SysScalePublishMapper extends BaseMapperPlus<SysScalePublish, S
|
|||
|
||||
String selectUseBatchNoByUserId(Long userId);
|
||||
|
||||
StatisticNumVo selectSexNumByBatchNo(Long batchNo);
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package org.dromara.scale.service;
|
||||
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.scale.domain.bo.BaseQueryBo;
|
||||
|
@ -7,6 +8,7 @@ import org.dromara.scale.domain.bo.SysScalePublishBo;
|
|||
import org.dromara.scale.domain.vo.EvaluationVo;
|
||||
import org.dromara.scale.domain.vo.SysScalePublishVo;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -54,5 +56,7 @@ public interface ISysScalePublishService {
|
|||
|
||||
List<EvaluationVo> queryUndoneExportList(BaseQueryBo query);
|
||||
|
||||
XWPFTemplate getWordTemplate(BaseQueryBo bo) throws IOException;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ import org.dromara.scale.domain.bo.BaseQueryBo;
|
|||
import org.dromara.scale.domain.bo.SysEvaluationRecordBo;
|
||||
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
|
||||
import org.dromara.scale.domain.vo.SysScaleVo;
|
||||
import org.dromara.scale.domain.word.EvaluationEecordWordData;
|
||||
import org.dromara.scale.domain.word.EvaluationRecordWordData;
|
||||
import org.dromara.scale.domain.word.WordEvaluationFactor;
|
||||
import org.dromara.scale.domain.word.WordFactor;
|
||||
import org.dromara.scale.mapper.SysEvaluationRecordMapper;
|
||||
|
@ -103,7 +103,7 @@ public class SysEvaluationRecordServiceImpl implements ISysEvaluationRecordServi
|
|||
if (scaleId == null) {
|
||||
throw new ServerException("量表ID不能为空");
|
||||
}
|
||||
EvaluationEecordWordData wordData = new EvaluationEecordWordData();
|
||||
EvaluationRecordWordData wordData = new EvaluationRecordWordData();
|
||||
|
||||
SysEvaluationRecord sysEvaluationRecord = baseMapper.selectById(recordId);
|
||||
Date createTime = sysEvaluationRecord.getCreateTime();
|
||||
|
|
|
@ -5,6 +5,9 @@ import cn.hutool.core.util.StrUtil;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.data.ChartSingleSeriesRenderData;
|
||||
import com.deepoove.poi.data.Charts;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.model.LoginUser;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
|
@ -19,10 +22,8 @@ import org.dromara.scale.domain.SysEvaluationRecord;
|
|||
import org.dromara.scale.domain.SysScalePublish;
|
||||
import org.dromara.scale.domain.bo.BaseQueryBo;
|
||||
import org.dromara.scale.domain.bo.SysScalePublishBo;
|
||||
import org.dromara.scale.domain.vo.EvaluationVo;
|
||||
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
|
||||
import org.dromara.scale.domain.vo.SysScalePublishVo;
|
||||
import org.dromara.scale.domain.vo.SysScaleVo;
|
||||
import org.dromara.scale.domain.vo.*;
|
||||
import org.dromara.scale.domain.word.PublishRecordWordData;
|
||||
import org.dromara.scale.mapper.SysEvaluationRecordMapper;
|
||||
import org.dromara.scale.mapper.SysScaleMapper;
|
||||
import org.dromara.scale.mapper.SysScalePublishMapper;
|
||||
|
@ -33,9 +34,11 @@ import org.dromara.system.mapper.SysDeptMapper;
|
|||
import org.dromara.system.mapper.SysUserMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.rmi.ServerException;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
@ -110,9 +113,7 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
|||
add.setCreateBy(loginUser.getUserId());
|
||||
add.setCreateTime(new Date());
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
Integer publishType = add.getPublishType();
|
||||
Long batchNo = add.getBatchNo();
|
||||
String scaleIds = add.getScaleIds();
|
||||
String deptIds = add.getDeptIds();
|
||||
String userIds = add.getUserIds();
|
||||
|
@ -149,12 +150,13 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
|||
add.setUserNames(userList.stream().map(SysUser::getNickName).collect(Collectors.joining(StrUtil.COMMA)));
|
||||
}
|
||||
add.setTotalNum(userList.size());
|
||||
//预处理量测记录,方便后续统计与查询
|
||||
List<String> scaleList = bo.getScaleIds();
|
||||
insertRecordBatch(batchNo, scaleList, userList);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setBatchNo(add.getBatchNo());
|
||||
}
|
||||
//预处理量测记录,方便后续统计与查询
|
||||
List<String> scaleList = bo.getScaleIds();
|
||||
insertRecordBatch(add.getBatchNo(), scaleList, userList);
|
||||
//加入延迟队列
|
||||
QueueUtils.addDelayedQueueObject("scalePublish-delay-queue", add.getBatchNo(), l, TimeUnit.MILLISECONDS);
|
||||
return flag;
|
||||
|
@ -261,4 +263,94 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
|||
public List<EvaluationVo> queryUndoneExportList(BaseQueryBo query) {
|
||||
return baseMapper.selectUndoneEvaluationVoList(query.getBatchNo());
|
||||
}
|
||||
|
||||
@Override
|
||||
public XWPFTemplate getWordTemplate(BaseQueryBo bo) throws IOException {
|
||||
Long batchNo = bo.getBatchNo();
|
||||
if (batchNo == null) {
|
||||
throw new ServerException("场次Id不能为空");
|
||||
}
|
||||
PublishRecordWordData wordData = new PublishRecordWordData();
|
||||
|
||||
SysScalePublishVo publishVo = baseMapper.selectVoById(batchNo);
|
||||
wordData.setSessionName(publishVo.getSessionName());
|
||||
|
||||
Date createTime = publishVo.getCreateTime();
|
||||
Date expireTime = publishVo.getExpireTime();
|
||||
wordData.setPublishTime(DateUtils.dateTime(createTime) + "~" + DateUtils.dateTime(expireTime));
|
||||
wordData.setDataTime(DateUtils.getTime());
|
||||
|
||||
int classNum = publishVo.getDeptIds().size();
|
||||
wordData.setClassNum(String.valueOf(classNum));
|
||||
|
||||
StatisticNumVo numVo = baseMapper.selectSexNumByBatchNo(batchNo);
|
||||
int maleNum = numVo.getValue();
|
||||
int femaleNum = numVo.getSpareValue();
|
||||
int personTotal = maleNum + femaleNum;
|
||||
int malePercent = processHalfUpPercent(maleNum, personTotal);
|
||||
int femalePercent = processHalfUpPercent(femaleNum, personTotal);
|
||||
wordData.setMaleNum(String.valueOf(maleNum));
|
||||
wordData.setMalePercent(malePercent + "%");
|
||||
wordData.setFemaleNum(String.valueOf(femaleNum));
|
||||
wordData.setFemalePercent(femalePercent + "%");
|
||||
ChartSingleSeriesRenderData sexChart = Charts.ofSingleSeries("", new String[]{"男生(人)", "女生(人)"})
|
||||
.series("", new Integer[]{maleNum, femaleNum}).create();
|
||||
wordData.setSexChart(sexChart);
|
||||
|
||||
int completeNum = recordMapper.selectCompleteNumByBatchNo(batchNo);
|
||||
int completePercent = processHalfUpPercent(completeNum, personTotal);
|
||||
int undoneNum = personTotal - completeNum;
|
||||
int undonePercent = processHalfUpPercent(undoneNum, personTotal);
|
||||
wordData.setCompleteNum(String.valueOf(completeNum));
|
||||
wordData.setCompletePercent(completePercent + "%");
|
||||
wordData.setUndoneNum(String.valueOf(undoneNum));
|
||||
wordData.setUndonePercent(undonePercent + "%");
|
||||
ChartSingleSeriesRenderData completeChart = Charts.ofSingleSeries("", new String[]{"完成计划(人)", "未完成计划(人)"})
|
||||
.series("", new Integer[]{completeNum, undoneNum}).create();
|
||||
wordData.setCompleteChart(completeChart);
|
||||
|
||||
int warnNum = recordMapper.selectWarnNumByBatchNo(batchNo);
|
||||
int warnPercent = processHalfUpPercent(warnNum, personTotal);
|
||||
int normalNum = personTotal - completeNum;
|
||||
int normalPercent = processHalfUpPercent(normalNum, personTotal);
|
||||
wordData.setWarnNum(String.valueOf(warnNum));
|
||||
wordData.setWarnPercent(warnPercent + "%");
|
||||
wordData.setNormalNum(String.valueOf(normalNum));
|
||||
wordData.setNormalPercent(normalPercent + "%");
|
||||
ChartSingleSeriesRenderData warnChart = Charts.ofSingleSeries("", new String[]{"触发预警(人)", "未触发预警(人)"})
|
||||
.series("", new Integer[]{warnNum, normalNum}).create();
|
||||
wordData.setWarnChart(warnChart);
|
||||
|
||||
List<StatisticNumVo> maxList = recordMapper.selectMaxWarnNumByBatchNo(batchNo);
|
||||
Optional<StatisticNumVo> max = maxList.stream().max(Comparator.comparingInt(StatisticNumVo::getValue));
|
||||
if (max.isPresent()) {
|
||||
StatisticNumVo classVo = max.get();
|
||||
String classWarnName = classVo.getName();
|
||||
int classWarnNum = classVo.getValue();
|
||||
int classWarnPercent = processHalfUpPercent(classWarnNum, personTotal);
|
||||
int otherNum = personTotal - classWarnNum;
|
||||
wordData.setClassWarnName(classWarnName);
|
||||
wordData.setClassWarnNum(String.valueOf(classWarnNum));
|
||||
wordData.setClassWarnPercent(classWarnPercent + "%");
|
||||
ChartSingleSeriesRenderData classChart = Charts.ofSingleSeries("", new String[]{classWarnName + "(人)", "其他(人)"})
|
||||
.series("", new Integer[]{classWarnNum, otherNum}).create();
|
||||
wordData.setClassChart(classChart);
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private int processHalfUpPercent(int num, int total) {
|
||||
return BigDecimal.valueOf(num)
|
||||
.divide(BigDecimal.valueOf(total), 2, RoundingMode.HALF_UP)
|
||||
.multiply(BigDecimal.valueOf(100)).intValue();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
int i = BigDecimal.valueOf(0)
|
||||
.divide(BigDecimal.valueOf(10), 2, RoundingMode.HALF_UP)
|
||||
.multiply(BigDecimal.valueOf(100)).intValue();
|
||||
System.out.println(i);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -178,7 +178,8 @@ public class WebServiceImpl implements IWebService {
|
|||
if (used.contains(riskLevel)) {
|
||||
SysWarnRecord wre = new SysWarnRecord();
|
||||
wre.setBatchNo(scalePublishVo.getBatchNo());
|
||||
wre.setUserId(getLoginUser().getUserId());
|
||||
wre.setUserId(loginUser.getUserId());
|
||||
wre.setDeptId(loginUser.getDeptId());
|
||||
wre.setWarnTime(new Date());
|
||||
wre.setSituation(riskLevel);
|
||||
warnRecordService.insertByBo(wre);
|
||||
|
|
|
@ -97,7 +97,7 @@
|
|||
left join sys_scale_publish sp on FIND_IN_SET(d.dept_id, sp.dept_ids)
|
||||
where parent.parent_id = 100
|
||||
group by parent.dept_id
|
||||
order by `name`
|
||||
order by parent.order_num
|
||||
</select>
|
||||
|
||||
<select id="selectEvaluationNumByGrade" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||
|
@ -107,7 +107,7 @@
|
|||
left join sys_evaluation_record er on er.dept_id = d.dept_id
|
||||
where parent.parent_id = 100
|
||||
group by parent.dept_id
|
||||
order by `name`
|
||||
order by parent.order_num
|
||||
</select>
|
||||
|
||||
<select id="selectConclusion" resultType="org.dromara.scale.domain.vo.StatisticWarnVo">
|
||||
|
@ -124,7 +124,7 @@
|
|||
left join sys_scale_factor_range sfr on sfr.range_id = ec.factor_range_id
|
||||
where parent.parent_id = 100
|
||||
group by parent.dept_id
|
||||
order by `name`
|
||||
order by parent.order_num
|
||||
</select>
|
||||
|
||||
<select id="selectPublish" resultType="org.dromara.scale.domain.vo.StatisticPublishVo">
|
||||
|
|
|
@ -10,7 +10,8 @@
|
|||
s.cover,
|
||||
s.questions_num,
|
||||
o.url as `coverUrl`,
|
||||
if(er.status = 1, true, false) as `use`
|
||||
if(er.status = 1, true, false) as `use`,
|
||||
er.record_id
|
||||
from sys_evaluation_record er
|
||||
left join sys_scale s on s.scale_id = er.scale_id
|
||||
left join sys_oss o on o.oss_id = s.cover
|
||||
|
@ -58,4 +59,25 @@
|
|||
from sys_evaluation_record
|
||||
where batch_no = #{batchNo}
|
||||
</delete>
|
||||
|
||||
<select id="selectCompleteNumByBatchNo" resultType="int">
|
||||
select count(*)
|
||||
from sys_evaluation_record
|
||||
where batch_no = #{batchNo}
|
||||
and status = 1
|
||||
</select>
|
||||
|
||||
<select id="selectWarnNumByBatchNo" resultType="int">
|
||||
select count(*)
|
||||
from sys_warn_record
|
||||
where batch_no = #{batchNo}
|
||||
</select>
|
||||
|
||||
<select id="selectMaxWarnNumByBatchNo" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||
select d.dept_name as `name`, count(wr.warn_id) as `value`
|
||||
from sys_warn_record wr
|
||||
left join sys_dept d on d.dept_id = wr.dept_id
|
||||
where wr.batch_no = #{batchNo}
|
||||
group by wr.dept_id
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
@ -75,4 +75,12 @@
|
|||
where status = 1
|
||||
and find_in_set(#{userId}, user_ids)
|
||||
</select>
|
||||
|
||||
<select id="selectSexNumByBatchNo" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||
select count(if(u.sex = '0', 1, null)) as `value`,
|
||||
count(if(u.sex = '1', 1, null)) as `spareValue`
|
||||
from sys_evaluation_record er
|
||||
left join sys_user u on u.user_id = er.user_id
|
||||
where er.batch_no = #{batchNo};
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
Loading…
Reference in New Issue