diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java index 6dd57b95..e3142273 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java @@ -1,6 +1,7 @@ package org.jeecg.common.exception; import cn.hutool.core.util.ObjectUtil; +import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.AuthorizationException; import org.apache.shiro.authz.UnauthorizedException; import org.jeecg.common.api.vo.Result; @@ -15,19 +16,18 @@ import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.multipart.MaxUploadSizeExceededException; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.NoHandlerFoundException; -import lombok.extern.slf4j.Slf4j; - +import javax.servlet.http.HttpServletRequest; import java.sql.SQLException; import java.sql.SQLNonTransientException; import java.sql.SQLSyntaxErrorException; +import java.util.Iterator; /** * 异常处理器 - * - * @Author scott - * @Date 2019 */ @RestControllerAdvice @Slf4j @@ -37,8 +37,9 @@ public class JeecgBootExceptionHandler { * 处理自定义异常 */ @ExceptionHandler(JeecgBootException.class) - public Result handleJeecgBootException(JeecgBootException e){ - log.error(e.getMessage(), e); + public Result handleJeecgBootException(JeecgBootException e, HttpServletRequest request) { + log.error("Intercepted exception for request: URL={}, Method={}, Parameters={}", + request.getRequestURI(), request.getMethod(), request.getParameterMap(), e); return Result.error(e.getMessage()); } @@ -46,110 +47,126 @@ public class JeecgBootExceptionHandler { * 处理自定义微服务异常 */ @ExceptionHandler(JeecgCloudException.class) - public Result handleJeecgCloudException(JeecgCloudException e){ - log.error(e.getMessage(), e); + public Result handleJeecgCloudException(JeecgCloudException e, HttpServletRequest request) { + log.error("Intercepted exception for request: URL={}, Method={}, Parameters={}", + request.getRequestURI(), request.getMethod(), request.getParameterMap(), e); return Result.error(e.getMessage()); } /** - * 处理自定义异常 + * 处理自定义401异常 */ @ExceptionHandler(JeecgBoot401Exception.class) @ResponseStatus(HttpStatus.UNAUTHORIZED) - public Result handleJeecgBoot401Exception(JeecgBoot401Exception e){ - log.error(e.getMessage(), e); - return new Result(401,e.getMessage()); + public Result handleJeecgBoot401Exception(JeecgBoot401Exception e, HttpServletRequest request) { + log.error("Intercepted exception for request: URL={}, Method={}, Parameters={}", + request.getRequestURI(), request.getMethod(), request.getParameterMap(), e); + return new Result<>(401, e.getMessage()); } @ExceptionHandler(NoHandlerFoundException.class) - public Result handlerNoFoundException(Exception e) { - log.error(e.getMessage(), e); + public Result handlerNoFoundException(Exception e, HttpServletRequest request) { + log.error("Intercepted exception for request: URL={}, Method={}, Parameters={}", + request.getRequestURI(), request.getMethod(), request.getParameterMap(), e); return Result.error(404, "路径不存在,请检查路径是否正确"); } @ExceptionHandler(DuplicateKeyException.class) - public Result handleDuplicateKeyException(DuplicateKeyException e){ - log.error(e.getMessage(), e); + public Result handleDuplicateKeyException(DuplicateKeyException e, HttpServletRequest request) { + log.error("Intercepted exception for request: URL={}, Method={}, Parameters={}", + request.getRequestURI(), request.getMethod(), request.getParameterMap(), e); return Result.error("数据库中已存在该记录"); } @ExceptionHandler({UnauthorizedException.class, AuthorizationException.class}) - public Result handleAuthorizationException(AuthorizationException e){ - log.error(e.getMessage(), e); + public Result handleAuthorizationException(AuthorizationException e, HttpServletRequest request) { + log.error("Intercepted exception for request: URL={}, Method={}, Parameters={}", + request.getRequestURI(), request.getMethod(), request.getParameterMap(), e); return Result.noauth("没有权限,请联系管理员授权"); } - @ExceptionHandler(Exception.class) - public Result handleException(Exception e){ - log.error(e.getMessage(), e); - //update-begin---author:zyf ---date:20220411 for:处理Sentinel限流自定义异常 - Throwable throwable = e.getCause(); - SentinelErrorInfoEnum errorInfoEnum = SentinelErrorInfoEnum.getErrorByException(throwable); - if (ObjectUtil.isNotEmpty(errorInfoEnum)) { - return Result.error(errorInfoEnum.getError()); - } - //update-end---author:zyf ---date:20220411 for:处理Sentinel限流自定义异常 -// return Result.error("操作失败"+e.getMessage()); - return Result.error("操作失败"); - } - - /** - * @Author 政辉 - * @param e - * @return - */ @ExceptionHandler(HttpRequestMethodNotSupportedException.class) - public Result httpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException e){ + public Result httpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException e, HttpServletRequest request) { StringBuffer sb = new StringBuffer(); sb.append("不支持"); sb.append(e.getMethod()); sb.append("请求方法,"); sb.append("支持以下"); - String [] methods = e.getSupportedMethods(); - if(methods!=null){ - for(String str:methods){ + + String[] methods = e.getSupportedMethods(); + if (methods != null) { + for (String str : methods) { sb.append(str); sb.append("、"); } } + + log.error("Intercepted unsupported HTTP method request: URL={}, Method={}, Parameters={}", + request.getRequestURI(), e.getMethod(), request.getParameterMap()); + log.error(sb.toString(), e); - //return Result.error("没有权限,请联系管理员授权"); - return Result.error(405,sb.toString()); + + return Result.error(405, sb.toString()); } - - /** - * spring默认上传大小100MB 超出大小捕获异常MaxUploadSizeExceededException - */ - @ExceptionHandler(MaxUploadSizeExceededException.class) - public Result handleMaxUploadSizeExceededException(MaxUploadSizeExceededException e) { - log.error(e.getMessage(), e); - return Result.error("文件大小超出10MB限制, 请压缩或降低文件质量! "); - } - @ExceptionHandler(DataIntegrityViolationException.class) - public Result handleDataIntegrityViolationException(DataIntegrityViolationException e) { - log.error(e.getMessage(), e); - //【issues/3624】数据库执行异常handleDataIntegrityViolationException提示有误 #3624 - return Result.error("执行数据库异常,违反了完整性例如:违反惟一约束、违反非空限制、字段内容超出长度等"); - } + @ExceptionHandler(MaxUploadSizeExceededException.class) + public Result handleMaxUploadSizeExceededException(MaxUploadSizeExceededException e, HttpServletRequest request) { + if (request instanceof MultipartHttpServletRequest) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Iterator fileNames = multipartRequest.getFileNames(); - @ExceptionHandler(PoolException.class) - public Result handlePoolException(PoolException e) { - log.error(e.getMessage(), e); - return Result.error("Redis 连接异常!"); - } + while (fileNames.hasNext()) { + String fileName = fileNames.next(); + MultipartFile file = multipartRequest.getFile(fileName); + log.error("File upload exceeded max size: File name={}, Size={} bytes, Content type={}", + file.getOriginalFilename(), file.getSize(), file.getContentType()); + } + } - @ExceptionHandler({ SQLSyntaxErrorException.class, SQLNonTransientException.class, SQLException.class }) - public Result handleSQLSyntaxErrorException(SQLException e) { - log.error(e.getMessage(), e); + return Result.error("文件大小超出10MB限制, 请压缩或降低文件质量!"); + } + + @ExceptionHandler(DataIntegrityViolationException.class) + public Result handleDataIntegrityViolationException(DataIntegrityViolationException e, HttpServletRequest request) { + log.error("Intercepted exception for request: URL={}, Method={}, Parameters={}", + request.getRequestURI(), request.getMethod(), request.getParameterMap(), e); + //【issues/3624】数据库执行异常handleDataIntegrityViolationException提示有误 #3624 + return Result.error("执行数据库异常,违反了完整性例如:违反惟一约束、违反非空限制、字段内容超出长度等"); + } + + @ExceptionHandler(PoolException.class) + public Result handlePoolException(PoolException e, HttpServletRequest request) { + log.error("Intercepted exception for request: URL={}, Method={}, Parameters={}", + request.getRequestURI(), request.getMethod(), request.getParameterMap(), e); + return Result.error("Redis 连接异常!"); + } + + @ExceptionHandler({SQLSyntaxErrorException.class, SQLNonTransientException.class, SQLException.class}) + public Result handleSQLSyntaxErrorException(SQLException e, HttpServletRequest request) { + log.error("Intercepted exception for request: URL={}, Method={}, Parameters={}", + request.getRequestURI(), request.getMethod(), request.getParameterMap(), e); return Result.error("SQL语法错误!"); } - @ExceptionHandler({ BadSqlGrammarException.class, InvalidDataAccessResourceUsageException.class, NonTransientDataAccessException.class, DataAccessException.class }) - public Result handleBadSqlGrammarException(DataAccessException e) { - log.error(e.getMessage(), e); + @ExceptionHandler({BadSqlGrammarException.class, InvalidDataAccessResourceUsageException.class, NonTransientDataAccessException.class, DataAccessException.class}) + public Result handleBadSqlGrammarException(DataAccessException e, HttpServletRequest request) { + log.error("Intercepted exception for request: URL={}, Method={}, Parameters={}", + request.getRequestURI(), request.getMethod(), request.getParameterMap(), e); return Result.error("SQL语法错误!"); } + @ExceptionHandler(Exception.class) + public Result handleException(Exception e, HttpServletRequest request) { + log.error("Intercepted an exception for request: URL={}, Method={}, Parameters={}", + request.getRequestURI(), request.getMethod(), request.getParameterMap(), e); + // 处理Sentinel限流自定义异常 + Throwable throwable = e.getCause(); + SentinelErrorInfoEnum errorInfoEnum = SentinelErrorInfoEnum.getErrorByException(throwable); + if (ObjectUtil.isNotEmpty(errorInfoEnum)) { + return Result.error(errorInfoEnum.getError()); + } + + return Result.error("操作失败"); + } } diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandlerbk.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandlerbk.java new file mode 100644 index 00000000..dbb0d274 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandlerbk.java @@ -0,0 +1,153 @@ +package org.jeecg.common.exception; + +import cn.hutool.core.util.ObjectUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.authz.AuthorizationException; +import org.apache.shiro.authz.UnauthorizedException; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.enums.SentinelErrorInfoEnum; +import org.springframework.dao.*; +import org.springframework.data.redis.connection.PoolException; +import org.springframework.http.HttpStatus; +import org.springframework.jdbc.BadSqlGrammarException; +import org.springframework.web.HttpRequestMethodNotSupportedException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.ResponseStatus; +import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.springframework.web.multipart.MaxUploadSizeExceededException; +import org.springframework.web.servlet.NoHandlerFoundException; + +import java.sql.SQLException; +import java.sql.SQLNonTransientException; +import java.sql.SQLSyntaxErrorException; + +/** + * 异常处理器 + * + * @Author scott + * @Date 2019 + */ +@RestControllerAdvice +@Slf4j +public class JeecgBootExceptionHandlerbk { + + /** + * 处理自定义异常 + */ + @ExceptionHandler(JeecgBootException.class) + public Result handleJeecgBootException(JeecgBootException e){ + log.error(e.getMessage(), e); + return Result.error(e.getMessage()); + } + + /** + * 处理自定义微服务异常 + */ + @ExceptionHandler(JeecgCloudException.class) + public Result handleJeecgCloudException(JeecgCloudException e){ + log.error(e.getMessage(), e); + return Result.error(e.getMessage()); + } + + /** + * 处理自定义异常 + */ + @ExceptionHandler(JeecgBoot401Exception.class) + @ResponseStatus(HttpStatus.UNAUTHORIZED) + public Result handleJeecgBoot401Exception(JeecgBoot401Exception e){ + log.error(e.getMessage(), e); + return new Result(401,e.getMessage()); + } + + @ExceptionHandler(NoHandlerFoundException.class) + public Result handlerNoFoundException(Exception e) { + log.error(e.getMessage(), e); + return Result.error(404, "路径不存在,请检查路径是否正确"); + } + + @ExceptionHandler(DuplicateKeyException.class) + public Result handleDuplicateKeyException(DuplicateKeyException e){ + log.error(e.getMessage(), e); + return Result.error("数据库中已存在该记录"); + } + + @ExceptionHandler({UnauthorizedException.class, AuthorizationException.class}) + public Result handleAuthorizationException(AuthorizationException e){ + log.error(e.getMessage(), e); + return Result.noauth("没有权限,请联系管理员授权"); + } + + @ExceptionHandler(Exception.class) + public Result handleException(Exception e){ + log.error(e.getMessage(), e); + //update-begin---author:zyf ---date:20220411 for:处理Sentinel限流自定义异常 + Throwable throwable = e.getCause(); + SentinelErrorInfoEnum errorInfoEnum = SentinelErrorInfoEnum.getErrorByException(throwable); + if (ObjectUtil.isNotEmpty(errorInfoEnum)) { + return Result.error(errorInfoEnum.getError()); + } + //update-end---author:zyf ---date:20220411 for:处理Sentinel限流自定义异常 +// return Result.error("操作失败"+e.getMessage()); + return Result.error("操作失败"); + } + + /** + * @Author 政辉 + * @param e + * @return + */ + @ExceptionHandler(HttpRequestMethodNotSupportedException.class) + public Result httpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException e){ + StringBuffer sb = new StringBuffer(); + sb.append("不支持"); + sb.append(e.getMethod()); + sb.append("请求方法,"); + sb.append("支持以下"); + String [] methods = e.getSupportedMethods(); + if(methods!=null){ + for(String str:methods){ + sb.append(str); + sb.append("、"); + } + } + log.error(sb.toString(), e); + //return Result.error("没有权限,请联系管理员授权"); + return Result.error(405,sb.toString()); + } + + /** + * spring默认上传大小100MB 超出大小捕获异常MaxUploadSizeExceededException + */ + @ExceptionHandler(MaxUploadSizeExceededException.class) + public Result handleMaxUploadSizeExceededException(MaxUploadSizeExceededException e) { + log.error(e.getMessage(), e); + return Result.error("文件大小超出10MB限制, 请压缩或降低文件质量! "); + } + + @ExceptionHandler(DataIntegrityViolationException.class) + public Result handleDataIntegrityViolationException(DataIntegrityViolationException e) { + log.error(e.getMessage(), e); + //【issues/3624】数据库执行异常handleDataIntegrityViolationException提示有误 #3624 + return Result.error("执行数据库异常,违反了完整性例如:违反惟一约束、违反非空限制、字段内容超出长度等"); + } + + @ExceptionHandler(PoolException.class) + public Result handlePoolException(PoolException e) { + log.error(e.getMessage(), e); + return Result.error("Redis 连接异常!"); + } + + @ExceptionHandler({ SQLSyntaxErrorException.class, SQLNonTransientException.class, SQLException.class }) + public Result handleSQLSyntaxErrorException(SQLException e) { + log.error(e.getMessage(), e); + return Result.error("SQL语法错误!"); + } + + @ExceptionHandler({ BadSqlGrammarException.class, InvalidDataAccessResourceUsageException.class, NonTransientDataAccessException.class, DataAccessException.class }) + public Result handleBadSqlGrammarException(DataAccessException e) { + log.error(e.getMessage(), e); + return Result.error("SQL语法错误!"); + } + + +} diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/LoggingInterceptor.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/LoggingInterceptor.java new file mode 100644 index 00000000..923cbfc4 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/LoggingInterceptor.java @@ -0,0 +1,50 @@ +package org.jeecg.common.exception; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.HandlerInterceptor; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Iterator; + +@Component +@Slf4j +public class LoggingInterceptor implements HandlerInterceptor { + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + // 记录普通请求信息 + log.info("Request intercepted: URL={}, Method={}, Parameters={}", + request.getRequestURI(), request.getMethod(), request.getParameterMap()); + + // 如果是多部分请求(文件上传),记录文件元数据 + if (request instanceof MultipartHttpServletRequest) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Iterator fileNames = multipartRequest.getFileNames(); + + while (fileNames.hasNext()) { + String fileName = fileNames.next(); + MultipartFile file = multipartRequest.getFile(fileName); + log.info("Intercepted file upload: URL={}, File name={}, Size={} bytes, Content type={}", + request.getRequestURI(), file.getOriginalFilename(), file.getSize(), file.getContentType()); + } + } + + return true; // 继续处理链 + } + + // 可选:实现postHandle和afterCompletion方法... + @Override + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { + // 可以在这里添加处理后的行为 + } + + @Override + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { + // 可以在这里添加请求完成后的行为 + } +} diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/WebConfig.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/WebConfig.java new file mode 100644 index 00000000..8b1f6bd3 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/exception/WebConfig.java @@ -0,0 +1,19 @@ +package org.jeecg.common.exception; + +import org.jeecg.common.exception.LoggingInterceptor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebConfig implements WebMvcConfigurer { + + @Autowired + private LoggingInterceptor loggingInterceptor; + + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(loggingInterceptor).addPathPatterns("/**"); + } +} diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/controller/ZyInfoController.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/controller/ZyInfoController.java index 54a1b67a..5d886708 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/controller/ZyInfoController.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/controller/ZyInfoController.java @@ -9,6 +9,7 @@ import com.xkcoding.http.HttpUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.compress.utils.Lists; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -21,6 +22,7 @@ import org.jeecg.common.util.DateUtils; import org.jeecg.modules.kc.config.entity.KcExportConfigTpkwcqkjzglx; import org.jeecg.modules.kc.config.service.IKcExportConfigTpkwcqkjzglxService; import org.jeecg.modules.kc.grab.imports.entity.Xxhbbks; +import org.jeecg.modules.kc.grab.imports.entity.Xxhbtkxx; import org.jeecg.modules.kc.grab.imports.service.IXxhbbksService; import org.jeecg.modules.kc.kcSysConfig.entity.KcSysConfig; import org.jeecg.modules.kc.kcSysConfig.service.IKcSysConfigService; @@ -32,6 +34,8 @@ import org.jeecg.modules.kc.zyDbtx.service.IZyDbtxService; import org.jeecg.modules.kc.zyInfo.entity.CyInfoSys; import org.jeecg.modules.kc.zyInfo.entity.ZyInfo; import org.jeecg.modules.kc.zyInfo.entity.ZyInfoSys; +import org.jeecg.modules.kc.zyInfo.pojo.ExportEntity1; +import org.jeecg.modules.kc.zyInfo.pojo.ExportEntity2; import org.jeecg.modules.kc.zyInfo.service.IZyInfoService; import org.jeecg.modules.kc.zyInfoStudent.entity.ZyInfoStudent; import org.jeecg.modules.kc.zyInfoStudent.service.IZyInfoStudentService; @@ -39,6 +43,7 @@ import org.jeecg.modules.system.service.impl.SysBaseApiImpl; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; @@ -54,392 +59,390 @@ import java.util.stream.Collectors; /** * @Description: 作业发布 * @Author: jeecg-boot - * @Date: 2024-05-06 + * @Date: 2024-05-06 * @Version: V1.0 */ -@Api(tags="作业发布") +@Api(tags = "作业发布") @RestController @RequestMapping("/zyInfo/zyInfo") @Slf4j public class ZyInfoController extends JeecgController { - @Autowired - private IZyInfoService zyInfoService; - @Autowired - private IKcSysConfigService kcSysConfigService; - @Autowired - private IKcKechengbiaoService kcKechengbiaoService; - @Autowired - private IXxhbbksService xxhbbksService; - @Autowired - private IZyInfoStudentService zyInfoStudentService; + @Autowired + private IZyInfoService zyInfoService; + @Autowired + private IKcSysConfigService kcSysConfigService; + @Autowired + private IKcKechengbiaoService kcKechengbiaoService; + @Autowired + private IXxhbbksService xxhbbksService; + @Autowired + private IZyInfoStudentService zyInfoStudentService; - @Autowired - private IZyDbtxService zyDbtxService; + @Autowired + private IZyDbtxService zyDbtxService; - @Autowired - private SysBaseApiImpl sysBaseApi; - @Autowired - private IKcExportConfigTpkwcqkjzglxService kcExportConfigTpkwcqkjzglxService; + @Autowired + private SysBaseApiImpl sysBaseApi; + @Autowired + private IKcExportConfigTpkwcqkjzglxService kcExportConfigTpkwcqkjzglxService; - @Value("${jeecg.path.upload}") - private String upLoadPath; + @Value("${jeecg.path.upload}") + private String upLoadPath; - /** - * 分页列表查询 - * - * @param zyInfo - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "作业发布-分页列表查询") - @ApiOperation(value="作业发布-分页列表查询", notes="作业发布-分页列表查询") - @GetMapping(value = "/list") - public Result> queryPageList(ZyInfo zyInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { + /** + * 分页列表查询 + * + * @param zyInfo + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "作业发布-分页列表查询") + @ApiOperation(value = "作业发布-分页列表查询", notes = "作业发布-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(ZyInfo zyInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { - QueryWrapper queryWrapper2 = new QueryWrapper<>(); + QueryWrapper queryWrapper2 = new QueryWrapper<>(); // queryWrapper2.eq("create_by",zyInfo.getTeano()); - queryWrapper2.eq("rwbh",zyInfo.getRwbh()); - queryWrapper2.eq("xnxq",zyInfo.getXnxq()); - queryWrapper2.eq("zy_status","0"); - queryWrapper2.le("start_time",new Date()); - List list2 = zyInfoService.list(queryWrapper2); + queryWrapper2.eq("rwbh", zyInfo.getRwbh()); + queryWrapper2.eq("xnxq", zyInfo.getXnxq()); + queryWrapper2.eq("zy_status", "0"); + queryWrapper2.le("start_time", new Date()); + List list2 = zyInfoService.list(queryWrapper2); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.eq("jgh",user.getUsername()); - kcKechengbiaoQueryWrapper.eq("xqxn",zyInfo.getXnxq()); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.eq("jgh", user.getUsername()); + kcKechengbiaoQueryWrapper.eq("xqxn", zyInfo.getXnxq()); // kcKechengbiaoQueryWrapper.eq("flag","0"); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - for(ZyInfo par:list2){ - par.setZyStatus("1"); - zyInfoService.updateById(par); + for (ZyInfo par : list2) { + par.setZyStatus("1"); + zyInfoService.updateById(par); - if(par!=null) { - ZyInfo zyInfo2 = zyInfoService.getKechengById(par.getId()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",zyInfo2.getRwbh()); - List list = xxhbbksService.getXsxkbAllList(queryWrapper); - zyInfoStudentService.deleteMainId(zyInfo2.getId()); - for(Xxhbbks xxhbbks:list){ + if (par != null) { + ZyInfo zyInfo2 = zyInfoService.getKechengById(par.getId()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", zyInfo2.getRwbh()); + List list = xxhbbksService.getXsxkbAllList(queryWrapper); + zyInfoStudentService.deleteMainId(zyInfo2.getId()); + for (Xxhbbks xxhbbks : list) { // ZyInfoStudent zyInfoStudent = new ZyInfoStudent(); // zyInfoStudent.setMainId(zyInfo2.getId()); // zyInfoStudent.setCreateBy(xxhbbks.getXh()); // zyInfoStudent.setStudentName(xxhbbks.getXm()); // zyInfoStudentService.save(zyInfoStudent); - //作业代办提醒 - ZyDbtx zyDbtx = new ZyDbtx(); - zyDbtx.setCreateBy(xxhbbks.getXh()); - zyDbtx.setMainId(zyInfo2.getId()); - zyDbtx.setRwbh(zyInfo2.getRwbh()); - String hpts = ""; - if(StringUtils.equals(zyInfo2.getXshpkg(),"1")){ - hpts = "互评时间:"+DateUtils.formatDate(zyInfo2.getXshpkssj(),"yyyy-MM-dd HH:mm")+" ~ "+ DateUtils.formatDate(zyInfo2.getXshpjssj(),"yyyy-MM-dd HH:mm"); - } + //作业代办提醒 + ZyDbtx zyDbtx = new ZyDbtx(); + zyDbtx.setCreateBy(xxhbbks.getXh()); + zyDbtx.setMainId(zyInfo2.getId()); + zyDbtx.setRwbh(zyInfo2.getRwbh()); + String hpts = ""; + if (StringUtils.equals(zyInfo2.getXshpkg(), "1")) { + hpts = "互评时间:" + DateUtils.formatDate(zyInfo2.getXshpkssj(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo2.getXshpjssj(), "yyyy-MM-dd HH:mm"); + } - if(StringUtils.equals(zyInfo2.getZyLeixing(),"0")) { - zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname()+"老师主讲的["+kcKechengbiao.getKcmc()+"]课程于"+DateUtils.formatDate(new Date(),"yyyy-MM-dd HH:mm:ss")+"发布了一篇题目为“"+zyInfo2.getTitle()+"”的作业,该作业提交时间为:"+ DateUtils.formatDate(zyInfo2.getStartTime(),"yyyy-MM-dd HH:mm")+" ~ "+ DateUtils.formatDate(zyInfo2.getEndTime(),"yyyy-MM-dd HH:mm")+",请按时完成! "+hpts); - }else if (StringUtils.equals(zyInfo.getZyLeixing(),"1")){ - zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo2.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo2.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo2.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); - } - zyDbtx.setFlag("0"); - zyDbtx.setFbr(user.getUsername()); - zyDbtxService.save(zyDbtx); + if (StringUtils.equals(zyInfo2.getZyLeixing(), "0")) { + zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo2.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo2.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo2.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); + } else if (StringUtils.equals(zyInfo.getZyLeixing(), "1")) { + zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo2.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo2.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo2.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); + } + zyDbtx.setFlag("0"); + zyDbtx.setFbr(user.getUsername()); + zyDbtxService.save(zyDbtx); - try { - KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); - kcWechatSendLog.setOpenid(xxhbbks.getXh()); + try { + KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); + kcWechatSendLog.setOpenid(xxhbbks.getXh()); // kcWechatSendLog.setOpenid("2016900057");//指定曹老师账号 - kcWechatSendLog.setYtkcs(zyDbtx.getContent()); - sendWxmessage(kcWechatSendLog); - }catch (Exception e){ - e.printStackTrace(); - } - } - } - } + kcWechatSendLog.setYtkcs(zyDbtx.getContent()); + sendWxmessage(kcWechatSendLog); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper("a",zyInfo, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - queryWrapper.eq(StringUtils.isNotBlank(zyInfo.getTeano()),"a.create_by",zyInfo.getTeano()); - queryWrapper.orderByAsc("a.sort - 0"); - IPage pageList = zyInfoService.page(page, queryWrapper); - try{ - if(kcKechengbiao!=null&&StringUtils.isNotBlank(kcKechengbiao.getXkrs())){ - pageList.getRecords().forEach(zyInfo1 -> { - String xkrs = kcKechengbiao.getXkrs(); - zyInfo1.setXkxs(xkrs); - int wtj = Integer.parseInt(xkrs)-Integer.parseInt(zyInfo1.getDpynum())-Integer.parseInt(zyInfo1.getYpynum()); - if(wtj<0){ - wtj = 0; - } - zyInfo1.setWtjnum(wtj+""); - }); - } + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper("a", zyInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + queryWrapper.eq(StringUtils.isNotBlank(zyInfo.getTeano()), "a.create_by", zyInfo.getTeano()); + queryWrapper.orderByAsc("a.sort - 0"); + IPage pageList = zyInfoService.page(page, queryWrapper); + try { + if (kcKechengbiao != null && StringUtils.isNotBlank(kcKechengbiao.getXkrs())) { + pageList.getRecords().forEach(zyInfo1 -> { + String xkrs = kcKechengbiao.getXkrs(); + zyInfo1.setXkxs(xkrs); + int wtj = Integer.parseInt(xkrs) - Integer.parseInt(zyInfo1.getDpynum()) - Integer.parseInt(zyInfo1.getYpynum()); + if (wtj < 0) { + wtj = 0; + } + zyInfo1.setWtjnum(wtj + ""); + }); + } - }catch (Exception e){ - e.printStackTrace(); - } + } catch (Exception e) { + e.printStackTrace(); + } - return Result.OK(pageList); - } + return Result.OK(pageList); + } + @ApiOperation(value = "引用作业列表", notes = "引用作业列表") + @GetMapping(value = "/listOther") + public Result> listOther(ZyInfo zyInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + zyInfo.setTeacherNo(user.getUsername()); + Page page = new Page(pageNo, pageSize); + IPage pageList = zyInfoService.listOther(page, zyInfo); + + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param zyInfo + * @return + */ + @AutoLog(value = "作业发布-添加") + @ApiOperation(value = "作业发布-添加", notes = "作业发布-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody ZyInfo zyInfo) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + zyInfo.setXnxq(kcSysConfig.getFlag1()); + zyInfo.setZyStatus("0"); + zyInfo.setXkxs(kcKechengbiao.getXkrs()); + zyInfoService.save(zyInfo); + return Result.OK("添加成功!"); + } + + /** + * 添加 + * + * @param zyInfo + * @return + */ + @AutoLog(value = "作业发布-添加") + @ApiOperation(value = "作业发布-添加", notes = "作业发布-添加") + @PostMapping(value = "/addOne") + public Result addOne(@RequestBody ZyInfo zyInfo) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - @ApiOperation(value="引用作业列表", notes="引用作业列表") - @GetMapping(value = "/listOther") - public Result> listOther(ZyInfo zyInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - zyInfo.setTeacherNo(user.getUsername()); - Page page = new Page(pageNo, pageSize); - IPage pageList = zyInfoService.listOther(page, zyInfo); - - return Result.OK(pageList); - } - - /** - * 添加 - * - * @param zyInfo - * @return - */ - @AutoLog(value = "作业发布-添加") - @ApiOperation(value="作业发布-添加", notes="作业发布-添加") - @PostMapping(value = "/add") - public Result add(@RequestBody ZyInfo zyInfo) { - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - zyInfo.setXnxq(kcSysConfig.getFlag1()); - zyInfo.setZyStatus("0"); - zyInfo.setXkxs(kcKechengbiao.getXkrs()); - zyInfoService.save(zyInfo); - return Result.OK("添加成功!"); - } - - /** - * 添加 - * - * @param zyInfo - * @return - */ - @AutoLog(value = "作业发布-添加") - @ApiOperation(value="作业发布-添加", notes="作业发布-添加") - @PostMapping(value = "/addOne") - public Result addOne(@RequestBody ZyInfo zyInfo) { - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - - - QueryWrapper zyInfoQueryWrapper = new QueryWrapper<>(); - zyInfoQueryWrapper.eq("xnxq",zyInfo.getXnxq()); + QueryWrapper zyInfoQueryWrapper = new QueryWrapper<>(); + zyInfoQueryWrapper.eq("xnxq", zyInfo.getXnxq()); // zyInfoQueryWrapper.eq("create_by",zyInfo.getTeano()); - zyInfoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - if(StringUtils.isNotBlank(zyInfo.getZyLeixing())){ - zyInfoQueryWrapper.eq("zy_leixing",zyInfo.getZyLeixing()); - } - List list = zyInfoService.list(zyInfoQueryWrapper); + zyInfoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + if (StringUtils.isNotBlank(zyInfo.getZyLeixing())) { + zyInfoQueryWrapper.eq("zy_leixing", zyInfo.getZyLeixing()); + } + List list = zyInfoService.list(zyInfoQueryWrapper); - zyInfo.setSort(list.size()+1); - zyInfo.setXnxq(kcSysConfig.getFlag1()); - zyInfo.setZyStatus("0"); - zyInfo.setXkxs(kcKechengbiao.getXkrs()); - zyInfo.setScore("0"); - zyInfoService.save(zyInfo); - return Result.OK("添加成功!"); - } + zyInfo.setSort(list.size() + 1); + zyInfo.setXnxq(kcSysConfig.getFlag1()); + zyInfo.setZyStatus("0"); + zyInfo.setXkxs(kcKechengbiao.getXkrs()); + zyInfo.setScore("0"); + zyInfoService.save(zyInfo); + return Result.OK("添加成功!"); + } - /** - * 编辑 - * - * @param zyInfo - * @return - */ - @AutoLog(value = "作业发布-编辑") - @ApiOperation(value="作业发布-编辑", notes="作业发布-编辑") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result edit(@RequestBody ZyInfo zyInfo) { - zyInfoService.updateById(zyInfo); + /** + * 编辑 + * + * @param zyInfo + * @return + */ + @AutoLog(value = "作业发布-编辑") + @ApiOperation(value = "作业发布-编辑", notes = "作业发布-编辑") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody ZyInfo zyInfo) { + zyInfoService.updateById(zyInfo); - ZyInfo zyInfo2 = zyInfoService.getById(zyInfo.getId()); - if(StringUtils.equals(zyInfo2.getZyStatus(),"1")){ - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.eq("jgh",zyInfo.getCreateBy()); - kcKechengbiaoQueryWrapper.eq("xqxn",zyInfo.getXnxq()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + ZyInfo zyInfo2 = zyInfoService.getById(zyInfo.getId()); + if (StringUtils.equals(zyInfo2.getZyStatus(), "1")) { + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.eq("jgh", zyInfo.getCreateBy()); + kcKechengbiaoQueryWrapper.eq("xqxn", zyInfo.getXnxq()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - QueryWrapper zyDbtxQueryWrapper = new QueryWrapper<>(); - zyDbtxQueryWrapper.eq("type","2");//发送作业 - zyDbtxQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - List dbtxlist = zyDbtxService.list(zyDbtxQueryWrapper); - String xharrs[] = new String[dbtxlist.size()]; - for(int i=0;i zyDbtxQueryWrapper = new QueryWrapper<>(); + zyDbtxQueryWrapper.eq("type", "2");//发送作业 + zyDbtxQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + List dbtxlist = zyDbtxService.list(zyDbtxQueryWrapper); + String xharrs[] = new String[dbtxlist.size()]; + for (int i = 0; i < dbtxlist.size(); i++) { + xharrs[i] = dbtxlist.get(i).getCreateBy(); + } - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",zyInfo2.getRwbh()); - if(xharrs.length>0){ - queryWrapper.notIn("a.xh",xharrs); - } - List list = xxhbbksService.getXsxkbAllList(queryWrapper); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", zyInfo2.getRwbh()); + if (xharrs.length > 0) { + queryWrapper.notIn("a.xh", xharrs); + } + List list = xxhbbksService.getXsxkbAllList(queryWrapper); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - for(Xxhbbks xxhbbks:list) { + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + for (Xxhbbks xxhbbks : list) { - //作业代办提醒 - ZyDbtx zyDbtx = new ZyDbtx(); - zyDbtx.setCreateBy(xxhbbks.getXh()); - zyDbtx.setMainId(zyInfo.getId()); - zyDbtx.setRwbh(zyInfo.getRwbh()); - String hpts = ""; - if (StringUtils.equals(zyInfo.getXshpkg(), "1")) { - hpts = "互评时间:" + DateUtils.formatDate(zyInfo.getXshpkssj(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getXshpjssj(), "yyyy-MM-dd HH:mm"); - } + //作业代办提醒 + ZyDbtx zyDbtx = new ZyDbtx(); + zyDbtx.setCreateBy(xxhbbks.getXh()); + zyDbtx.setMainId(zyInfo.getId()); + zyDbtx.setRwbh(zyInfo.getRwbh()); + String hpts = ""; + if (StringUtils.equals(zyInfo.getXshpkg(), "1")) { + hpts = "互评时间:" + DateUtils.formatDate(zyInfo.getXshpkssj(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getXshpjssj(), "yyyy-MM-dd HH:mm"); + } - if (StringUtils.equals(zyInfo.getZyLeixing(), "0")) { - zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); - } else if (StringUtils.equals(zyInfo.getZyLeixing(), "1")) { - zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); - } - zyDbtx.setFlag("0"); - zyDbtx.setFbr(user.getUsername()); - zyDbtxService.save(zyDbtx); + if (StringUtils.equals(zyInfo.getZyLeixing(), "0")) { + zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); + } else if (StringUtils.equals(zyInfo.getZyLeixing(), "1")) { + zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); + } + zyDbtx.setFlag("0"); + zyDbtx.setFbr(user.getUsername()); + zyDbtxService.save(zyDbtx); - try { - KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); - kcWechatSendLog.setOpenid(xxhbbks.getXh()); - kcWechatSendLog.setYtkcs(zyDbtx.getContent()); - sendWxmessage(kcWechatSendLog); - } catch (Exception e) { - e.printStackTrace(); - } - } - } + try { + KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); + kcWechatSendLog.setOpenid(xxhbbks.getXh()); + kcWechatSendLog.setYtkcs(zyDbtx.getContent()); + sendWxmessage(kcWechatSendLog); + } catch (Exception e) { + e.printStackTrace(); + } + } + } - return Result.OK("编辑成功!"); - } + return Result.OK("编辑成功!"); + } - @AutoLog(value = "撤回作业") - @ApiOperation(value="撤回作业", notes="撤回作业") - @RequestMapping(value = "/editChehui", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result editChehui(@RequestBody ZyInfo zyInfo) { - UpdateWrapper queryWrapper = new UpdateWrapper<>(); - queryWrapper.set("start_time",null); - queryWrapper.set("zy_status","0"); - queryWrapper.eq("id",zyInfo.getId()); - zyInfoService.update(queryWrapper); + @AutoLog(value = "撤回作业") + @ApiOperation(value = "撤回作业", notes = "撤回作业") + @RequestMapping(value = "/editChehui", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result editChehui(@RequestBody ZyInfo zyInfo) { + UpdateWrapper queryWrapper = new UpdateWrapper<>(); + queryWrapper.set("start_time", null); + queryWrapper.set("zy_status", "0"); + queryWrapper.eq("id", zyInfo.getId()); + zyInfoService.update(queryWrapper); - //删除学生列表 - QueryWrapper zyInfoStudentQueryWrapper = new QueryWrapper<>(); - zyInfoStudentQueryWrapper.eq("main_id",zyInfo.getId()); - zyInfoStudentService.remove(zyInfoStudentQueryWrapper); + //删除学生列表 + QueryWrapper zyInfoStudentQueryWrapper = new QueryWrapper<>(); + zyInfoStudentQueryWrapper.eq("main_id", zyInfo.getId()); + zyInfoStudentService.remove(zyInfoStudentQueryWrapper); - //删除代办信息 - QueryWrapper zyDbtxQueryWrapper = new QueryWrapper<>(); - zyDbtxQueryWrapper.eq("main_id",zyInfo.getId()); - zyDbtxService.remove(zyDbtxQueryWrapper); + //删除代办信息 + QueryWrapper zyDbtxQueryWrapper = new QueryWrapper<>(); + zyDbtxQueryWrapper.eq("main_id", zyInfo.getId()); + zyDbtxService.remove(zyDbtxQueryWrapper); - return Result.OK("编辑成功!"); - } + return Result.OK("编辑成功!"); + } - /** - * 编辑 - * - * @param zyInfo - * @return - */ - @AutoLog(value = "作业发布-发布") - @ApiOperation(value="作业发布-发布", notes="作业发布-发布") - @RequestMapping(value = "/release", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result release(@RequestBody ZyInfo zyInfo) { - zyInfo.setStartTime(new Date()); - zyInfoService.updateById(zyInfo); - return Result.OK("发布成功!"); - } + /** + * 编辑 + * + * @param zyInfo + * @return + */ + @AutoLog(value = "作业发布-发布") + @ApiOperation(value = "作业发布-发布", notes = "作业发布-发布") + @RequestMapping(value = "/release", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result release(@RequestBody ZyInfo zyInfo) { + zyInfo.setStartTime(new Date()); + zyInfoService.updateById(zyInfo); + return Result.OK("发布成功!"); + } - @ApiOperation(value="作业发布-通过id查询", notes="作业发布-通过id查询") - @GetMapping(value = "/editStudent") - public Result editStudent(@RequestParam(name="id",required=true) String id) { - ZyInfo zyInfo = zyInfoService.getById(id); - if(zyInfo!=null) { - zyInfo = zyInfoService.getKechengById(zyInfo.getId()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",zyInfo.getRwbh()); - List list = xxhbbksService.getXsxkbAllList(queryWrapper); - zyInfoStudentService.deleteMainId(zyInfo.getId()); + @ApiOperation(value = "作业发布-通过id查询", notes = "作业发布-通过id查询") + @GetMapping(value = "/editStudent") + public Result editStudent(@RequestParam(name = "id", required = true) String id) { + ZyInfo zyInfo = zyInfoService.getById(id); + if (zyInfo != null) { + zyInfo = zyInfoService.getKechengById(zyInfo.getId()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", zyInfo.getRwbh()); + List list = xxhbbksService.getXsxkbAllList(queryWrapper); + zyInfoStudentService.deleteMainId(zyInfo.getId()); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.eq("jgh",zyInfo.getCreateBy()); - kcKechengbiaoQueryWrapper.eq("xqxn",zyInfo.getXnxq()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - for(Xxhbbks xxhbbks:list){ - ZyInfoStudent zyInfoStudent = new ZyInfoStudent(); - zyInfoStudent.setMainId(zyInfo.getId()); - zyInfoStudent.setCreateBy(xxhbbks.getXh()); - zyInfoStudent.setStudentName(xxhbbks.getXm()); - zyInfoStudent.setZyLeixing(zyInfo.getZyLeixing()); - zyInfoStudentService.save(zyInfoStudent); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.eq("jgh", zyInfo.getCreateBy()); + kcKechengbiaoQueryWrapper.eq("xqxn", zyInfo.getXnxq()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + for (Xxhbbks xxhbbks : list) { + ZyInfoStudent zyInfoStudent = new ZyInfoStudent(); + zyInfoStudent.setMainId(zyInfo.getId()); + zyInfoStudent.setCreateBy(xxhbbks.getXh()); + zyInfoStudent.setStudentName(xxhbbks.getXm()); + zyInfoStudent.setZyLeixing(zyInfo.getZyLeixing()); + zyInfoStudentService.save(zyInfoStudent); - //作业代办提醒 - ZyDbtx zyDbtx = new ZyDbtx(); - zyDbtx.setCreateBy(xxhbbks.getXh()); - zyDbtx.setMainId(zyInfo.getId()); - zyDbtx.setRwbh(zyInfo.getRwbh()); - String hpts = ""; - if(StringUtils.equals(zyInfo.getXshpkg(),"1")){ - hpts = "互评时间:"+DateUtils.formatDate(zyInfo.getXshpkssj(),"yyyy-MM-dd HH:mm")+" ~ "+ DateUtils.formatDate(zyInfo.getXshpjssj(),"yyyy-MM-dd HH:mm"); - } + //作业代办提醒 + ZyDbtx zyDbtx = new ZyDbtx(); + zyDbtx.setCreateBy(xxhbbks.getXh()); + zyDbtx.setMainId(zyInfo.getId()); + zyDbtx.setRwbh(zyInfo.getRwbh()); + String hpts = ""; + if (StringUtils.equals(zyInfo.getXshpkg(), "1")) { + hpts = "互评时间:" + DateUtils.formatDate(zyInfo.getXshpkssj(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getXshpjssj(), "yyyy-MM-dd HH:mm"); + } - if(StringUtils.equals(zyInfo.getZyLeixing(),"0")) { - zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); - }else if (StringUtils.equals(zyInfo.getZyLeixing(),"1")){ - zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); - } - zyDbtx.setFlag("0"); - zyDbtx.setFbr(user.getUsername()); - zyDbtxService.save(zyDbtx); + if (StringUtils.equals(zyInfo.getZyLeixing(), "0")) { + zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); + } else if (StringUtils.equals(zyInfo.getZyLeixing(), "1")) { + zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts); + } + zyDbtx.setFlag("0"); + zyDbtx.setFbr(user.getUsername()); + zyDbtxService.save(zyDbtx); // try { // KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); @@ -451,123 +454,123 @@ public class ZyInfoController extends JeecgController { // e.printStackTrace(); // } - } - } - return Result.OK(zyInfo); - } + } + } + return Result.OK(zyInfo); + } - @ApiOperation(value="推送微信信息", notes="推送微信信息") - @GetMapping(value = "/sendZyWechat") - public Result sendZyWechat(@RequestParam(name="id",required=true) String id) { - ZyInfo zyInfo = zyInfoService.getById(id); - if(zyInfo!=null) { - zyInfo = zyInfoService.getKechengById(zyInfo.getId()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",zyInfo.getRwbh()); - List list = xxhbbksService.getXsxkbAllList(queryWrapper); + @ApiOperation(value = "推送微信信息", notes = "推送微信信息") + @GetMapping(value = "/sendZyWechat") + public Result sendZyWechat(@RequestParam(name = "id", required = true) String id) { + ZyInfo zyInfo = zyInfoService.getById(id); + if (zyInfo != null) { + zyInfo = zyInfoService.getKechengById(zyInfo.getId()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", zyInfo.getRwbh()); + List list = xxhbbksService.getXsxkbAllList(queryWrapper); - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.eq("jgh",zyInfo.getCreateBy()); - kcKechengbiaoQueryWrapper.eq("xqxn",zyInfo.getXnxq()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.eq("jgh", zyInfo.getCreateBy()); + kcKechengbiaoQueryWrapper.eq("xqxn", zyInfo.getXnxq()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - //作业代办提醒 - String hpts = ""; - if(StringUtils.equals(zyInfo.getXshpkg(),"1")){ - hpts = "互评时间:"+DateUtils.formatDate(zyInfo.getXshpkssj(),"yyyy-MM-dd HH:mm")+" ~ "+ DateUtils.formatDate(zyInfo.getXshpjssj(),"yyyy-MM-dd HH:mm"); - } - String content = ""; - if(StringUtils.equals(zyInfo.getZyLeixing(),"0")) { - content = user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts; - }else if (StringUtils.equals(zyInfo.getZyLeixing(),"1")){ - content = user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts; - } + //作业代办提醒 + String hpts = ""; + if (StringUtils.equals(zyInfo.getXshpkg(), "1")) { + hpts = "互评时间:" + DateUtils.formatDate(zyInfo.getXshpkssj(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getXshpjssj(), "yyyy-MM-dd HH:mm"); + } + String content = ""; + if (StringUtils.equals(zyInfo.getZyLeixing(), "0")) { + content = user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts; + } else if (StringUtils.equals(zyInfo.getZyLeixing(), "1")) { + content = user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " + hpts; + } - for(Xxhbbks xxhbbks:list){ - try { - KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); - kcWechatSendLog.setOpenid(xxhbbks.getXh()); + for (Xxhbbks xxhbbks : list) { + try { + KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); + kcWechatSendLog.setOpenid(xxhbbks.getXh()); // kcWechatSendLog.setOpenid("2016900057");//指定曹老师账号 - kcWechatSendLog.setYtkcs(content); - sendWxmessage(kcWechatSendLog); - }catch (Exception e){ - e.printStackTrace(); - } + kcWechatSendLog.setYtkcs(content); + sendWxmessage(kcWechatSendLog); + } catch (Exception e) { + e.printStackTrace(); + } - } - } - return Result.OK(zyInfo); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @AutoLog(value = "作业发布-通过id删除") - @ApiOperation(value="作业发布-通过id删除", notes="作业发布-通过id删除") - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { - ZyInfo zyInfo = zyInfoService.getById(id); - zyInfoService.removeById(id); - QueryWrapper zyInfoQueryWrapper = new QueryWrapper<>(); - zyInfoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - zyInfoQueryWrapper.eq("xnxq",zyInfo.getXnxq()); - zyInfoQueryWrapper.eq("zy_leixing","0"); - zyInfoQueryWrapper.orderByAsc("sort-0"); - List list = zyInfoService.list(zyInfoQueryWrapper); - for(int i=0;i deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.zyInfoService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - //@AutoLog(value = "作业发布-通过id查询") - @ApiOperation(value="作业发布-通过id查询", notes="作业发布-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - ZyInfo zyInfo = zyInfoService.getById(id); - if(zyInfo==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(zyInfo); - } + } + } + return Result.OK(zyInfo); + } /** - * 导出excel - * - * @param request - * @param zyInfo - */ + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "作业发布-通过id删除") + @ApiOperation(value = "作业发布-通过id删除", notes = "作业发布-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + ZyInfo zyInfo = zyInfoService.getById(id); + zyInfoService.removeById(id); + QueryWrapper zyInfoQueryWrapper = new QueryWrapper<>(); + zyInfoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + zyInfoQueryWrapper.eq("xnxq", zyInfo.getXnxq()); + zyInfoQueryWrapper.eq("zy_leixing", "0"); + zyInfoQueryWrapper.orderByAsc("sort-0"); + List list = zyInfoService.list(zyInfoQueryWrapper); + for (int i = 0; i < list.size(); i++) { + ZyInfo zyInfoPar = list.get(i); + zyInfoPar.setSort(i + 1); + zyInfoService.updateById(zyInfoPar); + } + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "作业发布-批量删除") + @ApiOperation(value = "作业发布-批量删除", notes = "作业发布-批量删除") + @RequiresPermissions("zyInfo:zy_info:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.zyInfoService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "作业发布-通过id查询") + @ApiOperation(value = "作业发布-通过id查询", notes = "作业发布-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + ZyInfo zyInfo = zyInfoService.getById(id); + if (zyInfo == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(zyInfo); + } + + /** + * 导出excel + * + * @param request + * @param zyInfo + */ @RequiresPermissions("zyInfo:zy_info:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, ZyInfo zyInfo) { @@ -575,12 +578,12 @@ public class ZyInfoController extends JeecgController { } /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ @RequiresPermissions("zyInfo:zy_info:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result importExcel(HttpServletRequest request, HttpServletResponse response) { @@ -588,544 +591,649 @@ public class ZyInfoController extends JeecgController { } - @ApiOperation(value="作业发布-分页列表查询", notes="作业发布-分页列表查询") - @GetMapping(value = "/stuList") - public Result> stuList(ZyInfo zyInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper("a",zyInfo, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - queryWrapper.eq("c.KCAPZBBH",zyInfo.getRwbh()); - queryWrapper.eq("c.xh",sysUser.getUsername()); - queryWrapper.orderByDesc("a.sort - 0"); - IPage pageList = zyInfoService.stuList(page, queryWrapper); - return Result.OK(pageList); - } + @ApiOperation(value = "作业发布-分页列表查询", notes = "作业发布-分页列表查询") + @GetMapping(value = "/stuList") + public Result> stuList(ZyInfo zyInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper("a", zyInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + queryWrapper.eq("c.KCAPZBBH", zyInfo.getRwbh()); + queryWrapper.eq("c.xh", sysUser.getUsername()); + queryWrapper.orderByDesc("a.sort - 0"); + IPage pageList = zyInfoService.stuList(page, queryWrapper); + return Result.OK(pageList); + } + @ApiOperation(value = "教学大纲-分页列表查询", notes = "教学大纲-分页列表查询") + @GetMapping(value = "/sysList") + public Result> sysList(ZyInfoSys zyInfoSys, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + queryWrapper.eq("kkdw", kcExportConfigTpkwcqkjzglx.getDwmc()); + } - @ApiOperation(value="教学大纲-分页列表查询", notes="教学大纲-分页列表查询") - @GetMapping(value = "/sysList") - public Result> sysList(ZyInfoSys zyInfoSys, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - queryWrapper.eq("kkdw",kcExportConfigTpkwcqkjzglx.getDwmc()); - } - - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - queryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - }else{ - queryWrapper.eq("xqxn",zyInfoSys.getXqxn()); - } - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKkdw()),"kkdw",zyInfoSys.getKkdw()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcmc()),"kcmc",zyInfoSys.getKcmc()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcbh()),"kcbh",zyInfoSys.getKcbh()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getSkjs()),"skjs",zyInfoSys.getSkjs()); - queryWrapper.eq("flag",0); - Page page = new Page(pageNo, pageSize); - IPage pageList = zyInfoService.sysList(page, queryWrapper); - return Result.OK(pageList); - } + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + queryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + } else { + queryWrapper.eq("xqxn", zyInfoSys.getXqxn()); + } + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKkdw()), "kkdw", zyInfoSys.getKkdw()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcmc()), "kcmc", zyInfoSys.getKcmc()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcbh()), "kcbh", zyInfoSys.getKcbh()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getSkjs()), "skjs", zyInfoSys.getSkjs()); + queryWrapper.eq("flag", 0); + Page page = new Page(pageNo, pageSize); + IPage pageList = zyInfoService.sysList(page, queryWrapper); + return Result.OK(pageList); + } - @ApiOperation(value="教学大纲-分页列表查询", notes="教学大纲-分页列表查询") - @GetMapping(value = "/sysStaticList") - public Result> sysStaticList(ZyInfoSys zyInfoSys, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); - } + @ApiOperation(value = "教学大纲-分页列表查询", notes = "教学大纲-分页列表查询") + @GetMapping(value = "/sysStaticList") + public Result> sysStaticList(ZyInfoSys zyInfoSys, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - zyInfoSys.setXqxn(kcSysConfig.getFlag1()); - } + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + zyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } - Page page = new Page(pageNo, pageSize); - IPage pageList = zyInfoService.sysStaticList(page, zyInfoSys); - return Result.OK(pageList); - } + Page page = new Page(pageNo, pageSize); + IPage pageList = zyInfoService.sysStaticList(page, zyInfoSys); + return Result.OK(pageList); + } - @RequestMapping(value = "/exportSysXls") - public ModelAndView exportSysXls(HttpServletRequest request, ZyInfoSys zyInfoSys) { - String title = "课程作业"; - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - queryWrapper.eq("kkdw",kcExportConfigTpkwcqkjzglx.getDwmc()); - } + @RequestMapping(value = "/exportSysXls") + public ModelAndView exportSysXls(HttpServletRequest request, ZyInfoSys zyInfoSys) { + String title = "课程作业"; + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + queryWrapper.eq("kkdw", kcExportConfigTpkwcqkjzglx.getDwmc()); + } - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - queryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - }else{ - queryWrapper.eq("xqxn",zyInfoSys.getXqxn()); - } - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKkdw()),"kkdw",zyInfoSys.getKkdw()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcmc()),"kcmc",zyInfoSys.getKcmc()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcbh()),"kcbh",zyInfoSys.getKcbh()); - queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getSkjs()),"skjs",zyInfoSys.getSkjs()); - queryWrapper.eq("flag",0); - // Step.2 获取导出数据 - List exportList = service.exportSysXls(zyInfoSys,queryWrapper); + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + queryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + } else { + queryWrapper.eq("xqxn", zyInfoSys.getXqxn()); + } + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKkdw()), "kkdw", zyInfoSys.getKkdw()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcmc()), "kcmc", zyInfoSys.getKcmc()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getKcbh()), "kcbh", zyInfoSys.getKcbh()); + queryWrapper.like(com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotEmpty(zyInfoSys.getSkjs()), "skjs", zyInfoSys.getSkjs()); + queryWrapper.eq("flag", 0); + // Step.2 获取导出数据 + List exportList = service.exportSysXls(zyInfoSys, queryWrapper); - // Step.3 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - //此处设置的filename无效 ,前端会重更新设置一下 - mv.addObject(NormalExcelConstants.FILE_NAME, title); - mv.addObject(NormalExcelConstants.CLASS, ZyInfoSys.class); - //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- - ExportParams exportParams=new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); - exportParams.setImageBasePath(upLoadPath); - //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- - mv.addObject(NormalExcelConstants.PARAMS,exportParams); - mv.addObject(NormalExcelConstants.DATA_LIST, exportList); - return mv; - } + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); + mv.addObject(NormalExcelConstants.CLASS, ZyInfoSys.class); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams = new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); + exportParams.setImageBasePath(upLoadPath); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS, exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; + } - - @ApiOperation(value="作业发布-通过id查询", notes="作业发布-通过id查询") - @GetMapping(value = "/queryZyinfoByStuId") - public Result queryZyinfoByStuId(@RequestParam(name="id",required=true) String id) { + @ApiOperation(value = "作业发布-通过id查询", notes = "作业发布-通过id查询") + @GetMapping(value = "/queryZyinfoByStuId") + public Result queryZyinfoByStuId(@RequestParam(name = "id", required = true) String id) { // ZyInfoStudent zyInfoStudent = zyInfoStudentService.getById(id); - ZyInfo zyInfo = zyInfoService.getById(id); - return Result.OK(zyInfo); - } + ZyInfo zyInfo = zyInfoService.getById(id); + return Result.OK(zyInfo); + } + @AutoLog(value = "作业发布-添加") + @ApiOperation(value = "作业发布-添加", notes = "作业发布-添加") + @PostMapping(value = "/batchAdd") + public Result batchAdd(@RequestBody List list) { + ZyInfo zyInfo = list.get(0); - @AutoLog(value = "作业发布-添加") - @ApiOperation(value="作业发布-添加", notes="作业发布-添加") - @PostMapping(value = "/batchAdd") - public Result batchAdd(@RequestBody List list) { - ZyInfo zyInfo = list.get(0); + //删除老师留过的作业,重新生成新的 + QueryWrapper query = new QueryWrapper<>(); + query.eq("rwbh", zyInfo.getRwbh()); + query.eq("create_by", zyInfo.getCreateBy()); + query.eq("zy_leixing", "0"); + List oldList = zyInfoService.list(query); + zyInfoService.remove(query); - //删除老师留过的作业,重新生成新的 - QueryWrapper query = new QueryWrapper<>(); - query.eq("rwbh", zyInfo.getRwbh()); - query.eq("create_by",zyInfo.getCreateBy()); - query.eq("zy_leixing","0"); - List oldList = zyInfoService.list(query); - zyInfoService.remove(query); + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + for (int i = 0; i < list.size(); i++) { + ZyInfo par = list.get(i); + List zyInfo1 = oldList.stream().filter(zyInfo2 -> zyInfo2.getId().equals(par.getId())).collect(Collectors.toList()); + if (zyInfo1 != null && zyInfo1.size() > 0) { + ZyInfo zypar = zyInfo1.get(0); + zypar.setSort(par.getSort()); + zypar.setScore(par.getScore()); + zyInfoService.save(zypar); + } else { + par.setXnxq(kcSysConfig.getFlag1()); + par.setZyStatus("0"); + par.setXkxs(kcKechengbiao.getXkrs()); + zyInfoService.save(par); + } + } + return Result.OK("添加成功!"); + } - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - for(int i = 0; i < list.size(); i++) { - ZyInfo par = list.get(i); - List zyInfo1 = oldList.stream().filter(zyInfo2 -> zyInfo2.getId().equals(par.getId())).collect(Collectors.toList()); - if(zyInfo1!=null && zyInfo1.size()>0){ - ZyInfo zypar = zyInfo1.get(0); - zypar.setSort(par.getSort()); - zypar.setScore(par.getScore()); - zyInfoService.save(zypar); - }else{ - par.setXnxq(kcSysConfig.getFlag1()); - par.setZyStatus("0"); - par.setXkxs(kcKechengbiao.getXkrs()); - zyInfoService.save(par); - } - } - return Result.OK("添加成功!"); - } + @AutoLog(value = "期末作业发布-添加") + @ApiOperation(value = "期末作业发布-添加", notes = "期末作业发布-添加") + @PostMapping(value = "/batchQmAdd") + public Result batchQmAdd(@RequestBody List list) { + ZyInfo zyInfo = list.get(0); - @AutoLog(value = "期末作业发布-添加") - @ApiOperation(value="期末作业发布-添加", notes="期末作业发布-添加") - @PostMapping(value = "/batchQmAdd") - public Result batchQmAdd(@RequestBody List list) { - ZyInfo zyInfo = list.get(0); + //删除老师留过的作业,重新生成新的 + QueryWrapper query = new QueryWrapper<>(); + query.eq("rwbh", zyInfo.getRwbh()); + query.eq("create_by", zyInfo.getCreateBy()); + query.eq("zy_leixing", "1"); + List oldList = zyInfoService.list(query); + zyInfoService.remove(query); - //删除老师留过的作业,重新生成新的 - QueryWrapper query = new QueryWrapper<>(); - query.eq("rwbh", zyInfo.getRwbh()); - query.eq("create_by",zyInfo.getCreateBy()); - query.eq("zy_leixing","1"); - List oldList = zyInfoService.list(query); - zyInfoService.remove(query); + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("xqxn", kcSysConfig.getFlag1()); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + for (int i = 0; i < list.size(); i++) { + ZyInfo par = list.get(i); + List zyInfo1 = oldList.stream().filter(zyInfo2 -> zyInfo2.getId().equals(par.getId())).collect(Collectors.toList()); + if (zyInfo1 != null && zyInfo1.size() > 0) { + ZyInfo zypar = zyInfo1.get(0); + zypar.setSort(par.getSort()); + zypar.setScore(par.getScore()); + zyInfoService.save(zypar); + } else { + par.setXnxq(kcSysConfig.getFlag1()); + par.setZyStatus("0"); + par.setXkxs(kcKechengbiao.getXkrs()); + zyInfoService.save(par); + } + } + return Result.OK("添加成功!"); + } - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("xqxn",kcSysConfig.getFlag1()); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - for(int i = 0; i < list.size(); i++) { - ZyInfo par = list.get(i); - List zyInfo1 = oldList.stream().filter(zyInfo2 -> zyInfo2.getId().equals(par.getId())).collect(Collectors.toList()); - if(zyInfo1!=null && zyInfo1.size()>0){ - ZyInfo zypar = zyInfo1.get(0); - zypar.setSort(par.getSort()); - zypar.setScore(par.getScore()); - zyInfoService.save(zypar); - }else{ - par.setXnxq(kcSysConfig.getFlag1()); - par.setZyStatus("0"); - par.setXkxs(kcKechengbiao.getXkrs()); - zyInfoService.save(par); - } - } - return Result.OK("添加成功!"); - } + // appId + private static final String appId = "wx031697a8ca09a5ce";//东师 - // appId - private static final String appId = "wx031697a8ca09a5ce";//东师 + private static final String agentid = "1000065";// + // appIdSecret + private static final String appIdSecret = "6Qhnge3xfzAQMDX2TcjEyE0vUGP96hP9OTYUsYBze2Y";//东师 - private static final String agentid = "1000065";// - // appIdSecret - private static final String appIdSecret = "6Qhnge3xfzAQMDX2TcjEyE0vUGP96hP9OTYUsYBze2Y";//东师 + //微信通知点击后跳转的页面 + private static final String domainTo = "https://smartedu.nenu.edu.cn"; - //微信通知点击后跳转的页面 - private static final String domainTo = "https://smartedu.nenu.edu.cn"; + public void sendWxmessage(KcWechatSendLog kcWechatSendLog) { + String openId = kcWechatSendLog.getOpenid();//曹老师账号 + System.out.println("openId:" + openId + ""); + if (org.apache.commons.lang3.StringUtils.isNotEmpty(openId)) { + try { + String urlToken = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + appId + "&corpsecret=" + appIdSecret; + System.out.println("urlToken: " + urlToken); + String res = HttpUtil.get(urlToken); + JSONObject jsonObjectToken = JSONObject.parseObject(res); + System.out.println("jsonObjectToken:{}" + jsonObjectToken); + String accessToken = jsonObjectToken.getString("access_token"); + System.out.println("accessToken:{}" + accessToken); - public void sendWxmessage(KcWechatSendLog kcWechatSendLog) { - String openId = kcWechatSendLog.getOpenid();//曹老师账号 - System.out.println("openId:" + openId + ""); - if (org.apache.commons.lang3.StringUtils.isNotEmpty(openId)) { - try { - String urlToken = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + appId + "&corpsecret=" + appIdSecret; - System.out.println("urlToken: " + urlToken); - String res = HttpUtil.get(urlToken); - JSONObject jsonObjectToken = JSONObject.parseObject(res); - System.out.println("jsonObjectToken:{}" + jsonObjectToken); - String accessToken = jsonObjectToken.getString("access_token"); - System.out.println("accessToken:{}" + accessToken); - - // 微信的基础accessToken - String url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + accessToken; - Map sendMag = new HashMap<>(); + // 微信的基础accessToken + String url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + accessToken; + Map sendMag = new HashMap<>(); // 1、xx老师,你好,您本学期(2023秋)听课要求为:5次,当前实际听课次数:3次,请尽快完成本学期的听课任务。 - String html = kcWechatSendLog.getYtkcs(); - html = html + "\n查看"; - sendMag.put("content", html);//授课老师推送内容 - RestTemplate restTemplate = new RestTemplate(); - //拼接base参数 - Map sendBody = new HashMap<>(); - sendBody.put("touser", openId); // openId - sendBody.put("msgtype", "text"); // 消息类型,此时固定为:text - sendBody.put("agentid", agentid); // 企业id - sendBody.put("text", sendMag); //发送内容 - ResponseEntity forEntity = restTemplate.postForEntity(url, sendBody, String.class); - JSONObject jsonObject2 = JSONObject.parseObject(forEntity.getBody()); - System.out.println("jsonObject2 : " + jsonObject2); - String messageCode = jsonObject2.getString("errcode"); - String msgId = jsonObject2.getString("msgid"); - System.out.println("messageCode : " + messageCode + ", msgId: " + msgId); - } catch (Exception e) { - e.printStackTrace(); - } - } else { - } - } + String html = kcWechatSendLog.getYtkcs(); + html = html + "\n查看"; + sendMag.put("content", html);//授课老师推送内容 + RestTemplate restTemplate = new RestTemplate(); + //拼接base参数 + Map sendBody = new HashMap<>(); + sendBody.put("touser", openId); // openId + sendBody.put("msgtype", "text"); // 消息类型,此时固定为:text + sendBody.put("agentid", agentid); // 企业id + sendBody.put("text", sendMag); //发送内容 + ResponseEntity forEntity = restTemplate.postForEntity(url, sendBody, String.class); + JSONObject jsonObject2 = JSONObject.parseObject(forEntity.getBody()); + System.out.println("jsonObject2 : " + jsonObject2); + String messageCode = jsonObject2.getString("errcode"); + String msgId = jsonObject2.getString("msgid"); + System.out.println("messageCode : " + messageCode + ", msgId: " + msgId); + } catch (Exception e) { + e.printStackTrace(); + } + } else { + } + } - @ApiOperation(value="作业发布-通过id查询", notes="作业发布-通过id查询") - @GetMapping(value = "/zyzb") - public Result> zyzb(@RequestParam(name="rwbh") String rwbh,@RequestParam(name="xqxn") String xqxn,@RequestParam(name="zyLeixing") String zyLeixing) { - String teano = null; - List zyInfo = zyInfoService.zyzb(rwbh,xqxn,teano,zyLeixing); - return Result.OK(zyInfo); - } + @ApiOperation(value = "作业发布-通过id查询", notes = "作业发布-通过id查询") + @GetMapping(value = "/zyzb") + public Result> zyzb(@RequestParam(name = "rwbh") String rwbh, @RequestParam(name = "xqxn") String xqxn, @RequestParam(name = "zyLeixing") String zyLeixing) { + String teano = null; + List zyInfo = zyInfoService.zyzb(rwbh, xqxn, teano, zyLeixing); + return Result.OK(zyInfo); + } + /** + * 编辑 + * + * @param zyInfo + * @return + */ + @AutoLog(value = "作业发布-微信提醒") + @ApiOperation(value = "作业发布-微信提醒", notes = "作业发布-微信提醒") + @RequestMapping(value = "/sendWxtx", method = {RequestMethod.PUT, RequestMethod.POST}) + public void sendWxtx(@RequestBody ZyInfo zyInfo) { - /** - * 编辑 - * - * @param zyInfo - * @return - */ - @AutoLog(value = "作业发布-微信提醒") - @ApiOperation(value="作业发布-微信提醒", notes="作业发布-微信提醒") - @RequestMapping(value = "/sendWxtx", method = {RequestMethod.PUT,RequestMethod.POST}) - public void sendWxtx(@RequestBody ZyInfo zyInfo) { + ZyInfo zyInfo2 = zyInfoService.getById(zyInfo.getId()); + if (StringUtils.equals(zyInfo2.getZyStatus(), "1")) { + QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); + kcKechengbiaoQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + kcKechengbiaoQueryWrapper.eq("jgh", zyInfo.getCreateBy()); + kcKechengbiaoQueryWrapper.eq("xqxn", zyInfo.getXnxq()); + kcKechengbiaoQueryWrapper.last("limit 1"); + KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); - ZyInfo zyInfo2 = zyInfoService.getById(zyInfo.getId()); - if(StringUtils.equals(zyInfo2.getZyStatus(),"1")){ - QueryWrapper kcKechengbiaoQueryWrapper = new QueryWrapper<>(); - kcKechengbiaoQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - kcKechengbiaoQueryWrapper.eq("jgh",zyInfo.getCreateBy()); - kcKechengbiaoQueryWrapper.eq("xqxn",zyInfo.getXnxq()); - kcKechengbiaoQueryWrapper.last("limit 1"); - KcKechengbiao kcKechengbiao = kcKechengbiaoService.getOne(kcKechengbiaoQueryWrapper); + QueryWrapper zyDbtxQueryWrapper = new QueryWrapper<>(); + zyDbtxQueryWrapper.eq("type", "2");//发送作业 + zyDbtxQueryWrapper.eq("rwbh", zyInfo.getRwbh()); + List dbtxlist = zyDbtxService.list(zyDbtxQueryWrapper); + String xharrs[] = new String[dbtxlist.size()]; + for (int i = 0; i < dbtxlist.size(); i++) { + xharrs[i] = dbtxlist.get(i).getCreateBy(); + } - QueryWrapper zyDbtxQueryWrapper = new QueryWrapper<>(); - zyDbtxQueryWrapper.eq("type","2");//发送作业 - zyDbtxQueryWrapper.eq("rwbh",zyInfo.getRwbh()); - List dbtxlist = zyDbtxService.list(zyDbtxQueryWrapper); - String xharrs[] = new String[dbtxlist.size()]; - for(int i=0;i queryWrapper = new QueryWrapper<>(); + queryWrapper.apply("a.xh = b.xh"); + queryWrapper.eq("b.KCAPZBBH", zyInfo2.getRwbh()); + if (xharrs.length > 0) { + queryWrapper.notIn("a.xh", xharrs); + } + List list = xxhbbksService.getXsxkbAllList(queryWrapper); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.apply("a.xh = b.xh"); - queryWrapper.eq("b.KCAPZBBH",zyInfo2.getRwbh()); - if(xharrs.length>0){ - queryWrapper.notIn("a.xh",xharrs); - } - List list = xxhbbksService.getXsxkbAllList(queryWrapper); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + for (Xxhbbks xxhbbks : list) { - LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - for(Xxhbbks xxhbbks:list) { - - ZyDbtx zyDbtx = new ZyDbtx(); - if(StringUtils.equals(zyInfo.getZyLeixing(),"0")) { - zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " ); - }else if (StringUtils.equals(zyInfo.getZyLeixing(),"1")){ - zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 - zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! " ); - } - try { - KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); + ZyDbtx zyDbtx = new ZyDbtx(); + if (StringUtils.equals(zyInfo.getZyLeixing(), "0")) { + zyDbtx.setType("0");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的作业,该作业提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! "); + } else if (StringUtils.equals(zyInfo.getZyLeixing(), "1")) { + zyDbtx.setType("10");//0发布作业 1评分 2测验 3问卷 4讨论 + zyDbtx.setContent(user.getRealname() + "老师主讲的[" + kcKechengbiao.getKcmc() + "]课程于" + DateUtils.formatDate(new Date(), "yyyy-MM-dd HH:mm:ss") + "发布了一篇题目为“" + zyInfo.getTitle() + "”的期末考试,该期末考试提交时间为:" + DateUtils.formatDate(zyInfo.getStartTime(), "yyyy-MM-dd HH:mm") + " ~ " + DateUtils.formatDate(zyInfo.getEndTime(), "yyyy-MM-dd HH:mm") + ",请按时完成! "); + } + try { + KcWechatSendLog kcWechatSendLog = new KcWechatSendLog(); // kcWechatSendLog.setOpenid("2016900057");//指定曹老师账号 - kcWechatSendLog.setOpenid(xxhbbks.getXh()); - kcWechatSendLog.setYtkcs(zyDbtx.getContent()); - sendWxmessage(kcWechatSendLog); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - } + kcWechatSendLog.setOpenid(xxhbbks.getXh()); + kcWechatSendLog.setYtkcs(zyDbtx.getContent()); + sendWxmessage(kcWechatSendLog); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + } + @ApiOperation(value = "统计作业测试使用情况", notes = "统计作业测试使用情况") + @GetMapping(value = "/sysStaticNo") + public Result> sysStaticNo(ZyInfoSys zyInfoSys, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } + + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + zyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } + + Map pageList = zyInfoService.sysStaticNo(zyInfoSys); + return Result.OK(pageList); + } + + @ApiOperation(value = "统计作业测试使用情况", notes = "刷新排行数据") + @GetMapping(value = "/getPHData") + public Result> getPHData(ZyInfoSys zyInfoSys, + @RequestParam(name = "tag", required = false) String tag, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } + + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + zyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } + List list = zyInfoService.getPHData(zyInfoSys, tag); + return Result.OK(list); + } + + @ApiOperation(value = "统计作业测试使用情况", notes = "导出排行数据") + @GetMapping(value = "/exportPHData") + public ModelAndView exportPHData(ZyInfoSys zyInfoSys, @RequestParam(name = "tag", required = false) String tag) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } + + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + zyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } + List list = zyInfoService.getPHData(zyInfoSys, tag); + + List exportList = Lists.newArrayList(); + + String title = ""; + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + if("kctop10".equals(tag)){ + title = "本学年课程使用排行"; + mv.addObject(NormalExcelConstants.CLASS, ExportEntity2.class); + //处理数据转换 + exportList = list.stream() + .map(zyInfo -> { + ExportEntity2 entity = new ExportEntity2(); + // 使用 Spring 的 BeanUtils 复制属性 + BeanUtils.copyProperties(zyInfo, entity); + String rn = entity.getRownum(); + entity.setRownum(rn.substring(0,rn.indexOf("."))); + return entity; + }) + .collect(Collectors.toList()); + }else{ + mv.addObject(NormalExcelConstants.CLASS, ExportEntity1.class); + if ("xntop10".equals(tag)) { + title = "本学年作业使用排行"; + } + if ("jrtop10".equals(tag)) { + title = "本学年测验使用排行"; + } + if ("jstop10".equals(tag)) { + title = "本学年教师使用排行"; + } + //处理数据转换 + exportList = list.stream() + .map(zyInfo -> { + ExportEntity1 entity = new ExportEntity1(); + // 使用 Spring 的 BeanUtils 复制属性 + BeanUtils.copyProperties(zyInfo, entity); + String rn = entity.getRownum(); + entity.setRownum(rn.substring(0,rn.indexOf("."))); + return entity; + }) + .collect(Collectors.toList()); + } + + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams = new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); + exportParams.setImageBasePath(upLoadPath); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS, exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; + } + + @ApiOperation(value = "统计作业使用情况", notes = "统计作业使用情况") + @GetMapping(value = "/sysStaticZyList") + public Result> sysStaticZyList(ZyInfoSys zyInfoSys, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } + + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + zyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } + + Page page = new Page(pageNo, pageSize); + IPage pageList = zyInfoService.sysStaticZyList(page, zyInfoSys); + return Result.OK(pageList); + } + + @ApiOperation(value = "统计测验使用情况", notes = "统计测验使用情况") + @GetMapping(value = "/sysStaticCyList") + public Result> sysStaticCyList(CyInfoSys cyInfoSys, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + cyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } + + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(cyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + cyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } + + Page page = new Page(pageNo, pageSize); + IPage pageList = zyInfoService.sysStaticCyList(page, cyInfoSys); + return Result.OK(pageList); + } + + @RequestMapping(value = "/getStaticCyExportUrl") + public ModelAndView getStaticCyExportUrl(HttpServletRequest request, CyInfoSys cyInfoSys) { + String title = "课程作业"; + // Step.1 组装查询条件 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- + List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); + String adminRole = "1";//0 admin 1教务秘书 + for (String role : roleList) { + if (org.apache.commons.lang.StringUtils.equals("admin", role)) { + adminRole = "0"; + break; + } + } + QueryWrapper queryWrapper = new QueryWrapper(); + if (org.apache.commons.lang.StringUtils.equals("1", adminRole)) { + QueryWrapper queryWrapperCon = new QueryWrapper(); + queryWrapperCon.eq("gh", sysUser.getUsername()); + queryWrapperCon.orderByDesc("create_time"); + queryWrapperCon.last("limit 1"); + KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); + cyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); + } + + if (com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(cyInfoSys.getXqxn())) { + KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); + cyInfoSys.setXqxn(kcSysConfig.getFlag1()); + } + + // Step.2 获取导出数据 + List exportList = service.getStaticCyExportUrl(cyInfoSys); + + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); + mv.addObject(NormalExcelConstants.CLASS, CyInfoSys.class); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams = new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); + exportParams.setImageBasePath(upLoadPath); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS, exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; + } - @ApiOperation(value="统计作业测试使用情况", notes="统计作业测试使用情况") - @GetMapping(value = "/sysStaticNo") - public Result> sysStaticNo(ZyInfoSys zyInfoSys, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); - } - - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - zyInfoSys.setXqxn(kcSysConfig.getFlag1()); - } - - Map pageList = zyInfoService.sysStaticNo(zyInfoSys); - return Result.OK(pageList); - } + @ApiOperation(value = "作业发布-分页列表查询", notes = "作业发布-分页列表查询") + @GetMapping(value = "/listKhcl") + public Result> listKhcl(ZyInfo zyInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(zyInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + queryWrapper.eq("create_by", sysUser.getUsername()); + queryWrapper.orderByDesc("xnxq"); + queryWrapper.orderByAsc("sort - 0"); + IPage pageList = zyInfoService.listKhcl(page, queryWrapper); - - @ApiOperation(value="统计作业使用情况", notes="统计作业使用情况") - @GetMapping(value = "/sysStaticZyList") - public Result> sysStaticZyList(ZyInfoSys zyInfoSys, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - zyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); - } - - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(zyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - zyInfoSys.setXqxn(kcSysConfig.getFlag1()); - } - - Page page = new Page(pageNo, pageSize); - IPage pageList = zyInfoService.sysStaticZyList(page, zyInfoSys); - return Result.OK(pageList); - } - - @ApiOperation(value="统计测验使用情况", notes="统计测验使用情况") - @GetMapping(value = "/sysStaticCyList") - public Result> sysStaticCyList(CyInfoSys cyInfoSys, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - cyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); - } - - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(cyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - cyInfoSys.setXqxn(kcSysConfig.getFlag1()); - } - - Page page = new Page(pageNo, pageSize); - IPage pageList = zyInfoService.sysStaticCyList(page, cyInfoSys); - return Result.OK(pageList); - } - - @RequestMapping(value = "/getStaticCyExportUrl") - public ModelAndView getStaticCyExportUrl(HttpServletRequest request, CyInfoSys cyInfoSys) { - String title = "课程作业"; - // Step.1 组装查询条件 - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - //-------------获取当前登陆人是否是管理员角色,如果不是都按照教务秘书处理--------------------------- - List roleList = sysBaseApi.getRolesByUsername(sysUser.getUsername()); - String adminRole = "1";//0 admin 1教务秘书 - for(String role :roleList){ - if(org.apache.commons.lang.StringUtils.equals("admin",role)){ - adminRole = "0"; - break; - } - } - QueryWrapper queryWrapper = new QueryWrapper(); - if(org.apache.commons.lang.StringUtils.equals("1",adminRole)){ - QueryWrapper queryWrapperCon = new QueryWrapper(); - queryWrapperCon.eq("gh",sysUser.getUsername()); - queryWrapperCon.orderByDesc("create_time"); - queryWrapperCon.last("limit 1"); - KcExportConfigTpkwcqkjzglx kcExportConfigTpkwcqkjzglx = kcExportConfigTpkwcqkjzglxService.getOne(queryWrapperCon); - cyInfoSys.setKkdw(kcExportConfigTpkwcqkjzglx.getDwmc()); - } - - if(com.baomidou.mybatisplus.core.toolkit.StringUtils.isEmpty(cyInfoSys.getXqxn())){ - KcSysConfig kcSysConfig = kcSysConfigService.getById("1"); - cyInfoSys.setXqxn(kcSysConfig.getFlag1()); - } - - // Step.2 获取导出数据 - List exportList = service.getStaticCyExportUrl(cyInfoSys); - - // Step.3 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - //此处设置的filename无效 ,前端会重更新设置一下 - mv.addObject(NormalExcelConstants.FILE_NAME, title); - mv.addObject(NormalExcelConstants.CLASS, CyInfoSys.class); - //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- - ExportParams exportParams=new ExportParams(title + "报表", "导出人:" + sysUser.getRealname(), title); - exportParams.setImageBasePath(upLoadPath); - //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- - mv.addObject(NormalExcelConstants.PARAMS,exportParams); - mv.addObject(NormalExcelConstants.DATA_LIST, exportList); - return mv; - } - - - - @ApiOperation(value="作业发布-分页列表查询", notes="作业发布-分页列表查询") - @GetMapping(value = "/listKhcl") - public Result> listKhcl(ZyInfo zyInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - - - LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(zyInfo, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - queryWrapper.eq("create_by",sysUser.getUsername()); - queryWrapper.orderByDesc("xnxq"); - queryWrapper.orderByAsc("sort - 0"); - IPage pageList = zyInfoService.listKhcl(page, queryWrapper); - - return Result.OK(pageList); - } + return Result.OK(pageList); + } } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyInfoSys.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyInfoSys.java index e9e442bc..dfc6291b 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyInfoSys.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/entity/ZyInfoSys.java @@ -26,6 +26,7 @@ public class ZyInfoSys implements Serializable { private String xqxn; @Excel(name = "学院", width = 15) private String kkdw; + private String dwh;//学院号 @Excel(name = "课程名称", width = 15) private String kcmc; @Excel(name = "课程性质", width = 15) diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/ZyInfoMapper.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/ZyInfoMapper.java index 2d3d168e..1563a375 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/ZyInfoMapper.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/ZyInfoMapper.java @@ -36,10 +36,26 @@ public interface ZyInfoMapper extends BaseMapper { List getZyStaticNo(@Param("zyInfoSys") ZyInfoSys zyInfoSys); + List getXyZyList(@Param("zyInfoSys") ZyInfoSys zyInfoSys); + List getZyTopList(@Param("zyInfoSys") ZyInfoSys zyInfoSys); + List getZyList(@Param("zyInfoSys") ZyInfoSys zyInfoSys); + List getCyTopList(@Param("zyInfoSys") ZyInfoSys zyInfoSys); + List getCyList(@Param("zyInfoSys") ZyInfoSys zyInfoSys); + + List getXYCyList(@Param("zyInfoSys") ZyInfoSys zyInfoSys); + + List getKcTopList(@Param("zyInfoSys") ZyInfoSys zyInfoSys); + + List getXnKcList(@Param("zyInfoSys") ZyInfoSys zyInfoSys); + + List getJsTopList(@Param("zyInfoSys") ZyInfoSys zyInfoSys); + + List getXnJsList(@Param("zyInfoSys") ZyInfoSys zyInfoSys); + IPage sysStaticZyList(Page page,@Param("zyInfoSys") ZyInfoSys zyInfoSys); IPage sysStaticCyList(Page page, @Param("zyInfoSys") CyInfoSys cyInfoSys); diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/xml/ZyInfoMapper.xml b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/xml/ZyInfoMapper.xml index 34fd4855..d6c13d06 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/xml/ZyInfoMapper.xml +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/zyInfo/mapper/xml/ZyInfoMapper.xml @@ -244,6 +244,26 @@ select count(distinct ww.id) as count,'10' as type from wjx_wjxx ww join kc_kechengbiao kk on kk.jgh = ww.create_by AND kk.rwbh = ww.rwbh AND kk.xqxn = ww.xqxn where (ww.update_time = DATE_FORMAT(NOW(),'%Y-%m-%d') or ww.create_time = DATE_FORMAT(NOW(),'%Y-%m-%d') ) and ww.qpublish in (2) union all select count(distinct zi.id) as count,'11' as type from zy_info zi join kc_kechengbiao kk on kk.jgh = zi.create_by AND kk.rwbh = zi.rwbh AND kk.xqxn = zi.xnxq where zi.zy_status in ('1','2') and zi.xnxq = #{zyInfoSys.xqxn} and zi.sfcc in ('1','2') and kk.flag = 0 + union all + select count(*) as count,'12' as type from zy_info where file_path is not null and xnxq = #{zyInfoSys.xqxn} + union all + select count(*) as count,'13' as type from zy_info where file_path is not null and xnxq = #{zyInfoSys.xqxn} and xshpkg = '1' + union all + select count(*) as count,'14' as type from zy_info where file_path is not null and xnxq = #{zyInfoSys.xqxn} and sfcc = '1' + union all + SELECT COUNT(*) as count,'16' as type FROM wjx_djxx WHERE create_time BETWEEN (SELECT bxqkssj FROM kc_sys_config WHERE flag1=#{zyInfoSys.xqxn} LIMIT 1) AND (SELECT bxqjssj FROM kc_sys_config WHERE flag1=#{zyInfoSys.xqxn} LIMIT 1); + + + + + + + + + + + + + + +