修改查询问题

This commit is contained in:
YY
2025-07-03 15:49:03 +08:00
parent 55147bfbd8
commit 99a830441c
8 changed files with 108 additions and 30 deletions

View File

@ -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);
} }

View File

@ -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);
} }

View File

@ -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);
} }

View File

@ -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);
}
} }
} }
/** /**

View File

@ -27,6 +27,10 @@ public class CalculateAndObtainScoresVo implements Serializable {
* 供应商id * 供应商id
*/ */
private String supplierId; private String supplierId;
/**
* 任务id
*/
private String evaluateTaskId;
} }

View File

@ -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>

View File

@ -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">

View File

@ -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">