This commit is contained in:
许允枞 2025-02-11 17:56:19 +08:00
parent c868730c02
commit ff6d7cb24f
23 changed files with 526 additions and 600 deletions

View File

@ -2,6 +2,7 @@ package com.ruoyi.cms.controller;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.cms.domain.vo.HitCompetitionStudentInfoImportVo;
import com.ruoyi.common.annotation.Log;
@ -58,8 +59,7 @@ public class HitCompetitionStudentInfoController extends BaseController {
*/
@GetMapping("/list")
public TableDataInfo list(HitCompetitionStudentInfo hitCompetitionStudentInfo)
{
public TableDataInfo list(HitCompetitionStudentInfo hitCompetitionStudentInfo) {
startPage();
List<HitCompetitionStudentInfo> list = hitCompetitionStudentInfoService.selectHitCompetitionStudentInfoList(hitCompetitionStudentInfo);
return getDataTable(list);
@ -71,8 +71,7 @@ public class HitCompetitionStudentInfoController extends BaseController {
@Log(title = "大赛学生", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, HitCompetitionStudentInfo hitCompetitionStudentInfo)
{
public void export(HttpServletResponse response, HitCompetitionStudentInfo hitCompetitionStudentInfo) {
List<HitCompetitionStudentInfo> list = hitCompetitionStudentInfoService.selectHitCompetitionStudentInfoListExport(hitCompetitionStudentInfo);
ExcelUtil<HitCompetitionStudentInfo> util = new ExcelUtil<HitCompetitionStudentInfo>(HitCompetitionStudentInfo.class);
util.exportExcel(response, list, "大赛学生数据");
@ -82,8 +81,7 @@ public class HitCompetitionStudentInfoController extends BaseController {
* 获取大赛学生详细信息
*/
@GetMapping(value = "/byId/{id}")
public AjaxResult getInfo(@PathVariable("id") String id)
{
public AjaxResult getInfo(@PathVariable("id") String id) {
return success(hitCompetitionStudentInfoService.selectHitCompetitionStudentInfoById(id));
}
@ -93,8 +91,7 @@ public class HitCompetitionStudentInfoController extends BaseController {
@Log(title = "大赛学生", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody HitCompetitionStudentInfo hitCompetitionStudentInfo)
{
public AjaxResult add(@RequestBody HitCompetitionStudentInfo hitCompetitionStudentInfo) {
return toAjax(hitCompetitionStudentInfoService.insertHitCompetitionStudentInfo(hitCompetitionStudentInfo));
}
@ -104,18 +101,17 @@ public class HitCompetitionStudentInfoController extends BaseController {
@Log(title = "大赛学生", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody HitCompetitionStudentInfo hitCompetitionStudentInfo)
{
public AjaxResult edit(@RequestBody HitCompetitionStudentInfo hitCompetitionStudentInfo) {
return toAjax(hitCompetitionStudentInfoService.updateHitCompetitionStudentInfo(hitCompetitionStudentInfo));
}
/**
* 修改大赛学生编辑
*/
@Log(title = "大赛学生", businessType = BusinessType.UPDATE)
@PutMapping("editInfo")
public AjaxResult editInfo(@RequestBody HitCompetitionStudentInfo hitCompetitionStudentInfo)
{
public AjaxResult editInfo(@RequestBody HitCompetitionStudentInfo hitCompetitionStudentInfo) {
return toAjax(hitCompetitionStudentInfoService.updateHitCompetitionStudentInfoUpdate(hitCompetitionStudentInfo));
}
@ -125,60 +121,65 @@ public class HitCompetitionStudentInfoController extends BaseController {
@Log(title = "大赛学生", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids)
{
public AjaxResult remove(@PathVariable String[] ids) {
return toAjax(hitCompetitionStudentInfoService.deleteHitCompetitionStudentInfoByIds(ids));
}
/**
* 根据学号查询学生信息
*
* @param studentId
* @return
*/
@GetMapping("/{studentId}")
public AjaxResult getStudentInfoByStuId(@PathVariable("studentId") String studentId){
public AjaxResult getStudentInfoByStuId(@PathVariable("studentId") String studentId) {
return success(hitCompetitionStudentInfoService.selectHitCompetitionStudentInfoByStuId(studentId));
}
/**
* 获取当前用户信息
*
* @return
*/
@GetMapping("/getStudentInfo")
public AjaxResult getStudentInfo(){
public AjaxResult getStudentInfo() {
return success(hitCompetitionStudentInfoService.getStudentInfo());
}
/**
* 根据学校及赛区查询队友信息
*
* @param schoolName division
*/
@GetMapping( "/getTeamMateInfo")
public AjaxResult getTeamMateBySchoolNameAndDivision(@RequestParam String schoolName,@RequestParam String division) {
@GetMapping("/getTeamMateInfo")
public AjaxResult getTeamMateBySchoolNameAndDivision(@RequestParam String schoolName, @RequestParam String division) {
return success(hitCompetitionStudentInfoService.selectTeamMateBySchoolNameAndDivision(schoolName, division));
}
/**
* 查询当前用户是否有队伍
*
* @return teamId
* @return teamName
* @return teamMateId
*/
@GetMapping("/getTeam")
public AjaxResult getTeamMateInfoByStuId(){
public AjaxResult getTeamMateInfoByStuId() {
return AjaxResult.success(hitCompetitionStudentInfoService.selectTeamMateInfoByStuId());
}
@Log(title = "修改个人赛时间", businessType = BusinessType.UPDATE)
@PutMapping("/updateTime")
public AjaxResult updateTime(@RequestBody LocalDateTime time) {
System.out.println("接收到的时间"+time);
public AjaxResult updateTime(@RequestBody LocalDateTime time) {
System.out.println("接收到的时间" + time);
SysJob job = new SysJob();
job.setInvokeTarget("hitTask.scheduleTask");
//将time转化为cron表达式包含年
job.setRemark("修改个人赛时间");
job.setStatus("0");
job.setJobId(4L);
job.setCronExpression("0 "+time.getSecond()+" "+time.getMinute()+" "+time.getHour()+" * * ?");
job.setCronExpression("0 " + time.getSecond() + " " + time.getMinute() + " " + time.getHour() + " * * ?");
try {
sysJobController.edit(job);
} catch (SchedulerException e) {
@ -191,18 +192,17 @@ public class HitCompetitionStudentInfoController extends BaseController {
/**
* 导入个人分数数据模板
*
* @param response
*/
@PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response)
{
public void importTemplate(HttpServletResponse response) {
ExcelUtil<HitCompetitionStudentInfoImportVo> util = new ExcelUtil<>(HitCompetitionStudentInfoImportVo.class);
util.importTemplateExcel(response, "用户数据");
}
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file) throws Exception
{
public AjaxResult importData(MultipartFile file) throws Exception {
ExcelUtil<HitCompetitionStudentInfoImportVo> util = new ExcelUtil<>(HitCompetitionStudentInfoImportVo.class);
List<HitCompetitionStudentInfoImportVo> hitList = util.importExcel(file.getInputStream());
String message = hitCompetitionStudentInfoService.importData(hitList);
@ -210,9 +210,8 @@ public class HitCompetitionStudentInfoController extends BaseController {
}
@PostMapping("/uploadDsFile")
public AjaxResult importDsFile(@RequestParam("file")MultipartFile file,String phoneNumber){
try
{
public AjaxResult importDsFile(@RequestParam("file") MultipartFile file, String phoneNumber) {
try {
// 上传文件路径
String filePath = RuoYiConfig.getUploadPath();
// 上传并返回新文件名称
@ -231,10 +230,23 @@ public class HitCompetitionStudentInfoController extends BaseController {
}
return success("上传失败");
}
catch (Exception e)
{
} catch (Exception e) {
return AjaxResult.error(e.getMessage());
}
}
/**
* 查询大赛学生信息
*
* @param info 请求参数
* @return
*/
@GetMapping("/queryStudentInfo")
public AjaxResult queryStudentInfo(HitCompetitionStudentInfo info) {
info.setUserId(getUserId());
if (ObjectUtil.isEmpty(info.getYear())) {
info.setYear(DateUtil.format(DateUtil.date(), "yyyy"));
}
return success(hitCompetitionStudentInfoService.selectHitCompetitionStudentInfo(info));
}
}

View File

@ -89,6 +89,8 @@ public class HitRegInfo extends BaseEntity
private HitRegistrationTeachInfo ldTeacher;
@TableField(exist = false)
private List<HitCompetitionStudentInfo> studentUserss =new ArrayList<>();
@TableField(exist = false)
private String year;
}

View File

@ -3,6 +3,7 @@ package com.ruoyi.cms.mapper;
import com.ruoyi.cms.domain.HitCompetitionStudentInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.core.domain.HitRegistrationTeachInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -24,7 +25,7 @@ public interface HitCompetitionStudentInfoMapper extends BaseMapper<HitCompetiti
public HitCompetitionStudentInfo selectHitCompetitionStudentInfoById(String id);
public HitCompetitionStudentInfo selectHitCompetitionStudentInfoByUserId(Long userId);
public HitCompetitionStudentInfo selectHitCompetitionStudentInfoByUserId(@Param("userId") Long userId, @Param("year") String year);
/**
* 查询大赛学生列表
@ -68,6 +69,7 @@ public interface HitCompetitionStudentInfoMapper extends BaseMapper<HitCompetiti
/**
* 将学校不足15名的参赛人员全部设置为可以参加地区选拔
*
* @return
*/
public int updateStudentByLessThan();

View File

@ -29,7 +29,7 @@ public interface HitRegistrationTeachInfoMapper extends BaseMapper<HitRegistrat
* @param id 教师信息主键
* @return 教师信息
*/
public HitRegistrationTeachInfo selectHitRegistrationTeachInfoByUserId(Long userId);
public HitRegistrationTeachInfo selectHitRegistrationTeachInfoByUserId(@Param("userId") Long userId,@Param("year") String year);
/**
* 查询教师信息列表

View File

@ -32,6 +32,7 @@ public interface IHitCompetitionStudentInfoService extends IService<HitCompetiti
* @return 大赛学生集合
*/
public List<HitCompetitionStudentInfo> selectHitCompetitionStudentInfoList(HitCompetitionStudentInfo hitCompetitionStudentInfo);
/**
* 导出查询大赛学生列表
*
@ -55,6 +56,7 @@ public interface IHitCompetitionStudentInfoService extends IService<HitCompetiti
* @return 结果
*/
public int updateHitCompetitionStudentInfo(HitCompetitionStudentInfo hitCompetitionStudentInfo);
/**
* 修改大赛学生
*
@ -81,14 +83,17 @@ public interface IHitCompetitionStudentInfoService extends IService<HitCompetiti
/**
* 根据学号查询大赛学生信息
*
* @param studentId
* @return
*/
HitCompetitionStudentInfo selectHitCompetitionStudentInfoByStuId(String studentId);
HitCompetitionStudentInfo getStudentInfo();
/**
* 根据学校名称和组别查询队友信息
*
* @param schoolName
* @param division
* @return
@ -97,14 +102,24 @@ public interface IHitCompetitionStudentInfoService extends IService<HitCompetiti
/**
* 根据学号查询队友信息
*
* @return
*/
TeamsVo selectTeamMateInfoByStuId();
/**
* 导入数据
*
* @param hitList
* @return
*/
String importData(List<HitCompetitionStudentInfoImportVo> hitList);
/**
* 查询学生大赛报名信息
*
* @param info 请求参数
* @return
*/
HitCompetitionStudentInfo selectHitCompetitionStudentInfo(HitCompetitionStudentInfo info);
}

View File

@ -215,7 +215,6 @@ public class CmsCategoryServiceImpl extends ServiceImpl<CmsCategoryMapper, CmsCa
/**
* 获取栏目下的子栏目及文章
*
*/
@Override
public List<CMSCategoryVo> selectCmsCategoryAndContentTreeList(CmsCategoryQuery categoryQuery) {
@ -287,7 +286,7 @@ public class CmsCategoryServiceImpl extends ServiceImpl<CmsCategoryMapper, CmsCa
* 按ID查询所有文章
*/
@Override
public List<CmsContent> getLeavesContentList(Long id){
public List<CmsContent> getLeavesContentList(Long id) {
return contentMapper.selectList(new QueryWrapper<CmsContent>().and(item -> {
item.eq("category_id", id)
.eq("del_flag", 0);
@ -298,7 +297,7 @@ public class CmsCategoryServiceImpl extends ServiceImpl<CmsCategoryMapper, CmsCa
* 获取某个栏目的子栏目
*/
@Override
public List<CmsCategory> getCategoryIdByParentId(Long id){
return baseMapper.selectList(new QueryWrapper<CmsCategory>().eq("parent_id", id).orderByAsc("category_sort"));
public List<CmsCategory> getCategoryIdByParentId(Long id) {
return baseMapper.selectList(new QueryWrapper<CmsCategory>().eq("parent_id", id).eq("is_disable", 0).eq("del_flag", 0).orderByAsc("category_sort"));
}
}

View File

@ -66,8 +66,6 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
private static final Logger log = LoggerFactory.getLogger(HitCompetitionStudentInfoServiceImpl.class);
/**
* 查询大赛学生
*
@ -75,8 +73,7 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
* @return 大赛学生
*/
@Override
public HitCompetitionStudentInfo selectHitCompetitionStudentInfoById(String id)
{
public HitCompetitionStudentInfo selectHitCompetitionStudentInfoById(String id) {
return hitCompetitionStudentInfoMapper.selectHitCompetitionStudentInfoById(id);
}
@ -87,20 +84,22 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
* @return 大赛学生
*/
@Override
public List<HitCompetitionStudentInfo> selectHitCompetitionStudentInfoList(HitCompetitionStudentInfo hitCompetitionStudentInfo)
{
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
hitCompetitionStudentInfo.setYear(String.valueOf(year));
public List<HitCompetitionStudentInfo> selectHitCompetitionStudentInfoList(HitCompetitionStudentInfo hitCompetitionStudentInfo) {
if (StringUtils.isEmpty(hitCompetitionStudentInfo.getYear())) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
hitCompetitionStudentInfo.setYear(String.valueOf(year));
}
//当前教师的学校
LoginUser loginUser = SecurityUtils.getLoginUser();
HitRegistrationTeachInfo hitRegistrationTeachInfo = hitRegistrationTeachInfoMapper.selectHitRegistrationTeachInfoByUserId(loginUser.getUserId());
if(ObjectUtils.isNotEmpty(hitRegistrationTeachInfo)&&hitRegistrationTeachInfo.getStatus().equals("1")){
HitRegistrationTeachInfo hitRegistrationTeachInfo = hitRegistrationTeachInfoMapper.selectHitRegistrationTeachInfoByUserId(loginUser.getUserId(), hitCompetitionStudentInfo.getYear());
if (ObjectUtils.isNotEmpty(hitRegistrationTeachInfo) && hitRegistrationTeachInfo.getStatus().equals("1")) {
hitCompetitionStudentInfo.setSchoolName(hitRegistrationTeachInfo.getSchoolName());
}
PageUtils.startPage();
return hitCompetitionStudentInfoMapper.selectHitCompetitionStudentInfoList(hitCompetitionStudentInfo);
}
/**
* 查询大赛学生列表
*
@ -108,15 +107,14 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
* @return 大赛学生
*/
@Override
public List<HitCompetitionStudentInfo> selectHitCompetitionStudentInfoListExport(HitCompetitionStudentInfo hitCompetitionStudentInfo)
{
public List<HitCompetitionStudentInfo> selectHitCompetitionStudentInfoListExport(HitCompetitionStudentInfo hitCompetitionStudentInfo) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
hitCompetitionStudentInfo.setYear(String.valueOf(year));
//当前教师的学校
LoginUser loginUser = SecurityUtils.getLoginUser();
HitRegistrationTeachInfo hitRegistrationTeachInfo = hitRegistrationTeachInfoMapper.selectHitRegistrationTeachInfoByUserId(loginUser.getUserId());
if(ObjectUtils.isNotEmpty(hitRegistrationTeachInfo)&&hitRegistrationTeachInfo.getStatus().equals("1")){
HitRegistrationTeachInfo hitRegistrationTeachInfo = hitRegistrationTeachInfoMapper.selectHitRegistrationTeachInfoByUserId(loginUser.getUserId(), hitCompetitionStudentInfo.getYear());
if (ObjectUtils.isNotEmpty(hitRegistrationTeachInfo) && hitRegistrationTeachInfo.getStatus().equals("1")) {
hitCompetitionStudentInfo.setSchoolName(hitRegistrationTeachInfo.getSchoolName());
}
// PageUtils.startPage();
@ -130,8 +128,7 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
* @return 结果
*/
@Override
public int insertHitCompetitionStudentInfo(HitCompetitionStudentInfo hitCompetitionStudentInfo)
{
public int insertHitCompetitionStudentInfo(HitCompetitionStudentInfo hitCompetitionStudentInfo) {
//判断是否重复报名
LambdaQueryWrapper<HitCompetitionStudentInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HitCompetitionStudentInfo::getStudentId, hitCompetitionStudentInfo.getStudentId());
@ -155,17 +152,16 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
* @return 结果
*/
@Override
public int updateHitCompetitionStudentInfo(HitCompetitionStudentInfo hitCompetitionStudentInfo)
{
public int updateHitCompetitionStudentInfo(HitCompetitionStudentInfo hitCompetitionStudentInfo) {
LambdaQueryWrapper<HitCompetitionStudentInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HitCompetitionStudentInfo::getSchoolName, hitCompetitionStudentInfo.getSchoolName());
queryWrapper.eq(HitCompetitionStudentInfo::getIsPreliminary,true);
queryWrapper.eq(HitCompetitionStudentInfo::getIsPreliminary, true);
DateTime now = DateUtil.date();
DateTime dateTime = DateUtil.beginOfYear(now);
DateTime dateTime1 = DateUtil.endOfYear(now);
queryWrapper.between(HitCompetitionStudentInfo::getCreateTime, dateTime, dateTime1);
List<HitCompetitionStudentInfo> hitCompetitionStudentInfos = hitCompetitionStudentInfoMapper.selectList(queryWrapper);
if (CollectionUtil.isNotEmpty(hitCompetitionStudentInfos)&&hitCompetitionStudentInfos.size() >= 15 && hitCompetitionStudentInfo.getIsPreliminary()) {
if (CollectionUtil.isNotEmpty(hitCompetitionStudentInfos) && hitCompetitionStudentInfos.size() >= 15 && hitCompetitionStudentInfo.getIsPreliminary()) {
throw new RuntimeException("该学校入选人数已超过15人无法再添加");
}
hitCompetitionStudentInfo.setUpdateTime(DateUtils.getNowDate());
@ -182,7 +178,7 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
public int updateHitCompetitionStudentInfoUpdate(HitCompetitionStudentInfo hitCompetitionStudentInfo) {
LambdaQueryWrapper<HitCompetitionStudentInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HitCompetitionStudentInfo::getSchoolName, hitCompetitionStudentInfo.getSchoolName());
queryWrapper.eq(HitCompetitionStudentInfo::getIsPreliminary,true);
queryWrapper.eq(HitCompetitionStudentInfo::getIsPreliminary, true);
DateTime now = DateUtil.date();
DateTime dateTime = DateUtil.beginOfYear(now);
DateTime dateTime1 = DateUtil.endOfYear(now);
@ -198,8 +194,7 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
* @return 结果
*/
@Override
public int deleteHitCompetitionStudentInfoByIds(String[] ids)
{
public int deleteHitCompetitionStudentInfoByIds(String[] ids) {
return hitCompetitionStudentInfoMapper.deleteHitCompetitionStudentInfoByIds(ids);
}
@ -210,8 +205,7 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
* @return 结果
*/
@Override
public int deleteHitCompetitionStudentInfoById(String id)
{
public int deleteHitCompetitionStudentInfoById(String id) {
return hitCompetitionStudentInfoMapper.deleteHitCompetitionStudentInfoById(id);
}
@ -222,7 +216,7 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
HitCompetitionStudentInfo hitCompetitionStudentInfo = hitCompetitionStudentInfoMapper.selectOne(queryWrapper);
String com_region = sysDictDataService.selectDictLabel("com_region", hitCompetitionStudentInfo.getDivision());
hitCompetitionStudentInfo.setDivisionLabel(com_region);
if (ObjectUtils.isEmpty(hitCompetitionStudentInfo) ) {
if (ObjectUtils.isEmpty(hitCompetitionStudentInfo)) {
return new HitCompetitionStudentInfo();
}
@ -246,78 +240,78 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
// if (ObjectUtils.isNotEmpty(hitTeams)) {
//// hitCompetitionStudentInfo.setCompetition(hitTeams.getCompetition());
// }
if (ObjectUtils.isEmpty(hitCompetitionStudentInfo) ) {
if (ObjectUtils.isEmpty(hitCompetitionStudentInfo)) {
return new HitCompetitionStudentInfo();
}
String com_region = sysDictDataService.selectDictLabel("com_region", hitCompetitionStudentInfo.getDivision());
hitCompetitionStudentInfo.setDivisionLabel(com_region);
//根据学校查询领队老师
LambdaQueryWrapper<HitRegistrationTeachInfo> queryWrapper1 =new LambdaQueryWrapper<>();
queryWrapper1.eq(HitRegistrationTeachInfo::getSchoolName,hitCompetitionStudentInfo.getSchoolName())
.likeRight(HitRegistrationTeachInfo::getCreateTime, year).eq(HitRegistrationTeachInfo::getType,1).eq(HitRegistrationTeachInfo::getStatus,1);
LambdaQueryWrapper<HitRegistrationTeachInfo> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(HitRegistrationTeachInfo::getSchoolName, hitCompetitionStudentInfo.getSchoolName())
.likeRight(HitRegistrationTeachInfo::getCreateTime, year).eq(HitRegistrationTeachInfo::getType, 1).eq(HitRegistrationTeachInfo::getStatus, 1);
HitRegistrationTeachInfo hitRegistrationTeachInfo = hitRegistrationTeachInfoMapper.selectOne(queryWrapper1);
hitCompetitionStudentInfo.setLdTeacherInfo(hitRegistrationTeachInfo);
//根绝学校查询 团队成员 把自己排除掉 指导老师
LambdaQueryWrapper<HitRegistrationTeachInfo> queryWrapper2 =new LambdaQueryWrapper<>();
queryWrapper2.eq(HitRegistrationTeachInfo::getSchoolName,hitCompetitionStudentInfo.getSchoolName())
.likeRight(HitRegistrationTeachInfo::getCreateTime, year).eq(HitRegistrationTeachInfo::getType,0).eq(HitRegistrationTeachInfo::getStatus,1);
LambdaQueryWrapper<HitRegistrationTeachInfo> queryWrapper2 = new LambdaQueryWrapper<>();
queryWrapper2.eq(HitRegistrationTeachInfo::getSchoolName, hitCompetitionStudentInfo.getSchoolName())
.likeRight(HitRegistrationTeachInfo::getCreateTime, year).eq(HitRegistrationTeachInfo::getType, 0).eq(HitRegistrationTeachInfo::getStatus, 1);
List<HitRegistrationTeachInfo> hitRegistrationTeachInfos = hitRegistrationTeachInfoMapper.selectList(queryWrapper2);
//领队老师也可以是指导老师
if (ObjectUtils.isNotEmpty(hitRegistrationTeachInfo)){
if (ObjectUtils.isNotEmpty(hitRegistrationTeachInfo)) {
hitRegistrationTeachInfos.add(hitRegistrationTeachInfo);
}
hitCompetitionStudentInfo.setZdTeacherList(hitRegistrationTeachInfos);
LambdaQueryWrapper<HitCompetitionStudentInfo> queryWrapper3 =new LambdaQueryWrapper<>();
queryWrapper3.eq(HitCompetitionStudentInfo::getSchoolName,hitCompetitionStudentInfo.getSchoolName()).ne(HitCompetitionStudentInfo::getUserId,user.getUserId())
.likeRight(HitCompetitionStudentInfo::getCreateTime, year).eq(HitCompetitionStudentInfo::getIsPreliminary,1)
.and(it->{
it.isNull(HitCompetitionStudentInfo::getHitRegId).or().eq(HitCompetitionStudentInfo::getHitRegId,"");
LambdaQueryWrapper<HitCompetitionStudentInfo> queryWrapper3 = new LambdaQueryWrapper<>();
queryWrapper3.eq(HitCompetitionStudentInfo::getSchoolName, hitCompetitionStudentInfo.getSchoolName()).ne(HitCompetitionStudentInfo::getUserId, user.getUserId())
.likeRight(HitCompetitionStudentInfo::getCreateTime, year).eq(HitCompetitionStudentInfo::getIsPreliminary, 1)
.and(it -> {
it.isNull(HitCompetitionStudentInfo::getHitRegId).or().eq(HitCompetitionStudentInfo::getHitRegId, "");
});
List<HitCompetitionStudentInfo> studentInfos = this.list(queryWrapper3);
hitCompetitionStudentInfo.setTdStudentList(studentInfos);
//查询是否存在已组队团队
HitRegInfo hitRegInfos1 = regInfoService.selectHitByUserId(user.getUserId(), "1");
String status="-1";
if (ObjectUtils.isNotEmpty(hitRegInfos1)){
String status = "-1";
if (ObjectUtils.isNotEmpty(hitRegInfos1)) {
status = "1";
hitCompetitionStudentInfo.setHitRegInfo(hitRegInfos1);
List<HitRegInfoUser> teachers = hitRegInfos1.getRegInfoUsers().stream().filter(it -> {
return it.getType().equals("2");
}).collect(Collectors.toList());
String tmpStr ="";
String tmpStr = "";
for (HitRegInfoUser teacher : teachers) {
tmpStr = teacher.getUserName()+",";
tmpStr = teacher.getUserName() + ",";
}
hitCompetitionStudentInfo.setZdTeacherStr(tmpStr.substring(0,tmpStr.length()-1));
hitCompetitionStudentInfo.setZdTeacherStr(tmpStr.substring(0, tmpStr.length() - 1));
}else {
} else {
//查询是否存在已确认团队 审核中
HitRegInfo hitRegInfos2 = regInfoService.selectHitByUserId(user.getUserId(), "0");
if (ObjectUtils.isNotEmpty(hitRegInfos2)){
if (ObjectUtils.isNotEmpty(hitRegInfos2)) {
status = "0";
hitCompetitionStudentInfo.setHitRegInfo(hitRegInfos2);
List<HitRegInfoUser> teachers = hitRegInfos2.getRegInfoUsers().stream().filter(it -> {
return it.getType().equals("2");
}).collect(Collectors.toList());
String tmpStr ="";
String tmpStr = "";
for (HitRegInfoUser teacher : teachers) {
tmpStr = teacher.getUserName()+",";
tmpStr = teacher.getUserName() + ",";
}
hitCompetitionStudentInfo.setZdTeacherStr(tmpStr.substring(0,tmpStr.length()-1));
}else {
hitCompetitionStudentInfo.setZdTeacherStr(tmpStr.substring(0, tmpStr.length() - 1));
} else {
//查询是否存在待确认团队
HitRegInfo hitRegInfos3 = regInfoService.selectHitByUserId(user.getUserId(), "9");
if (ObjectUtils.isNotEmpty(hitRegInfos3)){
if (ObjectUtils.isNotEmpty(hitRegInfos3)) {
status = "9";
hitCompetitionStudentInfo.setHitRegInfo(hitRegInfos3);
List<HitRegInfoUser> teachers = hitRegInfos3.getRegInfoUsers().stream().filter(it -> {
return it.getType().equals("2");
}).collect(Collectors.toList());
String tmpStr ="";
String tmpStr = "";
for (HitRegInfoUser teacher : teachers) {
tmpStr =tmpStr+ teacher.getUserName()+",";
tmpStr = tmpStr + teacher.getUserName() + ",";
}
hitCompetitionStudentInfo.setZdTeacherStr(tmpStr.substring(0,tmpStr.length()-1));
hitCompetitionStudentInfo.setZdTeacherStr(tmpStr.substring(0, tmpStr.length() - 1));
}
}
}
@ -329,7 +323,7 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
}
@Override
public List<HitCompetitionStudentInfo> selectTeamMateBySchoolNameAndDivision(String schoolName, String division) {
public List<HitCompetitionStudentInfo> selectTeamMateBySchoolNameAndDivision(String schoolName, String division) {
//获取当前学生信息信息
SysUser user = SecurityUtils.getLoginUser().getUser();
String userName = user.getUserName();
@ -344,6 +338,7 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
/**
* 查询当前用户信息
*
* @return TeamsVo
*/
@Override
@ -363,9 +358,9 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
//学生报名信息
HitCompetitionStudentInfo studentDB = this.getOne(queryWrapper);
Integer studentDBId = studentDB.getId();
LambdaQueryWrapper<HitTeamMembers> hitTeamsLambdaQueryWrapper = new LambdaQueryWrapper<>();
hitTeamsLambdaQueryWrapper.eq(HitTeamMembers::getTeamMemberId, studentDBId);
teamsVo= selectTeamMsg(teamsVo, hitTeamsLambdaQueryWrapper);
LambdaQueryWrapper<HitTeamMembers> hitTeamsLambdaQueryWrapper = new LambdaQueryWrapper<>();
hitTeamsLambdaQueryWrapper.eq(HitTeamMembers::getTeamMemberId, studentDBId);
teamsVo = selectTeamMsg(teamsVo, hitTeamsLambdaQueryWrapper);
}
if (userType.equals("02")) {
//如果是老师则查询老师信息
@ -374,7 +369,7 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
HitRegistrationTeachInfo teacherDB = hitRegistrationTeachInfoMapper.selectOne(queryWrapper);
LambdaQueryWrapper<HitTeamMembers> hitTeamsLambdaQueryWrapper = new LambdaQueryWrapper<>();
hitTeamsLambdaQueryWrapper.eq(HitTeamMembers::getTeamMemberId, teacherDB.getId());
teamsVo= selectTeamMsg(teamsVo, hitTeamsLambdaQueryWrapper);
teamsVo = selectTeamMsg(teamsVo, hitTeamsLambdaQueryWrapper);
}
return teamsVo;
}
@ -390,15 +385,13 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
//获取当前时间
DateTime now = DateUtil.date();
Date date = new Date();
if (StringUtils.isNull(hitList) || hitList.size() == 0)
{
if (StringUtils.isNull(hitList) || hitList.size() == 0) {
throw new ServiceException("导入学生分数信息不能为空!");
}
hitList.forEach(item -> {
//判断手机号与分数是否为空
if (!StringUtils.isNull(item.getPhoneNumber()) || !StringUtils.isNull(item.getTrialsScore()))
{
if (!StringUtils.isNull(item.getPhoneNumber()) || !StringUtils.isNull(item.getTrialsScore())) {
//添加trycatch 如果报错继续往下面修改
try {
HitCompetitionStudentInfo hitCompetitionStudentInfo = BeanUtil.copyProperties(item, HitCompetitionStudentInfo.class);
@ -408,7 +401,7 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
item.setUpdateTime(date);
hitCompetitionStudentInfo.setUpdateTime(date);
hitCompetitionStudentInfoMapper.update(hitCompetitionStudentInfo, queryWrapper);
} catch (Exception e){
} catch (Exception e) {
log.error("更新学生信息失败phoneNumber: " + item.getPhoneNumber(), e);
}
@ -418,15 +411,27 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
return "导入成功";
}
/**
* 查询学生大赛报名信息
*
* @param info 请求参数
* @return
*/
@Override
public HitCompetitionStudentInfo selectHitCompetitionStudentInfo(HitCompetitionStudentInfo info) {
return hitCompetitionStudentInfoMapper.selectHitCompetitionStudentInfoByUserId(info.getUserId(), info.getYear());
}
/**
* 查询团队信息
*
* @param teamsVo
* @param hitTeamsLambdaQueryWrapper
* @return
*/
private TeamsVo selectTeamMsg(TeamsVo teamsVo, LambdaQueryWrapper<HitTeamMembers> hitTeamsLambdaQueryWrapper) {
HitTeamMembers hitTeamMembers = hitTeamMembersMapper.selectOne(hitTeamsLambdaQueryWrapper);
if (hitTeamMembers != null) {
if (hitTeamMembers != null) {
teamsVo.setTeamMateId(Long.valueOf(hitTeamMembers.getTeamMemberId()));
teamsVo.setTeamId(Long.valueOf(hitTeamMembers.getTeamId()));
teamsVo.setIsAgreeWith(String.valueOf(hitTeamMembers.getIsAgreeWith()));

View File

@ -4,9 +4,11 @@ import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -82,9 +84,13 @@ public class HitRegInfoServiceImpl implements IHitRegInfoService
@Override
public List<HitRegInfo> selectHitRegInfoList(HitRegInfo hitRegInfo)
{
if (ObjectUtil.isEmpty(hitRegInfo.getYear())) {
//获取当前年
hitRegInfo.setYear(DateUtil.format(new Date(), "yyyy"));
}
Long userId = SecurityUtils.getLoginUser().getUserId();
//判断当前登陆人是否是领队老师如果是查询该老师学校下的战队
HitRegistrationTeachInfo teacherInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(userId);
HitRegistrationTeachInfo teacherInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(userId,hitRegInfo.getYear());
if (teacherInfo != null && teacherInfo.getType().equals("1")) {
hitRegInfo.setSchoolName(teacherInfo.getSchoolName());
}
@ -97,17 +103,17 @@ public class HitRegInfoServiceImpl implements IHitRegInfoService
for (HitRegInfoUser regInfoUser : hitRegInfoUsers) {
switch (regInfoUser.getType()) {
case "3": {
HitRegistrationTeachInfo hitRegistrationTeachInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(regInfoUser.getUserId());
HitRegistrationTeachInfo hitRegistrationTeachInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(regInfoUser.getUserId(),hitRegInfo.getYear());
regInfo.setLdTeacher(hitRegistrationTeachInfo);
break;
}
case "2": {
HitRegistrationTeachInfo hitRegistrationTeachInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(regInfoUser.getUserId());
HitRegistrationTeachInfo hitRegistrationTeachInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(regInfoUser.getUserId(),hitRegInfo.getYear());
regInfo.getZdTeacher().add(hitRegistrationTeachInfo);
break;
}
case "1":
HitCompetitionStudentInfo studentInfo = hitCompetitionStudentInfoMapper.selectHitCompetitionStudentInfoByUserId(regInfoUser.getUserId());
HitCompetitionStudentInfo studentInfo = hitCompetitionStudentInfoMapper.selectHitCompetitionStudentInfoByUserId(regInfoUser.getUserId(),hitRegInfo.getYear());
regInfo.getStudentUserss().add(studentInfo);
break;
}
@ -125,9 +131,13 @@ public class HitRegInfoServiceImpl implements IHitRegInfoService
@Override
public List<HitRegInfo> selectHitRegInfoListExport(HitRegInfo hitRegInfo)
{
if (ObjectUtil.isEmpty(hitRegInfo.getYear())) {
//获取当前年
hitRegInfo.setYear(DateUtil.format(new Date(), "yyyy"));
}
Long userId = SecurityUtils.getLoginUser().getUserId();
//判断当前登陆人是否是领队老师如果是查询该老师学校下的战队
HitRegistrationTeachInfo teacherInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(userId);
HitRegistrationTeachInfo teacherInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(userId,hitRegInfo.getYear());
if (teacherInfo != null && teacherInfo.getType().equals("1")) {
hitRegInfo.setSchoolName(teacherInfo.getSchoolName());
}
@ -139,17 +149,17 @@ public class HitRegInfoServiceImpl implements IHitRegInfoService
for (HitRegInfoUser regInfoUser : hitRegInfoUsers) {
switch (regInfoUser.getType()) {
case "3": {
HitRegistrationTeachInfo hitRegistrationTeachInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(regInfoUser.getUserId());
HitRegistrationTeachInfo hitRegistrationTeachInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(regInfoUser.getUserId(),hitRegInfo.getYear());
regInfo.setLdTeacher(hitRegistrationTeachInfo);
break;
}
case "2": {
HitRegistrationTeachInfo hitRegistrationTeachInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(regInfoUser.getUserId());
HitRegistrationTeachInfo hitRegistrationTeachInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(regInfoUser.getUserId(),hitRegInfo.getYear());
regInfo.getZdTeacher().add(hitRegistrationTeachInfo);
break;
}
case "1":
HitCompetitionStudentInfo studentInfo = hitCompetitionStudentInfoMapper.selectHitCompetitionStudentInfoByUserId(regInfoUser.getUserId());
HitCompetitionStudentInfo studentInfo = hitCompetitionStudentInfoMapper.selectHitCompetitionStudentInfoByUserId(regInfoUser.getUserId(),hitRegInfo.getYear());
regInfo.getStudentUserss().add(studentInfo);
break;
}
@ -372,7 +382,7 @@ public class HitRegInfoServiceImpl implements IHitRegInfoService
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
HitRegInfo hitRegInfo = hitRegInfoMapper.selectHitByUserId2(userId,String.valueOf(year));
if (ObjectUtils.isNotEmpty(hitRegInfo)){
if (ObjectUtils.isNotEmpty(hitRegInfo)) {
HitRegInfoUser hitRegInfoUser = new HitRegInfoUser();
hitRegInfoUser.setRegId(hitRegInfo.getId());
List<HitRegInfoUser> hitRegInfoUsers = regInfoUserService.selectHitRegInfoUserList(hitRegInfoUser);
@ -383,6 +393,10 @@ public class HitRegInfoServiceImpl implements IHitRegInfoService
@Override
public List<HitRegInfo> selectStudentHitRegInfoList(HitRegInfo hitRegInfo) {
if (ObjectUtil.isEmpty(hitRegInfo.getYear())) {
//获取当前年
hitRegInfo.setYear(DateUtil.format(new Date(), "yyyy"));
}
Long userId = SecurityUtils.getLoginUser().getUserId();
//判断当前登陆人是否是领队老师如果是查询该老师学校下的战队
//查询当前学生所在的战队信息
@ -415,17 +429,17 @@ public class HitRegInfoServiceImpl implements IHitRegInfoService
for (HitRegInfoUser regInfoUser : hitRegInfoUsers) {
switch (regInfoUser.getType()) {
case "3": {
HitRegistrationTeachInfo hitRegistrationTeachInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(regInfoUser.getUserId());
HitRegistrationTeachInfo hitRegistrationTeachInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(regInfoUser.getUserId(), regInfo.getYear());
regInfo.setLdTeacher(hitRegistrationTeachInfo);
break;
}
case "2": {
HitRegistrationTeachInfo hitRegistrationTeachInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(regInfoUser.getUserId());
HitRegistrationTeachInfo hitRegistrationTeachInfo = teachInfoMapper.selectHitRegistrationTeachInfoByUserId(regInfoUser.getUserId(), regInfo.getYear());
regInfo.getZdTeacher().add(hitRegistrationTeachInfo);
break;
}
case "1":
HitCompetitionStudentInfo studentInfo = hitCompetitionStudentInfoMapper.selectHitCompetitionStudentInfoByUserId(regInfoUser.getUserId());
HitCompetitionStudentInfo studentInfo = hitCompetitionStudentInfoMapper.selectHitCompetitionStudentInfoByUserId(regInfoUser.getUserId(), regInfo.getYear());
regInfo.getStudentUserss().add(studentInfo);
break;
}

View File

@ -63,16 +63,18 @@ public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeac
/**
* 根据用户id获取教师信息
*
* @param id
* @return
*/
@Override
public HitRegistrationTeachInfo selectHitRegistrationTeachInfoByUseryId(Long id) {
LambdaQueryWrapper<HitRegistrationTeachInfo> queryWrapper =new LambdaQueryWrapper<>();
queryWrapper.eq(HitRegistrationTeachInfo::getUserId,id);
LambdaQueryWrapper<HitRegistrationTeachInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HitRegistrationTeachInfo::getUserId, id);
HitRegistrationTeachInfo hitRegistrationTeachInfo = hitRegistrationTeachInfoMapper.selectOne(queryWrapper);
return hitRegistrationTeachInfo;
}
/**
* 查询教师信息列表
*
@ -82,14 +84,16 @@ public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeac
@Override
public List<HitRegistrationTeachInfo> selectHitRegistrationTeachInfoList(HitRegistrationTeachInfo hitRegistrationTeachInfo) {
//获取当前年份
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy");
String currentYear = LocalDate.now().format(formatter);
hitRegistrationTeachInfo.setYear(currentYear);
if (ObjectUtils.isEmpty(hitRegistrationTeachInfo.getYear())) {
//获取当前年份
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy");
String currentYear = LocalDate.now().format(formatter);
hitRegistrationTeachInfo.setYear(currentYear);
}
//当前教师的学校
LoginUser loginUser = SecurityUtils.getLoginUser();
HitRegistrationTeachInfo hitRegistrationTeachInfo1 = hitRegistrationTeachInfoMapper.selectHitRegistrationTeachInfoByUserId(loginUser.getUserId());
if(ObjectUtils.isNotEmpty(hitRegistrationTeachInfo1)){
HitRegistrationTeachInfo hitRegistrationTeachInfo1 = hitRegistrationTeachInfoMapper.selectHitRegistrationTeachInfoByUserId(loginUser.getUserId(), hitRegistrationTeachInfo.getYear());
if (ObjectUtils.isNotEmpty(hitRegistrationTeachInfo1)) {
hitRegistrationTeachInfo.setSchoolName(hitRegistrationTeachInfo1.getSchoolName());
}
PageUtils.startPage();
@ -116,14 +120,14 @@ public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeac
*/
@Override
public int updateHitRegistrationTeachInfo(HitRegistrationTeachInfo hitRegistrationTeachInfo) throws Exception {
if (hitRegistrationTeachInfo.getType().equals("1")&&hitRegistrationTeachInfo.getStatus().equals("1")){
if (hitRegistrationTeachInfo.getType().equals("1") && hitRegistrationTeachInfo.getStatus().equals("1")) {
//查询系统中是否存在已审核通过的同学校领队老师
LambdaQueryWrapper<HitRegistrationTeachInfo> queryWrapper =new LambdaQueryWrapper<>();
queryWrapper.eq(HitRegistrationTeachInfo::getType,"1")
.eq(HitRegistrationTeachInfo::getSchoolName,hitRegistrationTeachInfo.getSchoolName())
.eq(HitRegistrationTeachInfo::getStatus,"1").last("limit 1");
LambdaQueryWrapper<HitRegistrationTeachInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(HitRegistrationTeachInfo::getType, "1")
.eq(HitRegistrationTeachInfo::getSchoolName, hitRegistrationTeachInfo.getSchoolName())
.eq(HitRegistrationTeachInfo::getStatus, "1").last("limit 1");
HitRegistrationTeachInfo hitRegistrationTeachInfo1 = hitRegistrationTeachInfoMapper.selectOne(queryWrapper);
if (ObjectUtils.isNotEmpty(hitRegistrationTeachInfo1)){
if (ObjectUtils.isNotEmpty(hitRegistrationTeachInfo1)) {
throw new Exception("已存在领队老师");
}
@ -156,6 +160,7 @@ public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeac
/**
* 根据学校名称和赛区查询教师信息
*
* @param schoolName
* @param division
* @return
@ -182,7 +187,7 @@ public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeac
validateCaptcha(username, user.getCode(), user.getUuid());
}
boolean validPhoneNumber = isValidPhoneNumber(username);
if (StringUtils.isEmpty(username)) {
if (StringUtils.isEmpty(username)) {
msg = "用户名不能为空";
} else if (StringUtils.isEmpty(password)) {
msg = "用户密码不能为空";
@ -198,19 +203,19 @@ public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeac
sysUser.setNickName(user.getNickName());
sysUser.setPassword(SecurityUtils.encryptPassword(password));
sysUser.setUserType(user.getUserType());
boolean regFlag ;
if (user.getUserType().equals("03")){
boolean regFlag;
if (user.getUserType().equals("03")) {
//领队老师
sysUser.setRoleIds(new Long[]{102L});
regFlag = userService.insertUser(sysUser)>0;
regFlag = userService.insertUser(sysUser) > 0;
} else if (user.getUserType().equals("02")) {
//指导老师
sysUser.setRoleIds(new Long[]{103L});
regFlag = userService.insertUser(sysUser)>0;
regFlag = userService.insertUser(sysUser) > 0;
} else {
//指导老师
sysUser.setRoleIds(new Long[]{2L});
regFlag= userService.registerUser(sysUser);
regFlag = userService.insertUser(sysUser) > 0;
}
if (!regFlag) {
msg = "注册失败,请联系系统管理人员";
@ -219,10 +224,10 @@ public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeac
}
}
if(StringUtils.isNotEmpty(msg)){
if (StringUtils.isNotEmpty(msg)) {
throw new Exception(msg);
}
if (user.getUserType().equals("02")){
if (user.getUserType().equals("02")) {
HitRegistrationTeachInfo teachInfo = user.getHitRegistrationTeachInfo();
teachInfo.setRelatedAccounts(user.getUsername());
teachInfo.setStatus("1");
@ -230,7 +235,7 @@ public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeac
teachInfo.setTeacherName(user.getNickName());
teachInfo.setUserId(sysUser.getUserId());
this.insertHitRegistrationTeachInfo(teachInfo);
}else if (user.getUserType().equals("03")){
} else if (user.getUserType().equals("03")) {
HitRegistrationTeachInfo teachInfo = user.getHitRegistrationTeachInfo();
teachInfo.setRelatedAccounts(user.getUsername());
teachInfo.setStatus("0");
@ -248,8 +253,8 @@ public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeac
* @return
*/
@Override
public List<Map> getSchoolName(String schoolename,String year) {
return hitRegistrationTeachInfoMapper.selectSchoolName(schoolename,year);
public List<Map> getSchoolName(String schoolename, String year) {
return hitRegistrationTeachInfoMapper.selectSchoolName(schoolename, year);
}
/**

View File

@ -40,6 +40,7 @@
<if test="stuName != null and stuName != ''"> and stu_name like concat('%', #{stuName}, '%')</if>
<if test="schoolName != null and schoolName != ''"> and school_name = #{schoolName} </if>
<if test="collegeName != null and collegeName != ''"> and college_name like concat('%', #{collegeName}, '%')</if>
<if test="schoolName != null and schoolName != ''"> and school_name like concat('%', #{schoolName}, '%')</if>
<if test="major != null and major != ''"> and major = #{major}</if>
<if test="division != null and division != ''"> and division = #{division}</if>
<if test="phoneNumber != null and phoneNumber != ''"> and phone_number = #{phoneNumber}</if>
@ -58,9 +59,9 @@
where id = #{id}
</select>
<select id="selectHitCompetitionStudentInfoByUserId"
resultType="com.ruoyi.cms.domain.HitCompetitionStudentInfo" parameterType="java.lang.Long">
resultType="com.ruoyi.cms.domain.HitCompetitionStudentInfo" >
select * from hit_competition_student_info
where user_id = #{userId} and YEAR(create_time) = YEAR(CURRENT_DATE)
where user_id = #{userId} and create_time like concat(#{year},'%')
</select>
<insert id="insertHitCompetitionStudentInfo" parameterType="HitCompetitionStudentInfo" useGeneratedKeys="true" keyProperty="id">
@ -115,6 +116,7 @@
update hit_competition_student_info
<trim prefix="SET" suffixOverrides=",">
<if test="hitRegId != null">hit_reg_id = #{hitRegId},</if>
<if test="studentId != null">student_id = #{studentId},</if>
<if test="stuName != null and stuName != ''">stu_name = #{stuName},</if>
<if test="schoolName != null and schoolName != ''">school_name = #{schoolName},</if>
<if test="collegeName != null and collegeName != ''">college_name = #{collegeName},</if>

View File

@ -40,6 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="sampleAddress != null and sampleAddress != ''"> and sample_address = #{sampleAddress}</if>
<if test="uploadFile != null and uploadFile != ''"> and upload_file = #{uploadFile}</if>
<if test="createTime != null " > and create_time LIKE concat('%', date_format(#{createTime}, '%Y'), '%')</if>
<if test="year != null " > and create_time LIKE concat(#{year}, '%')</if>
</where>
order by audit_status asc,create_time desc
</select>

View File

@ -55,7 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectHitRegistrationTeachInfoByUserId"
resultType="com.ruoyi.common.core.domain.HitRegistrationTeachInfo">
select * from hit_registration_teach_info
where user_id = #{userId} and YEAR(create_time) = YEAR(CURRENT_DATE)
where user_id = #{userId} and create_time like concat(#{year},'%')
</select>
<select id="selectSchoolName" resultType="java.util.Map">

View File

@ -1,379 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.cms.mapper.CmsContentMapper">
<resultMap type="CmsContent" id="CmsContentResult">
<result property="id" column="id"/>
<result property="categoryId" column="category_id"/>
<result property="contentType" column="content_type"/>
<result property="contentTitle" column="content_title"/>
<result property="contentImg" column="content_img"/>
<result property="contentDetail" column="content_detail"/>
<result property="source" column="source"/>
<result property="sourceUrl" column="source_url"/>
<result property="original" column="original"/>
<result property="author" column="author"/>
<result property="sortNum" column="sort_num"/>
<result property="editor" column="editor"/>
<result property="summary" column="summary"/>
<result property="tagName" column="tag_name"/>
<result property="status" column="status"/>
<result property="publishDate" column="publish_date"/>
<result property="offlineDate" column="offline_date"/>
<result property="isAccessory" column="is_accessory"/>
<result property="accessoryUrl" column="accessory_url" javaType="java.util.List"
typeHandler="com.ruoyi.system.handler.MysqlTypeHandler"/>
<result property="remark" column="remark"/>
<result property="delFlag" column="del_flag"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
<result property="imageUrl" column="image_url" javaType="java.util.List"
typeHandler="com.ruoyi.system.handler.MysqlTypeHandler"/>
<result property="videoUrl" column="video_url" javaType="java.util.List"
typeHandler="com.ruoyi.system.handler.MysqlTypeHandler"/>
<result property="linkType" column="link_type" />
<result property="link" column="link" />
<result property="count" column="count" />
</resultMap>
<sql id="selectCmsContentVo">
select id,
category_id,
content_type,
image_url,
video_url,
content_title,
content_img,
content_detail,
source,
source_url,
original,
author,
sort_num,
editor,
summary,
tag_name,
status,
publish_date,
offline_date,
is_accessory,
accessory_url,
remark,
del_flag,
create_time,
create_by,
update_time,
update_by,
link_type,
link,
count
from cms_content
</sql>
<select id="selectCmsContentList" parameterType="CmsContent" resultMap="CmsContentResult">
select id,
category_id,
content_type,
image_url,
video_url,
content_title,
content_img,
content_detail,
source,
source_url,
original,
author,
sort_num,
editor,
summary,
tag_name,
status,
publish_date,
offline_date,
is_accessory,
accessory_url,
remark,
del_flag,
create_time,
create_by,
update_time,
update_by,
link_type,
link,
count
from cms_content
<where>
<if test="categoryId != null ">and category_id = #{categoryId}</if>
<if test="contentType != null ">and content_type = #{contentType}</if>
<if test="contentTitle != null and contentTitle != ''">and content_title like concat('%', #{contentTitle},
'%')
</if>
<if test="contentImg != null and contentImg != ''">and content_img = #{contentImg}</if>
<if test="contentDetail != null and contentDetail != ''">and content_detail = #{contentDetail}</if>
<if test="source != null and source != ''">and source = #{source}</if>
<if test="sourceUrl != null and sourceUrl != ''">and source_url = #{sourceUrl}</if>
<if test="original != null ">and original = #{original}</if>
<if test="author != null and author != ''">and author = #{author}</if>
<if test="editor != null and editor != ''">and editor = #{editor}</if>
<if test="summary != null and summary != ''">and summary = #{summary}</if>
<if test="status != null ">and status = #{status}</if>
<if test="publishDate != null ">and publish_date = #{publishDate}</if>
<if test="offlineDate != null ">and offline_date = #{offlineDate}</if>
<if test="isAccessory != null ">and is_accessory = #{isAccessory}</if>
<if test="accessoryUrl != null and accessoryUrl != ''">and accessory_url = #{accessoryUrl}</if>
<if test="delFlag != null">and del_flag = #{delFlag}</if>
</where>
order by sort_num ASC, create_time desc, update_time desc
</select>
<select id="contentList" parameterType="CmsContent" resultMap="CmsContentResult">
select id,
category_id,
content_type,
image_url,
video_url,
content_title,
content_img,
source,
source_url,
original,
author,
sort_num,
editor,
summary,
tag_name,
status,
publish_date,
offline_date,
is_accessory,
accessory_url,
remark,
del_flag,
create_time,
create_by,
update_time,
update_by,
link_type,
link,
count
from cms_content
<where>
<if test="categoryId != null ">and category_id = #{categoryId}</if>
<if test="contentType != null ">and content_type = #{contentType}</if>
<if test="contentTitle != null and contentTitle != ''">and content_title like concat('%', #{contentTitle},
'%')
</if>
<if test="contentImg != null and contentImg != ''">and content_img = #{contentImg}</if>
<if test="contentDetail != null and contentDetail != ''">and content_detail = #{contentDetail}</if>
<if test="source != null and source != ''">and source = #{source}</if>
<if test="sourceUrl != null and sourceUrl != ''">and source_url = #{sourceUrl}</if>
<if test="original != null ">and original = #{original}</if>
<if test="author != null and author != ''">and author = #{author}</if>
<if test="editor != null and editor != ''">and editor = #{editor}</if>
<if test="summary != null and summary != ''">and summary = #{summary}</if>
<if test="status != null ">and status = #{status}</if>
<if test="publishDate != null ">and publish_date = #{publishDate}</if>
<if test="offlineDate != null ">and offline_date = #{offlineDate}</if>
<if test="isAccessory != null ">and is_accessory = #{isAccessory}</if>
<if test="accessoryUrl != null and accessoryUrl != ''">and accessory_url = #{accessoryUrl}</if>
<if test="delFlag != null">and del_flag = #{delFlag}</if>
</where>
order by sort_num ASC, create_time desc, update_time desc
</select>
<select id="selectCmsContentById" parameterType="Long" resultMap="CmsContentResult">
<include refid="selectCmsContentVo"/>
where id = #{id}
</select>
<sql id="selectCmsContentVoNew">
select id,
category_id,
content_type,
image_url,
video_url,
content_title,
content_img,
source,
source_url,
tag_name,
original,
author,
sort_num,
editor,
summary,
status,
publish_date,
offline_date,
is_accessory,
accessory_url,
remark,
del_flag,
create_time,
create_by,
update_time,
update_by,
link_type,
link,
count
from cms_content
</sql>
<select id="selectCmsContentPart" resultMap="CmsContentResult">
<include refid="selectCmsContentVoNew"></include>
<where>
<if test="categoryId != null ">and category_id = #{categoryId}</if>
<if test="contentType != null ">and content_type = #{contentType}</if>
<if test="contentTitle != null and contentTitle != ''">and content_title like concat('%', #{contentTitle},
'%')
</if>
<if test="contentImg != null and contentImg != ''">and content_img = #{contentImg}</if>
<if test="source != null and source != ''">and source = #{source}</if>
<if test="sourceUrl != null and sourceUrl != ''">and source_url = #{sourceUrl}</if>
<if test="original != null ">and original = #{original}</if>
<if test="author != null and author != ''">and author = #{author}</if>
<if test="editor != null and editor != ''">and editor = #{editor}</if>
<if test="summary != null and summary != ''">and summary = #{summary}</if>
<if test="status != null ">and status = #{status}</if>
<if test="publishDate != null ">and publish_date = #{publishDate}</if>
<if test="offlineDate != null ">and offline_date = #{offlineDate}</if>
<if test="isAccessory != null ">and is_accessory = #{isAccessory}</if>
<if test="accessoryUrl != null and accessoryUrl != ''">and accessory_url = #{accessoryUrl}</if>
<if test="delFlag != null">and del_flag = #{delFlag}</if>
</where>
order by sort_num ASC, create_time desc, update_time desc
</select>
<select id="selectCmsContentByContentTitle" resultType="com.ruoyi.cms.domain.CmsContent"
parameterType="java.lang.String">
select * from cms_content where content_title = #{contentTitle}
</select>
<insert id="insertCmsContent" parameterType="CmsContent">
insert into cms_content
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="categoryId != null">category_id,</if>
<if test="contentType != null">content_type,</if>
<if test="contentTitle != null and contentTitle != ''">content_title,</if>
<if test="contentImg != null and contentImg != ''">content_img,</if>
<if test="contentDetail != null and contentDetail != ''">content_detail,</if>
<if test="source != null and source != ''">source,</if>
<if test="sourceUrl != null and sourceUrl != ''">source_url,</if>
<if test="original != null and original != ''">original,</if>
<if test="author != null and author != ''">author,</if>
<if test="sortNum != null and sortNum != ''">sort_num,</if>
<if test="editor != null and editor != ''">editor,</if>
<if test="tagName != null and tagName != ''">tag_name,</if>
<if test="summary != null and summary != ''">summary,</if>
<if test="status != null and status != ''">status,</if>
<if test="publishDate != null">publish_date,</if>
<if test="offlineDate != null">offline_date,</if>
<if test="isAccessory != null and isAccessory != ''">is_accessory,</if>
<if test="accessoryUrl != null and accessoryUrl.size() != 0">accessory_url,</if>
<if test="remark != null">remark,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="linkType != null">link_type,</if>
<if test="link != null">link,</if>
<if test="imageUrl != null and imageUrl.size() != 0">image_url,</if>
<if test="videoUrl != null and videoUrl.size() != 0">video_url,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="categoryId != null">#{categoryId},</if>
<if test="contentType != null">#{contentType},</if>
<if test="contentTitle != null and contentTitle != ''">#{contentTitle},</if>
<if test="contentImg != null and contentImg != ''">#{contentImg},</if>
<if test="contentDetail != null and contentDetail != ''">#{contentDetail},</if>
<if test="source != null and source != ''">#{source},</if>
<if test="sourceUrl != null and sourceUrl != ''">#{sourceUrl},</if>
<if test="original != null and original != ''">#{original},</if>
<if test="author != null and author != ''">#{author},</if>
<if test="sortNum != null and sortNum != ''">#{sortNum},</if>
<if test="editor != null and editor != ''">#{editor},</if>
<if test="tagName != null and tagName != ''">#{tagName},</if>
<if test="summary != null and summary != ''">#{summary},</if>
<if test="status != null and status != ''">#{status},</if>
<if test="publishDate != null">#{publishDate},</if>
<if test="offlineDate != null">#{offlineDate},</if>
<if test="isAccessory != null and isAccessory != ''">#{isAccessory},</if>
<if test="accessoryUrl != null and accessoryUrl.size() != 0">
#{accessoryUrl,jdbcType=OTHER,typeHandler=com.ruoyi.system.handler.MysqlTypeHandler},
</if>
<if test="remark != null">#{remark},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="linkType != null">#{linkType},</if>
<if test="link != null">#{link},</if>
<if test="imageUrl != null and imageUrl.size() != 0">
#{imageUrl,jdbcType=OTHER,typeHandler=com.ruoyi.system.handler.MysqlTypeHandler},
</if>
<if test="videoUrl != null and videoUrl.size() != 0">
#{videoUrl,jdbcType=OTHER,typeHandler=com.ruoyi.system.handler.MysqlTypeHandler},
</if>
</trim>
</insert>
<update id="updateCmsContent" parameterType="CmsContent">
update cms_content
<trim prefix="SET" suffixOverrides=",">
category_id = #{categoryId},
content_type = #{contentType},
content_title = #{contentTitle},
content_img = #{contentImg},
content_detail = #{contentDetail},
source = #{source},
source_url = #{sourceUrl},
original = #{original},
author = #{author},
tag_name = #{tagName},
editor = #{editor},
sort_num = #{sortNum},
summary = #{summary},
status = #{status},
publish_date = #{publishDate},
offline_date = #{offlineDate},
is_accessory = #{isAccessory},
accessory_url = #{accessoryUrl,jdbcType=OTHER,typeHandler=com.ruoyi.system.handler.MysqlTypeHandler},
remark = #{remark},
del_flag = #{delFlag},
create_time = #{createTime},
create_by = #{createBy},
update_time = #{updateTime},
update_by = #{updateBy},
link_type = #{linkType},
link = #{link},
image_url = #{imageUrl,jdbcType=OTHER,typeHandler=com.ruoyi.system.handler.MysqlTypeHandler},
video_url = #{videoUrl,jdbcType=OTHER,typeHandler=com.ruoyi.system.handler.MysqlTypeHandler},
</trim>
where id = #{id}
</update>
<update id="updateCount" parameterType="Long">
update cms_content set count = count + 1 where id = #{id}
</update>
<delete id="deleteCmsContentById" parameterType="Long">
delete
from cms_content
where id = #{id}
</delete>
<delete id="deleteCmsContentByIds" parameterType="String">
delete from cms_content where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

View File

@ -1,6 +1,9 @@
package com.ruoyi.framework.web.service;
import javax.annotation.Resource;
import com.ruoyi.common.core.domain.entity.SysRole;
import io.netty.util.internal.ObjectUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.BadCredentialsException;
@ -96,6 +99,19 @@ public class SysLoginService
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
LoginUser loginUser = (LoginUser) authentication.getPrincipal();
recordLoginInfo(loginUser.getUserId());
//判断当前登陆人是否是学生
SysUser sysUser = userService.selectUserById(loginUser.getUserId());
if (sysUser != null && sysUser.getUserType().equals("01")) {
//查询当前学生是否有普通角色
SysRole sysRole = sysUser.getRoles().stream().filter(role -> "common".equals(role.getRoleKey()))
.findFirst().orElse(null);
if (sysRole == null) {
//给学生添加普通角色
userService.insertUserAuth(sysUser.getUserId(), new Long[]{2L});
}
}
// 生成token
return tokenService.createToken(loginUser);
}

View File

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<link rel="icon" href="<%= BASE_URL %>logo.png">
<title><%= webpackConfig.name %></title>
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
<style>

BIN
ruoyi-ui/public/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -0,0 +1,18 @@
import request from '@/utils/request'
// 校园赛报名信息
export function queryCompetitionStudentInfo(query) {
return request({
url: '/system/hit_stu_info/queryStudentInfo',
method: 'get',
params: query
})
}
// 校园赛报名信息
export function editCompetitionStudentInfo(data) {
return request({
url: '/system/hit_stu_info/editInfo',
method: 'put',
data: data
})
}

View File

@ -13,12 +13,19 @@
<el-form-item label="团队名称" prop="teamName">
<el-input v-model="queryParams.teamName" placeholder="请输入团队名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="大赛年份" prop="competitionYear">
<el-select v-model="queryParams.createTime" placeholder="请选择">
<el-option <el-option v-for="item in yearList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-form-item label="年份" prop="year">
<el-date-picker
v-model="queryParams.year"
type="year"
placeholder="选择年份">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="大赛年份" prop="competitionYear">-->
<!-- <el-select v-model="queryParams.createTime" placeholder="请选择">-->
<!-- <el-option v-for="item in yearList" :key="item.value" :label="item.label" :value="item.value">-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置刷新</el-button>
@ -26,18 +33,6 @@
</el-form>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="danger"-->
<!-- plain-->
<!-- icon="el-icon-delete"-->
<!-- size="mini"-->
<!-- :disabled="multiple"-->
<!-- @click="handleDelete"-->
<!-- v-hasPermi="['hit:hitRegistrationStudentInfo:remove']"-->
<!-- >删除</el-button>-->
<!-- </el-col>-->
<!-- <el-col :span="1.5"> -->
<el-col :span="1.5">
<el-button
type="warning"
@ -123,10 +118,10 @@
<div v-if="props.row.auditStatus == '0' " style="color:#007bff;"> 待审核</div>
<div v-if="props.row.auditStatus == '1' " style="color:green;"> 通过</div>
<div v-if="props.row.auditStatus == '2' " style="color:red;"> 拒绝</div>
<div v-if="props.row.registrationInformation.status == '0' && props.row.zdTeacherList.includes(userId) && techerType == '0' && props.row.auditStatus == '9'" style="color:#007bff;"> 待确认</div>
<div v-if="props.row.registrationInformation.status == '1' && props.row.zdTeacherList.includes(userId) && techerType == '0' && props.row.auditStatus == '9'" style="color:green;"> 已同意</div>
<div v-if="props.row.registrationInformation.status == '2' && props.row.zdTeacherList.includes(userId) && techerType == '0' && props.row.auditStatus == '9'" style="color:red;"> 已拒绝</div>
<div v-if="props.row.registrationInformation && props.row.registrationInformation.status == '0' && props.row.zdTeacherList.includes(userId) && techerType == '0' && props.row.auditStatus == '9'" style="color:#007bff;"> 待确认</div>
<div v-if="props.row.registrationInformation && props.row.registrationInformation.status == '1' && props.row.zdTeacherList.includes(userId) && techerType == '0' && props.row.auditStatus == '9'" style="color:green;"> 已同意</div>
<div v-if="props.row.registrationInformation && props.row.registrationInformation.status == '2' && props.row.zdTeacherList.includes(userId) && techerType == '0' && props.row.auditStatus == '9'" style="color:red;"> 已拒绝</div>
<!--&& props.row.zdTeacherList.includes(userId)-->
</template>
</el-table-column>
@ -152,14 +147,16 @@
</el-popconfirm>
<!-- 指导老师 -->
<!---->
<el-popconfirm title="确定当前操作"
@confirm="submitData(scope.row.registrationInformation,1)"
v-if="techerType == '0' && scope.row.zdTeacherList.includes(userId) && scope.row.auditStatus == '9'">
v-if="techerType == '0' && (scope.row.zdTeacherList) && scope.row.zdTeacherList.includes(userId) && scope.row.auditStatus == '9'">
<el-button size="mini" type="text" slot="reference">同意</el-button>
</el-popconfirm>
<!---->
<el-popconfirm title="确定当前操作?" style="margin-left: 10px"
v-if="techerType == '0' && scope.row.zdTeacherList.includes(userId) && scope.row.auditStatus == '9'"
v-if="techerType == '0' && (scope.row.zdTeacherList ) && scope.row.zdTeacherList.includes(userId) && scope.row.auditStatus == '9'"
@confirm="submitData(scope.row.registrationInformation,2)">
<el-button size="mini" type="text" slot="reference">拒绝</el-button>
</el-popconfirm>
@ -195,7 +192,7 @@
<el-form-item label="联系电话">
<el-input v-model="currentRow.sampleNumber"></el-input>
</el-form-item>
<el-form-item label="附件">
<el-form-item labe l="附件">
<FileUpload :file-type="['doc','zip', 'docx', 'pdf']" v-model="currentRow.uploadFile" ></FileUpload>
</el-form-item>
</el-form>
@ -225,6 +222,7 @@ import {
import { selectBaseInfo, editStatus } from '@/api/cms/baseInfo'
import { getHitRegistrationTeachInfoByUserId, selectByUserId } from '@/api/hit/teacherInfo'
import { editRegUser } from '@/api/officialWebsite/registerStudent'
import {mapState} from "vuex";
export default {
name: "HitRegistrationStudentInfo",
@ -269,7 +267,7 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
year: null,
year: new Date().getFullYear().toString(),
competitionName: null,
stuName: null,
stuGender: null,
@ -321,9 +319,8 @@ export default {
})
this.yearList = this.years();
// id
console.log('当前登陆人id', this.$store);
this.userId = this.$store.state.user.id
this.getTeachInfoByIds(this.$store.state.user.id)
this.getTeachInfoByIds(this.userId)
},
@ -331,6 +328,7 @@ export default {
/** 查询报名信息列表 */
getList() {
this.loading = true;
this.queryParams.year = new Date(this.queryParams.year).getFullYear().toString()
listHitRegistrationStudentInfo(this.queryParams).then(response => {
this.HitRegistrationStudentInfoList = response.rows;
//
@ -339,38 +337,40 @@ export default {
}
console.log("报名信息", this.HitRegistrationStudentInfoList);
//forthis.HitRegistrationStudentInfoList
for (let i = 0; i < this.HitRegistrationStudentInfoList.length; i++) {
//
this.HitRegistrationStudentInfoList[i].zdTeacherList =this.HitRegistrationStudentInfoList[i].zdTeacher.map(teacher => teacher.userId)
this.HitRegistrationStudentInfoList[i].registrationInformation= {}
//this.registrationInformation
for (let j = 0; j < this.registrationInformation.length; j++) {
if (this.registrationInformation[j].regId == this.HitRegistrationStudentInfoList[i].id){
this.HitRegistrationStudentInfoList[i].registrationInformation = this.registrationInformation[j]
}
}
this.HitRegistrationStudentInfoList[i].competitionName = ""
//this.HitRegistrationStudentInfoList[i].competition
if (this.HitRegistrationStudentInfoList[i].competition != null) {
if (this.HitRegistrationStudentInfoList.length != 0) {
for (let i = 0; i < this.HitRegistrationStudentInfoList.length; i++) {
//
this.HitRegistrationStudentInfoList[i].zdTeacherList = this.HitRegistrationStudentInfoList[i].zdTeacher.map(teacher => teacher.userId)
this.HitRegistrationStudentInfoList[i].registrationInformation = {}
//this.registrationInformation
if (this.registrationInformation) {
for (let j = 0; j < this.registrationInformation.length; j++) {
if (this.registrationInformation[j].regId == this.HitRegistrationStudentInfoList[i].id) {
this.HitRegistrationStudentInfoList[i].registrationInformation = this.registrationInformation[j]
}
}
this.HitRegistrationStudentInfoList[i].competitionName = ""
//this.HitRegistrationStudentInfoList[i].competition
if (this.HitRegistrationStudentInfoList[i].competition != null) {
const arr = this.splitStringToArray(this.HitRegistrationStudentInfoList[i].competition)
const arr2 = []
// arr
for (let k = 0; k < arr.length; k++) {
//
if (arr[k] == "1") {
arr2.push('化验赛')
// this.HitRegistrationStudentInfoList[0].competitionName += ""
} else if (arr[k] == "2") {
arr2.push('虚拟赛')
// this.HitRegistrationStudentInfoList[0].competitionName += ","
const arr = this.splitStringToArray(this.HitRegistrationStudentInfoList[i].competition)
const arr2 = []
// arr
for (let k = 0; k < arr.length; k++) {
//
if (arr[k] == "1") {
arr2.push('化验赛')
// this.HitRegistrationStudentInfoList[0].competitionName += ""
} else if (arr[k] == "2") {
arr2.push('虚拟赛')
// this.HitRegistrationStudentInfoList[0].competitionName += ","
}
}
this.HitRegistrationStudentInfoList[i].competitionName = this.arrayToString(arr2);
}
}
this.HitRegistrationStudentInfoList[i].competitionName = this.arrayToString(arr2);
}
}
console.log("this.HitRegistrationStudentInfoList", this.HitRegistrationStudentInfoList)
this.total = response.total;
this.loading = false;
});
@ -378,8 +378,12 @@ export default {
//
getTeachInfoByIds(id) {
getHitRegistrationTeachInfoByUserId(id).then(res => {
console.log('当前老师类型', res.data.type);
this.techerType = res.data.type
if (res.data) {
console.log('当前老师类型', res.data.type);
this.techerType = res.data.type
}
}).catch(err => {
console.log('查询当前老师的类型失败', err);
})
this.fetchRegistrationInformation()
},
@ -405,8 +409,10 @@ export default {
//
fetchRegistrationInformation() {
selectByUserId(this.userId).then(res => {
this.registrationInformation = res.data
console.log("这是获取的信息", this.registrationInformation)
if (res.data) {
this.registrationInformation = res.data
console.log("这是获取的信息", this.registrationInformation)
}
})
},
//

View File

@ -6,9 +6,30 @@
<el-input v-model="queryParams.stuName" placeholder="请输入学生姓名" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="院系名称" prop="collegeName">
<el-form-item label="学院名称" prop="collegeName">
<el-input v-model="queryParams.schoolName" placeholder="请输入学院名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="院系名称" prop="schoolName">
<el-input v-model="queryParams.collegeName" placeholder="请输入院系名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="年份" prop="year">
<el-date-picker
v-model="queryParams.year"
type="year"
placeholder="选择年份">
</el-date-picker>
</el-form-item>
<el-form-item label="是否初赛" prop="year">
<el-select v-model="queryParams.isPreliminary" placeholder="请选择" clearable>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -234,7 +255,15 @@ export default {
studentIdCard: null,
trialsScore: null,
isPreliminary: null,
year: new Date().getFullYear().toString(),
},
options: [{
value: 1,
label: '是'
}, {
value: 0,
label: '否'
}],
//
form: {},
//
@ -293,6 +322,7 @@ export default {
/** 查询大赛学生列表 */
getList() {
this.loading = true;
this.queryParams.year = new Date(this.queryParams.year).getFullYear().toString()
listInfo(this.queryParams).then(response => {
this.infoList = response.rows;
this.total = response.total;

View File

@ -0,0 +1,167 @@
<template>
<div class="app-container">
<div class="baseInfo">
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="学号" prop="studentId">
<el-input v-model="form.studentId" placeholder="请输入名称"/>
</el-form-item>
<el-form-item label="姓名" prop="stuName">
<el-input v-model="form.stuName" placeholder="请输入名称"/>
</el-form-item>
<el-form-item label="手机号" prop="phoneNumber">
<el-input v-model="form.phoneNumber" placeholder="手机号"/>
</el-form-item>
<el-form-item label="联系邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入联系邮箱"/>
</el-form-item>
<el-form-item label="学校名称" prop="schoolName">
<el-input v-model="form.schoolName" placeholder="请输入学校名称"/>
</el-form-item>
<el-form-item label="专业" prop="major">
<el-input v-model="form.major" placeholder="请输入专业"/>
</el-form-item>
<el-form-item label="所属赛区" prop="division">
<el-select v-model="form.division" filterable allow-create default-first-option
placeholder="请选择学校名称">
<el-option v-for="item in dict.type.com_region" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="学生证" prop="studentIdCard">
<image-upload :limit="1" v-model="form.studentIdCard"/>
</el-form-item>
</el-form>
<!-- 成绩展示 -->
<div class="score-display">
<span>个人选拔赛成绩</span>
<span class="score" v-if="form.trialsScore">{{ form.trialsScore }}</span>
<span v-else>未出</span>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
</div>
</div>
</div>
</template>
<script>
import {updateBaseInfo, selectBaseInfo} from "@/api/cms/baseInfo"
import { editCompetitionStudentInfo, queryCompetitionStudentInfo } from '@/api/hit/competitionEdit'
import { getbaseInfo } from '@/api/officialWebsite/getPageData'
export default {
dicts: ["sys_user_sex", "school_name", "com_region"],
name: "BaseInfo",
data() {
return {
form: {},
registerStatus: '',
rules: {
stuName: [
{required: true, message: "名称不能为空", trigger: "blur"}
],
phoneNumber: [
{required: true, message: "手机号不能为空", trigger: "blur"}
],
email: [
{required: true, message: "邮箱不能为空", trigger: "blur"}
],
division: [
{required: true, message: "请选择赛区", trigger: "blur"}
],
schoolName: [
{required: true, message: "学校名称不能为空", trigger: "blur"}
],
major: [
{required: true, message: "专业不能为空", trigger: "blur"}
],
studentIdCard: [
{required: true, message: "学生证不能为空", trigger: "blur"}
],
studentId: [
{required: true, message: "学号不能为空", trigger: "blur"}
]
}
}
},
created() {
this.getBaseInfo()
},
methods: {
/** 提交按钮 */
async submitForm() {
await this.getStatus()
if (!this.registerStatus || this.registerStatus === '0') {
this.$modal.msgError("当前报名截止。无法修改")
return
}
this.$refs["form"].validate(valid => {
if (valid) {
editCompetitionStudentInfo(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
}
});
},
//
reset() {
this.form = {
id: null,
webName: null,
contactNumber: null,
contactEmail: null,
address: null,
webImg: null,
recordInfo: null,
copyrightInfo: null
};
this.resetForm("form");
},
getBaseInfo(){
queryCompetitionStudentInfo().then(res => {
this.form = res.data
this.form.webImg = process.env.VUE_APP_BASE_API + this.form.webImg
})
},
async getStatus() {
await getbaseInfo().then(res => {
this.registerStatus = res.data.registerStatus
})
}
}
}
</script>
<style scoped lang="scss">
.app-container {
display: flex;
justify-content: center;
}
.baseInfo {
width: 40%;
margin-top: 2rem;
}
.dialog-footer {
width: 100%;
text-align: center;
}
.score-display {
font-size: 16px;
margin-top: 20px;
color: #333;
}
.score {
color: red;
font-weight: bold;
font-size: 18px;
}
</style>

View File

@ -247,7 +247,7 @@
</div>
<!-- main -->
<div v-show="currentActive == 0 || currentActive == 1 || currentActive == 5" v-html="pageContext"></div>
<div v-show="currentActive == 0 || currentActive == 1" v-html="pageContext"></div>
<div v-show="currentActive == 3 || currentActive == 4" class="wrapbox">
<div class="rsr" v-for="(item, index) in otherList" @click="goDeatail(item)">
@ -256,7 +256,7 @@
</div>
</div>
<div v-show="currentActive == 2" class="wrapbox">
<div v-show="currentActive == 2 || currentActive == 5 || currentActive == 4" class="wrapbox">
<div class="n-box" v-for="(item, index) in noticeList" @click="goDeatail(item)">
<div>
<div class="v-time">{{ item.publishDate }}</div>
@ -269,7 +269,7 @@
</div>
</div>
<div v-show="currentActive == 2 || currentActive == 4 || currentActive === 3">
<div v-show="currentActive == 2 || currentActive == 4 || currentActive === 3 || currentActive == 5">
<page-util :category-id="categoryId" @event-message="handleDataFromPage" />
</div>
<div class="anniu" v-show="registerStatus == 1 && currentActive == 0" @click="toRegister">
@ -550,7 +550,7 @@ export default {
this.currentActive = value
this.categoryId = ""
if (value === 0 || value === 1 || value === 5) {
if (value === 0 || value === 1) {
this.pageContext = ""
this.getContentDetail()
} else {
@ -587,10 +587,10 @@ export default {
})
},
handleDataFromPage(data) {
if (this.currentActive === 3 || this.currentActive == 4) {
if (this.currentActive === 3 ) {
this.otherList = data
}
if (this.currentActive === 2) {
if (this.currentActive === 2 || this.currentActive == 5 || this.currentActive == 4) {
this.noticeList = data
}
},

View File

@ -25,13 +25,14 @@
<div class="about-conts" v-bind:class="[currentActive == 1 ? 'bj' : '']">
<!-- main -->
<div v-for="(item, index) in nav " :key=index @click="goDeatail(item)">
<div class="about-conts-item1" v-show="currentActive == 1">
<div class="neirong" v-html="pageContext"></div>
</div>
</div>
<!-- 专业平台介绍 -->
<div class="ayptjs" v-show="currentActive == 0">
<!-- <div v-for="(item, index) in nav " :key=index @click="goDeatail(item)">-->
<!-- <div class="about-conts-item1" v-show="currentActive == 1">-->
<!-- <div class="neirong" v-html="pageContext"></div>-->
<!-- </div>-->
<!-- </div>-->
<!-- 专业平台介绍-->
<!-- <div class="ayptjs" v-show="currentActive == 0">-->
<div class="ayptjs">
<div class="ayptjs-list">
<div class="item" v-for="(item, index) in onelist" @click="goDeatail(item)" >
@ -122,13 +123,19 @@ export default {
},
//
getCurrentActive(value) {
console.log('value',value)
if (this.currentActive == value) {
return
}
this.currentActive = value
if (value === 1){
this.getContentDetail();
}
// if (value === 1){
// this.getContentDetail();
// }
this.categoryId = this.nav[this.currentActive].id
// getCategoryByParentId(this.routeParam.categoryId).then(res => {
// this.nav = res.data
// this.categoryId = res.data[0].id
// })
},
getContentDetail() {
this.routeParam.categoryId = this.nav[this.currentActive].id

View File

@ -164,7 +164,11 @@ export default {
initPageData() {
getCategoryByParentId(this.routeParam.categoryId).then(res => {
this.nav = res.data
this.categoryId = this.nav[0].id
if (this.nav.length > 0) {
this.categoryId = this.nav[0].id
}else {
this.categoryId = this.$route.query.id
}
})
},
}