企标评分
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.http.Result;
|
||||||
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.FormVO;
|
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.FormVO;
|
||||||
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.service.IQualityEvaluationService;
|
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.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
@@ -16,6 +17,7 @@ import io.swagger.annotations.Api;
|
|||||||
import com.adc.da.base.web.BaseController;
|
import com.adc.da.base.web.BaseController;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -47,14 +49,17 @@ public class QualityEvaluationController extends BaseController<QualityEvaluatio
|
|||||||
item.setUserId(userId);
|
item.setUserId(userId);
|
||||||
item.setLawId(standId);
|
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()){
|
JSONObject jsonObject = JSONObject.parseObject(form.getFormData());
|
||||||
case "0":
|
// switch (item.getScore()){
|
||||||
item.setScore("-1");
|
// case "0":
|
||||||
case "1":
|
// item.setScore("-1");
|
||||||
item.setScore("-2");
|
// 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);
|
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;
|
package com.adc.da.slrs.sarEnterpriseStandardEvaluation.dao;
|
||||||
|
|
||||||
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity.QualityEvaluation;
|
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.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>
|
* <p>
|
||||||
@@ -13,4 +20,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
*/
|
*/
|
||||||
public interface QualityEvaluationDao extends BaseMapper<QualityEvaluation> {
|
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")
|
@TableField("three_index_title")
|
||||||
private String threeIndexTitle;
|
private String threeIndexTitle;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "指标值类型")
|
||||||
|
@TableField("value_type")
|
||||||
|
private String valueType;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+3
@@ -12,4 +12,7 @@ public class FormVO {
|
|||||||
private String standId;
|
private String standId;
|
||||||
|
|
||||||
private String userId;
|
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 com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -22,4 +23,7 @@ public interface IQualityEvaluationService extends IService<QualityEvaluation> {
|
|||||||
|
|
||||||
|
|
||||||
public List<QualityEvaluation> getEvaluationForm(QualityEvaluation query);
|
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;
|
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.entity.QualityEvaluation;
|
||||||
import com.adc.da.slrs.sarEnterpriseStandardEvaluation.dao.QualityEvaluationDao;
|
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.slrs.sarEnterpriseStandardEvaluation.service.IQualityEvaluationService;
|
||||||
import com.adc.da.util.UUIDUtils;
|
import com.adc.da.util.UUIDUtils;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.io.PipedReader;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
@@ -35,6 +39,11 @@ public class QualityEvaluationServiceImpl extends ServiceImpl<QualityEvaluationD
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean submitEvaluationForm(List<QualityEvaluation> form) {
|
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()));
|
form.forEach(item->item.setId( UUIDUtils.randomUUID20()));
|
||||||
return this.saveBatch(form);
|
return this.saveBatch(form);
|
||||||
}
|
}
|
||||||
@@ -44,9 +53,31 @@ public class QualityEvaluationServiceImpl extends ServiceImpl<QualityEvaluationD
|
|||||||
QueryWrapper<QualityEvaluation> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<QualityEvaluation> queryWrapper = new QueryWrapper<>();
|
||||||
Page<QualityEvaluation> page = new Page<>(query.getPage(), query.getPageSize());
|
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")
|
queryWrapper.select("UNAME as userName","score","reason","create_time","modify_time")
|
||||||
.eq("law_id",query.getLawId()) //企标id
|
.eq("law_id",query.getLawId()) //企标id
|
||||||
.last("JOIN ts_user user ON quality_evaluation.user_id = user.USID");
|
.last("JOIN ts_user user ON quality_evaluation.user_id = user.USID");
|
||||||
|
|
||||||
|
|
||||||
if (query.getUserId()!=null){ //指定用户
|
if (query.getUserId()!=null){ //指定用户
|
||||||
@@ -59,23 +90,44 @@ public class QualityEvaluationServiceImpl extends ServiceImpl<QualityEvaluationD
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return this.baseMapper.selectList(queryWrapper);
|
||||||
return this.baseMapper.selectPage(page,queryWrapper);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IEvaluationIndexService iEvaluationIndexService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<QualityEvaluation> getEvaluationForm(QualityEvaluation query) {
|
public Map<String, Double> getScore(String lawId) {
|
||||||
|
|
||||||
|
|
||||||
QueryWrapper<QualityEvaluation> queryWrapper = new QueryWrapper<>();
|
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);
|
return list.stream()
|
||||||
Map<String, List<QualityEvaluation>> collect = qualityEvaluations.stream()
|
.collect(Collectors.groupingBy(QualityEvaluation::getEvaluationType,
|
||||||
.collect(Collectors.groupingBy(QualityEvaluation::getEvaluationType));
|
Collectors.averagingDouble(item -> getScoreSingle(item))));
|
||||||
|
|
||||||
return null;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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">
|
<!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">
|
<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>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user