/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.assessment.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.AllArgsConstructor; import org.springblade.modules.assessment.entity.AssessmentScoreEntity; import org.springblade.modules.assessment.entity.AssessmentSetEntity; import org.springblade.modules.assessment.entity.AssessmentTaskEntity; import org.springblade.modules.assessment.service.IAssessmentSetDeptService; import org.springblade.modules.assessment.service.IAssessmentSetService; import org.springblade.modules.assessment.service.IAssessmentTaskService; import org.springblade.modules.assessment.vo.AssessmentScoreVO; import org.springblade.modules.assessment.excel.AssessmentScoreExcel; import org.springblade.modules.assessment.mapper.AssessmentScoreMapper; import org.springblade.modules.assessment.service.IAssessmentScoreService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; import org.springframework.transaction.annotation.Transactional; import java.util.Collection; import java.util.List; /** * 考核评分 服务实现类 * * @author aix * @since 2023-12-13 */ @Service @AllArgsConstructor public class AssessmentScoreServiceImpl extends BaseServiceImpl implements IAssessmentScoreService { private final IAssessmentSetService assessmentSetService; private final IAssessmentSetDeptService assessmentSetDeptService; private final IAssessmentTaskService assessmentTaskService; @Override public IPage selectAssessmentScorePage(IPage page, AssessmentScoreVO assessmentScore) { return page.setRecords(baseMapper.selectAssessmentScorePage(page, assessmentScore)); } @Override public List exportAssessmentScore(Wrapper queryWrapper) { List assessmentScoreList = baseMapper.exportAssessmentScore(queryWrapper); //assessmentScoreList.forEach(assessmentScore -> { // assessmentScore.setTypeName(DictCache.getValue(DictEnum.YES_NO, AssessmentScore.getType())); //}); return assessmentScoreList; } @Override @Transactional public boolean saveOrUpdate(AssessmentScoreEntity entity) { boolean ret = super.saveOrUpdate(entity); long setCount = 0l; if (entity.getType() == 0) { setCount = assessmentSetService.count(); } else { setCount = assessmentSetDeptService.count(); } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("type",entity.getType()); queryWrapper.eq("assessment_task_id",entity.getAssessmentTaskId()); long scoreCount = count(queryWrapper); if (setCount == scoreCount) { AssessmentTaskEntity taskEntity = new AssessmentTaskEntity(); taskEntity.setId(entity.getAssessmentTaskId()); taskEntity.setIsAssessmentOk(1); assessmentTaskService.updateById(taskEntity); } return ret; } }