评分表

This commit is contained in:
zhaokaiyao@91isoft.com
2021-12-06 18:03:49 +08:00
parent 3e877d48fe
commit 8d211a52c2
7 changed files with 101 additions and 74 deletions
@@ -41,41 +41,30 @@ public class QualityEvaluationController extends BaseController<QualityEvaluatio
@ApiOperation("提交评价表")
@PostMapping("submitEvaluationForm")
public ResponseMessage submitEvaluationForm(@RequestBody FormVO form){
List<QualityEvaluation> tableData = form.getTableData();
String standId = form.getStandId();
String userId = form.getUserId();
tableData.forEach(item->{
item.setUserId(userId);
item.setLawId(standId);
if ( item.getEvaluationIndex()!=null && "3U9lb".equals( item.getEvaluationIndex() ) ){
if (form.getFormData()!=null && !form.getFormData().isEmpty()){
List<QualityEvaluation> tableData = form.getTableData();
String lawId = form.getLawId();
String userId = form.getUserId();
tableData.forEach(item->{
item.setUserId(userId);
item.setLawId(lawId);
JSONObject jsonObject = JSONObject.parseObject(form.getFormData());
// switch (item.getScore()){
// case "0":
// item.setScore("-1");
// case "1":
// item.setScore("-2");
// }
item.setScore(jsonObject.getString("revise"));
item.setReason(jsonObject.getString("reviseReason"));
if ( item.getEvaluationIndex()!=null && "3U9lb".equals( item.getEvaluationIndex() ) ){
}
JSONObject jsonObject = JSONObject.parseObject(form.getFormData());
item.setScore(jsonObject.getString("revise"));
item.setReason(jsonObject.getString("reviseReason"));
});
}
//
// Optional.ofNullable(item.getEvaluationIndex())
// .map(u-> {
//
// return null;
// })
// .map(a-> {
//
// }).orElseThrow(()->new Exception("取指错误"));
});
}
Boolean i = iQualityEvaluationService.submitEvaluationForm(tableData);
Boolean i = iQualityEvaluationService.submitEvaluationForm(form);
return Result.success(i);
}
@@ -85,7 +74,11 @@ public class QualityEvaluationController extends BaseController<QualityEvaluatio
@PostMapping("getEvaluationForm")
public ResponseMessage getEvaluationForm(@RequestBody FormVO form){
QualityEvaluation qualityEvaluation = new QualityEvaluation();
qualityEvaluation.setLawId(form.getLawId()) ;
qualityEvaluation.setUserId(form.getUserId()) ;
iQualityEvaluationService.getEvaluationForm(qualityEvaluation);
return null;
}
@@ -1,5 +1,8 @@
package com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
import java.util.List;
@@ -7,12 +10,19 @@ import java.util.List;
@Data
public class FormVO {
@ApiModelProperty("提交的评分表")
private List<QualityEvaluation> tableData;
private String standId;
@ApiModelProperty("企标法规id")
@JsonProperty("standId") //前后分离 前端字段
private String lawId;
@ApiModelProperty("提交的用户id")
private String userId;
@ApiModelProperty("附加")
private String formData;
@ApiModelProperty("评分类型")
private String evaluationType;
}
@@ -10,6 +10,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
import java.util.Date;
/**
@@ -53,7 +54,7 @@ public class QualityEvaluation extends BaseEntity {
@JsonProperty("indexType") //前后分离 前端字段
@TableField("evaluation_type")
@ApiModelProperty(value = "类型")
@ApiModelProperty(value = "类型")
private String evaluationType;
@JsonProperty("commentReason") //前后分离 前端字段
@@ -66,6 +67,9 @@ public class QualityEvaluation extends BaseEntity {
@ApiModelProperty(value = "打分")
private String score;
@ApiModelProperty(value = "指标值类型")
@TableField(exist = false)
private String valueType;
@TableField("process_node")
@ApiModelProperty(value = "流程节点")
@@ -73,11 +77,11 @@ public class QualityEvaluation extends BaseEntity {
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private Date createTime;
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date modifyTime;
private LocalDateTime modifyTime;
@TableField(exist = false)
@@ -1,5 +1,6 @@
package com.adc.da.slrs.sarEnterpriseStandardEvaluation.service;
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.FormVO;
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -17,7 +18,7 @@ import java.util.Map;
*/
public interface IQualityEvaluationService extends IService<QualityEvaluation> {
public Boolean submitEvaluationForm(List<QualityEvaluation> form);
public Boolean submitEvaluationForm(FormVO form);
public IPage<QualityEvaluation> getHistory(QualityEvaluation query);
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.impl;
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.EvaluationIndex;
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.FormVO;
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation;
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.dao.QualityEvaluationDao;
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IEvaluationIndexService;
@@ -10,14 +11,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.collections.IterableMap;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.PipedReader;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.*;
import java.util.stream.Collector;
import java.util.stream.Collectors;
@@ -38,20 +37,41 @@ public class QualityEvaluationServiceImpl extends ServiceImpl<QualityEvaluationD
@Override
public Boolean submitEvaluationForm(List<QualityEvaluation> form) {
QueryWrapper<QualityEvaluation> queryWrapper = new QueryWrapper<>();
public Boolean submitEvaluationForm(FormVO form) {
//
// queryWrapper.eq("user_id",form.get)
// .eq("evaluation_type","dynamic");
this.remove(queryWrapper);
form.forEach(item->item.setId( UUIDUtils.randomUUID20()));
return this.saveBatch(form);
Optional.ofNullable(form.getEvaluationType())
.ifPresent( item->{
if ("dynamic".equals(form.getEvaluationType())){
QueryWrapper<QualityEvaluation> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("law_id",form.getLawId()) //清除此用户在动态评分中已存在的评分
.eq("user_id",form.getUserId())
.eq("evaluation_type","dynamic");
this.remove(queryWrapper);
}
});
List<QualityEvaluation> tableData = form.getTableData();
tableData.forEach(item->{
item.setId( UUIDUtils.randomUUID20());
if ("number".equals(item.getValueType()) ){
item.setScore(String.valueOf (Double.valueOf(item.getScore()) * 2) );
}
});
return this.saveBatch(tableData);
}
@Override
public IPage<QualityEvaluation> getHistory(QualityEvaluation query) {
QueryWrapper<QualityEvaluation> queryWrapper = new QueryWrapper<>();
Page<QualityEvaluation> page = new Page<>(query.getPage(), query.getPageSize());
// Page<QualityEvaluation> page = new Page<>(query.getPage(), query.getPageSize());
Page<QualityEvaluation> page = new Page<>(1, 20);
if (query.getUserId()!=null){ //指定用户
@@ -63,6 +83,7 @@ public class QualityEvaluationServiceImpl extends ServiceImpl<QualityEvaluationD
queryWrapper.eq("evaluation_type",query.getEvaluationType());
}
//sql计算每个用户的评分
return qualityEvaluationDao.getHistory(page,queryWrapper);
@@ -73,16 +94,19 @@ public class QualityEvaluationServiceImpl extends ServiceImpl<QualityEvaluationD
@Override
public List<QualityEvaluation> getEvaluationForm(QualityEvaluation query) {
QueryWrapper<QualityEvaluation> queryWrapper = new QueryWrapper<>();
Page<QualityEvaluation> page = new Page<>(query.getPage(), query.getPageSize());
queryWrapper.select("UNAME as userName","score","reason","create_time","modify_time")
.eq("law_id",query.getLawId()) //企标id
.last("JOIN ts_user user ON quality_evaluation.user_id = user.USID");
queryWrapper.select("UNAME as userName","score","reason","create_time as createTime","modify_time as modifyTime","idx.value_type as valueType")
.last("JOIN ts_user user ON quality_evaluation.user_id = user.USID" +
"LEFT JOIN evaluation_index as idx on iex.id=quality_evaluation.evaluation_index");
if (query.getLawId()!=null){
queryWrapper.eq("law_id",query.getLawId()); //指定企标id
}
if (query.getUserId()!=null){ //指定用户
queryWrapper.eq("user_id", query.getUserId())
.orderBy(true,true, "crate_time","modify_time");
queryWrapper.eq("quality_evaluation.user_id", query.getUserId());
}
if (query.getEvaluationType()!=null){ //指定评价指标
@@ -27,17 +27,12 @@ public class IssueTrackServiceImpl extends ServiceImpl<IssueTrackDao, IssueTrack
@Override
public boolean addIssueTrack(IssueTrack obj) {
QueryWrapper<IssueTrack> wrapper = new QueryWrapper<>();
wrapper.eq("law_id",obj.getLawId())
.eq("del_flag","0");
wrapper.eq("law_id",obj.getLawId());
IssueTrack one = this.getOne(wrapper);
if (one==null){
return false;
}else {
obj.setId(UUIDUtils.randomUUID20());
obj.setDelFlag("0");
return this.save(obj);
}
obj.setId(UUIDUtils.randomUUID20());
obj.setDelFlag("0");
return this.saveOrUpdate(obj,wrapper);
}
@@ -5,20 +5,20 @@
<select id="getHistory"
resultType="com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation">
SELECT
`user`.UNAME AS userName,
evaluation_index,
eva.user_id,
avg(eva.score * iex.weight) AS score
FROM
quality_evaluation AS eva
LEFT JOIN ts_user `user` ON eva.user_id = `user`.USID
LEFT JOIN evaluation_index AS iex ON eva.evaluation_index = iex.id
GROUP BY
userName,
evaluation_index,
eva.user_id,
score
SELECT
`user`.UNAME AS userName,
eva.user_id,
avg(eva.score * iex.weight) AS score,
iex.index_type as valueType
FROM
quality_evaluation AS eva
LEFT JOIN ts_user `user` ON eva.user_id = `user`.USID
LEFT JOIN evaluation_index AS iex ON eva.evaluation_index = iex.id
GROUP BY
userName,
eva.user_id,
index_type
${ew.customSqlSegment}
</select>
</mapper>