Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
5c7fe24b18
|
@ -51,6 +51,11 @@ public class SysEvaluationConclusion {
|
||||||
*/
|
*/
|
||||||
private Long factorRangeId;
|
private Long factorRangeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 风险等级
|
||||||
|
*/
|
||||||
|
private Integer situation;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 0:未命中,1:命中,若命中则,测评人符合该测评项,未命中则测评人不符合测评项
|
* 0:未命中,1:命中,若命中则,测评人符合该测评项,未命中则测评人不符合测评项
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -66,6 +66,11 @@ public class SysScalePublishVo implements Serializable {
|
||||||
*/
|
*/
|
||||||
private Integer allowQueryResult;
|
private Integer allowQueryResult;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 0个测 1普测
|
||||||
|
*/
|
||||||
|
private Integer publishType;
|
||||||
|
|
||||||
private Long createBy;
|
private Long createBy;
|
||||||
|
|
||||||
private String createName;
|
private String createName;
|
||||||
|
|
|
@ -30,6 +30,7 @@ public class PublishRecordWordData {
|
||||||
private String femalePercent;
|
private String femalePercent;
|
||||||
private ChartSingleSeriesRenderData sexChart;
|
private ChartSingleSeriesRenderData sexChart;
|
||||||
|
|
||||||
|
private String recordNum;
|
||||||
private String completeNum;
|
private String completeNum;
|
||||||
private String completePercent;
|
private String completePercent;
|
||||||
private String undoneNum;
|
private String undoneNum;
|
||||||
|
@ -46,7 +47,6 @@ public class PublishRecordWordData {
|
||||||
private String classWarnNum;
|
private String classWarnNum;
|
||||||
private String classWarnPercent;
|
private String classWarnPercent;
|
||||||
private ChartSingleSeriesRenderData classChart;
|
private ChartSingleSeriesRenderData classChart;
|
||||||
|
|
||||||
private List<WordWarn> warnCharts;
|
private List<WordWarn> warnCharts;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
package org.dromara.scale.domain.word;
|
package org.dromara.scale.domain.word;
|
||||||
|
|
||||||
import com.deepoove.poi.data.ChartSingleSeriesRenderData;
|
import com.deepoove.poi.data.TableRenderData;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>TODO<p>
|
* <p>量表的因子和预警<p>
|
||||||
*
|
*
|
||||||
* @author cjw
|
* @author cjw
|
||||||
* @version V1.0.0
|
* @version V1.0.0
|
||||||
|
@ -15,5 +15,5 @@ public class WordWarn {
|
||||||
|
|
||||||
|
|
||||||
private String scaleName;
|
private String scaleName;
|
||||||
private ChartSingleSeriesRenderData warnChart;
|
private TableRenderData warnTable;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,10 +8,10 @@ import org.apache.ibatis.annotations.Param;
|
||||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||||
import org.dromara.scale.domain.SysEvaluationRecord;
|
import org.dromara.scale.domain.SysEvaluationRecord;
|
||||||
import org.dromara.scale.domain.vo.StatisticNumVo;
|
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;
|
import org.dromara.scale.domain.vo.SysEvaluationRecordVo;
|
||||||
import org.dromara.scale.domain.vo.SysScalePublishVo;
|
import org.dromara.scale.domain.vo.SysScalePublishVo;
|
||||||
|
import org.dromara.scale.domain.vo.SysScaleVo;
|
||||||
|
import org.dromara.scale.domain.word.WordEvaluationFactor;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -37,9 +37,13 @@ public interface SysEvaluationRecordMapper extends BaseMapperPlus<SysEvaluationR
|
||||||
int deleteByBatchNo(Long batchNo);
|
int deleteByBatchNo(Long batchNo);
|
||||||
|
|
||||||
int selectCompleteNumByBatchNo(Long batchNo);
|
int selectCompleteNumByBatchNo(Long batchNo);
|
||||||
|
int selectUndoneNumByBatchNo(Long batchNo);
|
||||||
|
|
||||||
int selectWarnNumByBatchNo(Long batchNo);
|
int selectWarnNumByBatchNo(Long batchNo);
|
||||||
|
|
||||||
List<StatisticNumVo> selectMaxWarnNumByBatchNo(Long batchNo);
|
List<StatisticNumVo> selectWarn4Class(Long batchNo);
|
||||||
|
|
||||||
|
List<StatisticNumVo> selectFactorNum(@Param("batchNo") Long batchNo, @Param("scaleId") Long scaleId);
|
||||||
|
List<StatisticNumVo> selectFactorWarnNum(@Param("batchNo") Long batchNo, @Param("scaleId") Long scaleId,@Param("list")List<Integer> warnList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.deepoove.poi.XWPFTemplate;
|
import com.deepoove.poi.XWPFTemplate;
|
||||||
|
import com.deepoove.poi.config.Configure;
|
||||||
import com.deepoove.poi.data.*;
|
import com.deepoove.poi.data.*;
|
||||||
import com.deepoove.poi.data.style.BorderStyle;
|
import com.deepoove.poi.data.style.BorderStyle;
|
||||||
|
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.apache.poi.xwpf.usermodel.XWPFTable;
|
import org.apache.poi.xwpf.usermodel.XWPFTable;
|
||||||
import org.dromara.common.core.utils.DateUtils;
|
import org.dromara.common.core.utils.DateUtils;
|
||||||
|
@ -50,8 +52,6 @@ public class SysEvaluationRecordServiceImpl implements ISysEvaluationRecordServi
|
||||||
|
|
||||||
private final SysScaleMapper scaleMapper;
|
private final SysScaleMapper scaleMapper;
|
||||||
|
|
||||||
private final String resource = "word/personalTemplate.docx";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询量测记录
|
* 查询量测记录
|
||||||
*/
|
*/
|
||||||
|
@ -168,7 +168,9 @@ public class SysEvaluationRecordServiceImpl implements ISysEvaluationRecordServi
|
||||||
.create();
|
.create();
|
||||||
wordData.setRadarChart(chart);
|
wordData.setRadarChart(chart);
|
||||||
wordData.setPropose(stringBuilder.toString());
|
wordData.setPropose(stringBuilder.toString());
|
||||||
ClassPathResource classPathResource = new ClassPathResource(resource);
|
ClassPathResource classPathResource = new ClassPathResource("word/personalTemplate.docx");
|
||||||
return XWPFTemplate.compile(classPathResource.getInputStream()).render(wordData);
|
Configure config = Configure.builder()
|
||||||
|
.bind("factors", new LoopRowTableRenderPolicy()).useSpringEL().build();
|
||||||
|
return XWPFTemplate.compile(classPathResource.getInputStream(),config).render(wordData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,9 +6,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.deepoove.poi.XWPFTemplate;
|
import com.deepoove.poi.XWPFTemplate;
|
||||||
import com.deepoove.poi.data.ChartSingleSeriesRenderData;
|
import com.deepoove.poi.config.Configure;
|
||||||
import com.deepoove.poi.data.Charts;
|
import com.deepoove.poi.data.*;
|
||||||
|
import com.deepoove.poi.data.style.BorderStyle;
|
||||||
|
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.apache.poi.xwpf.usermodel.XWPFTable;
|
||||||
import org.dromara.common.core.domain.model.LoginUser;
|
import org.dromara.common.core.domain.model.LoginUser;
|
||||||
import org.dromara.common.core.exception.ServiceException;
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
import org.dromara.common.core.utils.DateUtils;
|
import org.dromara.common.core.utils.DateUtils;
|
||||||
|
@ -24,14 +27,17 @@ import org.dromara.scale.domain.bo.BaseQueryBo;
|
||||||
import org.dromara.scale.domain.bo.SysScalePublishBo;
|
import org.dromara.scale.domain.bo.SysScalePublishBo;
|
||||||
import org.dromara.scale.domain.vo.*;
|
import org.dromara.scale.domain.vo.*;
|
||||||
import org.dromara.scale.domain.word.PublishRecordWordData;
|
import org.dromara.scale.domain.word.PublishRecordWordData;
|
||||||
|
import org.dromara.scale.domain.word.WordWarn;
|
||||||
import org.dromara.scale.mapper.SysEvaluationRecordMapper;
|
import org.dromara.scale.mapper.SysEvaluationRecordMapper;
|
||||||
import org.dromara.scale.mapper.SysScaleMapper;
|
import org.dromara.scale.mapper.SysScaleMapper;
|
||||||
import org.dromara.scale.mapper.SysScalePublishMapper;
|
import org.dromara.scale.mapper.SysScalePublishMapper;
|
||||||
|
import org.dromara.scale.mapper.SysWarnRecordMapper;
|
||||||
import org.dromara.scale.service.ISysScalePublishService;
|
import org.dromara.scale.service.ISysScalePublishService;
|
||||||
import org.dromara.system.domain.SysUser;
|
import org.dromara.system.domain.SysUser;
|
||||||
import org.dromara.system.domain.vo.SysDeptVo;
|
import org.dromara.system.domain.vo.SysDeptVo;
|
||||||
import org.dromara.system.mapper.SysDeptMapper;
|
import org.dromara.system.mapper.SysDeptMapper;
|
||||||
import org.dromara.system.mapper.SysUserMapper;
|
import org.dromara.system.mapper.SysUserMapper;
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -64,6 +70,8 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
|
|
||||||
private final SysUserMapper userMapper;
|
private final SysUserMapper userMapper;
|
||||||
|
|
||||||
|
private final SysWarnRecordMapper warnMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询量发布
|
* 查询量发布
|
||||||
*/
|
*/
|
||||||
|
@ -273,6 +281,9 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
PublishRecordWordData wordData = new PublishRecordWordData();
|
PublishRecordWordData wordData = new PublishRecordWordData();
|
||||||
|
|
||||||
SysScalePublishVo publishVo = baseMapper.selectVoById(batchNo);
|
SysScalePublishVo publishVo = baseMapper.selectVoById(batchNo);
|
||||||
|
if (publishVo.getPublishType() != 1) {
|
||||||
|
throw new ServerException("团体报告导出不支持普测发布以外的发布");
|
||||||
|
}
|
||||||
wordData.setSessionName(publishVo.getSessionName());
|
wordData.setSessionName(publishVo.getSessionName());
|
||||||
|
|
||||||
Date createTime = publishVo.getCreateTime();
|
Date createTime = publishVo.getCreateTime();
|
||||||
|
@ -287,6 +298,7 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
int maleNum = numVo.getValue();
|
int maleNum = numVo.getValue();
|
||||||
int femaleNum = numVo.getSpareValue();
|
int femaleNum = numVo.getSpareValue();
|
||||||
int personTotal = maleNum + femaleNum;
|
int personTotal = maleNum + femaleNum;
|
||||||
|
wordData.setPersonNum(String.valueOf(personTotal));
|
||||||
int malePercent = processHalfUpPercent(maleNum, personTotal);
|
int malePercent = processHalfUpPercent(maleNum, personTotal);
|
||||||
int femalePercent = processHalfUpPercent(femaleNum, personTotal);
|
int femalePercent = processHalfUpPercent(femaleNum, personTotal);
|
||||||
wordData.setMaleNum(String.valueOf(maleNum));
|
wordData.setMaleNum(String.valueOf(maleNum));
|
||||||
|
@ -298,20 +310,22 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
wordData.setSexChart(sexChart);
|
wordData.setSexChart(sexChart);
|
||||||
|
|
||||||
int completeNum = recordMapper.selectCompleteNumByBatchNo(batchNo);
|
int completeNum = recordMapper.selectCompleteNumByBatchNo(batchNo);
|
||||||
int completePercent = processHalfUpPercent(completeNum, personTotal);
|
int undoneNum = recordMapper.selectUndoneNumByBatchNo(batchNo);
|
||||||
int undoneNum = personTotal - completeNum;
|
int recordNum = completeNum + undoneNum;
|
||||||
int undonePercent = processHalfUpPercent(undoneNum, personTotal);
|
int completePercent = processHalfUpPercent(completeNum, recordNum);
|
||||||
|
int undonePercent = processHalfUpPercent(undoneNum, recordNum);
|
||||||
|
wordData.setRecordNum(String.valueOf(recordNum));
|
||||||
wordData.setCompleteNum(String.valueOf(completeNum));
|
wordData.setCompleteNum(String.valueOf(completeNum));
|
||||||
wordData.setCompletePercent(completePercent + "%");
|
wordData.setCompletePercent(completePercent + "%");
|
||||||
wordData.setUndoneNum(String.valueOf(undoneNum));
|
wordData.setUndoneNum(String.valueOf(undoneNum));
|
||||||
wordData.setUndonePercent(undonePercent + "%");
|
wordData.setUndonePercent(undonePercent + "%");
|
||||||
ChartSingleSeriesRenderData completeChart = Charts.ofSingleSeries("", new String[]{"完成计划(人)", "未完成计划(人)"})
|
ChartSingleSeriesRenderData completeChart = Charts.ofSingleSeries("", new String[]{"完成测试(次)", "未完成测试(次)"})
|
||||||
.series("", new Integer[]{completeNum, undoneNum}).create();
|
.series("", new Integer[]{completeNum, undoneNum}).create();
|
||||||
wordData.setCompleteChart(completeChart);
|
wordData.setCompleteChart(completeChart);
|
||||||
|
|
||||||
int warnNum = recordMapper.selectWarnNumByBatchNo(batchNo);
|
int warnNum = recordMapper.selectWarnNumByBatchNo(batchNo);
|
||||||
int warnPercent = processHalfUpPercent(warnNum, personTotal);
|
int warnPercent = processHalfUpPercent(warnNum, personTotal);
|
||||||
int normalNum = personTotal - completeNum;
|
int normalNum = personTotal - warnNum;
|
||||||
int normalPercent = processHalfUpPercent(normalNum, personTotal);
|
int normalPercent = processHalfUpPercent(normalNum, personTotal);
|
||||||
wordData.setWarnNum(String.valueOf(warnNum));
|
wordData.setWarnNum(String.valueOf(warnNum));
|
||||||
wordData.setWarnPercent(warnPercent + "%");
|
wordData.setWarnPercent(warnPercent + "%");
|
||||||
|
@ -321,24 +335,77 @@ public class SysScalePublishServiceImpl implements ISysScalePublishService {
|
||||||
.series("", new Integer[]{warnNum, normalNum}).create();
|
.series("", new Integer[]{warnNum, normalNum}).create();
|
||||||
wordData.setWarnChart(warnChart);
|
wordData.setWarnChart(warnChart);
|
||||||
|
|
||||||
List<StatisticNumVo> maxList = recordMapper.selectMaxWarnNumByBatchNo(batchNo);
|
ChartSingleSeriesRenderData classChart = Charts.ofSingleSeries("暂无数据", new String[]{"班级"})
|
||||||
Optional<StatisticNumVo> max = maxList.stream().max(Comparator.comparingInt(StatisticNumVo::getValue));
|
.series("", new Integer[]{0}).create();
|
||||||
if (max.isPresent()) {
|
;
|
||||||
StatisticNumVo classVo = max.get();
|
List<StatisticNumVo> warn4ClassList = recordMapper.selectWarn4Class(batchNo);
|
||||||
String classWarnName = classVo.getName();
|
if (ObjectUtil.isNotEmpty(warn4ClassList)) {
|
||||||
int classWarnNum = classVo.getValue();
|
Optional<StatisticNumVo> maxOptional = warn4ClassList.stream().max(Comparator.comparingInt(StatisticNumVo::getValue));
|
||||||
|
if (maxOptional.isPresent()) {
|
||||||
|
StatisticNumVo max = maxOptional.get();
|
||||||
|
int classWarnNum = max.getValue();
|
||||||
|
String classWarnName = max.getName();
|
||||||
int classWarnPercent = processHalfUpPercent(classWarnNum, personTotal);
|
int classWarnPercent = processHalfUpPercent(classWarnNum, personTotal);
|
||||||
int otherNum = personTotal - classWarnNum;
|
int classOtherNum = personTotal - classWarnNum;
|
||||||
|
// WordClassWarn flag = new WordClassWarn();
|
||||||
|
// wordData.setFlag(flag);
|
||||||
|
// flag.setClassWarnName(classWarnName);
|
||||||
|
// flag.setClassWarnNum(String.valueOf(classWarnNum));
|
||||||
|
// flag.setClassWarnPercent(classWarnPercent + "%");
|
||||||
|
// ChartSingleSeriesRenderData classChart = Charts.ofSingleSeries("", new String[]{classWarnName + "(人)", "其他(人)"})
|
||||||
|
// .series("", new Integer[]{classWarnNum, classOtherNum}).create();
|
||||||
|
// flag.setClassChart(classChart);
|
||||||
wordData.setClassWarnName(classWarnName);
|
wordData.setClassWarnName(classWarnName);
|
||||||
wordData.setClassWarnNum(String.valueOf(classWarnNum));
|
wordData.setClassWarnNum(String.valueOf(classWarnNum));
|
||||||
wordData.setClassWarnPercent(classWarnPercent + "%");
|
wordData.setClassWarnPercent(classWarnPercent + "%");
|
||||||
ChartSingleSeriesRenderData classChart = Charts.ofSingleSeries("", new String[]{classWarnName + "(人)", "其他(人)"})
|
classChart = Charts.ofSingleSeries("", new String[]{classWarnName + "(人)", "其他(人)"})
|
||||||
.series("", new Integer[]{classWarnNum, otherNum}).create();
|
.series("", new Integer[]{classWarnNum, classOtherNum}).create();
|
||||||
wordData.setClassChart(classChart);
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
wordData.setClassChart(classChart);
|
||||||
|
|
||||||
|
List<String> scaleIds = publishVo.getScaleIds();
|
||||||
return null;
|
List<String> scaleNames = publishVo.getScaleNames();
|
||||||
|
int size = scaleIds.size();
|
||||||
|
List<Integer> warnList = warnMapper.selectUseConfig();
|
||||||
|
List<WordWarn> wordWarnList = new ArrayList<>(size);
|
||||||
|
for (int i = 0; i < size; i++) {
|
||||||
|
BorderStyle borderStyle = new BorderStyle();
|
||||||
|
borderStyle.setColor("A6A6A6");
|
||||||
|
borderStyle.setSize(4);
|
||||||
|
borderStyle.setType(XWPFTable.XWPFBorderType.SINGLE);
|
||||||
|
RowRenderData factorHeader = Rows.of("因子名称", "样本总数", "预警数").bgColor("F2F2F2").center()
|
||||||
|
.textColor("7F7f7F").textFontFamily("Hei").textFontSize(9).create();
|
||||||
|
TableRenderData factorTable = Tables.ofA4MediumWidth().addRow(factorHeader).border(borderStyle)
|
||||||
|
.width(14.63d, null).center().create();
|
||||||
|
String scaleName = scaleNames.get(i);
|
||||||
|
String s = scaleIds.get(i);
|
||||||
|
Long scaleId = Long.parseLong(s);
|
||||||
|
List<StatisticNumVo> factorList = recordMapper.selectFactorNum(batchNo, scaleId);
|
||||||
|
List<StatisticNumVo> factorWarnList = recordMapper.selectFactorWarnNum(batchNo, scaleId, warnList);
|
||||||
|
for (StatisticNumVo factor : factorList) {
|
||||||
|
for (StatisticNumVo factorWarn : factorWarnList) {
|
||||||
|
if (factor.getName().equals(factorWarn.getName())) {
|
||||||
|
factor.setSpareValue(factorWarn.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (StatisticNumVo factor : factorList) {
|
||||||
|
RowRenderData one = Rows.of(factor.getName(), String.valueOf(factor.getValue()),
|
||||||
|
String.valueOf(factor.getSpareValue())).center().create();
|
||||||
|
factorTable.addRow(one);
|
||||||
|
}
|
||||||
|
WordWarn wordWarn = new WordWarn();
|
||||||
|
wordWarn.setScaleName(scaleName);
|
||||||
|
wordWarn.setWarnTable(factorTable);
|
||||||
|
wordWarnList.add(wordWarn);
|
||||||
|
}
|
||||||
|
wordData.setWarnCharts(wordWarnList);
|
||||||
|
ClassPathResource classPathResource = new ClassPathResource("word/groupTemplate.docx");
|
||||||
|
Configure config = Configure.builder()
|
||||||
|
.bind("warnCharts", new LoopRowTableRenderPolicy()).useSpringEL().build();
|
||||||
|
return XWPFTemplate.compile(classPathResource.getInputStream(), config).render(wordData);
|
||||||
}
|
}
|
||||||
|
|
||||||
private int processHalfUpPercent(int num, int total) {
|
private int processHalfUpPercent(int num, int total) {
|
||||||
|
|
|
@ -193,7 +193,7 @@ public class WebServiceImpl implements IWebService {
|
||||||
.map(SysEvaluationConclusionVo::getScore)
|
.map(SysEvaluationConclusionVo::getScore)
|
||||||
// 使用reduce()聚合函数,得到金额总和
|
// 使用reduce()聚合函数,得到金额总和
|
||||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
return new HashMap<>() {{
|
return new HashMap<>(2) {{
|
||||||
//put("evalRecordId",evalRecord.getId());
|
//put("evalRecordId",evalRecord.getId());
|
||||||
//put("scaleName",scaleInfo.getName());
|
//put("scaleName",scaleInfo.getName());
|
||||||
put("totalScore", totalScore.doubleValue());
|
put("totalScore", totalScore.doubleValue());
|
||||||
|
|
|
@ -35,14 +35,14 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectStatisticFactor" resultType="org.dromara.scale.domain.vo.StatisticFactorVo">
|
<select id="selectStatisticFactor" resultType="org.dromara.scale.domain.vo.StatisticFactorVo">
|
||||||
select sfr.range_name as `factorName`,
|
select sf.factor_name as `factorName`,
|
||||||
d.dept_name,
|
d.dept_name,
|
||||||
parent.dept_name as `parentName`
|
parent.dept_name as `parentName`
|
||||||
from sys_evaluation_record er
|
from sys_evaluation_record er
|
||||||
left join sys_dept d on d.dept_id = er.dept_id
|
left join sys_dept d on d.dept_id = er.dept_id
|
||||||
left join sys_dept parent on parent.dept_id = d.parent_id
|
left join sys_dept parent on parent.dept_id = d.parent_id
|
||||||
left join sys_evaluation_conclusion ec on ec.record_id = er.record_id
|
left join sys_evaluation_conclusion ec on ec.record_id = er.record_id
|
||||||
left join sys_scale_factor_range sfr on sfr.range_id = ec.factor_range_id
|
left join sys_scale_factor sf on sf.factor_id = ec.factor_id
|
||||||
where er.batch_no = #{batchNo}
|
where er.batch_no = #{batchNo}
|
||||||
and er.scale_id = #{scaleId}
|
and er.scale_id = #{scaleId}
|
||||||
and er.status = 1
|
and er.status = 1
|
||||||
|
|
|
@ -66,6 +66,12 @@
|
||||||
where batch_no = #{batchNo}
|
where batch_no = #{batchNo}
|
||||||
and status = 1
|
and status = 1
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectUndoneNumByBatchNo" resultType="int">
|
||||||
|
select count(*)
|
||||||
|
from sys_evaluation_record
|
||||||
|
where batch_no = #{batchNo}
|
||||||
|
and status < 1
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="selectWarnNumByBatchNo" resultType="int">
|
<select id="selectWarnNumByBatchNo" resultType="int">
|
||||||
select count(*)
|
select count(*)
|
||||||
|
@ -73,11 +79,41 @@
|
||||||
where batch_no = #{batchNo}
|
where batch_no = #{batchNo}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectMaxWarnNumByBatchNo" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
<select id="selectWarn4Class" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||||
select d.dept_name as `name`, count(wr.warn_id) as `value`
|
select d.dept_name as `name`, COUNT(wr.warn_id) as `value`
|
||||||
from sys_warn_record wr
|
from sys_warn_record wr
|
||||||
left join sys_dept d on d.dept_id = wr.dept_id
|
left join sys_dept d on d.dept_id = wr.dept_id
|
||||||
where wr.batch_no = #{batchNo}
|
where wr.batch_no = #{batchNo}
|
||||||
group by wr.dept_id
|
GROUP BY d.dept_id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectFactorNum" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||||
|
select sf.factor_name as `name`, count(ec.id) as `value`,0 as spareValue
|
||||||
|
from sys_scale_factor sf
|
||||||
|
left join sys_evaluation_conclusion ec on ec.factor_id = sf.factor_id
|
||||||
|
left join sys_evaluation_record er on er.record_id = ec.record_id
|
||||||
|
where er.batch_no = #{batchNo}
|
||||||
|
and er.scale_id = #{scaleId}
|
||||||
|
and er.status = 1
|
||||||
|
and ec.status = 1
|
||||||
|
group by sf.factor_id
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectFactorWarnNum" resultType="org.dromara.scale.domain.vo.StatisticNumVo">
|
||||||
|
select sf.factor_name as `name`, count(ec.id) as `value`
|
||||||
|
from sys_scale_factor sf
|
||||||
|
left join sys_evaluation_conclusion ec on ec.factor_id = sf.factor_id
|
||||||
|
left join sys_evaluation_record er on er.record_id = ec.record_id
|
||||||
|
where er.batch_no = #{batchNo}
|
||||||
|
and er.scale_id = #{scaleId}
|
||||||
|
and er.status = 1
|
||||||
|
and ec.status = 1
|
||||||
|
and ec.situation in
|
||||||
|
<foreach item="situation" collection="list" open="(" separator="," close=")">
|
||||||
|
#{situation}
|
||||||
|
</foreach>
|
||||||
|
group by sf.factor_id
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -81,6 +81,7 @@
|
||||||
count(if(u.sex = '1', 1, null)) as `spareValue`
|
count(if(u.sex = '1', 1, null)) as `spareValue`
|
||||||
from sys_evaluation_record er
|
from sys_evaluation_record er
|
||||||
left join sys_user u on u.user_id = er.user_id
|
left join sys_user u on u.user_id = er.user_id
|
||||||
where er.batch_no = #{batchNo};
|
where er.batch_no = #{batchNo}
|
||||||
|
order by u.user_id
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue