Commit d1ad4dcd by 涂亚平

第一个版本

1 parent 65538c24
Showing with 813 additions and 160 deletions
# Created by .ignore support plugin (hsz.mobi) HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**
**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
### VS Code ###
.vscode/
assets/
logs/
\ No newline at end of file
This diff could not be displayed because it is too large.
...@@ -16,7 +16,7 @@ public class ProjectSchedule { ...@@ -16,7 +16,7 @@ public class ProjectSchedule {
// 校内赛 // 校内赛
public static final String SCHOOL_REVIEW = "校级申请项目"; public static final String SCHOOL_REVIEW = "校级申请项目";
public static final String SEMI_FINAL_REVIEW = "级复赛项目"; public static final String SEMI_FINAL_REVIEW = "级复赛项目";
public static final String FINAL_REVIEW = "市级决赛项目"; public static final String FINAL_REVIEW = "市级决赛项目";
} }
...@@ -184,4 +184,11 @@ public class DateFormatUtil { ...@@ -184,4 +184,11 @@ public class DateFormatUtil {
LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime(); LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();
return localDateTime; return localDateTime;
} }
public static String currentTime() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
// 获取当前时间并格式化为字符串
return sdf.format(new Date());
}
} }
...@@ -125,6 +125,82 @@ public class ExcelUtil { ...@@ -125,6 +125,82 @@ public class ExcelUtil {
return list; return list;
} }
/**
* 导出excel文件
*
* @param list
* @param cls
* @param <T>
*/
public static <T> void writeExcel(List<T> list, Class cls) {
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletResponse response = servletRequestAttributes.getResponse();
Field[] fields = cls.getDeclaredFields();
List<Field> fieldList = Arrays.stream(fields).filter(field -> {
ExcelColumn annotation = field.getAnnotation(ExcelColumn.class);
if (annotation != null) {
field.setAccessible(true);
return true;
}
return false;
}).sorted(Comparator.comparing(field -> {
int col = 0;
ExcelColumn annotation = field.getAnnotation(ExcelColumn.class);
if (annotation != null) {
col = annotation.col();
}
return col;
})).collect(Collectors.toList());
Workbook wb = new XSSFWorkbook();
Sheet sheet = wb.createSheet();
AtomicInteger ai = new AtomicInteger();
{
Row row = sheet.createRow(ai.getAndIncrement());
AtomicInteger at = new AtomicInteger();
fieldList.forEach(field -> {
ExcelColumn annotation = field.getAnnotation(ExcelColumn.class);
String columnName = "";
if (annotation != null) {
columnName = annotation.value();
}
Cell cell = row.createCell(at.getAndIncrement());
CellStyle cellStyle = wb.createCellStyle();
cellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
Font font = wb.createFont();
font.setBoldweight(Font.BOLDWEIGHT_BOLD);
cellStyle.setFont(font);
cell.setCellStyle(cellStyle);
cell.setCellValue(columnName);
});
if (list != null) {
list.forEach(data -> {
Row r = sheet.createRow(ai.getAndIncrement());
AtomicInteger a = new AtomicInteger();
fieldList.forEach(field -> {
try {
Class<?> type = field.getType();
Object value = field.get(data);
Cell cell = r.createCell(a.getAndIncrement());
if (value != null) {
cell.setCellValue(value.toString());
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
});
});
for (int i = 0; i < list.size(); i++) {
sheet.autoSizeColumn(i);
}
}
String fileName = String.valueOf(new Date().getTime());
buildExcelDocument(fileName + "." + EXCEL2007, wb, response);
}
}
public static <T> void writeExcel(String title, List<ExcelFieldVO> fields, List<Map> list) { public static <T> void writeExcel(String title, List<ExcelFieldVO> fields, List<Map> list) {
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletResponse response = servletRequestAttributes.getResponse(); HttpServletResponse response = servletRequestAttributes.getResponse();
......
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhongzhi.common.constant.Platform; import com.zhongzhi.common.constant.Platform;
import com.zhongzhi.common.utils.LoginRequired; import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData; import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dao.RolePermissionMapper;
import com.zhongzhi.dto.administer.AdministerPageDTO; import com.zhongzhi.dto.administer.AdministerPageDTO;
import com.zhongzhi.dto.administer.CreateAdministerDTO; import com.zhongzhi.dto.administer.CreateAdministerDTO;
import com.zhongzhi.dto.administer.LoginDTO; import com.zhongzhi.dto.administer.LoginDTO;
...@@ -14,6 +15,7 @@ import com.zhongzhi.service.AdministerPermissionService; ...@@ -14,6 +15,7 @@ import com.zhongzhi.service.AdministerPermissionService;
import com.zhongzhi.service.AdministerService; import com.zhongzhi.service.AdministerService;
import com.zhongzhi.service.AdministerTrackMappingService; import com.zhongzhi.service.AdministerTrackMappingService;
import com.zhongzhi.vo.ResponseVO; import com.zhongzhi.vo.ResponseVO;
import com.zhongzhi.vo.permission.PermissionVO;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -46,6 +48,9 @@ public class AdministerController { ...@@ -46,6 +48,9 @@ public class AdministerController {
@Autowired @Autowired
private AdministerPermissionService administerPermissionService; private AdministerPermissionService administerPermissionService;
@Autowired
private RolePermissionMapper rolePermissionMapper;
@PostMapping(value = "/login") @PostMapping(value = "/login")
@ApiOperation("中心端 --- 登录:手机号/telephone, code/验证码") @ApiOperation("中心端 --- 登录:手机号/telephone, code/验证码")
public ResponseVO login(@RequestBody LoginDTO loginDTO) { public ResponseVO login(@RequestBody LoginDTO loginDTO) {
...@@ -64,8 +69,8 @@ public class AdministerController { ...@@ -64,8 +69,8 @@ public class AdministerController {
administerService.save(createAdministerDTO); administerService.save(createAdministerDTO);
List<Long> trackIds = createAdministerDTO.getTrackIds(); List<Long> trackIds = createAdministerDTO.getTrackIds();
if (null != trackIds){ if (null != trackIds) {
for (Long id : trackIds){ for (Long id : trackIds) {
AdministerTrackMappingDO administerTrackMappingDO = new AdministerTrackMappingDO(); AdministerTrackMappingDO administerTrackMappingDO = new AdministerTrackMappingDO();
administerTrackMappingDO.setAdministerId(createAdministerDTO.getId()); administerTrackMappingDO.setAdministerId(createAdministerDTO.getId());
administerTrackMappingDO.setTrackId(id); administerTrackMappingDO.setTrackId(id);
...@@ -73,12 +78,13 @@ public class AdministerController { ...@@ -73,12 +78,13 @@ public class AdministerController {
} }
} }
List<Long> permissionIds = createAdministerDTO.getPermissionIds(); List<PermissionVO> permission = rolePermissionMapper.getPermission(createAdministerDTO.getRole());
if (null != permissionIds){
for (Long id : permissionIds){ if (null != permission && permission.size() > 0) {
for (PermissionVO permissionVO : permission) {
AdministerPermissionDO administerPermissionDO = new AdministerPermissionDO(); AdministerPermissionDO administerPermissionDO = new AdministerPermissionDO();
administerPermissionDO.setAdministerId(createAdministerDTO.getId()); administerPermissionDO.setAdministerId(createAdministerDTO.getId());
administerPermissionDO.setPermissionId(id); administerPermissionDO.setPermissionId(permissionVO.getId());
administerPermissionService.save(administerPermissionDO); administerPermissionService.save(administerPermissionDO);
} }
} }
...@@ -92,11 +98,11 @@ public class AdministerController { ...@@ -92,11 +98,11 @@ public class AdministerController {
administerService.updateAdminister(createAdministerDTO); administerService.updateAdminister(createAdministerDTO);
List<Long> trackIds = createAdministerDTO.getTrackIds(); List<Long> trackIds = createAdministerDTO.getTrackIds();
if (null != trackIds){ if (null != trackIds) {
administerTrackMappingService.remove(new QueryWrapper<AdministerTrackMappingDO>() administerTrackMappingService.remove(new QueryWrapper<AdministerTrackMappingDO>()
.lambda() .lambda()
.eq(AdministerTrackMappingDO::getAdministerId,createAdministerDTO.getId())); .eq(AdministerTrackMappingDO::getAdministerId, createAdministerDTO.getId()));
for (Long id : trackIds){ for (Long id : trackIds) {
AdministerTrackMappingDO administerTrackMappingDO = new AdministerTrackMappingDO(); AdministerTrackMappingDO administerTrackMappingDO = new AdministerTrackMappingDO();
administerTrackMappingDO.setAdministerId(createAdministerDTO.getId()); administerTrackMappingDO.setAdministerId(createAdministerDTO.getId());
administerTrackMappingDO.setTrackId(id); administerTrackMappingDO.setTrackId(id);
...@@ -108,8 +114,8 @@ public class AdministerController { ...@@ -108,8 +114,8 @@ public class AdministerController {
if (null != permissionIds) { if (null != permissionIds) {
administerPermissionService.remove(new QueryWrapper<AdministerPermissionDO>() administerPermissionService.remove(new QueryWrapper<AdministerPermissionDO>()
.lambda() .lambda()
.eq(AdministerPermissionDO::getAdministerId,createAdministerDTO.getId())); .eq(AdministerPermissionDO::getAdministerId, createAdministerDTO.getId()));
for (Long id : permissionIds){ for (Long id : permissionIds) {
AdministerPermissionDO administerPermissionDO = new AdministerPermissionDO(); AdministerPermissionDO administerPermissionDO = new AdministerPermissionDO();
administerPermissionDO.setAdministerId(createAdministerDTO.getId()); administerPermissionDO.setAdministerId(createAdministerDTO.getId());
administerPermissionDO.setPermissionId(id); administerPermissionDO.setPermissionId(id);
...@@ -126,7 +132,7 @@ public class AdministerController { ...@@ -126,7 +132,7 @@ public class AdministerController {
administerService.removeById(administerDO.getId()); administerService.removeById(administerDO.getId());
administerTrackMappingService.remove(new QueryWrapper<AdministerTrackMappingDO>() administerTrackMappingService.remove(new QueryWrapper<AdministerTrackMappingDO>()
.lambda() .lambda()
.eq(AdministerTrackMappingDO::getAdministerId,administerDO.getId())); .eq(AdministerTrackMappingDO::getAdministerId, administerDO.getId()));
return ResponseData.generateCreatedResponse(0); return ResponseData.generateCreatedResponse(0);
} }
} }
...@@ -8,6 +8,7 @@ import com.zhongzhi.common.utils.LoginRequired; ...@@ -8,6 +8,7 @@ import com.zhongzhi.common.utils.LoginRequired;
import com.zhongzhi.common.utils.ResponseData; import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dto.match.MatchDictDTO; import com.zhongzhi.dto.match.MatchDictDTO;
import com.zhongzhi.dto.match.SelectListPageDTO; import com.zhongzhi.dto.match.SelectListPageDTO;
import com.zhongzhi.dto.project.ProjectSummaryDTO;
import com.zhongzhi.model.MatchDictDO; import com.zhongzhi.model.MatchDictDO;
import com.zhongzhi.service.MatchDictService; import com.zhongzhi.service.MatchDictService;
import com.zhongzhi.vo.ResponseVO; import com.zhongzhi.vo.ResponseVO;
...@@ -164,11 +165,22 @@ public class MatchDictController { ...@@ -164,11 +165,22 @@ public class MatchDictController {
/* 职教管理端 */ /* 职教管理端 */
@PostMapping(value = "/getVocationalPage") @PostMapping(value = "/getVocationalPage")
@LoginRequired({Platform.center, Platform.school, Platform.review}) // @LoginRequired({Platform.center, Platform.school, Platform.review})
@ApiOperation("[立信]中心端/院校端 ---分页查询职教赛道赛事年份:pageNo、pageSize") @ApiOperation("[立信]中心端/院校端 ---分页查询职教赛道赛事年份:pageNo、pageSize")
public ResponseVO getVocationalPage(@RequestBody SelectListPageDTO selectListPageDTO) { public ResponseVO getVocationalPage(@RequestBody SelectListPageDTO selectListPageDTO) {
return ResponseData.generateCreatedResponse(0, matchDictService.getVocationalPage(selectListPageDTO)); return ResponseData.generateCreatedResponse(0, matchDictService.getVocationalPage(selectListPageDTO));
} }
@PostMapping("projectSummary")
@ApiOperation("概览 matchId startDate endDate")
public ResponseVO projectSummary(@RequestBody ProjectSummaryDTO projectSummaryDTO){
return ResponseData.generateCreatedResponse(0,matchDictService.projectSummary(projectSummaryDTO));
}
@PostMapping("exportProjectSummary")
@ApiOperation("导出")
public void exportProjectSummary(@RequestBody ProjectSummaryDTO projectSummaryDTO){
matchDictService.exportProjectSummary(projectSummaryDTO);
}
} }
\ No newline at end of file
...@@ -33,4 +33,5 @@ public class PermissionsController { ...@@ -33,4 +33,5 @@ public class PermissionsController {
} }
} }
...@@ -329,14 +329,14 @@ public class ProjectController { ...@@ -329,14 +329,14 @@ public class ProjectController {
} }
@PostMapping(value = "/exportProjectList") @PostMapping(value = "/exportProjectList")
@LoginRequired({Platform.center}) // @LoginRequired({Platform.center})
@ApiOperation("####中心端 --- 批量导出种子赛道项目:matchId/赛事ID") @ApiOperation("####中心端 --- 批量导出种子赛道项目:matchId/赛事ID")
public void exportProjectList(@RequestBody ProjectCollegeListDTO projectCollegeListDTO) { public void exportProjectList(@RequestBody ProjectCollegeListDTO projectCollegeListDTO) {
projectService.exportProjectList(projectCollegeListDTO); projectService.exportProjectList(projectCollegeListDTO);
} }
@PostMapping(value = "/exportProjectAll") @PostMapping(value = "/exportProjectAll")
@LoginRequired({Platform.center}) // @LoginRequired({Platform.center})
@ApiOperation("####中心端 --- 导出全部种子赛道项目:matchId/赛事ID, projectSchedule/项目进度,projectGroup/项目组别") @ApiOperation("####中心端 --- 导出全部种子赛道项目:matchId/赛事ID, projectSchedule/项目进度,projectGroup/项目组别")
public void exportProjectAll(@RequestBody ProjectCollegeListDTO projectCollegeListDTO) { public void exportProjectAll(@RequestBody ProjectCollegeListDTO projectCollegeListDTO) {
projectService.exportProjectAll(projectCollegeListDTO); projectService.exportProjectAll(projectCollegeListDTO);
...@@ -594,6 +594,7 @@ public class ProjectController { ...@@ -594,6 +594,7 @@ public class ProjectController {
} }
@PostMapping(value = "getReviewVocationalNum") @PostMapping(value = "getReviewVocationalNum")
@LoginRequired({Platform.center,Platform.school,Platform.review})
@ApiOperation("评审端 --- (职教)项目数量: matchId/赛事ID、projectGroup/项目组别、 projectSchedule/赛事状态 projectJudgeId") @ApiOperation("评审端 --- (职教)项目数量: matchId/赛事ID、projectGroup/项目组别、 projectSchedule/赛事状态 projectJudgeId")
public ResponseVO getReviewVocationalNum(@RequestBody ReviewVocationalNumDTO reviewVocationalNumDTO) { public ResponseVO getReviewVocationalNum(@RequestBody ReviewVocationalNumDTO reviewVocationalNumDTO) {
return ResponseData.generateCreatedResponse(0, projectService.getReviewVocationalNum(reviewVocationalNumDTO)); return ResponseData.generateCreatedResponse(0, projectService.getReviewVocationalNum(reviewVocationalNumDTO));
......
package com.zhongzhi.controller;
import com.zhongzhi.common.utils.ResponseData;
import com.zhongzhi.dao.RolePermissionMapper;
import com.zhongzhi.dto.administer.AddRolePermissionDTO;
import com.zhongzhi.model.RolePermissionDO;
import com.zhongzhi.service.RolePermissionService;
import com.zhongzhi.vo.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 系统用户权限表 前端控制器
* </p>
*
* @author DengMin
* @since 2026-05-15
*/
@RestController
@Api(tags = "角色权限")
@RequestMapping("/rolePermission")
public class RolePermissionController {
@Autowired
private RolePermissionService permissionService;
@PostMapping("queryRolePermission")
@ApiOperation("查询角色下权限 role ")
public ResponseVO queryRolePermission(@RequestBody RolePermissionDO rolePermissionDO){
return ResponseData.generateCreatedResponse(0,permissionService.queryRolePermission(rolePermissionDO));
}
@PostMapping("updateRolePermission")
@ApiOperation("添加角色权限 role permissionIds")
public ResponseVO addRolePermission(@RequestBody AddRolePermissionDTO addRolePermissionDTO){
permissionService.addRolePermission(addRolePermissionDTO);
return ResponseData.generateCreatedResponse(0);
}
}
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.model.MatchDictDO; import com.zhongzhi.model.MatchDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.vo.match.MatchDictVO; import com.zhongzhi.vo.match.MatchDictVO;
import com.zhongzhi.vo.match.ProjectSummaryVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
...@@ -24,4 +25,6 @@ public interface MatchDictDAO extends BaseMapper<MatchDictDO> { ...@@ -24,4 +25,6 @@ public interface MatchDictDAO extends BaseMapper<MatchDictDO> {
IPage<MatchDictVO> getSeedTrackMatchPage(Page page); IPage<MatchDictVO> getSeedTrackMatchPage(Page page);
List<MatchDictDO> getList(@Param("projectType") String projectType, @Param("projectGroup") String projectGroup); List<MatchDictDO> getList(@Param("projectType") String projectType, @Param("projectGroup") String projectGroup);
List<ProjectSummaryVO> projectSummary(Long matchId, String startDate, String endDate);
} }
...@@ -37,7 +37,7 @@ public interface ProjectDAO extends BaseMapper<ProjectDO> { ...@@ -37,7 +37,7 @@ public interface ProjectDAO extends BaseMapper<ProjectDO> {
IPage<ProjectPageVO> getProjectReviewPage(Page page, Long judgeId, Long matchId, String projectName, String projectSchedule, String projectReview, String projectGroup,String projectProgress); IPage<ProjectPageVO> getProjectReviewPage(Page page, Long judgeId, Long matchId, String projectName, String projectSchedule, String projectReview, String projectGroup,String projectProgress);
List<ProjectDO> getProjectReviewList(Long id, Long matchId,String projectProgress); List<ProjectDO> getProjectReviewList(Long id, Long matchId,String projectSchedule);
List<ProjectDO> getProjectByCollege(Long matchId, @Param("name") String name, String projectProgress); List<ProjectDO> getProjectByCollege(Long matchId, @Param("name") String name, String projectProgress);
...@@ -70,4 +70,6 @@ public interface ProjectDAO extends BaseMapper<ProjectDO> { ...@@ -70,4 +70,6 @@ public interface ProjectDAO extends BaseMapper<ProjectDO> {
Integer projectMembers(Long project,String type); Integer projectMembers(Long project,String type);
ProjectProgressCntVO projectProgressCnt(List<Long> projectIds); ProjectProgressCntVO projectProgressCnt(List<Long> projectIds);
void updateProjectStatus(Long id,String status,String projectSchedule,String projectReview,String projectAssigned);
} }
package com.zhongzhi.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhongzhi.model.RolePermissionDO;
import com.zhongzhi.vo.permission.PermissionVO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 系统用户权限表 Mapper 接口
* </p>
*
* @author DengMin
* @since 2026-05-15
*/
@Repository
public interface RolePermissionMapper extends BaseMapper<RolePermissionDO> {
List<PermissionVO> getPermission(String role);
}
package com.zhongzhi.dto.administer;
import lombok.Data;
import java.util.List;
@Data
public class AddRolePermissionDTO {
private String role;
private List<Long> permissionIds;
}
...@@ -45,6 +45,8 @@ public class CreateProjectMemberDTO { ...@@ -45,6 +45,8 @@ public class CreateProjectMemberDTO {
*/ */
private String studentNo; private String studentNo;
private String studyNo;
/** /**
* 手机号 * 手机号
*/ */
......
...@@ -36,4 +36,8 @@ public class MentorDTO { ...@@ -36,4 +36,8 @@ public class MentorDTO {
* 身份证号 * 身份证号
*/ */
private String idCard; private String idCard;
private String studyNo;
private String education;
} }
...@@ -46,4 +46,10 @@ public class TeamMemberDTO { ...@@ -46,4 +46,10 @@ public class TeamMemberDTO {
* 手机号 * 手机号
*/ */
private String teamTelephone; private String teamTelephone;
private String studyNo;
private String education;
private String email;
} }
...@@ -11,5 +11,5 @@ public class ApproveDTO { ...@@ -11,5 +11,5 @@ public class ApproveDTO {
private Long id; private Long id;
private Integer projectStatus; private String projectStatus;
} }
...@@ -6,48 +6,82 @@ import lombok.Data; ...@@ -6,48 +6,82 @@ import lombok.Data;
@Data @Data
public class ExportProjectDTO { public class ExportProjectDTO {
@ExcelColumn(col = 1, value = "届数") @ExcelColumn(col = 1, value = "项目名称")
private String matchName;
@ExcelColumn(col = 2, value = "项目名称")
private String projectName; private String projectName;
@ExcelColumn(col = 3, value = "项目简介") @ExcelColumn(col = 2, value = "项目概述")
private String projectIntro; private String projectIntro;
@ExcelColumn(col = 4, value = "组别") @ExcelColumn(col = 3, value = "负责人姓名")
private String projectGroup; private String name;
@ExcelColumn(col = 5, value = "项目类型")
private String projectType;
@ExcelColumn(col = 6, value = "所属行业") @ExcelColumn(col = 4, value = "负责人手机号")
private String classification; private String telephone;
@ExcelColumn(col = 7, value = "负责人") @ExcelColumn(col = 5, value = "负责人邮箱")
private String name; private String email;
// @ExcelColumn(col = 8, value = "院校") @ExcelColumn(col = 6, value = "学校")
private String college; private String college;
@ExcelColumn(col = 8, value = "学院") @ExcelColumn(col = 7, value = "所在院系")
private String xueyuan; private String xueyuan;
@ExcelColumn(col = 9, value = "专业") @ExcelColumn(col = 8, value = "学号")
private String studyNo;
@ExcelColumn(col = 9, value = "学历层次")
private String education;
@ExcelColumn(col = 10, value = "入学时间")
private String enrollmentDate;
@ExcelColumn(col = 11, value = "毕业时间")
private String graduateDate;
@ExcelColumn(col = 12, value = "专业名称")
private String major; private String major;
@ExcelColumn(col = 10, value = "手机号") @ExcelColumn(col = 13, value = "省份")
private String telephone; private String province;
@ExcelColumn(col = 11, value = "团队成员") @ExcelColumn(col = 14,value = "指导教师")
private String teamMembers; private String mentorStr;
@ExcelColumn(col = 12, value = "指导老师") @ExcelColumn(col = 15,value = "团队成员")
private String teachers; private String memberStr;
@ExcelColumn(col = 13, value = "项目阶段") @ExcelColumn(col = 16, value = "报名时间")
private String createDate;
@ExcelColumn(col = 17, value = "赛道")
private String projectTrack;
@ExcelColumn(col = 18, value = "参赛组别")
private String projectGroup;
@ExcelColumn(col = 19, value = "参赛类别")
private String projectType;
@ExcelColumn(col = 20, value = "项目进展")
private String projectStage;
@ExcelColumn(col = 21, value = "参赛阶段")
private String projectSchedule; private String projectSchedule;
@ExcelColumn(col = 14, value = "项目状态") @ExcelColumn(col = 22, value = "学校科技成果转化")
private String projectStatus; private String resultTransfer;
@ExcelColumn(col = 23, value = "参赛申报人为科技成果的第一完成人或所有人")
private String competitionFirst;
@ExcelColumn(col = 24, value = "隐私设置")
private String privacySetting;
@ExcelColumn(col = 25, value = "国赛获奖情况")
private String countryReward;
@ExcelColumn(col = 26, value = "省赛获奖情况")
private String provinceReward;
} }
package com.zhongzhi.dto.project;
import lombok.Data;
@Data
public class ProjectSummaryDTO {
private Long matchId;
private String startDate;
private String endDate;
}
package com.zhongzhi.model; package com.zhongzhi.model;
import com.baomidou.mybatisplus.annotation.*;
import com.zhongzhi.model.base.BaseModel; import com.zhongzhi.model.base.BaseModel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -51,6 +49,7 @@ public class ProjectDO extends BaseModel { ...@@ -51,6 +49,7 @@ public class ProjectDO extends BaseModel {
/** /**
* 组别 * 组别
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String projectGroup; private String projectGroup;
/** /**
...@@ -152,9 +151,12 @@ public class ProjectDO extends BaseModel { ...@@ -152,9 +151,12 @@ public class ProjectDO extends BaseModel {
*/ */
private String projectSchedule; private String projectSchedule;
private String submitDate;
/** /**
* 项目类型 * 项目类型
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String projectType; private String projectType;
/** /**
...@@ -173,4 +175,13 @@ public class ProjectDO extends BaseModel { ...@@ -173,4 +175,13 @@ public class ProjectDO extends BaseModel {
private String rewardUrl; private String rewardUrl;
private String legalPersonName;
private String unifyCode;
private String position;
private String investment;
private String privacySetting;
} }
...@@ -45,6 +45,10 @@ public class ProjectMemberDO extends BaseModel { ...@@ -45,6 +45,10 @@ public class ProjectMemberDO extends BaseModel {
*/ */
private String grade; private String grade;
private String studyNo;
private String education;
/** /**
* 身份证 * 身份证
*/ */
......
package com.zhongzhi.model;
import com.zhongzhi.model.base.BaseModel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 系统用户权限表
* </p>
*
* @author DengMin
* @since 2026-05-15
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("role_permission")
public class RolePermissionDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 角色名称
*/
private String role;
/**
* 权限id
*/
private Long permissionId;
}
...@@ -3,8 +3,10 @@ package com.zhongzhi.service; ...@@ -3,8 +3,10 @@ package com.zhongzhi.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhongzhi.dto.match.MatchDictDTO; import com.zhongzhi.dto.match.MatchDictDTO;
import com.zhongzhi.dto.match.SelectListPageDTO; import com.zhongzhi.dto.match.SelectListPageDTO;
import com.zhongzhi.dto.project.ProjectSummaryDTO;
import com.zhongzhi.model.MatchDictDO; import com.zhongzhi.model.MatchDictDO;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.zhongzhi.vo.match.ProjectSummaryVO;
import java.util.List; import java.util.List;
...@@ -39,4 +41,8 @@ public interface MatchDictService extends IService<MatchDictDO> { ...@@ -39,4 +41,8 @@ public interface MatchDictService extends IService<MatchDictDO> {
void updateMatchDate(MatchDictDO matchDictDO); void updateMatchDate(MatchDictDO matchDictDO);
MatchDictDO getMatch(MatchDictDO matchDictDO); MatchDictDO getMatch(MatchDictDO matchDictDO);
List<ProjectSummaryVO> projectSummary(ProjectSummaryDTO projectSummaryDTO);
void exportProjectSummary(ProjectSummaryDTO projectSummaryDTO);
} }
...@@ -151,7 +151,7 @@ public interface ProjectService extends IService<ProjectDO> { ...@@ -151,7 +151,7 @@ public interface ProjectService extends IService<ProjectDO> {
void exportProjectById(ReviewListDTO reviewListDTO); void exportProjectById(ReviewListDTO reviewListDTO);
VocationalProjectNum getReviewVocationalNum(ReviewVocationalNumDTO reviewVocationalNumDTO); List<VocationalProjectNum> getReviewVocationalNum(ReviewVocationalNumDTO reviewVocationalNumDTO);
void batchUpdateEditStatus(EditStatusDTO editStatusDTO); void batchUpdateEditStatus(EditStatusDTO editStatusDTO);
......
package com.zhongzhi.service;
import com.zhongzhi.dto.administer.AddRolePermissionDTO;
import com.zhongzhi.model.RolePermissionDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhongzhi.vo.permission.PermissionVO;
import java.util.List;
/**
* <p>
* 系统用户权限表 服务类
* </p>
*
* @author DengMin
* @since 2026-05-15
*/
public interface RolePermissionService extends IService<RolePermissionDO> {
List<PermissionVO> queryRolePermission(RolePermissionDO rolePermissionDO);
void addRolePermission(AddRolePermissionDTO addRolePermissionDTO);
}
...@@ -9,6 +9,7 @@ import com.zhongzhi.common.exception.HttpException; ...@@ -9,6 +9,7 @@ import com.zhongzhi.common.exception.HttpException;
import com.zhongzhi.common.utils.JwtUtil; import com.zhongzhi.common.utils.JwtUtil;
import com.zhongzhi.dao.AdministerPermissionDAO; import com.zhongzhi.dao.AdministerPermissionDAO;
import com.zhongzhi.dao.AdministerTrackMappingDAO; import com.zhongzhi.dao.AdministerTrackMappingDAO;
import com.zhongzhi.dao.RolePermissionMapper;
import com.zhongzhi.dto.administer.AdministerPageDTO; import com.zhongzhi.dto.administer.AdministerPageDTO;
import com.zhongzhi.dto.administer.LoginDTO; import com.zhongzhi.dto.administer.LoginDTO;
import com.zhongzhi.model.*; import com.zhongzhi.model.*;
...@@ -50,6 +51,9 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerDAO, Administer ...@@ -50,6 +51,9 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerDAO, Administer
@Autowired @Autowired
private AdministerPermissionDAO administerPermissionDAO; private AdministerPermissionDAO administerPermissionDAO;
@Autowired
private RolePermissionMapper rolePermissionMapper;
@Override @Override
public AdministerVO login(LoginDTO loginDTO) { public AdministerVO login(LoginDTO loginDTO) {
AdministerVO administerVO = new AdministerVO(); AdministerVO administerVO = new AdministerVO();
...@@ -76,25 +80,25 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerDAO, Administer ...@@ -76,25 +80,25 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerDAO, Administer
administerVO.setToken(token); administerVO.setToken(token);
administerVO.setId(administerDO.getId()); administerVO.setId(administerDO.getId());
List<PermissionVO> list = permissionsService.getPermissionById(administerDO.getId()); List<PermissionVO> list = rolePermissionMapper.getPermission(administerDO.getRole());
List<PermissionVO> treeList = new ArrayList(); // List<PermissionVO> treeList = new ArrayList();
list.forEach(permissions -> { // list.forEach(permissions -> {
if (permissions.getParentId() == null) { // if (permissions.getParentId() == null) {
treeList.add(permissions); // treeList.add(permissions);
} // }
//
list.forEach(p -> { // list.forEach(p -> {
if (p.getParentId() != null) { // if (p.getParentId() != null) {
if (p.getParentId().equals(permissions.getId())) { // if (p.getParentId().equals(permissions.getId())) {
if (permissions.getChildNodeList() == null) { // if (permissions.getChildNodeList() == null) {
permissions.setChildNodeList(new ArrayList<>()); // permissions.setChildNodeList(new ArrayList<>());
} // }
permissions.getChildNodeList().add(p); // permissions.getChildNodeList().add(p);
} // }
} // }
}); // });
}); // });
administerVO.setPermission(treeList); administerVO.setPermission(list);
return administerVO; return administerVO;
} }
...@@ -111,7 +115,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerDAO, Administer ...@@ -111,7 +115,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerDAO, Administer
.eq(AdministerTrackMappingDO::getAdministerId,getAdministerPageVO.getId())); .eq(AdministerTrackMappingDO::getAdministerId,getAdministerPageVO.getId()));
getAdministerPageVO.setAdministerTrackMappingDOS(administerTrackMappingDOS); getAdministerPageVO.setAdministerTrackMappingDOS(administerTrackMappingDOS);
List<PermissionVO> list = permissionsService.getPermissionById(getAdministerPageVO.getId()); List<PermissionVO> list = rolePermissionMapper.getPermission(getAdministerPageVO.getRole());
List<PermissionVO> treeList = new ArrayList(); List<PermissionVO> treeList = new ArrayList();
list.forEach(permissions -> { list.forEach(permissions -> {
if (permissions.getParentId() == null) { if (permissions.getParentId() == null) {
......
...@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongzhi.common.constant.ProjectType; import com.zhongzhi.common.constant.ProjectType;
import com.zhongzhi.common.utils.DateFormatUtil; import com.zhongzhi.common.utils.DateFormatUtil;
import com.zhongzhi.common.utils.ExcelUtil;
import com.zhongzhi.dto.match.MatchDictDTO; import com.zhongzhi.dto.match.MatchDictDTO;
import com.zhongzhi.dto.match.SelectListPageDTO; import com.zhongzhi.dto.match.SelectListPageDTO;
import com.zhongzhi.dto.project.ProjectSummaryDTO;
import com.zhongzhi.model.MatchDictDO; import com.zhongzhi.model.MatchDictDO;
import com.zhongzhi.dao.MatchDictDAO; import com.zhongzhi.dao.MatchDictDAO;
import com.zhongzhi.model.MatchScheduleDO; import com.zhongzhi.model.MatchScheduleDO;
...@@ -14,12 +16,14 @@ import com.zhongzhi.service.MatchDictService; ...@@ -14,12 +16,14 @@ import com.zhongzhi.service.MatchDictService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhongzhi.service.MatchScheduleService; import com.zhongzhi.service.MatchScheduleService;
import com.zhongzhi.vo.match.MatchDictVO; import com.zhongzhi.vo.match.MatchDictVO;
import com.zhongzhi.vo.match.ProjectSummaryVO;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.*;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
...@@ -148,6 +152,64 @@ public class MatchDictServiceImpl extends ServiceImpl<MatchDictDAO, MatchDictDO> ...@@ -148,6 +152,64 @@ public class MatchDictServiceImpl extends ServiceImpl<MatchDictDAO, MatchDictDO>
} }
@Override @Override
public List<ProjectSummaryVO> projectSummary(ProjectSummaryDTO projectSummaryDTO) {
// ===================== 1. 固定顺序(必须和图2一致)=====================
List<String> ALL_COLLEGES = Arrays.asList(
"会计学院",
"金融学院",
"工商管理学院",
"国际经贸学院",
"财税与公共管理学院",
"统计与数学学院",
"计算机与人工智能学院",
"外国语学院",
"保险学院",
"法学院",
"金融科技学院",
"人文艺术学院",
"序伦书院"
);
List<ProjectSummaryVO> projectSummaryVOS = this.baseMapper.projectSummary(projectSummaryDTO.getMatchId(), projectSummaryDTO.getStartDate(), projectSummaryDTO.getEndDate());
// ===================== 3. 关键代码:补全所有学院,没有数据则为0 =====================
// 把SQL结果转成 Map<学院名, 数据>,方便快速查找
Map<String, ProjectSummaryVO> dataMap = projectSummaryVOS.stream()
.collect(Collectors.toMap(ProjectSummaryVO::getXueyuan, d -> d));
// 遍历固定顺序列表 → 有数据用数据,没数据补0
List<ProjectSummaryVO> finalResult = ALL_COLLEGES.stream()
.map(college -> {
ProjectSummaryVO data = dataMap.get(college);
if (data != null) {
return data;
} else {
// 没有数据 → 构造 0 值对象
return new ProjectSummaryVO(college, 0, 0);
}
})
.collect(Collectors.toList());
int i = 1;
String[] split = "159,114,62,72,89,59,93,33,37,34,36,8,4".split(",");
for (ProjectSummaryVO projectSummaryVO : finalResult){
projectSummaryVO.setFixCnt(Integer.valueOf(split[i-1]));
projectSummaryVO.setId(i ++);
}
return finalResult;
}
@Override
public void exportProjectSummary(ProjectSummaryDTO projectSummaryDTO) {
List<ProjectSummaryVO> projectSummaryVOS = projectSummary(projectSummaryDTO);
ExcelUtil.writeExcel(projectSummaryVOS,ProjectSummaryVO.class);
}
@Override
public List<MatchDictDO> getList(String projectType, String projectGroup) { public List<MatchDictDO> getList(String projectType, String projectGroup) {
return this.baseMapper.getList(projectType, projectGroup); return this.baseMapper.getList(projectType, projectGroup);
} }
......
...@@ -50,7 +50,7 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec ...@@ -50,7 +50,7 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec
@Override @Override
public IPage<ProjectJudgePageVO> getProjectJudgePage(ProjectJudgePageDTO projectJudgePageDTO) { public IPage<ProjectJudgePageVO> getProjectJudgePage(ProjectJudgePageDTO projectJudgePageDTO) {
IPage<ProjectJudgePageVO> iPage = this.baseMapper.getProjectJudgePage(new Page(projectJudgePageDTO.getPageNo(), projectJudgePageDTO.getPageSize()), projectJudgePageDTO.getUsername(), projectJudgePageDTO.getStatus(),projectJudgePageDTO.getProjectTrack()); IPage<ProjectJudgePageVO> iPage = this.baseMapper.getProjectJudgePage(new Page(projectJudgePageDTO.getPageNo(), projectJudgePageDTO.getPageSize()), projectJudgePageDTO.getUsername(), projectJudgePageDTO.getStatus(), projectJudgePageDTO.getProjectTrack());
for (ProjectJudgePageVO record : iPage.getRecords()) { for (ProjectJudgePageVO record : iPage.getRecords()) {
Integer count = projectReviewService.count(new QueryWrapper<ProjectReviewDO>() Integer count = projectReviewService.count(new QueryWrapper<ProjectReviewDO>()
.lambda() .lambda()
...@@ -62,11 +62,11 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec ...@@ -62,11 +62,11 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec
@Override @Override
public void createProjectJudge(ProjectJudgeDO projectJudgeDO) { public void createProjectJudge(ProjectJudgeDO projectJudgeDO) {
ProjectJudgeDO projectJudge = this.baseMapper.selectOne(new QueryWrapper<ProjectJudgeDO>() int count = this.baseMapper.selectCount(new QueryWrapper<ProjectJudgeDO>()
.lambda() .lambda()
.eq(ProjectJudgeDO::getTelephone, projectJudgeDO.getTelephone())); .eq(ProjectJudgeDO::getAccountName, projectJudgeDO.getAccountName()));
if (projectJudge != null) { if (count > 0) {
throw new HttpException(10020); throw new HttpException(10028);
} }
this.baseMapper.insert(projectJudgeDO); this.baseMapper.insert(projectJudgeDO);
...@@ -76,17 +76,13 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec ...@@ -76,17 +76,13 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec
public void updateProjectJudge(ProjectJudgeDO projectJudgeDO) { public void updateProjectJudge(ProjectJudgeDO projectJudgeDO) {
ProjectJudgeDO projectJudge = this.baseMapper.selectById(projectJudgeDO.getId()); ProjectJudgeDO projectJudge = this.baseMapper.selectById(projectJudgeDO.getId());
if (projectJudge != null) { if (projectJudge != null) {
if (projectJudge.getTelephone().equals(projectJudgeDO.getTelephone())) { ProjectJudgeDO p = this.baseMapper.selectOne(new QueryWrapper<ProjectJudgeDO>()
this.baseMapper.updateById(projectJudgeDO); .lambda()
.eq(ProjectJudgeDO::getAccountName, projectJudgeDO.getAccountName()));
if (p != null) {
throw new HttpException(10020);
} else { } else {
ProjectJudgeDO p = this.baseMapper.selectOne(new QueryWrapper<ProjectJudgeDO>() this.baseMapper.updateById(projectJudgeDO);
.lambda()
.eq(ProjectJudgeDO::getTelephone, projectJudgeDO.getTelephone()));
if (p != null) {
throw new HttpException(10020);
} else {
this.baseMapper.updateById(projectJudgeDO);
}
} }
} }
} }
...@@ -99,13 +95,13 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec ...@@ -99,13 +95,13 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec
.lambda() .lambda()
.eq(ProjectJudgeDO::getAccountName, loginDTO.getAccountName())); .eq(ProjectJudgeDO::getAccountName, loginDTO.getAccountName()));
if (null != projectJudgeDO){ if (null != projectJudgeDO) {
if (null != projectJudgeDO.getPasswordFree() && projectJudgeDO.getPasswordFree() != 1){ if (null != projectJudgeDO.getPasswordFree() && projectJudgeDO.getPasswordFree() != 1) {
ProjectJudgeDO projectJudgeDO1 = this.baseMapper.selectOne(new QueryWrapper<ProjectJudgeDO>() ProjectJudgeDO projectJudgeDO1 = this.baseMapper.selectOne(new QueryWrapper<ProjectJudgeDO>()
.lambda() .lambda()
.eq(ProjectJudgeDO::getAccountName,loginDTO.getAccountName()) .eq(ProjectJudgeDO::getAccountName, loginDTO.getAccountName())
.eq(ProjectJudgeDO::getPassword,loginDTO.getPassword())); .eq(ProjectJudgeDO::getPassword, loginDTO.getPassword()));
// SmsCodeDO smsCodeDO = smsCodeService.getOneByTelePhone(loginDTO.getTelephone(), SmsCode.login, SmsCode.review); // SmsCodeDO smsCodeDO = smsCodeService.getOneByTelePhone(loginDTO.getTelephone(), SmsCode.login, SmsCode.review);
// if (smsCodeDO == null) { // if (smsCodeDO == null) {
// throw new HttpException(10025); // throw new HttpException(10025);
...@@ -128,7 +124,6 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec ...@@ -128,7 +124,6 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec
} }
String token = JwtUtil.generateToken(projectJudgeDO.getId(), SmsCode.review); String token = JwtUtil.generateToken(projectJudgeDO.getId(), SmsCode.review);
judgeInfoVO.setTelephone(projectJudgeDO.getTelephone()); judgeInfoVO.setTelephone(projectJudgeDO.getTelephone());
judgeInfoVO.setPosition(projectJudgeDO.getPosition()); judgeInfoVO.setPosition(projectJudgeDO.getPosition());
......
...@@ -2,6 +2,7 @@ package com.zhongzhi.service.impl; ...@@ -2,6 +2,7 @@ package com.zhongzhi.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhongzhi.common.constant.ProjectReview; import com.zhongzhi.common.constant.ProjectReview;
import com.zhongzhi.common.constant.ProjectStatus;
import com.zhongzhi.common.constant.ProjectType; import com.zhongzhi.common.constant.ProjectType;
import com.zhongzhi.common.constant.SMSTemplate; import com.zhongzhi.common.constant.SMSTemplate;
import com.zhongzhi.common.exception.HttpException; import com.zhongzhi.common.exception.HttpException;
...@@ -51,6 +52,9 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj ...@@ -51,6 +52,9 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj
@Autowired @Autowired
private AliyunSmsUtil aliyunSmsUtil; private AliyunSmsUtil aliyunSmsUtil;
@Autowired
private ProjectDAO projectDAO;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void setReview(SetReviewDTO setReviewDTO) { public void setReview(SetReviewDTO setReviewDTO) {
...@@ -84,13 +88,7 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj ...@@ -84,13 +88,7 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj
} }
if (projectDO.getProjectAssigned().equals(ProjectReview.UNASSIGNED)) { if (projectDO.getProjectAssigned().equals(ProjectReview.UNASSIGNED)) {
ProjectDO project = new ProjectDO(); projectDAO.updateProjectStatus(projectId, ProjectStatus.TO_CHECK,null,ProjectReview.TO_REVIEWED,ProjectReview.ASSIGNED);
project.setId(projectId);
project.setProjectAssigned(ProjectReview.ASSIGNED);
if (projectDO.getProjectReview().equals(ProjectReview.SUBMITTED)) {
project.setProjectReview(ProjectReview.TO_REVIEWED);
}
projectService.updateById(project);
} }
ProjectReviewDO projectReview = this.baseMapper.selectOne(new QueryWrapper<ProjectReviewDO>() ProjectReviewDO projectReview = this.baseMapper.selectOne(new QueryWrapper<ProjectReviewDO>()
...@@ -123,13 +121,7 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj ...@@ -123,13 +121,7 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj
} }
if (projectDO.getProjectAssigned().equals(ProjectReview.UNASSIGNED)) { if (projectDO.getProjectAssigned().equals(ProjectReview.UNASSIGNED)) {
ProjectDO project = new ProjectDO(); projectDAO.updateProjectStatus(projectId, ProjectStatus.TO_CHECK,null,ProjectReview.TO_REVIEWED,ProjectReview.ASSIGNED);
project.setId(projectId);
project.setProjectAssigned(ProjectReview.ASSIGNED);
if (projectDO.getProjectReview().equals(ProjectReview.SUBMITTED)) {
project.setProjectReview(ProjectReview.TO_REVIEWED);
}
projectService.updateById(project);
} }
ProjectReviewDO projectReview = this.baseMapper.selectOne(new QueryWrapper<ProjectReviewDO>() ProjectReviewDO projectReview = this.baseMapper.selectOne(new QueryWrapper<ProjectReviewDO>()
...@@ -251,10 +243,7 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj ...@@ -251,10 +243,7 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj
只有最后一个评委是撤销修改项目分配状态 只有最后一个评委是撤销修改项目分配状态
*/ */
if (count == 1) { if (count == 1) {
ProjectDO project = new ProjectDO(); projectDAO.updateProjectStatus(projectDO.getId(), ProjectStatus.TO_CHECK,null,ProjectReview.TO_REVIEWED,ProjectReview.UNASSIGNED);
project.setId(projectDO.getId());
project.setProjectAssigned(ProjectReview.UNASSIGNED);
projectService.updateById(project);
} }
ProjectReviewDO projectReview = this.baseMapper.selectOne(new QueryWrapper<ProjectReviewDO>() ProjectReviewDO projectReview = this.baseMapper.selectOne(new QueryWrapper<ProjectReviewDO>()
...@@ -273,7 +262,7 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj ...@@ -273,7 +262,7 @@ public class ProjectReviewServiceImpl extends ServiceImpl<ProjectReviewDAO, Proj
this.baseMapper.deleteById(projectReview.getId()); this.baseMapper.deleteById(projectReview.getId());
} }
aliyunSmsUtil.sendTemplateMsg(projectDO.getProjectName(), projectJudgeDO.getTelephone(), SMSTemplate.CANCEL_REVIEW); // aliyunSmsUtil.sendTemplateMsg(projectDO.getProjectName(), projectJudgeDO.getTelephone(), SMSTemplate.CANCEL_REVIEW);
} }
} }
} }
......
package com.zhongzhi.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhongzhi.dao.RolePermissionMapper;
import com.zhongzhi.dto.administer.AddRolePermissionDTO;
import com.zhongzhi.model.RolePermissionDO;
import com.zhongzhi.service.RolePermissionService;
import com.zhongzhi.vo.permission.PermissionVO;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 系统用户权限表 服务实现类
* </p>
*
* @author DengMin
* @since 2026-05-15
*/
@Service
public class RolePermissionServiceImpl extends ServiceImpl<RolePermissionMapper, RolePermissionDO> implements RolePermissionService {
@Override
public List<PermissionVO> queryRolePermission(RolePermissionDO rolePermissionDO) {
List<PermissionVO> list = this.baseMapper.getPermission(rolePermissionDO.getRole());
List<PermissionVO> treeList = new ArrayList();
list.forEach(permissions -> {
if (permissions.getParentId() == null) {
treeList.add(permissions);
}
list.forEach(p -> {
if (p.getParentId() != null) {
if (p.getParentId().equals(permissions.getId())) {
if (permissions.getChildNodeList() == null) {
permissions.setChildNodeList(new ArrayList<>());
}
permissions.getChildNodeList().add(p);
}
}
});
});
return list;
}
@Override
public void addRolePermission(AddRolePermissionDTO addRolePermissionDTO) {
this.baseMapper.delete(new QueryWrapper<RolePermissionDO>()
.lambda()
.eq(RolePermissionDO::getRole,addRolePermissionDTO.getRole()));
List<Long> permissionIds = addRolePermissionDTO.getPermissionIds();
permissionIds.stream().forEach(x->{
RolePermissionDO rolePermissionDO = new RolePermissionDO();
rolePermissionDO.setPermissionId(x);
rolePermissionDO.setRole(addRolePermissionDTO.getRole());
this.baseMapper.insert(rolePermissionDO);
});
}
}
package com.zhongzhi.vo.match;
import com.zhongzhi.common.utils.ExcelColumn;
import lombok.Data;
@Data
public class ProjectSummaryVO {
@ExcelColumn(value = "序号", col = 1)
private Integer id;
@ExcelColumn(value = "学院名称", col = 2)
private String xueyuan;
@ExcelColumn(value = "应报项目数", col = 3)
private Integer fixCnt;
@ExcelColumn(value = "报名项目数", col = 4)
private Integer projectCnt;
@ExcelColumn(value = "报名人数", col = 5)
private Integer studentCnt;
// 构造、get、set
public ProjectSummaryVO(String xueyuan, int num1, int num2) {
this.xueyuan = xueyuan;
this.projectCnt = num1;
this.studentCnt = num2;
}
}
...@@ -49,6 +49,10 @@ public class ProjectMemberVO { ...@@ -49,6 +49,10 @@ public class ProjectMemberVO {
private String email; private String email;
private String studyNo;
private String education;
/** /**
* 团队成员 * 团队成员
*/ */
......
...@@ -15,21 +15,21 @@ public class ProjectJudgeVO { ...@@ -15,21 +15,21 @@ public class ProjectJudgeVO {
@ExcelColumn(col = 3, value = "负责人") @ExcelColumn(col = 3, value = "负责人")
private String leader; private String leader;
@ExcelColumn(col = 4, value = "组别") @ExcelColumn(col = 4, value = "赛道")
private String projectTrack;
@ExcelColumn(col = 5, value = "组别")
private String projectGroup; private String projectGroup;
@ExcelColumn(col = 5, value = "项目类型") @ExcelColumn(col = 6, value = "项目类型")
private String projectType; private String projectType;
// @ExcelColumn(col = 6, value = "单元赛道") @ExcelColumn(col = 7, value = "学院")
// private String unitTrack;
@ExcelColumn(col = 6, value = "学院")
private String xueyuan; private String xueyuan;
@ExcelColumn(col = 7, value = "专业") @ExcelColumn(col = 8, value = "专业")
private String major; private String major;
@ExcelColumn(col = 8, value = "阶段") @ExcelColumn(col = 9, value = "阶段")
private String projectSchedule; private String projectSchedule;
} }
...@@ -51,6 +51,8 @@ public class SeedTrackProjectDetailVO extends ProjectMemberVO { ...@@ -51,6 +51,8 @@ public class SeedTrackProjectDetailVO extends ProjectMemberVO {
*/ */
private Long matchId; private Long matchId;
private String xueyuan;
/** /**
* 申报项目时所在院校 * 申报项目时所在院校
*/ */
......
...@@ -15,4 +15,9 @@ public class VocationalNumVO { ...@@ -15,4 +15,9 @@ public class VocationalNumVO {
*/ */
private Integer registerNum; private Integer registerNum;
/**
* 复赛
*/
private Integer fusaiNum;
} }
...@@ -25,4 +25,13 @@ public class VocationalProjectNum { ...@@ -25,4 +25,13 @@ public class VocationalProjectNum {
* 待评审项目数量 * 待评审项目数量
*/ */
private Long notReviewedNum; private Long notReviewedNum;
/**
* 中职复赛项目数量
*/
private Long vocRematchNum;
/**
* 中职决赛项目数量
*/
private Long vocFinalNum;
} }
...@@ -3,7 +3,8 @@ ...@@ -3,7 +3,8 @@
server.port=23511 server.port=23511
server.tomcat.connection-timeout=600000 server.tomcat.connection-timeout=600000
# 数据源配置 # 数据源配置
spring.datasource.url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com:3306/lixin?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai #spring.datasource.url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com:3306/lixin?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.url=jdbc:mysql://rm-uf62202s176hufw8x0o.mysql.rds.aliyuncs.com:3306/lixin?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=ykadmin_new spring.datasource.username=ykadmin_new
......
...@@ -9,6 +9,7 @@ c.code-message[10022]=输入的手机号和接收验证码手机号不一致 ...@@ -9,6 +9,7 @@ c.code-message[10022]=输入的手机号和接收验证码手机号不一致
c.code-message[10023]=该身份证号已注册 c.code-message[10023]=该身份证号已注册
c.code-message[10024]=手机号未注册 c.code-message[10024]=手机号未注册
c.code-message[10026]=密码错误 c.code-message[10026]=密码错误
c.code-message[10028]=账号已存在
# 项目 # 项目
c.code-message[10040]=项目已申请 c.code-message[10040]=项目已申请
c.code-message[10041]=项目负责人已存在 c.code-message[10041]=项目负责人已存在
......
...@@ -113,7 +113,7 @@ FROM ...@@ -113,7 +113,7 @@ FROM
</if> </if>
and t.member_type != '车' and t.member_type != '车'
GROUP BY GROUP BY
t.college_id t.college_id,t3.NAME
</select> </select>
<select id="exportList" resultType="com.zhongzhi.vo.college.ExportListVO"> <select id="exportList" resultType="com.zhongzhi.vo.college.ExportListVO">
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<select id="getList" resultType="com.zhongzhi.model.MatchDictDO"> <select id="getList" resultType="com.zhongzhi.model.MatchDictDO">
SELECT SELECT
p.* distinct p.*
FROM project p FROM project p
LEFT JOIN student s ON s.id = p.proposer_id LEFT JOIN student s ON s.id = p.proposer_id
LEFT JOIN colleges_dict c ON c.`name` = s.college LEFT JOIN colleges_dict c ON c.`name` = s.college
...@@ -47,8 +47,32 @@ ...@@ -47,8 +47,32 @@
AND s.delete_time IS NULL AND s.delete_time IS NULL
AND c.delete_time IS NULL AND c.delete_time IS NULL
</where> </where>
</select>
<select id="projectSummary" resultType="com.zhongzhi.vo.match.ProjectSummaryVO">
SELECT
t2.xueyuan,
count(distinct(t.id)) projectCnt,
count(t3.id) studentCnt
FROM
project t
LEFT JOIN student t2 ON t.proposer_id = t2.id
LEFT JOIN project_member t3 ON t.id = t3.project_id
AND t3.type != '指导教师'
WHERE
t.delete_time IS NULL
AND t2.delete_time IS NULL
and t3.delete_time is null
AND t.project_status != '填写中'
and t.match_id = #{matchId}
<if test="startDate != null and startDate != ''">
AND DATE_FORMAT( t.create_time, '%Y/%m/%d' ) >= DATE_FORMAT( #{startDate}, '%Y/%m/%d' )
</if>
<if test="endDate != null and endDate != ''">
AND DATE_FORMAT(t.create_time, '%Y-%m-%d') &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
</if>
GROUP BY GROUP BY
c.id t2.xueyuan
</select> </select>
</mapper> </mapper>
...@@ -21,14 +21,7 @@ ...@@ -21,14 +21,7 @@
SELECT distinct SELECT distinct
t2.* t2.*
FROM FROM
administer_permission t permissions t2
left join permissions t2 on t.permission_id = t2.id
WHERE
t.delete_time IS NULL
and t2.delete_time is null
<if test="id != null and id != ''">
and t.administer_id = #{id}
</if>
</select> </select>
</mapper> </mapper>
...@@ -2,6 +2,22 @@ ...@@ -2,6 +2,22 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhongzhi.dao.ProjectDAO"> <mapper namespace="com.zhongzhi.dao.ProjectDAO">
<update id="updateProjectStatus">
update project t
set
<if test="projectSchedule != null and projectSchedule != ''">
t.project_schedule = #{projectSchedule},
</if>
<if test="projectReview != null and projectReview != ''">
t.project_review = #{projectReview},
</if>
<if test="projectAssigned != null and projectAssigned != ''">
project_assigned = #{projectAssigned},
</if>
t.project_status = #{status}
where t.id = #{id}
</update>
<select id="getListPage" resultType="com.zhongzhi.vo.project.ProjectPageVO"> <select id="getListPage" resultType="com.zhongzhi.vo.project.ProjectPageVO">
select select
p.id, p.id,
...@@ -192,6 +208,7 @@ ...@@ -192,6 +208,7 @@
and p.delete_time is null and p.delete_time is null
and pr.delete_time is null and pr.delete_time is null
</where> </where>
order by pr.id
</select> </select>
<select id="getProjectReviewList" resultType="com.zhongzhi.model.ProjectDO"> <select id="getProjectReviewList" resultType="com.zhongzhi.model.ProjectDO">
...@@ -429,8 +446,7 @@ ...@@ -429,8 +446,7 @@
WHERE WHERE
p.delete_time is null p.delete_time is null
and p.match_id = #{matchId} and p.match_id = #{matchId}
AND p.project_schedule != '填写中' AND p.project_status != '填写中'
</select> </select>
<select id="getDateList" resultType="com.zhongzhi.vo.project.GetDataDListVO"> <select id="getDateList" resultType="com.zhongzhi.vo.project.GetDataDListVO">
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<select id="projectJudgesAssigned" resultType="com.zhongzhi.vo.judge.ProjectJudgePageVO"> <select id="projectJudgesAssigned" resultType="com.zhongzhi.vo.judge.ProjectJudgePageVO">
select select
pj.* distinct pj.*
from project_judge pj from project_judge pj
left join project_review pr on pr.judge_id = pj.id left join project_review pr on pr.judge_id = pj.id
left join project p on p.id = pr.project_id left join project p on p.id = pr.project_id
...@@ -60,7 +60,6 @@ ...@@ -60,7 +60,6 @@
and pj.delete_time is null and pj.delete_time is null
and pr.delete_time is null and pr.delete_time is null
</where> </where>
group by pj.id
</select> </select>
</mapper> </mapper>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<select id="getProjectScheduleRecord" resultType="com.zhongzhi.vo.scheduleRecord.ProjectScheduleRecordVO"> <select id="getProjectScheduleRecord" resultType="com.zhongzhi.vo.scheduleRecord.ProjectScheduleRecordVO">
select select
p.id, min(p.id) id,
s.college as collegeName s.college as collegeName
from project p from project p
left join student s on s.id = p.proposer_id left join student s on s.id = p.proposer_id
......
<?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.zhongzhi.dao.RolePermissionMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.zhongzhi.model.RolePermissionDO">
<id column="id" property="id"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
<result column="delete_time" property="deleteTime"/>
<result column="role" property="role"/>
<result column="permission_id" property="permissionId"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_time,
update_time,
delete_time,
id, role, permission_id
</sql>
<select id="getPermission" resultType="com.zhongzhi.vo.permission.PermissionVO">
SELECT distinct
t2.*
FROM
role_permission t
left join permissions t2 on t.permission_id = t2.id
WHERE
t.delete_time IS NULL
and t2.delete_time is null
and t.role = #{role}
</select>
</mapper>
...@@ -6,7 +6,7 @@ setParent=com.zhongzhi ...@@ -6,7 +6,7 @@ setParent=com.zhongzhi
# mapper.xml文件生成路径 # mapper.xml文件生成路径
mapperPath=/src/main/resources/mapper/ mapperPath=/src/main/resources/mapper/
# 数据库地址 # 数据库地址
url=jdbc:mysql://139.224.253.21:3306/gtja?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 url=jdbc:mysql://116.62.57.92:3306/lixin?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
driverName=com.mysql.cj.jdbc.Driver driverName=com.mysql.cj.jdbc.Driver
userName=root userName=devloper
password=ykhladmin302 password=dev@1553$
\ No newline at end of file \ No newline at end of file
...@@ -3,7 +3,8 @@ ...@@ -3,7 +3,8 @@
server.port=23511 server.port=23511
server.tomcat.connection-timeout=600000 server.tomcat.connection-timeout=600000
# 数据源配置 # 数据源配置
spring.datasource.url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com:3306/lixin?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai #spring.datasource.url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com:3306/lixin?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.url=jdbc:mysql://rm-uf62202s176hufw8x0o.mysql.rds.aliyuncs.com:3306/lixin?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=ykadmin_new spring.datasource.username=ykadmin_new
......
...@@ -9,6 +9,7 @@ c.code-message[10022]=输入的手机号和接收验证码手机号不一致 ...@@ -9,6 +9,7 @@ c.code-message[10022]=输入的手机号和接收验证码手机号不一致
c.code-message[10023]=该身份证号已注册 c.code-message[10023]=该身份证号已注册
c.code-message[10024]=手机号未注册 c.code-message[10024]=手机号未注册
c.code-message[10026]=密码错误 c.code-message[10026]=密码错误
c.code-message[10028]=账号已存在
# 项目 # 项目
c.code-message[10040]=项目已申请 c.code-message[10040]=项目已申请
c.code-message[10041]=项目负责人已存在 c.code-message[10041]=项目负责人已存在
......
...@@ -113,7 +113,7 @@ FROM ...@@ -113,7 +113,7 @@ FROM
</if> </if>
and t.member_type != '车' and t.member_type != '车'
GROUP BY GROUP BY
t.college_id t.college_id,t3.NAME
</select> </select>
<select id="exportList" resultType="com.zhongzhi.vo.college.ExportListVO"> <select id="exportList" resultType="com.zhongzhi.vo.college.ExportListVO">
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<select id="getList" resultType="com.zhongzhi.model.MatchDictDO"> <select id="getList" resultType="com.zhongzhi.model.MatchDictDO">
SELECT SELECT
p.* distinct p.*
FROM project p FROM project p
LEFT JOIN student s ON s.id = p.proposer_id LEFT JOIN student s ON s.id = p.proposer_id
LEFT JOIN colleges_dict c ON c.`name` = s.college LEFT JOIN colleges_dict c ON c.`name` = s.college
...@@ -47,8 +47,32 @@ ...@@ -47,8 +47,32 @@
AND s.delete_time IS NULL AND s.delete_time IS NULL
AND c.delete_time IS NULL AND c.delete_time IS NULL
</where> </where>
</select>
<select id="projectSummary" resultType="com.zhongzhi.vo.match.ProjectSummaryVO">
SELECT
t2.xueyuan,
count(distinct(t.id)) projectCnt,
count(t3.id) studentCnt
FROM
project t
LEFT JOIN student t2 ON t.proposer_id = t2.id
LEFT JOIN project_member t3 ON t.id = t3.project_id
AND t3.type != '指导教师'
WHERE
t.delete_time IS NULL
AND t2.delete_time IS NULL
and t3.delete_time is null
AND t.project_status != '填写中'
and t.match_id = #{matchId}
<if test="startDate != null and startDate != ''">
AND DATE_FORMAT( t.create_time, '%Y/%m/%d' ) >= DATE_FORMAT( #{startDate}, '%Y/%m/%d' )
</if>
<if test="endDate != null and endDate != ''">
AND DATE_FORMAT(t.create_time, '%Y-%m-%d') &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
</if>
GROUP BY GROUP BY
c.id t2.xueyuan
</select> </select>
</mapper> </mapper>
...@@ -21,14 +21,7 @@ ...@@ -21,14 +21,7 @@
SELECT distinct SELECT distinct
t2.* t2.*
FROM FROM
administer_permission t permissions t2
left join permissions t2 on t.permission_id = t2.id
WHERE
t.delete_time IS NULL
and t2.delete_time is null
<if test="id != null and id != ''">
and t.administer_id = #{id}
</if>
</select> </select>
</mapper> </mapper>
...@@ -2,6 +2,22 @@ ...@@ -2,6 +2,22 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhongzhi.dao.ProjectDAO"> <mapper namespace="com.zhongzhi.dao.ProjectDAO">
<update id="updateProjectStatus">
update project t
set
<if test="projectSchedule != null and projectSchedule != ''">
t.project_schedule = #{projectSchedule},
</if>
<if test="projectReview != null and projectReview != ''">
t.project_review = #{projectReview},
</if>
<if test="projectAssigned != null and projectAssigned != ''">
project_assigned = #{projectAssigned},
</if>
t.project_status = #{status}
where t.id = #{id}
</update>
<select id="getListPage" resultType="com.zhongzhi.vo.project.ProjectPageVO"> <select id="getListPage" resultType="com.zhongzhi.vo.project.ProjectPageVO">
select select
p.id, p.id,
...@@ -192,6 +208,7 @@ ...@@ -192,6 +208,7 @@
and p.delete_time is null and p.delete_time is null
and pr.delete_time is null and pr.delete_time is null
</where> </where>
order by pr.id
</select> </select>
<select id="getProjectReviewList" resultType="com.zhongzhi.model.ProjectDO"> <select id="getProjectReviewList" resultType="com.zhongzhi.model.ProjectDO">
...@@ -429,8 +446,7 @@ ...@@ -429,8 +446,7 @@
WHERE WHERE
p.delete_time is null p.delete_time is null
and p.match_id = #{matchId} and p.match_id = #{matchId}
AND p.project_schedule != '填写中' AND p.project_status != '填写中'
</select> </select>
<select id="getDateList" resultType="com.zhongzhi.vo.project.GetDataDListVO"> <select id="getDateList" resultType="com.zhongzhi.vo.project.GetDataDListVO">
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
<select id="projectJudgesAssigned" resultType="com.zhongzhi.vo.judge.ProjectJudgePageVO"> <select id="projectJudgesAssigned" resultType="com.zhongzhi.vo.judge.ProjectJudgePageVO">
select select
pj.* distinct pj.*
from project_judge pj from project_judge pj
left join project_review pr on pr.judge_id = pj.id left join project_review pr on pr.judge_id = pj.id
left join project p on p.id = pr.project_id left join project p on p.id = pr.project_id
...@@ -60,7 +60,6 @@ ...@@ -60,7 +60,6 @@
and pj.delete_time is null and pj.delete_time is null
and pr.delete_time is null and pr.delete_time is null
</where> </where>
group by pj.id
</select> </select>
</mapper> </mapper>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<select id="getProjectScheduleRecord" resultType="com.zhongzhi.vo.scheduleRecord.ProjectScheduleRecordVO"> <select id="getProjectScheduleRecord" resultType="com.zhongzhi.vo.scheduleRecord.ProjectScheduleRecordVO">
select select
p.id, min(p.id) id,
s.college as collegeName s.college as collegeName
from project p from project p
left join student s on s.id = p.proposer_id left join student s on s.id = p.proposer_id
......
...@@ -6,7 +6,7 @@ setParent=com.zhongzhi ...@@ -6,7 +6,7 @@ setParent=com.zhongzhi
# mapper.xml文件生成路径 # mapper.xml文件生成路径
mapperPath=/src/main/resources/mapper/ mapperPath=/src/main/resources/mapper/
# 数据库地址 # 数据库地址
url=jdbc:mysql://139.224.253.21:3306/gtja?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 url=jdbc:mysql://116.62.57.92:3306/lixin?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
driverName=com.mysql.cj.jdbc.Driver driverName=com.mysql.cj.jdbc.Driver
userName=root userName=devloper
password=ykhladmin302 password=dev@1553$
\ No newline at end of file \ No newline at end of file
...@@ -84,6 +84,7 @@ D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\SmsCodeDAO.java ...@@ -84,6 +84,7 @@ D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\SmsCodeDAO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\review\SetReviewDTO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\review\SetReviewDTO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\project\VocationalNumVO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\project\VocationalNumVO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\MatchCollegePdfMapper.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\MatchCollegePdfMapper.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\administer\AddRolePermissionDTO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\project\VocationalProjectVO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\project\VocationalProjectVO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\MajorDictDAO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\MajorDictDAO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\administer\GetAdministerPageVO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\administer\GetAdministerPageVO.java
...@@ -134,6 +135,7 @@ D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\scheduleRecord\ProjectSc ...@@ -134,6 +135,7 @@ D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\scheduleRecord\ProjectSc
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\common\generator\CodeGenerator.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\common\generator\CodeGenerator.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\ProjectAwardMapper.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\ProjectAwardMapper.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\controller\ProjectOwnershipStructureController.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\controller\ProjectOwnershipStructureController.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\match\ProjectSummaryVO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\common\constant\Code.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\common\constant\Code.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\project\GetDataDListVO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\project\GetDataDListVO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\ProjectCopyrightMapper.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\ProjectCopyrightMapper.java
...@@ -270,6 +272,7 @@ D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\model\ProjectPatentDO.java ...@@ -270,6 +272,7 @@ D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\model\ProjectPatentDO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\project\EditStatusDTO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\project\EditStatusDTO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\project\ProjectJudgeVO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\project\ProjectJudgeVO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\judge\ProjectJudgePageDTO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\judge\ProjectJudgePageDTO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\service\RolePermissionService.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\service\SmsNoticeService.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\service\SmsNoticeService.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\permission\PermissionVO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\permission\PermissionVO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\college\CollegesPageDTO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\college\CollegesPageDTO.java
...@@ -286,6 +289,7 @@ D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\student\RegisterDTO.jav ...@@ -286,6 +289,7 @@ D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\student\RegisterDTO.jav
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\project\ProjectListPageDTO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\project\ProjectListPageDTO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\ProjectOwnershipStructureDAO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\ProjectOwnershipStructureDAO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\AdministerTrackMappingDAO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\AdministerTrackMappingDAO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\project\ProjectSummaryDTO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\controller\ProjectTrackController.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\controller\ProjectTrackController.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\projectJudge\ImportJudge.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\projectJudge\ImportJudge.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\model\YearDictDO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\model\YearDictDO.java
...@@ -310,10 +314,13 @@ D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\member\CreateProjectMem ...@@ -310,10 +314,13 @@ D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\member\CreateProjectMem
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\project\CreateSeedTrackProjectDTO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\project\CreateSeedTrackProjectDTO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\model\ProjectPaperDO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\model\ProjectPaperDO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\AdministerPermissionDAO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\AdministerPermissionDAO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\model\RolePermissionDO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\service\impl\RolePermissionServiceImpl.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\service\FinalMatchMemberService.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\service\FinalMatchMemberService.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\service\ProjectService.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\service\ProjectService.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\SmsNoticeMapper.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\SmsNoticeMapper.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\model\base\BaseModel.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\model\base\BaseModel.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\controller\RolePermissionController.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\scheduleRecord\ProjectScheduleRecordDTO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\scheduleRecord\ProjectScheduleRecordDTO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\service\ProjectReviewService.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\service\ProjectReviewService.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\review\ProjectReviewScoreDTO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\review\ProjectReviewScoreDTO.java
...@@ -321,5 +328,6 @@ D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\student\LoginDTO.java ...@@ -321,5 +328,6 @@ D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\student\LoginDTO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\MatchDictDAO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\MatchDictDAO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\review\SubmittedDTO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dto\review\SubmittedDTO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\model\VodDictDO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\model\VodDictDO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\dao\RolePermissionMapper.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\member\ProjectMemberVO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\vo\member\ProjectMemberVO.java
D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\model\AdministerTrackMappingDO.java D:\code\lixinshuangchuang\src\main\java\com\zhongzhi\model\AdministerTrackMappingDO.java
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!