Commit d1ad4dcd by 涂亚平

第一个版本

1 parent 65538c24
Showing with 1223 additions and 1049 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.
2026-04-10 15:16:08,277 [http-nio-23511-exec-4] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]:175 - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'] with root cause 2026-04-15 17:07:30,154 [http-nio-23511-exec-6] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]:175 - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'] with root cause
org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:299) at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:299)
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181)
...@@ -43,187 +43,7 @@ org.springframework.http.converter.HttpMessageNotWritableException: No converter ...@@ -43,187 +43,7 @@ org.springframework.http.converter.HttpMessageNotWritableException: No converter
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748) at java.lang.Thread.run(Thread.java:748)
2026-04-10 15:19:53,982 [http-nio-23511-exec-7] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]:175 - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'] with root cause 2026-04-15 17:14:39,042 [http-nio-23511-exec-4] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]:175 - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'] with root cause
org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:299)
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181)
at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
2026-04-10 15:20:35,395 [http-nio-23511-exec-9] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]:175 - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'] with root cause
org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:299)
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181)
at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
2026-04-10 15:22:06,560 [http-nio-23511-exec-6] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]:175 - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'] with root cause
org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:299)
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181)
at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
2026-04-10 15:22:08,433 [http-nio-23511-exec-7] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]:175 - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'] with root cause
org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:299)
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181)
at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:82)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:123)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:92)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
2026-04-10 15:24:08,090 [http-nio-23511-exec-2] ERROR org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]:175 - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'] with root cause
org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.zhongzhi.vo.ResponseVO] with preset Content-Type 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:299) at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:299)
at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181) at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:181)
......
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,12 +76,9 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec ...@@ -76,12 +76,9 @@ 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())) {
this.baseMapper.updateById(projectJudgeDO);
} else {
ProjectJudgeDO p = this.baseMapper.selectOne(new QueryWrapper<ProjectJudgeDO>() ProjectJudgeDO p = this.baseMapper.selectOne(new QueryWrapper<ProjectJudgeDO>()
.lambda() .lambda()
.eq(ProjectJudgeDO::getTelephone, projectJudgeDO.getTelephone())); .eq(ProjectJudgeDO::getAccountName, projectJudgeDO.getAccountName()));
if (p != null) { if (p != null) {
throw new HttpException(10020); throw new HttpException(10020);
} else { } else {
...@@ -89,7 +86,6 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec ...@@ -89,7 +86,6 @@ public class ProjectJudgeServiceImpl extends ServiceImpl<ProjectJudgeDAO, Projec
} }
} }
} }
}
@Override @Override
public JudgeInfoVO login(LoginDTO loginDTO) { public JudgeInfoVO login(LoginDTO loginDTO) {
...@@ -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);
} }
} }
} }
......
...@@ -79,11 +79,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -79,11 +79,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
private AliyunSmsUtil aliyunSmsUtil; private AliyunSmsUtil aliyunSmsUtil;
@Autowired @Autowired
private CollegesDictDAO collegesDictDAO; private ProjectAwardMapper projectAwardMapper;
@Autowired @Autowired
private AdministerDAO administerDAO; private AdministerDAO administerDAO;
@Autowired
private ProjectOwnershipStructureDAO projectOwnershipStructureDAO;
// @Override // @Override
// public IPage getMainTrackProject(ProjectListPageDTO projectListPageDTO) { // public IPage getMainTrackProject(ProjectListPageDTO projectListPageDTO) {
// StudentDO studentDO = (StudentDO) Localstorage.getUser(); // StudentDO studentDO = (StudentDO) Localstorage.getUser();
...@@ -150,7 +153,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -150,7 +153,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
reviewListDTO.getProjectSchedule(), reviewListDTO.getProjectSchedule(),
reviewListDTO.getProjectAssigned(), null, reviewListDTO.getProjectAssigned(), null,
reviewListDTO.getProjectTrack(), reviewListDTO.getProjectTrack(),
reviewListDTO.getUserId(),administerDO.getCollege(), reviewListDTO.getUserId(), administerDO.getCollege(),
reviewListDTO.getXueyuan(), reviewListDTO.getXueyuan(),
reviewListDTO.getProjectType()); reviewListDTO.getProjectType());
...@@ -343,7 +346,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -343,7 +346,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
IPage<SeedTrackProjectPageVO> iPage = this.baseMapper.getSeedTrackProjectPage(page, matchId, projectListPageDTO.getProjectGroup(), projectListPageDTO.getProjectTrack(), MemberType.PRINCIPAL, null, IPage<SeedTrackProjectPageVO> iPage = this.baseMapper.getSeedTrackProjectPage(page, matchId, projectListPageDTO.getProjectGroup(), projectListPageDTO.getProjectTrack(), MemberType.PRINCIPAL, null,
projectListPageDTO.getProjectSchedule(), projectListPageDTO.getProjectStatus(), projectListPageDTO.getItemField(), projectListPageDTO.getProjectName(), projectListPageDTO.getProjectSchedule(), projectListPageDTO.getProjectStatus(), projectListPageDTO.getItemField(), projectListPageDTO.getProjectName(),
projectListPageDTO.getProjectProgress(),projectListPageDTO.getUserId(),administerDO.getCollege(),projectListPageDTO.getProjectType(),projectListPageDTO.getXueyuan()); projectListPageDTO.getProjectProgress(), projectListPageDTO.getUserId(), administerDO.getCollege(), projectListPageDTO.getProjectType(), projectListPageDTO.getXueyuan());
for (SeedTrackProjectPageVO record : iPage.getRecords()) { for (SeedTrackProjectPageVO record : iPage.getRecords()) {
List<ProjectMaterialsDO> list = projectMaterialsService.list(new QueryWrapper<ProjectMaterialsDO>() List<ProjectMaterialsDO> list = projectMaterialsService.list(new QueryWrapper<ProjectMaterialsDO>()
.lambda() .lambda()
...@@ -363,7 +366,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -363,7 +366,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
Page page = new Page(projectListPageDTO.getPageNo(), projectListPageDTO.getPageSize()); Page page = new Page(projectListPageDTO.getPageNo(), projectListPageDTO.getPageSize());
IPage<SeedTrackProjectPageVO> iPage = this.baseMapper.getSeedTrackProjectPage(page, projectListPageDTO.getMatchId(), projectListPageDTO.getProjectGroup(), null, MemberType.PRINCIPAL, collegesDictDO.getName(), IPage<SeedTrackProjectPageVO> iPage = this.baseMapper.getSeedTrackProjectPage(page, projectListPageDTO.getMatchId(), projectListPageDTO.getProjectGroup(), null, MemberType.PRINCIPAL, collegesDictDO.getName(),
projectListPageDTO.getProjectSchedule(), projectListPageDTO.getProjectStatus(), projectListPageDTO.getItemField(), projectListPageDTO.getProjectSchedule(), projectListPageDTO.getProjectStatus(), projectListPageDTO.getItemField(),
projectListPageDTO.getProjectName(), projectListPageDTO.getProjectProgress(),projectListPageDTO.getUserId(),null,projectListPageDTO.getProjectType(),projectListPageDTO.getXueyuan()); projectListPageDTO.getProjectName(), projectListPageDTO.getProjectProgress(), projectListPageDTO.getUserId(), null, projectListPageDTO.getProjectType(), projectListPageDTO.getXueyuan());
for (SeedTrackProjectPageVO record : iPage.getRecords()) { for (SeedTrackProjectPageVO record : iPage.getRecords()) {
List<ProjectMaterialsDO> list = projectMaterialsService.list(new QueryWrapper<ProjectMaterialsDO>() List<ProjectMaterialsDO> list = projectMaterialsService.list(new QueryWrapper<ProjectMaterialsDO>()
.lambda() .lambda()
...@@ -623,23 +626,27 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -623,23 +626,27 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
ProjectJudgeDO projectJudgeDO = (ProjectJudgeDO) map.get("user"); ProjectJudgeDO projectJudgeDO = (ProjectJudgeDO) map.get("user");
list = this.baseMapper.getListByJudgeId(seedTrackProjectNumDTO.getMatchId(), seedTrackProjectNumDTO.getProjectGroup(), projectJudgeDO.getId()); list = this.baseMapper.getListByJudgeId(seedTrackProjectNumDTO.getMatchId(), seedTrackProjectNumDTO.getProjectGroup(), projectJudgeDO.getId());
} else { } else {
list = this.baseMapper.getSeedTrackProjectList(seedTrackProjectNumDTO.getMatchId(), seedTrackProjectNumDTO.getProjectGroup(), collegesDictDO.getName(), null,seedTrackProjectNumDTO.getUserId(),administerDO.getCollege()); list = this.baseMapper.getSeedTrackProjectList(seedTrackProjectNumDTO.getMatchId(), seedTrackProjectNumDTO.getProjectGroup(), collegesDictDO.getName(), null, seedTrackProjectNumDTO.getUserId(), administerDO.getCollege());
} }
VocationalNumVO vocationalNumVO = new VocationalNumVO(); VocationalNumVO vocationalNumVO = new VocationalNumVO();
Integer schoolProjectNum = 0; Integer schoolProjectNum = 0;
Integer registerNum = 0; Integer registerNum = 0;
Integer fusaiNum = 0;
if (list != null && list.size() > 0) { if (list != null && list.size() > 0) {
for (ProjectDO projectDO : list) { for (ProjectDO projectDO : list) {
if (projectDO.getProjectSchedule().equals(ProjectSchedule.SCHOOL_REVIEW)) { if (projectDO.getProjectSchedule().equals(ProjectSchedule.SCHOOL_REVIEW)) {
schoolProjectNum++; schoolProjectNum++;
} else if (projectDO.getProjectSchedule().equals(ProjectSchedule.REGISTER)) { } else if (projectDO.getProjectSchedule().equals(ProjectSchedule.REGISTER)) {
registerNum++; registerNum++;
} else {
fusaiNum++;
} }
} }
} }
vocationalNumVO.setRegisterNum(registerNum); vocationalNumVO.setRegisterNum(registerNum);
vocationalNumVO.setSchoolProjectNum(schoolProjectNum); vocationalNumVO.setSchoolProjectNum(schoolProjectNum);
vocationalNumVO.setFusaiNum(fusaiNum);
return vocationalNumVO; return vocationalNumVO;
} }
...@@ -648,12 +655,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -648,12 +655,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
AdministerDO administerDO = administerDAO.selectById(reviewListDTO.getUserId()); AdministerDO administerDO = administerDAO.selectById(reviewListDTO.getUserId());
VocationalReviewNumVO vo = new VocationalReviewNumVO(); VocationalReviewNumVO vo = new VocationalReviewNumVO();
List<ProjectDO> list = this.baseMapper.getVocationalReviewNum(reviewListDTO.getUserId(),reviewListDTO.getMatchId(),administerDO.getCollege()); List<ProjectDO> list = this.baseMapper.getVocationalReviewNum(reviewListDTO.getUserId(), reviewListDTO.getMatchId(), administerDO.getCollege());
Long review = list.stream().filter(projectDO -> projectDO.getProjectReview().equals(ProjectReview.REVIEW)&&projectDO.getProjectSchedule().equals(reviewListDTO.getProjectSchedule())).count(); Long review = list.stream().filter(projectDO -> projectDO.getProjectReview().equals(ProjectReview.REVIEW) && projectDO.getProjectSchedule().equals(reviewListDTO.getProjectSchedule())).count();
Long notReview = list.stream().filter(projectDO -> projectDO.getProjectReview().equals(ProjectReview.TO_REVIEWED)&& projectDO.getProjectSchedule().equals(reviewListDTO.getProjectSchedule())).count(); Long notReview = list.stream().filter(projectDO -> projectDO.getProjectReview().equals(ProjectReview.TO_REVIEWED) && projectDO.getProjectSchedule().equals(reviewListDTO.getProjectSchedule())).count();
Long secPreliminaryNUm = list.stream().filter(projectDO -> projectDO.getProjectSchedule().equals(ProjectSchedule.SCHOOL_REVIEW) ).count(); Long secPreliminaryNUm = list.stream().filter(projectDO -> projectDO.getProjectSchedule().equals(ProjectSchedule.SCHOOL_REVIEW)).count();
Long secRematchNum = list.stream().filter(projectDO -> projectDO.getProjectSchedule().equals(ProjectSchedule.SEMI_FINAL_REVIEW)).count(); Long secRematchNum = list.stream().filter(projectDO -> projectDO.getProjectSchedule().equals(ProjectSchedule.SEMI_FINAL_REVIEW)).count();
Long secFinalNum = list.stream().filter(projectDO -> projectDO.getProjectSchedule().equals(ProjectSchedule.FINAL_REVIEW)).count(); Long secFinalNum = list.stream().filter(projectDO -> projectDO.getProjectSchedule().equals(ProjectSchedule.FINAL_REVIEW)).count();
...@@ -719,7 +726,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -719,7 +726,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
} }
@Override @Override
public VocationalProjectNum getReviewVocationalNum(ReviewVocationalNumDTO reviewVocationalNumDTO) { public List<VocationalProjectNum> getReviewVocationalNum(ReviewVocationalNumDTO reviewVocationalNumDTO) {
List<VocationalProjectNum> vocationalProjectNums = new ArrayList<>();
reviewVocationalNumDTO.setProjectSchedule("校级申请项目");
ProjectJudgeDO projectJudgeDO = (ProjectJudgeDO) Localstorage.getUser(); ProjectJudgeDO projectJudgeDO = (ProjectJudgeDO) Localstorage.getUser();
// ProjectJudgeDO projectJudgeDO = projectJudgeService.getById(reviewVocationalNumDTO.getProjectJudgeId()); // ProjectJudgeDO projectJudgeDO = projectJudgeService.getById(reviewVocationalNumDTO.getProjectJudgeId());
if (projectJudgeDO == null) { if (projectJudgeDO == null) {
...@@ -737,21 +747,61 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -737,21 +747,61 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
(new Date().before(projectReviewPeriodDO.getEndTime()) || (new Date().before(projectReviewPeriodDO.getEndTime()) ||
DateFormatUtil.format(new Date(), DateFormatUtil.FMT_sdf14_L).equals(DateFormatUtil.format(projectReviewPeriodDO.getEndTime(), DateFormatUtil.FMT_sdf14_L)))) { DateFormatUtil.format(new Date(), DateFormatUtil.FMT_sdf14_L).equals(DateFormatUtil.format(projectReviewPeriodDO.getEndTime(), DateFormatUtil.FMT_sdf14_L)))) {
List<ProjectDO> list = this.baseMapper.getProjectReviewList(projectJudgeDO.getId(), reviewVocationalNumDTO.getMatchId(), null); List<ProjectDO> list = this.baseMapper.getProjectReviewList(projectJudgeDO.getId(), reviewVocationalNumDTO.getMatchId(), null);
Long secPreliminaryNUm = list.stream().filter(p -> p.getProjectSchedule().equals(ProjectSchedule.SCHOOL_REVIEW)).count(); Long secPreliminaryNum = list.stream().filter(p -> p.getProjectSchedule().equals(ProjectSchedule.SCHOOL_REVIEW)).count();
Long secRematchNum = list.stream().filter(p -> p.getProjectSchedule().equals(ProjectSchedule.SEMI_FINAL_REVIEW)).count();
Long secFinalNum = list.stream().filter(p -> p.getProjectSchedule().equals(ProjectSchedule.FINAL_REVIEW)).count(); Long secFinalNum = list.stream().filter(p -> p.getProjectSchedule().equals(ProjectSchedule.FINAL_REVIEW)).count();
Long reviewedNum = list.stream().filter(p -> p.getProjectSchedule().equals(reviewVocationalNumDTO.getProjectSchedule()) && p.getProjectReview().equals(ProjectReview.REVIEW)).count(); Long reviewedNum = list.stream().filter(p -> p.getProjectSchedule().equals(reviewVocationalNumDTO.getProjectSchedule()) && p.getProjectReview().equals(ProjectReview.REVIEW)).count();
Long notReviewedNum = list.stream().filter(p -> p.getProjectSchedule().equals(reviewVocationalNumDTO.getProjectSchedule()) && p.getProjectReview().equals(ProjectReview.ASSIGNED)).count(); Long notReviewedNum = list.stream().filter(p -> p.getProjectSchedule().equals(reviewVocationalNumDTO.getProjectSchedule()) && p.getProjectReview().equals(ProjectReview.ASSIGNED)).count();
vocationalProjectNum.setSecRematchNum(secRematchNum);
vocationalProjectNum.setSecFinalNum(secFinalNum); vocationalProjectNum.setSecFinalNum(secFinalNum);
vocationalProjectNum.setSecPreliminaryNUm(secPreliminaryNUm); vocationalProjectNum.setSecPreliminaryNUm(secPreliminaryNum);
vocationalProjectNum.setReviewedNum(reviewedNum); vocationalProjectNum.setReviewedNum(reviewedNum);
vocationalProjectNum.setNotReviewedNum(notReviewedNum); vocationalProjectNum.setNotReviewedNum(notReviewedNum);
vocationalProjectNums.add(vocationalProjectNum);
}else {
vocationalProjectNum.setSecRematchNum(0L);
vocationalProjectNum.setSecFinalNum(0L);
vocationalProjectNum.setSecPreliminaryNUm(0L);
vocationalProjectNum.setReviewedNum(0L);
vocationalProjectNum.setNotReviewedNum(0L);
vocationalProjectNums.add(vocationalProjectNum);
}
}
reviewVocationalNumDTO.setProjectSchedule("校级复赛项目");
VocationalProjectNum vocationalProjectNum1 = new VocationalProjectNum();
ProjectReviewPeriodDO projectReviewPeriodDO1 = projectReviewPeriodService.getOne(new QueryWrapper<ProjectReviewPeriodDO>()
.lambda()
.eq(ProjectReviewPeriodDO::getMatchId, reviewVocationalNumDTO.getMatchId())
.eq(ProjectReviewPeriodDO::getProjectSchedule, reviewVocationalNumDTO.getProjectSchedule()));
if (projectReviewPeriodDO1 != null) {
if ((new Date().after(projectReviewPeriodDO1.getStartTime()) ||
DateFormatUtil.format(new Date(), DateFormatUtil.FMT_sdf14_L).equals(DateFormatUtil.format(projectReviewPeriodDO1.getStartTime(), DateFormatUtil.FMT_sdf14_L)))
&&
(new Date().before(projectReviewPeriodDO1.getEndTime()) ||
DateFormatUtil.format(new Date(), DateFormatUtil.FMT_sdf14_L).equals(DateFormatUtil.format(projectReviewPeriodDO1.getEndTime(), DateFormatUtil.FMT_sdf14_L)))) {
List<ProjectDO> list = this.baseMapper.getProjectReviewList(projectJudgeDO.getId(), reviewVocationalNumDTO.getMatchId(), null);
Long secRematchNum = list.stream().filter(p -> p.getProjectSchedule().equals(ProjectSchedule.SEMI_FINAL_REVIEW)).count();
Long secFinalNum = list.stream().filter(p -> p.getProjectSchedule().equals(ProjectSchedule.FINAL_REVIEW)).count();
Long reviewedNum = list.stream().filter(p -> p.getProjectSchedule().equals(reviewVocationalNumDTO.getProjectSchedule()) && p.getProjectReview().equals(ProjectReview.REVIEW)).count();
Long notReviewedNum = list.stream().filter(p -> p.getProjectSchedule().equals(reviewVocationalNumDTO.getProjectSchedule()) && p.getProjectReview().equals(ProjectReview.ASSIGNED)).count();
vocationalProjectNum1.setSecRematchNum(secRematchNum);
vocationalProjectNum1.setSecFinalNum(secFinalNum);
vocationalProjectNum1.setReviewedNum(reviewedNum);
vocationalProjectNum1.setNotReviewedNum(notReviewedNum);
vocationalProjectNums.add(vocationalProjectNum1);
}else {
vocationalProjectNum1.setSecRematchNum(0L);
vocationalProjectNum1.setSecFinalNum(0L);
vocationalProjectNum1.setSecPreliminaryNUm(0L);
vocationalProjectNum1.setReviewedNum(0L);
vocationalProjectNum1.setNotReviewedNum(0L);
vocationalProjectNums.add(vocationalProjectNum1);
} }
} }
return vocationalProjectNum; return vocationalProjectNums;
} }
@Override @Override
...@@ -797,7 +847,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -797,7 +847,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
ProjectAssignNumVO projectAssignNumVO = new ProjectAssignNumVO(); ProjectAssignNumVO projectAssignNumVO = new ProjectAssignNumVO();
AdministerDO administerDO = administerDAO.selectById(reviewListDTO.getUserId()); AdministerDO administerDO = administerDAO.selectById(reviewListDTO.getUserId());
List<ProjectDO> list = this.baseMapper.getVocationalAssignNum(reviewListDTO.getUserId(),reviewListDTO.getMatchId(),administerDO.getCollege()); List<ProjectDO> list = this.baseMapper.getVocationalAssignNum(reviewListDTO.getUserId(), reviewListDTO.getMatchId(), administerDO.getCollege());
Long assignNum = list.stream().filter(projectDO -> projectDO.getProjectAssigned().equals(ProjectReview.ASSIGNED) && Long assignNum = list.stream().filter(projectDO -> projectDO.getProjectAssigned().equals(ProjectReview.ASSIGNED) &&
projectDO.getProjectSchedule().equals(reviewListDTO.getProjectSchedule())).count(); projectDO.getProjectSchedule().equals(reviewListDTO.getProjectSchedule())).count();
...@@ -1125,7 +1175,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -1125,7 +1175,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
.eq(ProjectMemberDO::getProjectId, project.getId()) .eq(ProjectMemberDO::getProjectId, project.getId())
.eq(ProjectMemberDO::getTelephone, newMember.getTeamTelephone())); .eq(ProjectMemberDO::getTelephone, newMember.getTeamTelephone()));
if (count > 0){ if (count > 0) {
throw new HttpException(10032); throw new HttpException(10032);
} }
...@@ -1159,7 +1209,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -1159,7 +1209,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
.eq(ProjectMemberDO::getProjectId, project.getId()) .eq(ProjectMemberDO::getProjectId, project.getId())
.eq(ProjectMemberDO::getTelephone, newMember.getTelephone())); .eq(ProjectMemberDO::getTelephone, newMember.getTelephone()));
if (count > 0){ if (count > 0) {
throw new HttpException(10032); throw new HttpException(10032);
} }
ProjectMemberDO mentor = new ProjectMemberDO(); ProjectMemberDO mentor = new ProjectMemberDO();
...@@ -1247,6 +1297,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -1247,6 +1297,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
projectMember.setType(MemberType.PRINCIPAL); projectMember.setType(MemberType.PRINCIPAL);
projectMember.setTelephone(studentDO.getTelephone()); projectMember.setTelephone(studentDO.getTelephone());
projectMember.setIdCard(createProjectMemberDTO.getIdCard()); projectMember.setIdCard(createProjectMemberDTO.getIdCard());
projectMember.setStudyNo(createProjectMemberDTO.getStudyNo());
if (projectMemberDO != null) { if (projectMemberDO != null) {
projectMember.setId(projectMemberDO.getId()); projectMember.setId(projectMemberDO.getId());
projectMemberService.updateById(projectMember); projectMemberService.updateById(projectMember);
...@@ -1278,7 +1329,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -1278,7 +1329,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
.eq(ProjectMemberDO::getProjectId, project.getId()) .eq(ProjectMemberDO::getProjectId, project.getId())
.eq(ProjectMemberDO::getTelephone, teamMemberDTO.getTeamTelephone())); .eq(ProjectMemberDO::getTelephone, teamMemberDTO.getTeamTelephone()));
if (count > 0){ if (count > 0) {
throw new HttpException(10079); throw new HttpException(10079);
} }
...@@ -1289,6 +1340,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -1289,6 +1340,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
teamMember.setType(MemberType.TEAM_MEMBER); teamMember.setType(MemberType.TEAM_MEMBER);
teamMember.setIdCard(teamMember.getIdCard()); teamMember.setIdCard(teamMember.getIdCard());
teamMember.setTelephone(teamMemberDTO.getTeamTelephone()); teamMember.setTelephone(teamMemberDTO.getTeamTelephone());
teamMember.setEmail(teamMemberDTO.getEmail());
projectMemberService.save(teamMember); projectMemberService.save(teamMember);
} }
} }
...@@ -1322,7 +1374,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -1322,7 +1374,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
.eq(ProjectMemberDO::getProjectId, project.getId()) .eq(ProjectMemberDO::getProjectId, project.getId())
.eq(ProjectMemberDO::getTelephone, mentorDTO.getTelephone())); .eq(ProjectMemberDO::getTelephone, mentorDTO.getTelephone()));
if (count2 > 0){ if (count2 > 0) {
throw new HttpException(10079); throw new HttpException(10079);
} }
...@@ -1336,10 +1388,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -1336,10 +1388,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
} }
if (project.getEditStatus() == 0) { if (project.getEditStatus() == 0) {
ProjectDO projectDO = new ProjectDO(); this.baseMapper.updateProjectStatus(project.getId(), ProjectStatus.TO_CHECK, null, null, null);
projectDO.setId(project.getId());
projectDO.setProjectStatus(ProjectReview.TO_REVIEWED);
this.baseMapper.updateById(projectDO);
} }
} }
...@@ -1525,8 +1574,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -1525,8 +1574,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
ProjectDO pd = new ProjectDO(); ProjectDO pd = new ProjectDO();
pd.setId(project.getId()); pd.setId(project.getId());
pd.setProjectStatus(ProjectStatus.UN_SUBMITTED); this.baseMapper.updateProjectStatus(project.getId(), ProjectStatus.UN_SUBMITTED, null, null, null);
this.baseMapper.updateById(pd);
} }
// //
// @Override // @Override
...@@ -1663,12 +1711,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -1663,12 +1711,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
if (projectDO != null) { if (projectDO != null) {
BeanUtils.copyProperties(projectDO, projectInfoVO); BeanUtils.copyProperties(projectDO, projectInfoVO);
// // 股权结构 // 股权结构
// List<ProjectOwnershipStructureDO> ownershipStructureDOList = projectOwnershipStructureService.list(new QueryWrapper<ProjectOwnershipStructureDO>() List<ProjectOwnershipStructureDO> ownershipStructureDOList = projectOwnershipStructureService.list(new QueryWrapper<ProjectOwnershipStructureDO>()
// .lambda() .lambda()
// .eq(ProjectOwnershipStructureDO::getProjectId, projectDO.getId())); .eq(ProjectOwnershipStructureDO::getProjectId, projectDO.getId()));
// projectInfoVO.setOwnership(ownershipStructureDOList); projectInfoVO.setOwnership(ownershipStructureDOList);
//
// /** // /**
// * 专利 // * 专利
// */ // */
...@@ -1685,13 +1733,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -1685,13 +1733,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
// .eq(ProjectPaperDO::getProjectId, projectDO.getId())); // .eq(ProjectPaperDO::getProjectId, projectDO.getId()));
// projectInfoVO.setPaper(paperDOList); // projectInfoVO.setPaper(paperDOList);
// //
// /** /**
// * 奖项 * 奖项
// */ */
// List<ProjectAwardDO> awardDOList = awardMapper.selectList(new QueryWrapper<ProjectAwardDO>() List<ProjectAwardDO> awardDOList = projectAwardMapper.selectList(new QueryWrapper<ProjectAwardDO>()
// .lambda() .lambda()
// .eq(ProjectAwardDO::getProjectId, projectDO.getId())); .eq(ProjectAwardDO::getProjectId, projectDO.getId()));
// projectInfoVO.setAward(awardDOList); projectInfoVO.setAward(awardDOList);
// //
// /** // /**
// * 软件著作权 // * 软件著作权
...@@ -1768,12 +1816,38 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -1768,12 +1816,38 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
projectDO.setProjectGroup(createVocationalProjectDTO.getProjectGroup()); projectDO.setProjectGroup(createVocationalProjectDTO.getProjectGroup());
} }
projectDO.setSubmitDate(DateFormatUtil.currentTime());
if (po == null) { if (po == null) {
this.baseMapper.insert(projectDO); this.baseMapper.insert(projectDO);
} else { } else {
projectDO.setId(po.getId()); projectDO.setId(po.getId());
this.baseMapper.updateById(projectDO); this.baseMapper.updateById(projectDO);
} }
if (null != createVocationalProjectDTO.getAward()) {
projectAwardMapper.delete(new QueryWrapper<ProjectAwardDO>()
.lambda()
.eq(ProjectAwardDO::getProjectId, projectDO.getId()));
List<ProjectAwardDO> award = createVocationalProjectDTO.getAward();
award.stream().forEach(x -> {
x.setProjectId(projectDO.getId());
projectAwardMapper.insert(x);
});
}
if (null != createVocationalProjectDTO.getOwnership()) {
projectOwnershipStructureDAO.delete(new QueryWrapper<ProjectOwnershipStructureDO>()
.lambda()
.eq(ProjectOwnershipStructureDO::getProjectId, projectDO.getId()));
List<ProjectOwnershipStructureDO> ownership = createVocationalProjectDTO.getOwnership();
ownership.stream().forEach(x -> {
x.setProjectId(projectDO.getId());
projectOwnershipStructureDAO.insert(x);
});
}
} }
@Override @Override
...@@ -2296,15 +2370,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2296,15 +2370,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
throw new HttpException(10046); throw new HttpException(10046);
} }
ProjectDO project = new ProjectDO(); if (ProjectSchedule.REGISTER.equals(projectDO.getProjectSchedule())) {
project.setId(projectDO.getId()); this.baseMapper.updateProjectStatus(projectDO.getId(), ProjectStatus.TO_CHECK, ProjectSchedule.SCHOOL_REVIEW, null, null);
} else if (ProjectSchedule.SCHOOL_REVIEW.equals(projectDO.getProjectSchedule())) {
this.baseMapper.updateProjectStatus(projectDO.getId(), ProjectStatus.TO_CHECK, ProjectSchedule.SEMI_FINAL_REVIEW, null, null);
if (ProjectSchedule.REGISTER.equals(projectDO.getProjectSchedule()) ){ } else {
project.setProjectSchedule(ProjectSchedule.SCHOOL_REVIEW); this.baseMapper.updateProjectStatus(projectDO.getId(), approveDTO.getProjectStatus(), ProjectSchedule.SEMI_FINAL_REVIEW, null, null);
} }
this.baseMapper.updateById(project);
} }
} }
...@@ -2317,8 +2389,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2317,8 +2389,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
public SeedTrackProjectDetailVO getProjectById(Long id) { public SeedTrackProjectDetailVO getProjectById(Long id) {
SeedTrackProjectDetailVO seedTrackProjectDetailVO = new SeedTrackProjectDetailVO(); SeedTrackProjectDetailVO seedTrackProjectDetailVO = new SeedTrackProjectDetailVO();
ProjectDO projectDO = this.baseMapper.selectById(id); ProjectDO projectDO = this.baseMapper.selectById(id);
if (projectDO != null) { if (projectDO != null) {
BeanUtils.copyProperties(projectDO, seedTrackProjectDetailVO); BeanUtils.copyProperties(projectDO, seedTrackProjectDetailVO);
StudentDO studentDO = studentService.getById(projectDO.getProposerId());
seedTrackProjectDetailVO.setXueyuan(studentDO.getXueyuan());
List<ProjectMaterialsDO> materials = projectMaterialsService.list(new QueryWrapper<ProjectMaterialsDO>() List<ProjectMaterialsDO> materials = projectMaterialsService.list(new QueryWrapper<ProjectMaterialsDO>()
.lambda() .lambda()
.eq(ProjectMaterialsDO::getProjectId, projectDO.getId())); .eq(ProjectMaterialsDO::getProjectId, projectDO.getId()));
...@@ -2340,6 +2417,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2340,6 +2417,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
seedTrackProjectDetailVO.setStudentNo(projectMemberDO.getStudentNo()); seedTrackProjectDetailVO.setStudentNo(projectMemberDO.getStudentNo());
seedTrackProjectDetailVO.setEmail(projectMemberDO.getEmail()); seedTrackProjectDetailVO.setEmail(projectMemberDO.getEmail());
seedTrackProjectDetailVO.setIdCard(projectMemberDO.getIdCard()); seedTrackProjectDetailVO.setIdCard(projectMemberDO.getIdCard());
seedTrackProjectDetailVO.setStudyNo(projectMemberDO.getStudyNo());
seedTrackProjectDetailVO.setEducation(projectMemberDO.getEducation());
seedTrackProjectDetailVO.setEmail(projectMemberDO.getEmail());
seedTrackProjectDetailVO.setFiveYears(projectMemberDO.getFiveYears()); seedTrackProjectDetailVO.setFiveYears(projectMemberDO.getFiveYears());
} else if (projectMemberDO.getType().equals(MemberType.TEAM_MEMBER)) { } else if (projectMemberDO.getType().equals(MemberType.TEAM_MEMBER)) {
TeamMemberDTO teamMemberDTO = new TeamMemberDTO(); TeamMemberDTO teamMemberDTO = new TeamMemberDTO();
...@@ -2352,6 +2432,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2352,6 +2432,9 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
teamMemberDTO.setTeamName(projectMemberDO.getName()); teamMemberDTO.setTeamName(projectMemberDO.getName());
teamMemberDTO.setTeamTelephone(projectMemberDO.getTelephone()); teamMemberDTO.setTeamTelephone(projectMemberDO.getTelephone());
teamMemberDTO.setIdCard(projectMemberDO.getIdCard()); teamMemberDTO.setIdCard(projectMemberDO.getIdCard());
teamMemberDTO.setStudyNo(projectMemberDO.getStudyNo());
teamMemberDTO.setEducation(projectMemberDO.getEducation());
teamMemberDTO.setEmail(projectMemberDO.getEmail());
teamMember.add(teamMemberDTO); teamMember.add(teamMemberDTO);
} else if (projectMemberDO.getType().equals(MemberType.MENTOR)) { } else if (projectMemberDO.getType().equals(MemberType.MENTOR)) {
MentorDTO mentorDTO = new MentorDTO(); MentorDTO mentorDTO = new MentorDTO();
...@@ -2368,6 +2451,17 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2368,6 +2451,17 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
seedTrackProjectDetailVO.setMentor(mentor); seedTrackProjectDetailVO.setMentor(mentor);
seedTrackProjectDetailVO.setTeamMember(teamMember); seedTrackProjectDetailVO.setTeamMember(teamMember);
} }
List<ProjectOwnershipStructureDO> projectOwnershipStructureDOS = projectOwnershipStructureDAO.selectList(new QueryWrapper<ProjectOwnershipStructureDO>()
.lambda()
.eq(ProjectOwnershipStructureDO::getProjectId, projectDO.getId()));
seedTrackProjectDetailVO.setOwnership(projectOwnershipStructureDOS);
List<ProjectAwardDO> projectAwardDOS = projectAwardMapper.selectList(new QueryWrapper<ProjectAwardDO>()
.lambda()
.eq(ProjectAwardDO::getProjectId, projectDO.getId()));
seedTrackProjectDetailVO.setAward(projectAwardDOS);
return seedTrackProjectDetailVO; return seedTrackProjectDetailVO;
} }
...@@ -2377,7 +2471,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2377,7 +2471,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
AdministerDO administerDO = administerDAO.selectById(projectCollegeListDTO.getUserId()); AdministerDO administerDO = administerDAO.selectById(projectCollegeListDTO.getUserId());
ExportProjectDTO project = new ExportProjectDTO(); ExportProjectDTO project = new ExportProjectDTO();
List<ProjectDO> list = this.baseMapper.exportProjectReview(projectCollegeListDTO.getUserId(),projectCollegeListDTO.getMatchId(),projectCollegeListDTO.getProjectSchedule(),administerDO.getCollege()); List<ProjectDO> list = this.baseMapper.exportProjectReview(projectCollegeListDTO.getUserId(), projectCollegeListDTO.getMatchId(), projectCollegeListDTO.getProjectSchedule(), administerDO.getCollege());
if (list != null && list.size() > 0) { if (list != null && list.size() > 0) {
for (ProjectDO projectDO : list) { for (ProjectDO projectDO : list) {
if (projectDO != null) { if (projectDO != null) {
...@@ -2390,38 +2484,68 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2390,38 +2484,68 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
project.setTelephone(studentDO.getTelephone()); project.setTelephone(studentDO.getTelephone());
project.setCollege(studentDO.getCollege()); project.setCollege(studentDO.getCollege());
project.setXueyuan(studentDO.getXueyuan()); project.setXueyuan(studentDO.getXueyuan());
project.setEnrollmentDate(studentDO.getEnrollmentDate());
project.setGraduateDate(studentDO.getGraduateDate());
project.setEducation(studentDO.getEducation());
} }
MatchDictDO matchDictDO = matchDictService.getById(projectDO.getMatchId()); //查找这个负责人的学号
if (matchDictDO != null) { ProjectMemberDO projectMemberDO = projectMemberDAO.selectOne(new QueryWrapper<ProjectMemberDO>()
project.setMatchName(matchDictDO.getMatchName()); .lambda()
.eq(ProjectMemberDO::getProjectId, projectDO.getId())
.eq(ProjectMemberDO::getType, MemberType.PRINCIPAL));
if (null != projectMemberDO) {
project.setStudyNo(projectMemberDO.getStudyNo());
project.setEmail(projectMemberDO.getEmail());
} }
project.setProvince("上海市");
project.setCreateDate(projectDO.getSubmitDate());
List<ProjectMemberDO> memberDOS = projectMemberService.list(new QueryWrapper<ProjectMemberDO>() //查找指导教师
List<ProjectMemberDO> mentor = projectMemberDAO.selectList(new QueryWrapper<ProjectMemberDO>()
.lambda() .lambda()
.eq(ProjectMemberDO::getProjectId, projectDO.getId())); .eq(ProjectMemberDO::getProjectId, projectDO.getId())
String teamMember = ""; .eq(ProjectMemberDO::getType, MemberType.MENTOR));
String teacher = "";
for (ProjectMemberDO memberDO : memberDOS) { StringBuilder mentorStr = new StringBuilder();
if (memberDO.getType().equals(MemberType.TEAM_MEMBER)) { for (int i = 0; i < mentor.size(); i++) {
teamMember += memberDO.getName() + ","; if (i == mentor.size() - 1) {
} else if (memberDO.getType().equals(MemberType.MENTOR)) { mentorStr.append(mentor.get(i).getName());
teacher += memberDO.getName() + ",";
} else if (memberDO.getType().equals(MemberType.PRINCIPAL)) {
// project.setEducation(memberDO.getDeleteTime());
}
}
if (StringUtils.isNotBlank(teamMember)) {
project.setTeamMembers(teamMember.substring(0, teamMember.length() - 1));
} else { } else {
project.setTeamMembers(""); mentorStr.append(mentor.get(i).getName()).append(",");
} }
}
project.setMentorStr(mentorStr.toString());
//查找团队成员
List<ProjectMemberDO> members = projectMemberDAO.selectList(new QueryWrapper<ProjectMemberDO>()
.lambda()
.eq(ProjectMemberDO::getProjectId, projectDO.getId())
.eq(ProjectMemberDO::getType, MemberType.TEAM_MEMBER));
if (StringUtils.isNotBlank(teacher)) { StringBuilder memberStr = new StringBuilder();
project.setTeachers(teacher.substring(0, teacher.length() - 1)); for (int i = 0; i < members.size(); i++) {
if (i == members.size() - 1) {
memberStr.append(members.get(i).getName());
} else { } else {
project.setTeachers(""); memberStr.append(members.get(i).getName()).append(",");
} }
}
project.setMemberStr(memberStr.toString());
if ("高教主赛道".equals(projectDO.getProjectTrack())) {
if ("本科".equals(studentDO.getEducation())) {
project.setProjectGroup("本科生" + project.getProjectGroup());
} else {
project.setProjectGroup("研究生" + project.getProjectGroup());
}
}
if (StringUtils.isEmpty(projectDO.getCompanyName())) {
project.setProjectStage("创意计划阶段");
} else {
project.setProjectStage("已注册公司运营");
}
data.add(JSON.parseObject(JSON.toJSONString(project), Map.class)); data.add(JSON.parseObject(JSON.toJSONString(project), Map.class));
} }
} }
...@@ -2451,36 +2575,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2451,36 +2575,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
project.setTelephone(studentDO.getTelephone()); project.setTelephone(studentDO.getTelephone());
} }
MatchDictDO matchDictDO = matchDictService.getById(projectDO.getMatchId());
if (matchDictDO != null) {
project.setMatchName(matchDictDO.getMatchName());
}
List<ProjectMemberDO> memberDOS = projectMemberService.list(new QueryWrapper<ProjectMemberDO>()
.lambda()
.eq(ProjectMemberDO::getProjectId, projectDO.getId()));
String teamMember = "";
String teacher = "";
for (ProjectMemberDO memberDO : memberDOS) {
if (memberDO.getType().equals(MemberType.TEAM_MEMBER)) {
teamMember += memberDO.getName() + ",";
} else if (memberDO.getType().equals(MemberType.MENTOR)) {
teacher += memberDO.getName() + ",";
} else if (memberDO.getType().equals(MemberType.PRINCIPAL)) {
// project.setStudentNo(memberDO.getStudentNo());
}
}
if (StringUtils.isNotBlank(teamMember)) {
project.setTeamMembers(teamMember.substring(0, teamMember.length() - 1));
} else {
project.setTeamMembers("");
}
if (StringUtils.isNotBlank(teacher)) {
project.setTeachers(teacher.substring(0, teacher.length() - 1));
} else {
project.setTeachers("");
}
data.add(JSON.parseObject(JSON.toJSONString(project), Map.class)); data.add(JSON.parseObject(JSON.toJSONString(project), Map.class));
} }
} }
...@@ -2497,78 +2591,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2497,78 +2591,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
throw new HttpException(10046); throw new HttpException(10046);
} }
ProjectDO project = new ProjectDO(); if (ProjectSchedule.REGISTER.equals(projectDO.getProjectSchedule())) {
project.setId(projectDO.getId()); this.baseMapper.updateProjectStatus(projectDO.getId(), ProjectStatus.TO_CHECK, ProjectSchedule.SCHOOL_REVIEW, null, null);
} else if (ProjectSchedule.SCHOOL_REVIEW.equals(projectDO.getProjectSchedule())) {
if (ProjectSchedule.REGISTER.equals(projectDO.getProjectSchedule()) ){ this.baseMapper.updateProjectStatus(projectDO.getId(), ProjectStatus.TO_CHECK, ProjectSchedule.SEMI_FINAL_REVIEW, null, null);
if (approveDTO.getProjectStatus() == 7) {
project.setProjectStatus(ProjectStatus.ABANDON);
} else { } else {
project.setProjectSchedule(ProjectSchedule.SCHOOL_REVIEW); this.baseMapper.updateProjectStatus(projectDO.getId(), approveDTO.getProjectStatus(), ProjectSchedule.SEMI_FINAL_REVIEW, null, null);
project.setProjectStatus(ProjectReview.TO_REVIEWED);
} }
project.setProjectAssigned(ProjectReview.UNASSIGNED);
project.setProjectReview(ProjectReview.TO_REVIEWED);
}
if (ProjectSchedule.SCHOOL_REVIEW.equals(projectDO.getProjectSchedule())){
if (approveDTO.getProjectStatus() == 7) {
project.setProjectStatus(ProjectStatus.ABANDON);
} else {
project.setProjectSchedule(ProjectSchedule.SEMI_FINAL_REVIEW);
project.setProjectStatus(ProjectReview.TO_REVIEWED);
}
project.setProjectAssigned(ProjectReview.UNASSIGNED);
project.setProjectReview(ProjectReview.TO_REVIEWED);
}
if (ProjectSchedule.SEMI_FINAL_REVIEW.equals(projectDO.getProjectSchedule())) {
/**
* 复赛通过 ---> 决赛审核
*/
if (approveDTO.getProjectStatus() == 1) {
project.setProjectSchedule(ProjectSchedule.FINAL_REVIEW);
project.setProjectReview(ProjectReview.TO_SCORE);
project.setProjectAssigned(ProjectReview.UNASSIGNED);
} else if (approveDTO.getProjectStatus() == 2) {
project.setProjectSchedule(ProjectSchedule.SEMI_FINAL_REVIEW);
project.setProjectStatus(ProjectStatus.REMATCH_WINNING_AWARD);
} else if (approveDTO.getProjectStatus() == 3) {
project.setProjectSchedule(ProjectSchedule.SEMI_FINAL_REVIEW);
project.setProjectStatus(ProjectStatus.REMATCH_SILVER_AWARD);
} else if (approveDTO.getProjectStatus() == 4) {
project.setProjectSchedule(ProjectSchedule.SEMI_FINAL_REVIEW);
project.setProjectStatus(ProjectStatus.REMATCH_BRONZE_AWARD);
}else if (approveDTO.getProjectStatus() == 7){
project.setProjectStatus(ProjectStatus.ABANDON);
}
}
if (ProjectSchedule.FINAL_REVIEW.equals(projectDO.getProjectSchedule())){
/**
* 决赛通过 ---> 决赛通过
*/
if (ProjectSchedule.FINAL_REVIEW.equals(projectDO.getProjectSchedule())){
/**
* 决赛通过 ---> 决赛通过
*/
if (approveDTO.getProjectStatus() == 5) {
project.setProjectSchedule(ProjectSchedule.FINAL_REVIEW);
project.setProjectStatus(ProjectStatus.REMATCH_FINALS_GOLD_AWARD);
} else if (approveDTO.getProjectStatus() == 6) {
project.setProjectSchedule(ProjectSchedule.FINAL_REVIEW);
project.setProjectStatus(ProjectStatus.REMATCH_SILVER_AWARD);
}else if (approveDTO.getProjectStatus() == 2){
project.setProjectSchedule(ProjectSchedule.FINAL_REVIEW);
project.setProjectStatus(ProjectStatus.REMATCH_WINNING_AWARD);
}else if (approveDTO.getProjectStatus() == 4){
project.setProjectSchedule(ProjectSchedule.FINAL_REVIEW);
project.setProjectStatus(ProjectStatus.REMATCH_BRONZE_AWARD);
}
}
}
this.baseMapper.updateById(project);
} }
@Override @Override
...@@ -2595,11 +2625,11 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2595,11 +2625,11 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
//StudentDO studentDO = studentService.getById(projectDO.getProposerId()); //StudentDO studentDO = studentService.getById(projectDO.getProposerId());
ProjectDO project = new ProjectDO(); // ProjectDO project = new ProjectDO();
project.setId(projectDO.getId()); // project.setId(projectDO.getId());
project.setProjectStatus(projectStatus); // project.setProjectStatus(projectStatus);
project.setProjectSchedule(projectDO.getProjectSchedule()); // project.setProjectSchedule(projectDO.getProjectSchedule());
this.baseMapper.updateById(project); this.baseMapper.updateProjectStatus(projectDO.getId(), ProjectStatus.ABANDON, null, null, null);
ProjectScheduleRecordDO ps = projectScheduleRecordService.getOne(new QueryWrapper<ProjectScheduleRecordDO>().lambda() ProjectScheduleRecordDO ps = projectScheduleRecordService.getOne(new QueryWrapper<ProjectScheduleRecordDO>().lambda()
.eq(ProjectScheduleRecordDO::getProjectSchedule, projectDO.getProjectSchedule()) .eq(ProjectScheduleRecordDO::getProjectSchedule, projectDO.getProjectSchedule())
...@@ -2612,10 +2642,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2612,10 +2642,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
projectScheduleRecordService.updateById(projectScheduleRecordDO); projectScheduleRecordService.updateById(projectScheduleRecordDO);
} }
// if (studentDO != null) {
// String msg = ProjectSchedule.SCHOOL_REVIEW + "," + ProjectStatus.SCHOOL_NOT_PASSED;
// aliyunSmsUtil.sendTemplateMsg(msg, studentDO.getTelephone(), SMSTemplate.PROJECT_PROGRESS);
// }
} }
@Override @Override
...@@ -2632,23 +2658,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2632,23 +2658,13 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
throw new HttpException(10065); throw new HttpException(10065);
} }
String projectStatus = "";
if (ProjectReview.TO_REVIEWED.equals(projectDO.getProjectStatus())
&& ProjectSchedule.REGISTER.equals(projectDO.getProjectSchedule())) {
projectStatus = ProjectStatus.REGISTER_NOT_PASSED;
} else if (ProjectReview.TO_REVIEWED.equals(projectDO.getProjectStatus())
&& ProjectSchedule.SCHOOL_REVIEW.equals(projectDO.getProjectSchedule())) {
projectStatus = ProjectStatus.SCHOOL_NOT_PASSED;
}
//StudentDO studentDO = studentService.getById(projectDO.getProposerId()); //StudentDO studentDO = studentService.getById(projectDO.getProposerId());
ProjectDO project = new ProjectDO(); // ProjectDO project = new ProjectDO();
project.setId(projectDO.getId()); // project.setId(projectDO.getId());
project.setProjectStatus(projectStatus); // project.setProjectStatus(projectStatus);
project.setProjectSchedule(projectDO.getProjectSchedule()); // project.setProjectSchedule(projectDO.getProjectSchedule());
this.baseMapper.updateById(project); this.baseMapper.updateProjectStatus(projectDO.getId(), ProjectStatus.ABANDON, null, null, null);
// ProjectScheduleRecordDO ps = projectScheduleRecordService.getOne(new QueryWrapper<ProjectScheduleRecordDO>().lambda() // ProjectScheduleRecordDO ps = projectScheduleRecordService.getOne(new QueryWrapper<ProjectScheduleRecordDO>().lambda()
// .eq(ProjectScheduleRecordDO::getProjectSchedule, projectDO.getProjectSchedule()) // .eq(ProjectScheduleRecordDO::getProjectSchedule, projectDO.getProjectSchedule())
...@@ -2685,38 +2701,68 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2685,38 +2701,68 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
project.setTelephone(studentDO.getTelephone()); project.setTelephone(studentDO.getTelephone());
project.setCollege(studentDO.getCollege()); project.setCollege(studentDO.getCollege());
project.setXueyuan(studentDO.getXueyuan()); project.setXueyuan(studentDO.getXueyuan());
project.setEnrollmentDate(studentDO.getEnrollmentDate());
project.setGraduateDate(studentDO.getGraduateDate());
project.setEducation(studentDO.getEducation());
} }
MatchDictDO matchDictDO = matchDictService.getById(projectDO.getMatchId()); //查找这个负责人的学号
if (matchDictDO != null) { ProjectMemberDO projectMemberDO = projectMemberDAO.selectOne(new QueryWrapper<ProjectMemberDO>()
project.setMatchName(matchDictDO.getMatchName()); .lambda()
.eq(ProjectMemberDO::getProjectId, projectDO.getId())
.eq(ProjectMemberDO::getType, MemberType.PRINCIPAL));
if (null != projectMemberDO) {
project.setStudyNo(projectMemberDO.getStudyNo());
project.setEmail(projectMemberDO.getEmail());
} }
project.setProvince("上海市");
project.setCreateDate(projectDO.getSubmitDate());
List<ProjectMemberDO> memberDOS = projectMemberService.list(new QueryWrapper<ProjectMemberDO>() //查找指导教师
List<ProjectMemberDO> mentor = projectMemberDAO.selectList(new QueryWrapper<ProjectMemberDO>()
.lambda() .lambda()
.eq(ProjectMemberDO::getProjectId, projectDO.getId())); .eq(ProjectMemberDO::getProjectId, projectDO.getId())
String teamMember = ""; .eq(ProjectMemberDO::getType, MemberType.MENTOR));
String teacher = "";
for (ProjectMemberDO memberDO : memberDOS) { StringBuilder mentorStr = new StringBuilder();
if (memberDO.getType().equals(MemberType.TEAM_MEMBER)) { for (int i = 0; i < mentor.size(); i++) {
teamMember += memberDO.getName() + ","; if (i == mentor.size() - 1) {
} else if (memberDO.getType().equals(MemberType.MENTOR)) { mentorStr.append(mentor.get(i).getName());
teacher += memberDO.getName() + ",";
} else if (memberDO.getType().equals(MemberType.PRINCIPAL)) {
// project.setStudentNo(memberDO.getStudentNo());
}
}
if (StringUtils.isNotBlank(teamMember)) {
project.setTeamMembers(teamMember.substring(0, teamMember.length() - 1));
} else { } else {
project.setTeamMembers(""); mentorStr.append(mentor.get(i).getName()).append(",");
} }
}
project.setMentorStr(mentorStr.toString());
if (StringUtils.isNotBlank(teacher)) { //查找团队成员
project.setTeachers(teacher.substring(0, teacher.length() - 1)); List<ProjectMemberDO> members = projectMemberDAO.selectList(new QueryWrapper<ProjectMemberDO>()
.lambda()
.eq(ProjectMemberDO::getProjectId, projectDO.getId())
.eq(ProjectMemberDO::getType, MemberType.TEAM_MEMBER));
StringBuilder memberStr = new StringBuilder();
for (int i = 0; i < members.size(); i++) {
if (i == members.size() - 1) {
memberStr.append(members.get(i).getName());
} else { } else {
project.setTeachers(""); memberStr.append(members.get(i).getName()).append(",");
} }
}
project.setMemberStr(memberStr.toString());
if ("高教主赛道".equals(projectDO.getProjectTrack())) {
if ("本科".equals(studentDO.getEducation())) {
project.setProjectGroup("本科生创意组");
} else {
project.setProjectGroup("研究生创意组");
}
}
if (StringUtils.isEmpty(projectDO.getCompanyName())) {
project.setProjectStage("创意计划阶段");
} else {
project.setProjectStage("已注册公司运营");
}
data.add(JSON.parseObject(JSON.toJSONString(project), Map.class)); data.add(JSON.parseObject(JSON.toJSONString(project), Map.class));
} }
} }
...@@ -2804,8 +2850,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -2804,8 +2850,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
reviewListDTO.getProjectAssigned(), reviewListDTO.getProjectAssigned(),
reviewListDTO.getProjectProgress(), reviewListDTO.getProjectProgress(),
reviewListDTO.getProjectTrack(), reviewListDTO.getProjectTrack(),
reviewListDTO.getUserId(),administerDO.getCollege(), reviewListDTO.getUserId(), administerDO.getCollege(),
reviewListDTO.getXueyuan(),reviewListDTO.getProjectType()); reviewListDTO.getXueyuan(), reviewListDTO.getProjectType());
for (ReviewListVO record : iPage.getRecords()) { for (ReviewListVO record : iPage.getRecords()) {
StudentDO studentDO = studentService.getById(record.getProposerId()); StudentDO studentDO = studentService.getById(record.getProposerId());
...@@ -3220,15 +3266,18 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -3220,15 +3266,18 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
Integer num = projectReviewService.count(new QueryWrapper<ProjectReviewDO>() Integer num = projectReviewService.count(new QueryWrapper<ProjectReviewDO>()
.lambda() .lambda()
.eq(ProjectReviewDO::getProjectId, project.getId()) .eq(ProjectReviewDO::getProjectId, project.getId())
.eq(ProjectReviewDO::getProjectSchedule,projectReviewDO.getProjectSchedule())); .eq(ProjectReviewDO::getProjectSchedule, projectReviewDO.getProjectSchedule()));
Integer submitNum = projectReviewService.count(new QueryWrapper<ProjectReviewDO>() Integer submitNum = projectReviewService.count(new QueryWrapper<ProjectReviewDO>()
.lambda() .lambda()
.eq(ProjectReviewDO::getProjectId, project.getId()) .eq(ProjectReviewDO::getProjectId, project.getId())
.eq(ProjectReviewDO::getProjectSchedule,projectReviewDO.getProjectSchedule())
.eq(ProjectReviewDO::getReviewStatus, ProjectReview.SUBMITTED)); .eq(ProjectReviewDO::getReviewStatus, ProjectReview.SUBMITTED));
if (submitNum == num - 1) { if (submitNum == num - 1) {
ProjectDO projectDO = new ProjectDO(); ProjectDO projectDO = new ProjectDO();
projectDO.setId(id); projectDO.setId(id);
projectDO.setProjectGroup(project.getProjectGroup());
projectDO.setProjectType(project.getProjectType());
projectDO.setProjectReview(ProjectReview.SUBMITTED); projectDO.setProjectReview(ProjectReview.SUBMITTED);
this.baseMapper.updateById(projectDO); this.baseMapper.updateById(projectDO);
} }
...@@ -3277,15 +3326,18 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -3277,15 +3326,18 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
Integer num = projectReviewService.count(new QueryWrapper<ProjectReviewDO>() Integer num = projectReviewService.count(new QueryWrapper<ProjectReviewDO>()
.lambda() .lambda()
.eq(ProjectReviewDO::getProjectId, projectReviewScoreDTO.getId()) .eq(ProjectReviewDO::getProjectId, projectReviewScoreDTO.getId())
.eq(ProjectReviewDO::getProjectSchedule,projectReviewDO.getProjectSchedule())); .eq(ProjectReviewDO::getProjectSchedule, projectReviewDO.getProjectSchedule()));
Integer submitNum = projectReviewService.count(new QueryWrapper<ProjectReviewDO>() Integer submitNum = projectReviewService.count(new QueryWrapper<ProjectReviewDO>()
.lambda() .lambda()
.eq(ProjectReviewDO::getProjectId, projectReviewScoreDTO.getId()) .eq(ProjectReviewDO::getProjectId, projectReviewScoreDTO.getId())
.eq(ProjectReviewDO::getProjectSchedule,projectReviewDO.getProjectSchedule())
.eq(ProjectReviewDO::getReviewStatus, ProjectReview.SUBMITTED)); .eq(ProjectReviewDO::getReviewStatus, ProjectReview.SUBMITTED));
if (submitNum == num - 1) { if (submitNum == num - 1) {
ProjectDO projectDO = new ProjectDO(); ProjectDO projectDO = new ProjectDO();
projectDO.setId(projectReviewScoreDTO.getId()); projectDO.setId(projectReviewScoreDTO.getId());
projectDO.setProjectGroup(project.getProjectGroup());
projectDO.setProjectType(project.getProjectType());
projectDO.setProjectReview(ProjectReview.SUBMITTED); projectDO.setProjectReview(ProjectReview.SUBMITTED);
this.baseMapper.updateById(projectDO); this.baseMapper.updateById(projectDO);
} }
...@@ -3557,7 +3609,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -3557,7 +3609,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
int gongkelei = 0; int gongkelei = 0;
int rengonglei = 0; int rengonglei = 0;
for (GetDataDListVO getDataListVO : dateList){ for (GetDataDListVO getDataListVO : dateList) {
projectCnt += getDataListVO.getProjectCnt(); projectCnt += getDataListVO.getProjectCnt();
memberCnt += getDataListVO.getMemberCnt(); memberCnt += getDataListVO.getMemberCnt();
guideCnt += getDataListVO.getGuideCnt(); guideCnt += getDataListVO.getGuideCnt();
...@@ -3590,14 +3642,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -3590,14 +3642,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
public List<GetDataDListVO> getDateList(DataOverviewDTO dataOverviewDTO) { public List<GetDataDListVO> getDateList(DataOverviewDTO dataOverviewDTO) {
List<GetDataDListVO> dateList = this.baseMapper.getDateList(dataOverviewDTO.getMatchId()); List<GetDataDListVO> dateList = this.baseMapper.getDateList(dataOverviewDTO.getMatchId());
for (GetDataDListVO getDataListVO : dateList){ for (GetDataDListVO getDataListVO : dateList) {
//找到这个学校下的所有项目id //找到这个学校下的所有项目id
List<Long> projectIds = this.baseMapper.collegeProjects(getDataListVO.getXueyuan(), getDataListVO.getMajor(), dataOverviewDTO.getMatchId()); List<Long> projectIds = this.baseMapper.collegeProjects(getDataListVO.getXueyuan(), getDataListVO.getMajor(), dataOverviewDTO.getMatchId());
int memberCnt = 0 ; int memberCnt = 0;
int guideCnt = 0; int guideCnt = 0;
for (Long projectId : projectIds){ for (Long projectId : projectIds) {
// 团队成员数量 // 团队成员数量
Integer memberCntTmp = this.baseMapper.projectMembers(projectId, MemberType.TEAM_MEMBER); Integer memberCntTmp = this.baseMapper.projectMembers(projectId, MemberType.TEAM_MEMBER);
memberCnt += memberCntTmp; memberCnt += memberCntTmp;
...@@ -3611,7 +3663,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -3611,7 +3663,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
//创意组 初创组 成长组 //创意组 初创组 成长组
ProjectProgressCntVO projectProgressCntVO = this.baseMapper.projectProgressCnt(projectIds); ProjectProgressCntVO projectProgressCntVO = this.baseMapper.projectProgressCnt(projectIds);
BeanUtils.copyProperties(projectProgressCntVO,getDataListVO); BeanUtils.copyProperties(projectProgressCntVO, getDataListVO);
} }
return dateList; return dateList;
} }
...@@ -3661,12 +3713,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -3661,12 +3713,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
List<ExcelFieldVO> fieldList = ExcelUtil.getField(ProjectJudgeVO.class); List<ExcelFieldVO> fieldList = ExcelUtil.getField(ProjectJudgeVO.class);
ProjectJudgeVO projectJudgeVO = new ProjectJudgeVO(); ProjectJudgeVO projectJudgeVO = new ProjectJudgeVO();
AdministerDO administerDO = administerDAO.selectById(reviewListDTO.getUserId()); AdministerDO administerDO = administerDAO.selectById(reviewListDTO.getUserId());
List<ProjectDO> projectList = this.baseMapper.exportProjectReview(reviewListDTO.getUserId(),reviewListDTO.getMatchId(),reviewListDTO.getProjectSchedule(),administerDO.getCollege()); List<ProjectDO> projectList = this.baseMapper.exportProjectReview(reviewListDTO.getUserId(), reviewListDTO.getMatchId(), reviewListDTO.getProjectSchedule(), administerDO.getCollege());
for (ProjectDO projectDO : projectList) { for (ProjectDO projectDO : projectList) {
if (projectDO != null) { if (projectDO != null) {
projectJudgeVO.setProjectName(projectDO.getProjectName()); projectJudgeVO.setProjectName(projectDO.getProjectName());
projectJudgeVO.setProjectGroup(projectDO.getProjectGroup()); projectJudgeVO.setProjectGroup(projectDO.getProjectGroup());
// projectJudgeVO.setProjectTrack(projectDO.getProjectTrack()); projectJudgeVO.setProjectTrack(projectDO.getProjectTrack());
// projectJudgeVO.setUnitTrack(projectDO.getUnitTrack()); // projectJudgeVO.setUnitTrack(projectDO.getUnitTrack());
projectJudgeVO.setProjectSchedule(projectDO.getProjectSchedule()); projectJudgeVO.setProjectSchedule(projectDO.getProjectSchedule());
projectJudgeVO.setProjectType(projectDO.getProjectType()); projectJudgeVO.setProjectType(projectDO.getProjectType());
...@@ -3729,7 +3781,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -3729,7 +3781,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
// projectJudgeVO.setProjectProgress(projectDO.getProjectProgress()); // projectJudgeVO.setProjectProgress(projectDO.getProjectProgress());
projectJudgeVO.setProjectSchedule(projectDO.getProjectSchedule()); projectJudgeVO.setProjectSchedule(projectDO.getProjectSchedule());
// projectJudgeVO.setCollege(projectDO.getCollege()); // projectJudgeVO.setCollege(projectDO.getCollege());
projectJudgeVO.setProjectTrack(projectDO.getProjectTrack());
MatchDictDO matchDictDO = matchDictService.getById(projectDO.getMatchId()); MatchDictDO matchDictDO = matchDictService.getById(projectDO.getMatchId());
if (matchDictDO != null) { if (matchDictDO != null) {
projectJudgeVO.setMatchName(matchDictDO.getMatchName()); projectJudgeVO.setMatchName(matchDictDO.getMatchName());
...@@ -3941,19 +3993,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -3941,19 +3993,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
throw new HttpException(10078); throw new HttpException(10078);
} }
ProjectDO p = new ProjectDO();
p.setId(project.getId());
if (ProjectSchedule.SCHOOL_REVIEW.equals(project.getProjectSchedule())) { if (ProjectSchedule.SCHOOL_REVIEW.equals(project.getProjectSchedule())) {
p.setProjectSchedule(ProjectSchedule.REGISTER); this.baseMapper.updateProjectStatus(project.getId(), ProjectStatus.TO_CHECK, ProjectSchedule.REGISTER, null, null);
} }
if (project.getProjectSchedule().equals(ProjectSchedule.REGISTER)) { if (project.getProjectSchedule().equals(ProjectSchedule.REGISTER)) {
p.setProjectStatus(ProjectStatus.UN_SUBMITTED); this.baseMapper.updateProjectStatus(project.getId(), ProjectStatus.UN_SUBMITTED, ProjectSchedule.REGISTER, null, null);
} }
this.baseMapper.updateById(p);
} }
@Override @Override
...@@ -3966,7 +4013,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -3966,7 +4013,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
} }
SeedTrackProjectNumVO seedTrackProjectNumVO = new SeedTrackProjectNumVO(); SeedTrackProjectNumVO seedTrackProjectNumVO = new SeedTrackProjectNumVO();
List<ProjectDO> list = this.baseMapper.getSeedTrackProjectList(seedTrackProjectNumDTO.getMatchId(), seedTrackProjectNumDTO.getProjectGroup(), collegesDictDO.getName(), seedTrackProjectNumDTO.getProjectProgress(),seedTrackProjectNumDTO.getUserId(),administerDO.getCollege()); List<ProjectDO> list = this.baseMapper.getSeedTrackProjectList(seedTrackProjectNumDTO.getMatchId(), seedTrackProjectNumDTO.getProjectGroup(), collegesDictDO.getName(), seedTrackProjectNumDTO.getProjectProgress(), seedTrackProjectNumDTO.getUserId(), administerDO.getCollege());
Integer schoolProjectNum = 0; Integer schoolProjectNum = 0;
Integer rematchProjectNum = 0; Integer rematchProjectNum = 0;
Integer finalProjectNum = 0; Integer finalProjectNum = 0;
...@@ -4001,45 +4048,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple ...@@ -4001,45 +4048,6 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectDAO, ProjectDO> imple
ExportProjectDTO project = new ExportProjectDTO(); ExportProjectDTO project = new ExportProjectDTO();
BeanUtils.copyProperties(projectDO, project); BeanUtils.copyProperties(projectDO, project);
MatchDictDO matchDictDO = matchDictService.getById(projectDO.getMatchId());
if (matchDictDO != null) {
project.setMatchName(matchDictDO.getMatchName());
}
List<ProjectMemberDO> memberDOS = projectMemberService.list(new QueryWrapper<ProjectMemberDO>()
.lambda()
.eq(ProjectMemberDO::getProjectId, projectDO.getId()));
String teamMember = "";
String teacher = "";
for (ProjectMemberDO memberDO : memberDOS) {
if (memberDO.getType().equals(MemberType.PRINCIPAL)) {
project.setName(memberDO.getName());
project.setMajor(memberDO.getMajor());
if (memberDO.getTelephone() == null) {
StudentDO studentDO = studentService.getById(projectDO.getProposerId());
project.setTelephone(studentDO.getTelephone());
} else {
project.setTelephone(memberDO.getTelephone());
}
// project.setStudentNo(memberDO.getStudentNo());
} else if (memberDO.getType().equals(MemberType.TEAM_MEMBER)) {
teamMember += memberDO.getName() + ",";
} else if (memberDO.getType().equals(MemberType.MENTOR)) {
teacher += memberDO.getName() + ",";
}
}
if (StringUtils.isNotBlank(teamMember)) {
project.setTeamMembers(teamMember.substring(0, teamMember.length() - 1));
} else {
project.setTeamMembers("");
}
if (StringUtils.isNotBlank(teacher)) {
project.setTeachers(teacher.substring(0, teacher.length() - 1));
} else {
project.setTeachers("");
}
data.add(JSON.parseObject(JSON.toJSONString(project), Map.class)); data.add(JSON.parseObject(JSON.toJSONString(project), Map.class));
} }
} }
......
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!