修改查询问题
This commit is contained in:
@ -89,4 +89,11 @@ public interface CoscoEvaluateScoringMapper {
|
|||||||
* @param taskId
|
* @param taskId
|
||||||
*/
|
*/
|
||||||
void deleteByTaskId(String taskId);
|
void deleteByTaskId(String taskId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据任务id集合查询
|
||||||
|
* @param taskIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<CalculateAndObtainScoresVo> selectByTaskIds(List<String> taskIds);
|
||||||
}
|
}
|
||||||
|
@ -66,4 +66,11 @@ public interface CoscoEvaluateTaskDeptWeightMapper {
|
|||||||
void batchCoscoEvaluateTaskDeptWeight(List<CoscoEvaluateTaskDeptWeight> list);
|
void batchCoscoEvaluateTaskDeptWeight(List<CoscoEvaluateTaskDeptWeight> list);
|
||||||
|
|
||||||
void deleteByTaskId(String id);
|
void deleteByTaskId(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据id集合获取详细信息
|
||||||
|
* @param taskIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<CoscoEvaluateTaskDeptWeight> selectByTaskId(List<String> taskIds);
|
||||||
}
|
}
|
||||||
|
@ -108,4 +108,11 @@ public interface CoscoEvaluateTaskSupplierMapper {
|
|||||||
List<CoscoEvaluateTaskSupplier> exportList(CoscoEvaluateTaskSupplier taskListVo);
|
List<CoscoEvaluateTaskSupplier> exportList(CoscoEvaluateTaskSupplier taskListVo);
|
||||||
|
|
||||||
List<SupplierEvaluateStatisticsVo> getSupplierEvaluateStatisticsList(SupplierEvaluateStatisticsVo vo);
|
List<SupplierEvaluateStatisticsVo> getSupplierEvaluateStatisticsList(SupplierEvaluateStatisticsVo vo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据taskIds查询信息
|
||||||
|
* @param taskIds
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<CoscoEvaluateTaskSupplier> selectByTaskIds(List<String> taskIds);
|
||||||
}
|
}
|
||||||
|
@ -74,37 +74,52 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
|
|||||||
//获取当前时间指标信息
|
//获取当前时间指标信息
|
||||||
List<CoscoEvaluateTask> coscoEvaluateTasks = coscoEvaluateTaskMapper.selectCloseTask();
|
List<CoscoEvaluateTask> coscoEvaluateTasks = coscoEvaluateTaskMapper.selectCloseTask();
|
||||||
List<CoscoEvaluateLevel> coscoEvaluateLevels = coscoEvaluateLevelMapper.selectCoscoEvaluateLevelList(new CoscoEvaluateLevel());
|
List<CoscoEvaluateLevel> coscoEvaluateLevels = coscoEvaluateLevelMapper.selectCoscoEvaluateLevelList(new CoscoEvaluateLevel());
|
||||||
for (CoscoEvaluateTask coscoEvaluateTask : coscoEvaluateTasks) {
|
if(!coscoEvaluateTasks.isEmpty()){
|
||||||
//查询当前任务的添加的供应商
|
//获取任务id集合
|
||||||
CoscoEvaluateTaskSupplier suppliers = new CoscoEvaluateTaskSupplier();
|
List<String> taskIds= coscoEvaluateTasks.stream().map(CoscoEvaluateTask::getId).collect(Collectors.toList());
|
||||||
suppliers.setEvaluateTaskId(coscoEvaluateTask.getId());
|
//获取任务权重信息
|
||||||
CoscoEvaluateTaskDeptWeight coscoEvaluateTaskDeptWeights = new CoscoEvaluateTaskDeptWeight();
|
List<CoscoEvaluateTaskDeptWeight> allCoscoEvaluateTaskDeptWeightes = coscoEvaluateTaskDeptWeightMapper.selectByTaskId(taskIds);
|
||||||
coscoEvaluateTaskDeptWeights.setEvaluateTaskId(coscoEvaluateTask.getId());
|
//获取任务供应商信息
|
||||||
List<CoscoEvaluateTaskDeptWeight> coscoEvaluateTaskDeptWeightes = coscoEvaluateTaskDeptWeightMapper.selectCoscoEvaluateTaskDeptWeightList(coscoEvaluateTaskDeptWeights);
|
List<CoscoEvaluateTaskSupplier> allCoscoEvaluateTaskSuppliers = coscoEvaluateTaskSupplierMapper.selectByTaskIds(taskIds);
|
||||||
List<CoscoEvaluateTaskSupplier> coscoEvaluateTaskSuppliers = coscoEvaluateTaskSupplierMapper.selectCoscoEvaluateTaskSupplierList(suppliers);
|
//获取任务供应商评价信息
|
||||||
//查询当前任务的人员信息及人员评价情况
|
List<CalculateAndObtainScoresVo> allCalculateAndObtainScoresVos = coscoEvaluateScoringMapper.selectByTaskIds(taskIds);
|
||||||
List<CalculateAndObtainScoresVo> calculateAndObtainScoresVos = coscoEvaluateScoringMapper.selectCalculateAndObtainScores(coscoEvaluateTask.getId());
|
|
||||||
//获取人员信息
|
for (CoscoEvaluateTask coscoEvaluateTask : coscoEvaluateTasks) {
|
||||||
List<UserVo> user = userService.getUser(new SelectUserVo());
|
//查询当前任务的添加的供应商
|
||||||
//给人员添加部门信息
|
CoscoEvaluateTaskDeptWeight coscoEvaluateTaskDeptWeights = new CoscoEvaluateTaskDeptWeight();
|
||||||
Map<String, String> userMap = user.stream().collect(Collectors.toMap(UserVo::getUserId, UserVo::getUserDeptId));
|
coscoEvaluateTaskDeptWeights.setEvaluateTaskId(coscoEvaluateTask.getId());
|
||||||
calculateAndObtainScoresVos.forEach(vos -> {
|
//根据任务id获取当前任务权重信息
|
||||||
vos.setDeptId(userMap.get(vos.getUserId()));
|
List<CoscoEvaluateTaskDeptWeight> coscoEvaluateTaskDeptWeightes = allCoscoEvaluateTaskDeptWeightes.stream()
|
||||||
});
|
.filter(coscoEvaluateTaskDeptWeight -> coscoEvaluateTaskDeptWeight.getEvaluateTaskId().equals(coscoEvaluateTask.getId())).collect(Collectors.toList());
|
||||||
//返回集合
|
//根据任务id获取当前任务供应商信息
|
||||||
List<CoscoEvaluateScoringResult> coscoEvaluateScoringResults = new ArrayList<>();
|
List<CoscoEvaluateTaskSupplier> coscoEvaluateTaskSuppliers = allCoscoEvaluateTaskSuppliers.stream()
|
||||||
coscoEvaluateTaskSuppliers.forEach(coscoEvaluateTaskSupplier -> {
|
.filter(coscoEvaluateTaskSupplier -> coscoEvaluateTaskSupplier.getEvaluateTaskId().equals(coscoEvaluateTask.getId())).collect(Collectors.toList());
|
||||||
//计算总分数
|
//根据任务id获取当前任务的人员信息及人员评价情况
|
||||||
int totalScore = getCalculateScore(calculateAndObtainScoresVos, coscoEvaluateTaskSupplier, coscoEvaluateScoringResults, coscoEvaluateTaskDeptWeightes);
|
List<CalculateAndObtainScoresVo> calculateAndObtainScoresVos = allCalculateAndObtainScoresVos.stream()
|
||||||
coscoEvaluateTaskSupplier.setReviewScore(BigDecimal.valueOf(totalScore));
|
.filter(calculateAndObtainScoresVo -> calculateAndObtainScoresVo.getEvaluateTaskId().equals(coscoEvaluateTask.getId())).collect(Collectors.toList());
|
||||||
//根据总分数获取供应商评价结果
|
//获取人员信息
|
||||||
getReviewResult(totalScore, coscoEvaluateLevels, coscoEvaluateTaskSupplier);
|
List<UserVo> user = userService.getUser(new SelectUserVo());
|
||||||
coscoEvaluateTaskSupplierMapper.updateCoscoEvaluateTaskSupplier(coscoEvaluateTaskSupplier);
|
//给人员添加部门信息
|
||||||
});
|
Map<String, String> userMap = user.stream().collect(Collectors.toMap(UserVo::getUserId, UserVo::getUserDeptId));
|
||||||
coscoEvaluateTask.setStatus(EvaluateTaskConstant.EVALUATE_TASK_STATUS_END);
|
calculateAndObtainScoresVos.forEach(vos -> {
|
||||||
coscoEvaluateTaskMapper.updateCoscoEvaluateTask(coscoEvaluateTask);
|
vos.setDeptId(userMap.get(vos.getUserId()));
|
||||||
coscoEvaluateScoringResultMapper.batchCoscoEvaluateScoringResult(coscoEvaluateScoringResults);
|
});
|
||||||
|
//返回集合
|
||||||
|
List<CoscoEvaluateScoringResult> coscoEvaluateScoringResults = new ArrayList<>();
|
||||||
|
coscoEvaluateTaskSuppliers.forEach(coscoEvaluateTaskSupplier -> {
|
||||||
|
//计算总分数
|
||||||
|
int totalScore = getCalculateScore(calculateAndObtainScoresVos, coscoEvaluateTaskSupplier, coscoEvaluateScoringResults, coscoEvaluateTaskDeptWeightes);
|
||||||
|
coscoEvaluateTaskSupplier.setReviewScore(BigDecimal.valueOf(totalScore));
|
||||||
|
//根据总分数获取供应商评价结果
|
||||||
|
getReviewResult(totalScore, coscoEvaluateLevels, coscoEvaluateTaskSupplier);
|
||||||
|
coscoEvaluateTaskSupplierMapper.updateCoscoEvaluateTaskSupplier(coscoEvaluateTaskSupplier);
|
||||||
|
});
|
||||||
|
coscoEvaluateTask.setStatus(EvaluateTaskConstant.EVALUATE_TASK_STATUS_END);
|
||||||
|
coscoEvaluateTaskMapper.updateCoscoEvaluateTask(coscoEvaluateTask);
|
||||||
|
coscoEvaluateScoringResultMapper.batchCoscoEvaluateScoringResult(coscoEvaluateScoringResults);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -27,6 +27,10 @@ public class CalculateAndObtainScoresVo implements Serializable {
|
|||||||
* 供应商id
|
* 供应商id
|
||||||
*/
|
*/
|
||||||
private String supplierId;
|
private String supplierId;
|
||||||
|
/**
|
||||||
|
* 任务id
|
||||||
|
*/
|
||||||
|
private String evaluateTaskId;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -190,4 +190,21 @@
|
|||||||
and cetsu.evaluate_task_id = #{taskId}
|
and cetsu.evaluate_task_id = #{taskId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectByTaskIds" parameterType="list"
|
||||||
|
resultType="com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.CalculateAndObtainScoresVo">
|
||||||
|
select cetsu.user_id as userId, ces.score, ces.indicator_nd_id as indicatorNdId, '1' as dept_id as deptId,
|
||||||
|
cets.supplier_id as supplierId,cetsu.evaluate_task_id as evaluateTaskId
|
||||||
|
from cosco_evaluate_scoring ces
|
||||||
|
join cosco_evaluate_task_supplier_user cetsu
|
||||||
|
on cetsu.id = ces.evaluate_task_supplier_user_id and cetsu.del_flag = 'normal'
|
||||||
|
join cosco_evaluate_task_supplier cets
|
||||||
|
on cets.evaluate_task_id = cetsu.evaluate_task_id and cets.supplier_id = cetsu.supplier_id
|
||||||
|
where ces.score is not null
|
||||||
|
and cetsu.evaluate_task_id in
|
||||||
|
<foreach item="id" collection="list" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
@ -18,6 +18,16 @@
|
|||||||
from cosco_evaluate_task_dept_weight
|
from cosco_evaluate_task_dept_weight
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="selectByTaskId"
|
||||||
|
parameterType="list"
|
||||||
|
resultMap="CoscoEvaluateTaskDeptWeightResult">
|
||||||
|
<include refid="selectCoscoEvaluateTaskDeptWeightVo"/>
|
||||||
|
where evaluate_task_id in
|
||||||
|
<foreach item="id" collection="taskIds" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
<select id="selectCoscoEvaluateTaskDeptWeightList"
|
<select id="selectCoscoEvaluateTaskDeptWeightList"
|
||||||
parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.entity.CoscoEvaluateTaskDeptWeight"
|
parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.entity.CoscoEvaluateTaskDeptWeight"
|
||||||
resultMap="CoscoEvaluateTaskDeptWeightResult">
|
resultMap="CoscoEvaluateTaskDeptWeightResult">
|
||||||
|
@ -133,6 +133,17 @@
|
|||||||
order by cets.create_time desc
|
order by cets.create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectByTaskIds"
|
||||||
|
parameterType="list"
|
||||||
|
resultMap="CoscoEvaluateTaskSupplierResult">
|
||||||
|
<include refid="selectCoscoEvaluateTaskSupplierVo"/>
|
||||||
|
where evaluate_task_id in
|
||||||
|
<foreach item="item" collection="list" separator="," open="(" close=")" index="">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="selectCoscoEvaluateTaskSupplierList"
|
<select id="selectCoscoEvaluateTaskSupplierList"
|
||||||
parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.entity.CoscoEvaluateTaskSupplier"
|
parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.entity.CoscoEvaluateTaskSupplier"
|
||||||
resultMap="CoscoEvaluateTaskSupplierResult">
|
resultMap="CoscoEvaluateTaskSupplierResult">
|
||||||
|
Reference in New Issue
Block a user