初始化思想品德放分数

This commit is contained in:
zhy
2025-09-14 01:48:16 +08:00
parent a0c41f5520
commit 25fa96087b
3 changed files with 94 additions and 0 deletions

View File

@@ -34,6 +34,15 @@ public class CphIdeologyScoreController extends BaseController {
@Autowired
private ICphIdeologyScoreService cphIdeologyScoreService;
@PreAuthorize("@ss.hasPermi('comprehensive:ideologyscore:list')")
@PostMapping("/doInit")
@ApiOperation("初始化当前学年分数")
public AjaxResult doInit(){
return cphIdeologyScoreService.doInit();
}
/**
* 查询思想品德初始分数列表
*/

View File

@@ -3,6 +3,7 @@ package com.srs.comprehensive.service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.srs.common.core.domain.AjaxResult;
import com.srs.comprehensive.domain.CphIdeologyScore;
/**
@@ -12,6 +13,10 @@ import com.srs.comprehensive.domain.CphIdeologyScore;
* @date 2024-07-01
*/
public interface ICphIdeologyScoreService extends IService<CphIdeologyScore> {
public AjaxResult doInit();
/**
* 查询思想品德初始分数
*

View File

@@ -1,8 +1,19 @@
package com.srs.comprehensive.service.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.srs.common.core.domain.AjaxResult;
import com.srs.common.utils.DateUtils;
import com.srs.comprehensive.domain.SrsStuYear;
import com.srs.comprehensive.domain.ViewStuInfo;
import com.srs.comprehensive.mapper.SrsStuYearMapper;
import com.srs.comprehensive.mapper.ViewStuInfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@@ -10,6 +21,8 @@ import com.srs.comprehensive.mapper.CphIdeologyScoreMapper;
import com.srs.comprehensive.domain.CphIdeologyScore;
import com.srs.comprehensive.service.ICphIdeologyScoreService;
import static com.srs.common.utils.SecurityUtils.getUsername;
/**
* 思想品德初始分数Service业务层处理
*
@@ -21,6 +34,73 @@ public class CphIdeologyScoreServiceImpl extends ServiceImpl<CphIdeologyScoreMap
@Autowired
private CphIdeologyScoreMapper cphIdeologyScoreMapper;
@Autowired
public SrsStuYearMapper srsStuYearMapper;
@Autowired
public ViewStuInfoMapper viewStuInfoMapper;
@Override
public AjaxResult doInit(){
try{
QueryWrapper<SrsStuYear> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status","1");
queryWrapper.last("limit 1");
SrsStuYear srsStuYear = srsStuYearMapper.selectOne(queryWrapper);
if(srsStuYear == null){
throw new Exception("未找到有效学年信息");
}
QueryWrapper<ViewStuInfo> viewStuInfoQueryWrapper = new QueryWrapper<>();
viewStuInfoQueryWrapper.notIn("status","02","03");
List<ViewStuInfo> viewStuInfoList = viewStuInfoMapper.selectList(viewStuInfoQueryWrapper);
Set<String> stuNoSet = viewStuInfoList.stream().map(ViewStuInfo::getStuNo).collect(Collectors.toSet());
QueryWrapper<CphIdeologyScore> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("stu_year_id",srsStuYear.getId());
queryWrapper1.in("stu_no",stuNoSet);
List<CphIdeologyScore> cphIdeologyScoreList = cphIdeologyScoreMapper.selectList(queryWrapper1);
if(!cphIdeologyScoreList.isEmpty()){
// 提取已评分的学生学号
Set<String> scoredStuNoSet = cphIdeologyScoreList.stream()
.map(CphIdeologyScore::getStuNo)
.collect(Collectors.toSet());
// 移除已评分的学生学号
stuNoSet.removeAll(scoredStuNoSet);
}
List<CphIdeologyScore> needInsertList = new ArrayList<>();
for(String stuNo : stuNoSet){
CphIdeologyScore cphIdeologyScore = new CphIdeologyScore();
cphIdeologyScore.setStuNo(stuNo);
cphIdeologyScore.setStuYearId(srsStuYear.getId());
cphIdeologyScore.setScore(new BigDecimal(80));
cphIdeologyScore.setDescription("初始分数");
cphIdeologyScore.setStatus("1");
cphIdeologyScore.setDelFlag("0");
cphIdeologyScore.setCreateTime(DateUtils.getNowDate());
cphIdeologyScore.setUpdateTime(DateUtils.getNowDate());
cphIdeologyScore.setCreateBy(getUsername());
cphIdeologyScore.setUpdateBy(getUsername());
needInsertList.add(cphIdeologyScore);
}
if(!needInsertList.isEmpty()){
boolean res = this.saveBatch(needInsertList);
if(!res){
throw new Exception("初始化分数失败");
}
}
return AjaxResult.success();
}catch(Exception ex){
return AjaxResult.error(ex.getMessage());
}
}
/**
* 查询思想品德初始分数
*