企标评分
This commit is contained in:
+21
-7
@@ -5,6 +5,7 @@ import com.adc.da.http.ResponseMessage;
|
||||
import com.adc.da.http.Result;
|
||||
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.FormVO;
|
||||
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IQualityEvaluationService;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -16,6 +17,7 @@ import io.swagger.annotations.Api;
|
||||
import com.adc.da.base.web.BaseController;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
@@ -47,14 +49,17 @@ public class QualityEvaluationController extends BaseController<QualityEvaluatio
|
||||
item.setUserId(userId);
|
||||
item.setLawId(standId);
|
||||
|
||||
if ( item.getEvaluationIndex()!=null && item.getScore()!=null && "3U9lb".equals( item.getEvaluationIndex() ) ){
|
||||
if ( item.getEvaluationIndex()!=null && "3U9lb".equals( item.getEvaluationIndex() ) ){
|
||||
|
||||
switch (item.getScore()){
|
||||
case "0":
|
||||
item.setScore("-1");
|
||||
case "1":
|
||||
item.setScore("-2");
|
||||
}
|
||||
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"));
|
||||
|
||||
}
|
||||
|
||||
@@ -93,4 +98,13 @@ public class QualityEvaluationController extends BaseController<QualityEvaluatio
|
||||
|
||||
return Result.success(history);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("查询评价分数")
|
||||
@GetMapping("getScore")
|
||||
public ResponseMessage<Map<String,Double>> getScore(String lawId){
|
||||
Map<String, Double> score = iQualityEvaluationService.getScore(lawId);
|
||||
|
||||
return Result.success(score);
|
||||
}
|
||||
}
|
||||
|
||||
+10
@@ -1,7 +1,14 @@
|
||||
package com.adc.da.slrs.sarEnterpriseStandardEvaluation.dao;
|
||||
|
||||
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation;
|
||||
import com.adc.da.slrs.sarStandUnqualified.entity.BusinessDeptIssue;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -13,4 +20,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
*/
|
||||
public interface QualityEvaluationDao extends BaseMapper<QualityEvaluation> {
|
||||
|
||||
|
||||
|
||||
public IPage<QualityEvaluation> getHistory(IPage<QualityEvaluation> page,@Param(Constants.WRAPPER) QueryWrapper<QualityEvaluation> queryWrapper);
|
||||
}
|
||||
|
||||
+4
@@ -51,5 +51,9 @@ public class EvaluationIndex extends BaseEntity {
|
||||
@TableField("three_index_title")
|
||||
private String threeIndexTitle;
|
||||
|
||||
@ApiModelProperty(value = "指标值类型")
|
||||
@TableField("value_type")
|
||||
private String valueType;
|
||||
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -12,4 +12,7 @@ public class FormVO {
|
||||
private String standId;
|
||||
|
||||
private String userId;
|
||||
|
||||
|
||||
private String formData;
|
||||
}
|
||||
|
||||
+4
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -22,4 +23,7 @@ public interface IQualityEvaluationService extends IService<QualityEvaluation> {
|
||||
|
||||
|
||||
public List<QualityEvaluation> getEvaluationForm(QualityEvaluation query);
|
||||
|
||||
|
||||
Map<String,Double> getScore(String lawId);
|
||||
}
|
||||
|
||||
+64
-12
@@ -1,7 +1,9 @@
|
||||
package com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.impl;
|
||||
|
||||
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.EvaluationIndex;
|
||||
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation;
|
||||
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.dao.QualityEvaluationDao;
|
||||
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IEvaluationIndexService;
|
||||
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IQualityEvaluationService;
|
||||
import com.adc.da.util.UUIDUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -11,6 +13,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
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;
|
||||
@@ -35,6 +39,11 @@ public class QualityEvaluationServiceImpl extends ServiceImpl<QualityEvaluationD
|
||||
|
||||
@Override
|
||||
public Boolean submitEvaluationForm(List<QualityEvaluation> form) {
|
||||
QueryWrapper<QualityEvaluation> queryWrapper = new QueryWrapper<>();
|
||||
//
|
||||
// queryWrapper.eq("user_id",form.get)
|
||||
// .eq("evaluation_type","dynamic");
|
||||
this.remove(queryWrapper);
|
||||
form.forEach(item->item.setId( UUIDUtils.randomUUID20()));
|
||||
return this.saveBatch(form);
|
||||
}
|
||||
@@ -44,9 +53,31 @@ public class QualityEvaluationServiceImpl extends ServiceImpl<QualityEvaluationD
|
||||
QueryWrapper<QualityEvaluation> queryWrapper = new QueryWrapper<>();
|
||||
Page<QualityEvaluation> page = new Page<>(query.getPage(), query.getPageSize());
|
||||
|
||||
|
||||
if (query.getUserId()!=null){ //指定用户
|
||||
queryWrapper.eq("user_id", query.getUserId())
|
||||
.orderBy(true,true, "crate_time","modify_time");
|
||||
}
|
||||
|
||||
if (query.getEvaluationType()!=null){ //指定评价指标
|
||||
queryWrapper.eq("evaluation_type",query.getEvaluationType());
|
||||
}
|
||||
|
||||
return qualityEvaluationDao.getHistory(page,queryWrapper);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@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");
|
||||
.eq("law_id",query.getLawId()) //企标id
|
||||
.last("JOIN ts_user user ON quality_evaluation.user_id = user.USID");
|
||||
|
||||
|
||||
if (query.getUserId()!=null){ //指定用户
|
||||
@@ -59,23 +90,44 @@ public class QualityEvaluationServiceImpl extends ServiceImpl<QualityEvaluationD
|
||||
}
|
||||
|
||||
|
||||
|
||||
return this.baseMapper.selectPage(page,queryWrapper);
|
||||
|
||||
return this.baseMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
|
||||
@Autowired
|
||||
private IEvaluationIndexService iEvaluationIndexService;
|
||||
|
||||
@Override
|
||||
public List<QualityEvaluation> getEvaluationForm(QualityEvaluation query) {
|
||||
public Map<String, Double> getScore(String lawId) {
|
||||
|
||||
|
||||
QueryWrapper<QualityEvaluation> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("law_id",query.getLawId());
|
||||
queryWrapper.eq("law_id",lawId);
|
||||
List<QualityEvaluation> list = this.list(queryWrapper);
|
||||
|
||||
List<QualityEvaluation> qualityEvaluations = this.baseMapper.selectList(queryWrapper);
|
||||
Map<String, List<QualityEvaluation>> collect = qualityEvaluations.stream()
|
||||
.collect(Collectors.groupingBy(QualityEvaluation::getEvaluationType));
|
||||
|
||||
return null;
|
||||
return list.stream()
|
||||
.collect(Collectors.groupingBy(QualityEvaluation::getEvaluationType,
|
||||
Collectors.averagingDouble(item -> getScoreSingle(item))));
|
||||
|
||||
}
|
||||
|
||||
|
||||
private Double getScoreSingle(QualityEvaluation item){
|
||||
|
||||
QueryWrapper<EvaluationIndex> indexQuery = new QueryWrapper<>();
|
||||
indexQuery.select("code","weight");
|
||||
|
||||
List<EvaluationIndex> indexList = iEvaluationIndexService.list(indexQuery);
|
||||
|
||||
Map<String, Float> weightMap = indexList.stream()
|
||||
.collect(Collectors.toMap(EvaluationIndex::getCode, obj -> Float.valueOf(obj.getWeight())));
|
||||
|
||||
|
||||
|
||||
String score = item.getScore();
|
||||
return ((score == null || (Float.valueOf(item.getScore()) < 0.0)) ? 0.0 : Float.valueOf(score) * weightMap.get(item.getEvaluationIndex()));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
+19
@@ -2,4 +2,23 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.adc.da.slrs.sarEnterpriseStandardEvaluation.dao.QualityEvaluationDao">
|
||||
|
||||
<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
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user