修改bug

This commit is contained in:
yangjun 2024-06-12 11:26:26 +08:00
parent ac001486e5
commit 06cf9a79a0
33 changed files with 1878 additions and 59 deletions

View File

@ -192,7 +192,7 @@ public class SFTPUtil {
}
String fileName = null;
// 获取文件名
String orgName = StrAttackFilter.filter(file.getOriginalFilename());
String orgName = StrAttackFilter.filter2(file.getOriginalFilename());
orgName = CommonUtils.getFileName(orgName);
if(orgName.indexOf(SymbolConstant.SPOT)!=-1){
fileName = orgName.substring(0, orgName.lastIndexOf(".")) + "_" + System.currentTimeMillis() + orgName.substring(orgName.lastIndexOf("."));

View File

@ -18,6 +18,14 @@ public class StrAttackFilter {
return m.replaceAll("").trim();
}
public static String filter2(String str) throws PatternSyntaxException {
// 清除掉所有特殊字符
String regEx = "[`_《》~!@#$%^&*()+=|{}':;',\\[\\]<>?~@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
// public static void main(String[] args) {
// String filter = filter("@#jeecg/《》【bo】¥%……&*o)))@t<>,.,/?'\'~~`");
// System.out.println(filter);

View File

@ -0,0 +1,277 @@
package org.jeecg.modules.kc.blTeacherMain.controller;
import java.io.UnsupportedEncodingException;
import java.io.IOException;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecg.modules.kc.jiaoshi.export.Export;
import org.jeecg.modules.tools.word.ExportWord;
import org.jeecg.modules.tools.word.WordOperator;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.vo.LoginUser;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.kc.blTeacherMain.entity.BlTeacherTjfx;
import org.jeecg.modules.kc.blTeacherMain.entity.BlTeacherMain;
import org.jeecg.modules.kc.blTeacherMain.vo.BlTeacherMainPage;
import org.jeecg.modules.kc.blTeacherMain.service.IBlTeacherMainService;
import org.jeecg.modules.kc.blTeacherMain.service.IBlTeacherTjfxService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.apache.shiro.authz.annotation.RequiresPermissions;
/**
* @Description: 教师调查问卷
* @Author: jeecg-boot
* @Date: 2024-06-07
* @Version: V1.0
*/
@Api(tags="教师调查问卷")
@RestController
@RequestMapping("/blTeacherMain/blTeacherMain")
@Slf4j
public class BlTeacherMainController {
@Autowired
private IBlTeacherMainService blTeacherMainService;
@Autowired
private IBlTeacherTjfxService blTeacherTjfxService;
/**
* 分页列表查询
*
* @param blTeacherMain
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "教师调查问卷-分页列表查询")
@ApiOperation(value="教师调查问卷-分页列表查询", notes="教师调查问卷-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<BlTeacherMain>> queryPageList(BlTeacherMain blTeacherMain,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<BlTeacherMain> queryWrapper = QueryGenerator.initQueryWrapper(blTeacherMain, req.getParameterMap());
Page<BlTeacherMain> page = new Page<BlTeacherMain>(pageNo, pageSize);
IPage<BlTeacherMain> pageList = blTeacherMainService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param blTeacherMainPage
* @return
*/
@AutoLog(value = "教师调查问卷-添加")
@ApiOperation(value="教师调查问卷-添加", notes="教师调查问卷-添加")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody BlTeacherMainPage blTeacherMainPage) {
BlTeacherMain blTeacherMain = new BlTeacherMain();
BeanUtils.copyProperties(blTeacherMainPage, blTeacherMain);
blTeacherMainService.saveMain(blTeacherMain, blTeacherMainPage.getBlTeacherTjfxList());
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param blTeacherMainPage
* @return
*/
@AutoLog(value = "教师调查问卷-编辑")
@ApiOperation(value="教师调查问卷-编辑", notes="教师调查问卷-编辑")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody BlTeacherMainPage blTeacherMainPage) {
BlTeacherMain blTeacherMain = new BlTeacherMain();
BeanUtils.copyProperties(blTeacherMainPage, blTeacherMain);
BlTeacherMain blTeacherMainEntity = blTeacherMainService.getById(blTeacherMain.getId());
if(blTeacherMainEntity==null) {
return Result.error("未找到对应数据");
}
blTeacherMainService.updateMain(blTeacherMain, blTeacherMainPage.getBlTeacherTjfxList());
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "教师调查问卷-通过id删除")
@ApiOperation(value="教师调查问卷-通过id删除", notes="教师调查问卷-通过id删除")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
blTeacherMainService.delMain(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "教师调查问卷-批量删除")
@ApiOperation(value="教师调查问卷-批量删除", notes="教师调查问卷-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.blTeacherMainService.delBatchMain(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "教师调查问卷-通过id查询")
@ApiOperation(value="教师调查问卷-通过id查询", notes="教师调查问卷-通过id查询")
@GetMapping(value = "/queryById")
public Result<BlTeacherMain> queryById(@RequestParam(name="id",required=true) String id) {
BlTeacherMain blTeacherMain = blTeacherMainService.getById(id);
if(blTeacherMain==null) {
return Result.error("未找到对应数据");
}
return Result.OK(blTeacherMain);
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "问卷信息通过主表ID查询")
@ApiOperation(value="问卷信息主表ID查询", notes="问卷信息-通主表ID查询")
@GetMapping(value = "/queryBlTeacherTjfxByMainId")
public Result<List<BlTeacherTjfx>> queryBlTeacherTjfxListByMainId(@RequestParam(name="id",required=true) String id) {
List<BlTeacherTjfx> blTeacherTjfxList = blTeacherTjfxService.selectByMainId(id);
return Result.OK(blTeacherTjfxList);
}
/**
* 导出excel
*
* @param request
* @param blTeacherMain
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, BlTeacherMain blTeacherMain) {
// Step.1 组装查询条件查询数据
QueryWrapper<BlTeacherMain> queryWrapper = QueryGenerator.initQueryWrapper(blTeacherMain, request.getParameterMap());
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//配置选中数据查询条件
String selections = request.getParameter("selections");
if(oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
queryWrapper.in("id",selectionList);
}
//Step.2 获取导出数据
List<BlTeacherMain> blTeacherMainList = blTeacherMainService.list(queryWrapper);
// Step.3 组装pageList
List<BlTeacherMainPage> pageList = new ArrayList<BlTeacherMainPage>();
for (BlTeacherMain main : blTeacherMainList) {
BlTeacherMainPage vo = new BlTeacherMainPage();
BeanUtils.copyProperties(main, vo);
List<BlTeacherTjfx> blTeacherTjfxList = blTeacherTjfxService.selectByMainId(main.getId());
vo.setBlTeacherTjfxList(blTeacherTjfxList);
pageList.add(vo);
}
// Step.4 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
mv.addObject(NormalExcelConstants.FILE_NAME, "教师调查问卷列表");
mv.addObject(NormalExcelConstants.CLASS, BlTeacherMainPage.class);
mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("教师调查问卷数据", "导出人:"+sysUser.getRealname(), "教师调查问卷"));
mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
return mv;
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
// 获取上传文件对象
MultipartFile file = entity.getValue();
ImportParams params = new ImportParams();
params.setTitleRows(2);
params.setHeadRows(1);
params.setNeedSave(true);
try {
List<BlTeacherMainPage> list = ExcelImportUtil.importExcel(file.getInputStream(), BlTeacherMainPage.class, params);
for (BlTeacherMainPage page : list) {
BlTeacherMain po = new BlTeacherMain();
BeanUtils.copyProperties(page, po);
blTeacherMainService.saveMain(po, page.getBlTeacherTjfxList());
}
return Result.OK("文件导入成功!数据行数:" + list.size());
} catch (Exception e) {
log.error(e.getMessage(),e);
return Result.error("文件导入失败:"+e.getMessage());
} finally {
try {
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return Result.OK("文件导入失败!");
}
@AutoLog(value = "教师调查问卷生成统计分析报表")
@ApiOperation(value="教师调查问卷生成统计分析报表", notes="教师调查问卷生成统计分析报表")
@GetMapping(value = "/createWordTjfx")
public void createWordTjfx(@RequestParam(name="id",required=true) String id,HttpServletRequest request, HttpServletResponse response) throws Exception {
// Export export = new Export();
WordOperator wo = blTeacherMainService.createWordTjfx(id);
ExportWord.download_word(request, response, "file.doc", wo);
// BlTeacherMain blTeacherMain = blTeacherMainService.createWordTjfx(id);
// return Result.OK(null);
}
}

View File

@ -0,0 +1,54 @@
package org.jeecg.modules.kc.blTeacherMain.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 教师调查问卷
* @Author: jeecg-boot
* @Date: 2024-06-07
* @Version: V1.0
*/
@ApiModel(value="bl_teacher_main对象", description="教师调查问卷")
@Data
@TableName("bl_teacher_main")
public class BlTeacherMain implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**createBy*/
@ApiModelProperty(value = "createBy")
private String createBy;
/**createTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "createTime")
private Date createTime;
/**updateBy*/
@ApiModelProperty(value = "updateBy")
private String updateBy;
/**updateTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "updateTime")
private Date updateTime;
/**名称*/
@Excel(name = "名称", width = 15)
@ApiModelProperty(value = "名称")
private String title;
}

View File

@ -0,0 +1,576 @@
package org.jeecg.modules.kc.blTeacherMain.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.UnsupportedEncodingException;
/**
* @Description: 问卷信息
* @Author: jeecg-boot
* @Date: 2024-06-07
* @Version: V1.0
*/
@ApiModel(value="bl_teacher_tjfx对象", description="问卷信息")
@Data
@TableName("bl_teacher_tjfx")
public class BlTeacherTjfx implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**createBy*/
@ApiModelProperty(value = "createBy")
private String createBy;
/**createTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "createTime")
private Date createTime;
/**updateBy*/
@ApiModelProperty(value = "updateBy")
private String updateBy;
/**updateTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "updateTime")
private Date updateTime;
/**mainId*/
@ApiModelProperty(value = "mainId")
private String mainId;
/**年份*/
@Excel(name = "年份", width = 15)
@ApiModelProperty(value = "年份")
private String year;
/**性别*/
@Excel(name = "性别", width = 15)
@ApiModelProperty(value = "性别")
private String sex;
/**学历*/
@Excel(name = "学历", width = 15)
@ApiModelProperty(value = "学历")
private String educationLevel;
/**职称*/
@Excel(name = "职称", width = 15)
@ApiModelProperty(value = "职称")
private String position;
/**学院*/
@Excel(name = "学院", width = 15)
@ApiModelProperty(value = "学院")
private String department;
/**岗位类型*/
@Excel(name = "岗位类型", width = 15)
@ApiModelProperty(value = "岗位类型")
private String positiontype;
/**请评价您周围同事在以下方面的表现依法依规履行教师职责1*/
@Excel(name = "请评价您周围同事在以下方面的表现依法依规履行教师职责1", width = 15)
@ApiModelProperty(value = "请评价您周围同事在以下方面的表现依法依规履行教师职责1")
private String sdsfYfyg;
/**请评价您周围同事在以下方面的表现依法依规履行教师职责2*/
@Excel(name = "请评价您周围同事在以下方面的表现依法依规履行教师职责2", width = 15)
@ApiModelProperty(value = "请评价您周围同事在以下方面的表现依法依规履行教师职责2")
private String sdsfYfyg2;
/**请评价您周围同事在以下方面的表现关心爱护学生1*/
@Excel(name = "请评价您周围同事在以下方面的表现关心爱护学生1", width = 15)
@ApiModelProperty(value = "请评价您周围同事在以下方面的表现关心爱护学生1")
private String sdsfGxah;
/**请评价您周围同事在以下方面的表现关心爱护学生2*/
@Excel(name = "请评价您周围同事在以下方面的表现关心爱护学生2", width = 15)
@ApiModelProperty(value = "请评价您周围同事在以下方面的表现关心爱护学生2")
private String sdsfGxah2;
/**请评价您周围同事在以下方面的表现精神面貌及品德修养良好1*/
@Excel(name = "请评价您周围同事在以下方面的表现精神面貌及品德修养良好1", width = 15)
@ApiModelProperty(value = "请评价您周围同事在以下方面的表现精神面貌及品德修养良好1")
private String sdsfJsmm;
/**请评价您周围同事在以下方面的表现精神面貌及品德修养良好2*/
@Excel(name = "请评价您周围同事在以下方面的表现精神面貌及品德修养良好2", width = 15)
@ApiModelProperty(value = "请评价您周围同事在以下方面的表现精神面貌及品德修养良好2")
private String sdsfJsmm2;
/**请评价您周围同事的以下行为热爱工作能以最大的热情投身教育行业积极主动学习1*/
@Excel(name = "请评价您周围同事的以下行为热爱工作能以最大的热情投身教育行业积极主动学习1", width = 15)
@ApiModelProperty(value = "请评价您周围同事的以下行为热爱工作能以最大的热情投身教育行业积极主动学习1")
private String behaviorPassion;
/**请评价您周围同事的以下行为热爱工作能以最大的热情投身教育行业积极主动学习2*/
@Excel(name = "请评价您周围同事的以下行为热爱工作能以最大的热情投身教育行业积极主动学习2", width = 15)
@ApiModelProperty(value = "请评价您周围同事的以下行为热爱工作能以最大的热情投身教育行业积极主动学习2")
private String behaviorPassion2;
/**请评价您周围同事的以下行为关爱学生积极帮助学生解决生活或学习上的困难1*/
@Excel(name = "请评价您周围同事的以下行为关爱学生积极帮助学生解决生活或学习上的困难1", width = 15)
@ApiModelProperty(value = "请评价您周围同事的以下行为关爱学生积极帮助学生解决生活或学习上的困难1")
private String behaviorSolve;
/**请评价您周围同事的以下行为关爱学生积极帮助学生解决生活或学习上的困难2*/
@Excel(name = "请评价您周围同事的以下行为关爱学生积极帮助学生解决生活或学习上的困难2", width = 15)
@ApiModelProperty(value = "请评价您周围同事的以下行为关爱学生积极帮助学生解决生活或学习上的困难2")
private String behaviorSolve2;
/**请评价您周围同事的以下行为关注学生的心理健康状况1*/
@Excel(name = "请评价您周围同事的以下行为关注学生的心理健康状况1", width = 15)
@ApiModelProperty(value = "请评价您周围同事的以下行为关注学生的心理健康状况1")
private String behaviorMental;
/**请评价您周围同事的以下行为关注学生的心理健康状况2*/
@Excel(name = "请评价您周围同事的以下行为关注学生的心理健康状况2", width = 15)
@ApiModelProperty(value = "请评价您周围同事的以下行为关注学生的心理健康状况2")
private String behaviorMental2;
/**请评价您周围同事的以下行为教学有序有清晰合理的教学目标并能清楚地向学生解释1*/
@Excel(name = "请评价您周围同事的以下行为教学有序有清晰合理的教学目标并能清楚地向学生解释1", width = 15)
@ApiModelProperty(value = "请评价您周围同事的以下行为教学有序有清晰合理的教学目标并能清楚地向学生解释1")
private String behaviorAim;
/**请评价您周围同事的以下行为教学有序有清晰合理的教学目标并能清楚地向学生解释2*/
@Excel(name = "请评价您周围同事的以下行为教学有序有清晰合理的教学目标并能清楚地向学生解释2", width = 15)
@ApiModelProperty(value = "请评价您周围同事的以下行为教学有序有清晰合理的教学目标并能清楚地向学生解释2")
private String behaviorAim2;
/**请评价您周围同事的以下行为育人有方激发学生的学习兴趣注重培养学生的创新精神和创新思维1*/
@Excel(name = "请评价您周围同事的以下行为育人有方激发学生的学习兴趣注重培养学生的创新精神和创新思维1", width = 15)
@ApiModelProperty(value = "请评价您周围同事的以下行为育人有方激发学生的学习兴趣注重培养学生的创新精神和创新思维1")
private String behaviorCreate;
/**请评价您周围同事的以下行为育人有方激发学生的学习兴趣注重培养学生的创新精神和创新思维2*/
@Excel(name = "请评价您周围同事的以下行为育人有方激发学生的学习兴趣注重培养学生的创新精神和创新思维2", width = 15)
@ApiModelProperty(value = "请评价您周围同事的以下行为育人有方激发学生的学习兴趣注重培养学生的创新精神和创新思维2")
private String behaviorCreate2;
/**请评价您周围同事的以下行为以身作则信守承诺1*/
@Excel(name = "请评价您周围同事的以下行为以身作则信守承诺1", width = 15)
@ApiModelProperty(value = "请评价您周围同事的以下行为以身作则信守承诺1")
private String behaviorCommit;
/**请评价您周围同事的以下行为以身作则信守承诺2*/
@Excel(name = "请评价您周围同事的以下行为以身作则信守承诺2", width = 15)
@ApiModelProperty(value = "请评价您周围同事的以下行为以身作则信守承诺2")
private String behaviorCommit2;
/**您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是以讲授为主融入课程内容1*/
@Excel(name = "您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是以讲授为主融入课程内容1", width = 15)
@ApiModelProperty(value = "您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是以讲授为主融入课程内容1")
private String rrfsCourse;
/**您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是在学生参与讨论、展示等课堂互动环节中融入2*/
@Excel(name = "您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是在学生参与讨论、展示等课堂互动环节中融入2", width = 15)
@ApiModelProperty(value = "您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是在学生参与讨论、展示等课堂互动环节中融入2")
private String rrfsDiscuss;
/**您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是融入课堂作业、论文中1*/
@Excel(name = "您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是融入课堂作业、论文中1", width = 15)
@ApiModelProperty(value = "您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是融入课堂作业、论文中1")
private String rrfsWork;
/**您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是融入实验、实训中2*/
@Excel(name = "您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是融入实验、实训中2", width = 15)
@ApiModelProperty(value = "您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是融入实验、实训中2")
private String rrfsIntern;
/**您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是其他1*/
@Excel(name = "您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是其他1", width = 15)
@ApiModelProperty(value = "您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是其他1")
private String rrfsQt;
/**您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是并未涉及题目所述内容2*/
@Excel(name = "您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是并未涉及题目所述内容2", width = 15)
@ApiModelProperty(value = "您将中国特色社会主义核心价值观、做人做事的基本道理、爱国主义与理想信念、国情与社会时政热点等融入课堂教学的方式是并未涉及题目所述内容2")
private String rrfsNo;
/**请根据您自身的实际情况评价在以下方面的相符程度目标明确熟悉教材了解学生教学认知能力强1*/
@Excel(name = "请根据您自身的实际情况评价在以下方面的相符程度目标明确熟悉教材了解学生教学认知能力强1", width = 15)
@ApiModelProperty(value = "请根据您自身的实际情况评价在以下方面的相符程度目标明确熟悉教材了解学生教学认知能力强1")
private String skillKnow;
/**请根据您自身的实际情况评价在以下方面的相符程度目标明确熟悉教材了解学生教学认知能力强2*/
@Excel(name = "请根据您自身的实际情况评价在以下方面的相符程度目标明确熟悉教材了解学生教学认知能力强2", width = 15)
@ApiModelProperty(value = "请根据您自身的实际情况评价在以下方面的相符程度目标明确熟悉教材了解学生教学认知能力强2")
private String skillKnow2;
/**请根据您自身的实际情况评价在以下方面的相符程度教学组织合理教学方法得当教学设计能力强1*/
@Excel(name = "请根据您自身的实际情况评价在以下方面的相符程度教学组织合理教学方法得当教学设计能力强1", width = 15)
@ApiModelProperty(value = "请根据您自身的实际情况评价在以下方面的相符程度教学组织合理教学方法得当教学设计能力强1")
private String skillDesign;
/**请根据您自身的实际情况评价在以下方面的相符程度教学组织合理教学方法得当教学设计能力强2*/
@Excel(name = "请根据您自身的实际情况评价在以下方面的相符程度教学组织合理教学方法得当教学设计能力强2", width = 15)
@ApiModelProperty(value = "请根据您自身的实际情况评价在以下方面的相符程度教学组织合理教学方法得当教学设计能力强2")
private String skillDesign2;
/**请根据您自身的实际情况评价在以下方面的相符程度灵活变通教学思路机智应对突发状况教学调控能力强1*/
@Excel(name = "请根据您自身的实际情况评价在以下方面的相符程度灵活变通教学思路机智应对突发状况教学调控能力强1", width = 15)
@ApiModelProperty(value = "请根据您自身的实际情况评价在以下方面的相符程度灵活变通教学思路机智应对突发状况教学调控能力强1")
private String skillCtrl;
/**请根据您自身的实际情况评价在以下方面的相符程度灵活变通教学思路机智应对突发状况教学调控能力强2*/
@Excel(name = "请根据您自身的实际情况评价在以下方面的相符程度灵活变通教学思路机智应对突发状况教学调控能力强2", width = 15)
@ApiModelProperty(value = "请根据您自身的实际情况评价在以下方面的相符程度灵活变通教学思路机智应对突发状况教学调控能力强2")
private String skillCtrl2;
/**请根据您自身的实际情况评价在以下方面的相符程度坚持产出导向定量定性相结合综合知识、能力与素质注重过程性评价教学评价能力强1*/
@Excel(name = "请根据您自身的实际情况评价在以下方面的相符程度坚持产出导向定量定性相结合综合知识、能力与素质注重过程性评价教学评价能力强1", width = 15)
@ApiModelProperty(value = "请根据您自身的实际情况评价在以下方面的相符程度坚持产出导向定量定性相结合综合知识、能力与素质注重过程性评价教学评价能力强1")
private String skillAssess;
/**请根据您自身的实际情况评价在以下方面的相符程度坚持产出导向定量定性相结合综合知识、能力与素质注重过程性评价教学评价能力强2*/
@Excel(name = "请根据您自身的实际情况评价在以下方面的相符程度坚持产出导向定量定性相结合综合知识、能力与素质注重过程性评价教学评价能力强2", width = 15)
@ApiModelProperty(value = "请根据您自身的实际情况评价在以下方面的相符程度坚持产出导向定量定性相结合综合知识、能力与素质注重过程性评价教学评价能力强2")
private String skillAssess2;
/**请根据您自身的实际情况评价在以下方面的相符程度积极将现代信息技术与教育教学深度融合运用教学媒介能力强1*/
@Excel(name = "请根据您自身的实际情况评价在以下方面的相符程度积极将现代信息技术与教育教学深度融合运用教学媒介能力强1", width = 15)
@ApiModelProperty(value = "请根据您自身的实际情况评价在以下方面的相符程度积极将现代信息技术与教育教学深度融合运用教学媒介能力强1")
private String skillTech;
/**请根据您自身的实际情况评价在以下方面的相符程度积极将现代信息技术与教育教学深度融合运用教学媒介能力强2*/
@Excel(name = "请根据您自身的实际情况评价在以下方面的相符程度积极将现代信息技术与教育教学深度融合运用教学媒介能力强2", width = 15)
@ApiModelProperty(value = "请根据您自身的实际情况评价在以下方面的相符程度积极将现代信息技术与教育教学深度融合运用教学媒介能力强2")
private String skillTech2;
/**您是否同意以下描述我清楚自己的岗位职责和要求1*/
@Excel(name = "您是否同意以下描述我清楚自己的岗位职责和要求1", width = 15)
@ApiModelProperty(value = "您是否同意以下描述我清楚自己的岗位职责和要求1")
private String dedicationStandard;
/**您是否同意以下描述我清楚自己的岗位职责和要求2*/
@Excel(name = "您是否同意以下描述我清楚自己的岗位职责和要求2", width = 15)
@ApiModelProperty(value = "您是否同意以下描述我清楚自己的岗位职责和要求2")
private String dedicationStandard2;
/**您是否同意以下描述我周围的教授同事们都为本科生上课1*/
@Excel(name = "您是否同意以下描述我周围的教授同事们都为本科生上课1", width = 15)
@ApiModelProperty(value = "您是否同意以下描述我周围的教授同事们都为本科生上课1")
private String dedicationHigh;
/**您是否同意以下描述我周围的教授同事们都为本科生上课2*/
@Excel(name = "您是否同意以下描述我周围的教授同事们都为本科生上课2", width = 15)
@ApiModelProperty(value = "您是否同意以下描述我周围的教授同事们都为本科生上课2")
private String dedicationHigh2;
/**您是否同意以下描述我和同事们都很乐意开展教学研究和改革1*/
@Excel(name = "您是否同意以下描述我和同事们都很乐意开展教学研究和改革1", width = 15)
@ApiModelProperty(value = "您是否同意以下描述我和同事们都很乐意开展教学研究和改革1")
private String dedicationDevelop;
/**您是否同意以下描述我和同事们都很乐意开展教学研究和改革2*/
@Excel(name = "您是否同意以下描述我和同事们都很乐意开展教学研究和改革2", width = 15)
@ApiModelProperty(value = "您是否同意以下描述我和同事们都很乐意开展教学研究和改革2")
private String dedicationDevelop2;
/**dedicationResearch*/
@Excel(name = "dedicationResearch", width = 15)
@ApiModelProperty(value = "dedicationResearch")
private String dedicationResearch;
/**dedicationResearch2*/
@Excel(name = "dedicationResearch2", width = 15)
@ApiModelProperty(value = "dedicationResearch2")
private String dedicationResearch2;
/**dedicationApply*/
@Excel(name = "dedicationApply", width = 15)
@ApiModelProperty(value = "dedicationApply")
private String dedicationApply;
/**dedicationApply2*/
@Excel(name = "dedicationApply2", width = 15)
@ApiModelProperty(value = "dedicationApply2")
private String dedicationApply2;
/**dedicationDistribution*/
@Excel(name = "dedicationDistribution", width = 15)
@ApiModelProperty(value = "dedicationDistribution")
private String dedicationDistribution;
/**dedicationDistribution2*/
@Excel(name = "dedicationDistribution2", width = 15)
@ApiModelProperty(value = "dedicationDistribution2")
private String dedicationDistribution2;
/**spendTeach*/
@Excel(name = "spendTeach", width = 15)
@ApiModelProperty(value = "spendTeach")
private String spendTeach;
/**spendPrepare*/
@Excel(name = "spendPrepare", width = 15)
@ApiModelProperty(value = "spendPrepare")
private String spendPrepare;
/**spendResearch*/
@Excel(name = "spendResearch", width = 15)
@ApiModelProperty(value = "spendResearch")
private String spendResearch;
/**spendCoach*/
@Excel(name = "spendCoach", width = 15)
@ApiModelProperty(value = "spendCoach")
private String spendCoach;
/**spendMeeting*/
@Excel(name = "spendMeeting", width = 15)
@ApiModelProperty(value = "spendMeeting")
private String spendMeeting;
/**spendParttime*/
@Excel(name = "spendParttime", width = 15)
@ApiModelProperty(value = "spendParttime")
private String spendParttime;
/**jskcGgts*/
@Excel(name = "jskcGgts", width = 15)
@ApiModelProperty(value = "jskcGgts")
private String jskcGgts;
/**jskcDnj*/
@Excel(name = "jskcDnj", width = 15)
@ApiModelProperty(value = "jskcDnj")
private String jskcDnj;
/**jskcGnj*/
@Excel(name = "jskcGnj", width = 15)
@ApiModelProperty(value = "jskcGnj")
private String jskcGnj;
/**jskcZyxxk*/
@Excel(name = "jskcZyxxk", width = 15)
@ApiModelProperty(value = "jskcZyxxk")
private String jskcZyxxk;
/**jskcYjs*/
@Excel(name = "jskcYjs", width = 15)
@ApiModelProperty(value = "jskcYjs")
private String jskcYjs;
/**jskcNo*/
@Excel(name = "jskcNo", width = 15)
@ApiModelProperty(value = "jskcNo")
private String jskcNo;
/**zykSkill*/
@Excel(name = "zykSkill", width = 15)
@ApiModelProperty(value = "zykSkill")
private String zykSkill;
/**zykSkill2*/
@Excel(name = "zykSkill2", width = 15)
@ApiModelProperty(value = "zykSkill2")
private String zykSkill2;
/**zykProblem*/
@Excel(name = "zykProblem", width = 15)
@ApiModelProperty(value = "zykProblem")
private String zykProblem;
/**zykProblem2*/
@Excel(name = "zykProblem2", width = 15)
@ApiModelProperty(value = "zykProblem2")
private String zykProblem2;
/**zykCross*/
@Excel(name = "zykCross", width = 15)
@ApiModelProperty(value = "zykCross")
private String zykCross;
/**zykCross2*/
@Excel(name = "zykCross2", width = 15)
@ApiModelProperty(value = "zykCross2")
private String zykCross2;
/**zykIntern*/
@Excel(name = "zykIntern", width = 15)
@ApiModelProperty(value = "zykIntern")
private String zykIntern;
/**zykIntern2*/
@Excel(name = "zykIntern2", width = 15)
@ApiModelProperty(value = "zykIntern2")
private String zykIntern2;
/**zykEffort*/
@Excel(name = "zykEffort", width = 15)
@ApiModelProperty(value = "zykEffort")
private String zykEffort;
/**zykEffort2*/
@Excel(name = "zykEffort2", width = 15)
@ApiModelProperty(value = "zykEffort2")
private String zykEffort2;
/**zykNew*/
@Excel(name = "zykNew", width = 15)
@ApiModelProperty(value = "zykNew")
private String zykNew;
/**zykNew2*/
@Excel(name = "zykNew2", width = 15)
@ApiModelProperty(value = "zykNew2")
private String zykNew2;
/**checkKc*/
@Excel(name = "checkKc", width = 15)
@ApiModelProperty(value = "checkKc")
private String checkKc;
/**linianPyfa*/
@Excel(name = "linianPyfa", width = 15)
@ApiModelProperty(value = "linianPyfa")
private String linianPyfa;
/**linianPymb*/
@Excel(name = "linianPymb", width = 15)
@ApiModelProperty(value = "linianPymb")
private String linianPymb;
/**linianByyq*/
@Excel(name = "linianByyq", width = 15)
@ApiModelProperty(value = "linianByyq")
private String linianByyq;
/**linianXszx*/
@Excel(name = "linianXszx", width = 15)
@ApiModelProperty(value = "linianXszx")
private String linianXszx;
/**linianNo*/
@Excel(name = "linianNo", width = 15)
@ApiModelProperty(value = "linianNo")
private String linianNo;
/**linianZjgj*/
@Excel(name = "linianZjgj", width = 15)
@ApiModelProperty(value = "linianZjgj")
private String linianZjgj;
/**exchangeTlsg*/
@Excel(name = "exchangeTlsg", width = 15)
@ApiModelProperty(value = "exchangeTlsg")
private String exchangeTlsg;
/**exchangeZdkc*/
@Excel(name = "exchangeZdkc", width = 15)
@ApiModelProperty(value = "exchangeZdkc")
private String exchangeZdkc;
/**exchangeZdlw*/
@Excel(name = "exchangeZdlw", width = 15)
@ApiModelProperty(value = "exchangeZdlw")
private String exchangeZdlw;
/**exchangeZdxm*/
@Excel(name = "exchangeZdxm", width = 15)
@ApiModelProperty(value = "exchangeZdxm")
private String exchangeZdxm;
/**exchangeZygh*/
@Excel(name = "exchangeZygh", width = 15)
@ApiModelProperty(value = "exchangeZygh")
private String exchangeZygh;
/**exchangeXljk*/
@Excel(name = "exchangeXljk", width = 15)
@ApiModelProperty(value = "exchangeXljk")
private String exchangeXljk;
/**exchangeNo*/
@Excel(name = "exchangeNo", width = 15)
@ApiModelProperty(value = "exchangeNo")
private String exchangeNo;
/**preClassPreview*/
@Excel(name = "preClassPreview", width = 15)
@ApiModelProperty(value = "preClassPreview")
private String preClassPreview;
/**preClassPreview2*/
@Excel(name = "preClassPreview2", width = 15)
@ApiModelProperty(value = "preClassPreview2")
private String preClassPreview2;
/**inClassQuestions*/
@Excel(name = "inClassQuestions", width = 15)
@ApiModelProperty(value = "inClassQuestions")
private String inClassQuestions;
/**inClassQuestions2*/
@Excel(name = "inClassQuestions2", width = 15)
@ApiModelProperty(value = "inClassQuestions2")
private String inClassQuestions2;
/**afterClassSummary*/
@Excel(name = "afterClassSummary", width = 15)
@ApiModelProperty(value = "afterClassSummary")
private String afterClassSummary;
/**afterClassSummary2*/
@Excel(name = "afterClassSummary2", width = 15)
@ApiModelProperty(value = "afterClassSummary2")
private String afterClassSummary2;
/**afterClassRead*/
@Excel(name = "afterClassRead", width = 15)
@ApiModelProperty(value = "afterClassRead")
private String afterClassRead;
/**afterClassRead2*/
@Excel(name = "afterClassRead2", width = 15)
@ApiModelProperty(value = "afterClassRead2")
private String afterClassRead2;
/**trainSystem*/
@Excel(name = "trainSystem", width = 15)
@ApiModelProperty(value = "trainSystem")
private String trainSystem;
/**trainSystem2*/
@Excel(name = "trainSystem2", width = 15)
@ApiModelProperty(value = "trainSystem2")
private String trainSystem2;
/**trainTeach*/
@Excel(name = "trainTeach", width = 15)
@ApiModelProperty(value = "trainTeach")
private String trainTeach;
/**trainTeach2*/
@Excel(name = "trainTeach2", width = 15)
@ApiModelProperty(value = "trainTeach2")
private String trainTeach2;
/**trainDevelop*/
@Excel(name = "trainDevelop", width = 15)
@ApiModelProperty(value = "trainDevelop")
private String trainDevelop;
/**trainDevelop2*/
@Excel(name = "trainDevelop2", width = 15)
@ApiModelProperty(value = "trainDevelop2")
private String trainDevelop2;
/**trainGlobal*/
@Excel(name = "trainGlobal", width = 15)
@ApiModelProperty(value = "trainGlobal")
private String trainGlobal;
/**trainGlobal2*/
@Excel(name = "trainGlobal2", width = 15)
@ApiModelProperty(value = "trainGlobal2")
private String trainGlobal2;
/**teachingIndex*/
@Excel(name = "teachingIndex", width = 15)
@ApiModelProperty(value = "teachingIndex")
private String teachingIndex;
/**teachingIndex2*/
@Excel(name = "teachingIndex2", width = 15)
@ApiModelProperty(value = "teachingIndex2")
private String teachingIndex2;
/**teachingEffect*/
@Excel(name = "teachingEffect", width = 15)
@ApiModelProperty(value = "teachingEffect")
private String teachingEffect;
/**teachingEffect2*/
@Excel(name = "teachingEffect2", width = 15)
@ApiModelProperty(value = "teachingEffect2")
private String teachingEffect2;
/**teachingSupervise*/
@Excel(name = "teachingSupervise", width = 15)
@ApiModelProperty(value = "teachingSupervise")
private String teachingSupervise;
/**teachingSupervise2*/
@Excel(name = "teachingSupervise2", width = 15)
@ApiModelProperty(value = "teachingSupervise2")
private String teachingSupervise2;
/**teachingAwards*/
@Excel(name = "teachingAwards", width = 15)
@ApiModelProperty(value = "teachingAwards")
private String teachingAwards;
/**teachingAwards2*/
@Excel(name = "teachingAwards2", width = 15)
@ApiModelProperty(value = "teachingAwards2")
private String teachingAwards2;
/**teachingStudent*/
@Excel(name = "teachingStudent", width = 15)
@ApiModelProperty(value = "teachingStudent")
private String teachingStudent;
/**teachingStudent2*/
@Excel(name = "teachingStudent2", width = 15)
@ApiModelProperty(value = "teachingStudent2")
private String teachingStudent2;
/**teachingResult*/
@Excel(name = "teachingResult", width = 15)
@ApiModelProperty(value = "teachingResult")
private String teachingResult;
/**teachingResult2*/
@Excel(name = "teachingResult2", width = 15)
@ApiModelProperty(value = "teachingResult2")
private String teachingResult2;
/**checkJp*/
@Excel(name = "checkJp", width = 15)
@ApiModelProperty(value = "checkJp")
private String checkJp;
/**satiRoom*/
@Excel(name = "satiRoom", width = 15)
@ApiModelProperty(value = "satiRoom")
private String satiRoom;
/**satiRoom2*/
@Excel(name = "satiRoom2", width = 15)
@ApiModelProperty(value = "satiRoom2")
private String satiRoom2;
/**satiResourse*/
@Excel(name = "satiResourse", width = 15)
@ApiModelProperty(value = "satiResourse")
private String satiResourse;
/**satiResourse2*/
@Excel(name = "satiResourse2", width = 15)
@ApiModelProperty(value = "satiResourse2")
private String satiResourse2;
/**satiLibrary*/
@Excel(name = "satiLibrary", width = 15)
@ApiModelProperty(value = "satiLibrary")
private String satiLibrary;
/**satiLibrary2*/
@Excel(name = "satiLibrary2", width = 15)
@ApiModelProperty(value = "satiLibrary2")
private String satiLibrary2;
/**satiNet*/
@Excel(name = "satiNet", width = 15)
@ApiModelProperty(value = "satiNet")
private String satiNet;
/**satiNet2*/
@Excel(name = "satiNet2", width = 15)
@ApiModelProperty(value = "satiNet2")
private String satiNet2;
/**satiSport*/
@Excel(name = "satiSport", width = 15)
@ApiModelProperty(value = "satiSport")
private String satiSport;
/**satiSport2*/
@Excel(name = "satiSport2", width = 15)
@ApiModelProperty(value = "satiSport2")
private String satiSport2;
/**collsati*/
@Excel(name = "collsati", width = 15)
@ApiModelProperty(value = "collsati")
private String collsati;
/**collsati2*/
@Excel(name = "collsati2", width = 15)
@ApiModelProperty(value = "collsati2")
private String collsati2;
}

View File

@ -0,0 +1,17 @@
package org.jeecg.modules.kc.blTeacherMain.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.kc.blTeacherMain.entity.BlTeacherMain;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 教师调查问卷
* @Author: jeecg-boot
* @Date: 2024-06-07
* @Version: V1.0
*/
public interface BlTeacherMainMapper extends BaseMapper<BlTeacherMain> {
}

View File

@ -0,0 +1,31 @@
package org.jeecg.modules.kc.blTeacherMain.mapper;
import java.util.List;
import org.jeecg.modules.kc.blTeacherMain.entity.BlTeacherTjfx;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
* @Description: 问卷信息
* @Author: jeecg-boot
* @Date: 2024-06-07
* @Version: V1.0
*/
public interface BlTeacherTjfxMapper extends BaseMapper<BlTeacherTjfx> {
/**
* 通过主表id删除子表数据
*
* @param mainId 主表id
* @return boolean
*/
public boolean deleteByMainId(@Param("mainId") String mainId);
/**
* 通过主表id查询子表数据
*
* @param mainId 主表id
* @return List<BlTeacherTjfx>
*/
public List<BlTeacherTjfx> selectByMainId(@Param("mainId") String mainId);
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.kc.blTeacherMain.mapper.BlTeacherMainMapper">
</mapper>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.kc.blTeacherMain.mapper.BlTeacherTjfxMapper">
<delete id="deleteByMainId" parameterType="java.lang.String">
DELETE
FROM bl_teacher_tjfx
WHERE
main_id = #{mainId} </delete>
<select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.kc.blTeacherMain.entity.BlTeacherTjfx">
SELECT *
FROM bl_teacher_tjfx
WHERE
main_id = #{mainId} </select>
</mapper>

View File

@ -0,0 +1,51 @@
package org.jeecg.modules.kc.blTeacherMain.service;
import org.jeecg.modules.kc.blTeacherMain.entity.BlTeacherTjfx;
import org.jeecg.modules.kc.blTeacherMain.entity.BlTeacherMain;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.tools.word.WordOperator;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
/**
* @Description: 教师调查问卷
* @Author: jeecg-boot
* @Date: 2024-06-07
* @Version: V1.0
*/
public interface IBlTeacherMainService extends IService<BlTeacherMain> {
/**
* 添加一对多
*
* @param blTeacherMain
* @param blTeacherTjfxList
*/
public void saveMain(BlTeacherMain blTeacherMain,List<BlTeacherTjfx> blTeacherTjfxList) ;
/**
* 修改一对多
*
* @param blTeacherMain
* @param blTeacherTjfxList
*/
public void updateMain(BlTeacherMain blTeacherMain,List<BlTeacherTjfx> blTeacherTjfxList);
/**
* 删除一对多
*
* @param id
*/
public void delMain (String id);
/**
* 批量删除一对多
*
* @param idList
*/
public void delBatchMain (Collection<? extends Serializable> idList);
WordOperator createWordTjfx(String id) throws Exception;
}

View File

@ -0,0 +1,22 @@
package org.jeecg.modules.kc.blTeacherMain.service;
import org.jeecg.modules.kc.blTeacherMain.entity.BlTeacherTjfx;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: 问卷信息
* @Author: jeecg-boot
* @Date: 2024-06-07
* @Version: V1.0
*/
public interface IBlTeacherTjfxService extends IService<BlTeacherTjfx> {
/**
* 通过主表id查询子表数据
*
* @param mainId 主表id
* @return List<BlTeacherTjfx>
*/
public List<BlTeacherTjfx> selectByMainId(String mainId);
}

View File

@ -0,0 +1,184 @@
package org.jeecg.modules.kc.blTeacherMain.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.jeecg.common.util.SpringContextHolder;
import org.jeecg.modules.kc.blTeacherMain.entity.BlTeacherMain;
import org.jeecg.modules.kc.blTeacherMain.entity.BlTeacherTjfx;
import org.jeecg.modules.kc.blTeacherMain.mapper.BlTeacherTjfxMapper;
import org.jeecg.modules.kc.blTeacherMain.mapper.BlTeacherMainMapper;
import org.jeecg.modules.kc.blTeacherMain.service.IBlTeacherMainService;
import org.jeecg.modules.tools.DateUtils;
import org.jeecg.modules.tools.Global;
import org.jeecg.modules.tools.word.ExportWord;
import org.jeecg.modules.tools.word.WordOperator;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtils;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Collection;
import java.util.Map;
/**
* @Description: 教师调查问卷
* @Author: jeecg-boot
* @Date: 2024-06-07
* @Version: V1.0
*/
@Service
public class BlTeacherMainServiceImpl extends ServiceImpl<BlTeacherMainMapper, BlTeacherMain> implements IBlTeacherMainService {
@Autowired
private BlTeacherMainMapper blTeacherMainMapper;
@Autowired
private BlTeacherTjfxMapper blTeacherTjfxMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public void saveMain(BlTeacherMain blTeacherMain, List<BlTeacherTjfx> blTeacherTjfxList) {
blTeacherMainMapper.insert(blTeacherMain);
if(blTeacherTjfxList!=null && blTeacherTjfxList.size()>0) {
for(BlTeacherTjfx entity:blTeacherTjfxList) {
//外键设置
entity.setMainId(blTeacherMain.getId());
blTeacherTjfxMapper.insert(entity);
}
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateMain(BlTeacherMain blTeacherMain,List<BlTeacherTjfx> blTeacherTjfxList) {
blTeacherMainMapper.updateById(blTeacherMain);
//1.先删除子表数据
blTeacherTjfxMapper.deleteByMainId(blTeacherMain.getId());
//2.子表数据重新插入
if(blTeacherTjfxList!=null && blTeacherTjfxList.size()>0) {
for(BlTeacherTjfx entity:blTeacherTjfxList) {
//外键设置
entity.setMainId(blTeacherMain.getId());
blTeacherTjfxMapper.insert(entity);
}
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delMain(String id) {
blTeacherTjfxMapper.deleteByMainId(id);
blTeacherMainMapper.deleteById(id);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void delBatchMain(Collection<? extends Serializable> idList) {
for(Serializable id:idList) {
blTeacherTjfxMapper.deleteByMainId(id.toString());
blTeacherMainMapper.deleteById(id);
}
}
@Override
public WordOperator createWordTjfx(String id) throws Exception {
String templateName = "exp1\\teacher-tjfx.docx";
WordOperator wo = ExportWord.getWordOperator(templateName);
QueryWrapper<BlTeacherTjfx> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("main_id",id);
queryWrapper.last("limit 10");
List<BlTeacherTjfx> dataList = blTeacherTjfxMapper.selectList(queryWrapper);
BlTeacherMain blTeacherMain = baseMapper.selectById(id);
Map<String, Object> result = Maps.newHashMap();
Map<String, Object> result2 = Maps.newHashMap();
result.put("title", blTeacherMain.getTitle());
result.put("nan", blTeacherMain.getTitle());//男占比
result.put("nan_zb", blTeacherMain.getTitle());//女占比
result.put("nv", blTeacherMain.getTitle());//
result.put("nv_zb", blTeacherMain.getTitle());//女占比
result.put("xlccjg1", blTeacherMain.getTitle());//研究生
result.put("xlccjg1_zb", blTeacherMain.getTitle());//研究生
result.put("gwlxjg1", blTeacherMain.getTitle());//教学科研型
result.put("gwlxjg1_zb", blTeacherMain.getTitle());//教学科研型
result.put("xyjg1", blTeacherMain.getTitle());//学院结构
result.put("xyjg1_zb", blTeacherMain.getTitle());//学院结构
// 创建数据集
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "Series1", "Category1");
dataset.addValue(150, "Series1", "Category2");
dataset.addValue(200, "Series1", "Category3");
dataset.addValue(200, "Series1", "Category4");
dataset.addValue(200, "Series1", "Category5");
dataset.addValue(100, "Series2", "Category1");
dataset.addValue(150, "Series2", "Category2");
dataset.addValue(200, "Series2", "Category3");
dataset.addValue(200, "Series2", "Category4");
dataset.addValue(200, "Series2", "Category5");
// 创建图表
JFreeChart chart = ChartFactory.createBarChart(
"", // 图表标题
"", // 类别轴标签
"", // 数值轴标签
dataset // 数据集
);
Global global = SpringContextHolder.getBean(Global.class);
String imgName = DateUtils.format(new Date(),"yyyyMMddHHmmss")+".png";
String imgPath1 = global.uploadPath + "/tjfxChart/"+ imgName;
// 保存图表到本地
File file = new File(imgPath1);
ChartUtils.saveChartAsPNG(file, chart, 400, 300); // 设置图片大小为400x300
result.put("imgPath1", "tjfxChart/"+imgName);//学院结构
wo.replaceTextPlus(result);
List<List<String>> oneList = Lists.newArrayList();
List<List<String>> twoList = Lists.newArrayList();
//-------拼装list--------------
for(BlTeacherTjfx tjfxPar:dataList){
List<String> list = Lists.newArrayList();
list.add("依法依规,履行教师职责");
list.add("4.80");
list.add("4.66");
list.add("4.82");
list.add("4.85");
oneList.add(list);
List<String> list2 = Lists.newArrayList();
list2.add("1111111");
list2.add("4.80");
list2.add("4.66");
list2.add("4.82");
list2.add("4.85");
twoList.add(list2);
}
wo.insert2Table(1, 1, true, oneList);
wo.insert2Table(2, 1, true, twoList);
wo = WordOperator.twoReplaceWord(wo);
wo.replaceTextPlus(result2);
return wo;
}
}

View File

@ -0,0 +1,27 @@
package org.jeecg.modules.kc.blTeacherMain.service.impl;
import org.jeecg.modules.kc.blTeacherMain.entity.BlTeacherTjfx;
import org.jeecg.modules.kc.blTeacherMain.mapper.BlTeacherTjfxMapper;
import org.jeecg.modules.kc.blTeacherMain.service.IBlTeacherTjfxService;
import org.springframework.stereotype.Service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
/**
* @Description: 问卷信息
* @Author: jeecg-boot
* @Date: 2024-06-07
* @Version: V1.0
*/
@Service
public class BlTeacherTjfxServiceImpl extends ServiceImpl<BlTeacherTjfxMapper, BlTeacherTjfx> implements IBlTeacherTjfxService {
@Autowired
private BlTeacherTjfxMapper blTeacherTjfxMapper;
@Override
public List<BlTeacherTjfx> selectByMainId(String mainId) {
return blTeacherTjfxMapper.selectByMainId(mainId);
}
}

View File

@ -0,0 +1,55 @@
package org.jeecg.modules.kc.blTeacherMain.vo;
import java.util.List;
import org.jeecg.modules.kc.blTeacherMain.entity.BlTeacherMain;
import org.jeecg.modules.kc.blTeacherMain.entity.BlTeacherTjfx;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelEntity;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 教师调查问卷
* @Author: jeecg-boot
* @Date: 2024-06-07
* @Version: V1.0
*/
@Data
@ApiModel(value="bl_teacher_mainPage对象", description="教师调查问卷")
public class BlTeacherMainPage {
/**id*/
@ApiModelProperty(value = "id")
private String id;
/**createBy*/
@ApiModelProperty(value = "createBy")
private String createBy;
/**createTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "createTime")
private Date createTime;
/**updateBy*/
@ApiModelProperty(value = "updateBy")
private String updateBy;
/**updateTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "updateTime")
private Date updateTime;
/**名称*/
@Excel(name = "名称", width = 15)
@ApiModelProperty(value = "名称")
private String title;
@ExcelCollection(name="问卷信息")
@ApiModelProperty(value = "问卷信息")
private List<BlTeacherTjfx> blTeacherTjfxList;
}

View File

@ -446,12 +446,15 @@ public class KcKetangbiaoController extends JeecgController<KcKetangbiao, IKcKet
if(detectionMain!=null){
QueryWrapper<KcDetectionDetailed> rsQw = new QueryWrapper<>();
rsQw.eq("pid",detectionMain.getId());
// rsQw.like("create_time",nowStr);
rsQw.apply("create_time >= '" + nowStr + " 00:00:00' and create_time <= '" + nowStr + " 23:59:59'");
rsQw.orderByDesc("create_time");
rsQw.last("limit 1");
KcDetectionDetailed kcDetectionDetailed = kcDetectionDetailedService.getOne(rsQw);
kcKetangbiao.setKcDetectionDetailed(kcDetectionDetailed);
QueryWrapper<KcDetectionDetailed> rsQwList = new QueryWrapper<>();
rsQwList.eq("pid",detectionMain.getId());
rsQwList.apply("create_time >= '" + nowStr + " 00:00:00' and create_time <= '" + nowStr + " 23:59:59'");
rsQwList.orderByDesc("create_time");
List<KcDetectionDetailed> zqrsList = kcDetectionDetailedService.list(rsQwList);
kcKetangbiao.setZqrsList(zqrsList);

View File

@ -0,0 +1,52 @@
package org.jeecg.modules.kc.wjxDjxx.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
/**
* @Description: 教学大纲
* @Author: jeecg-boot
* @Date: 2024-05-11
* @Version: V1.0
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class StudentCyglSys implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
@Excel(name = "学期学年", width = 15)
private String xqxn;
@Excel(name = "课程名称", width = 15)
private String kcmc;
@Excel(name = "授课教师", width = 15)
private String skjs;
@Excel(name = "作业名称", width = 15)
private String title;
@Excel(name = "学生姓名", width = 15)
private String stuName;
@Excel(name = "学号", width = 15)
private String stuNo;
@Excel(name = "作业状态", width = 15)
private String status;
@Excel(name = "测验时间", width = 15)
private String createTime;
@Excel(name = "测验结果", width = 15)
private String score;
private String kcbh;
private String kkdw;
private String filePath;
private String pdfPath;
private String jgh;
private String ywId;
}

View File

@ -0,0 +1,48 @@
package org.jeecg.modules.kc.wjxWjxx.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
/**
* @Description: 教学大纲
* @Author: jeecg-boot
* @Date: 2024-05-11
* @Version: V1.0
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class KccyglSys implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
@Excel(name = "学期学年", width = 15)
private String xqxn;
@Excel(name = "开课单位", width = 15)
private String kkdw;
@Excel(name = "课程编号", width = 15)
private String kcbh;
@Excel(name = "课程名称", width = 15)
private String kcmc;
@Excel(name = "开课任务编号", width = 15)
private String rwbh;
@Excel(name = "授课教师", width = 15)
private String skjs;
@Excel(name = "上课时间", width = 15)
private String sksj;
@Excel(name = "上课地点", width = 15)
private String skdd;
@Excel(name = "选课学生", width = 15)
private String xkrs;
@Excel(name = "测验数量", width = 15)
private String num;
private String jgh;
private String ywId;
private String atype;
}

View File

@ -19,4 +19,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface ZyCcjgMapper extends BaseMapper<ZyCcjg> {
IPage<ZyCcjg> getQuaList(Page<ZyCcjg> page,@Param(Constants.WRAPPER) QueryWrapper<ZyCcjg> queryWrapper);
void deleteByZystuid(@Param("zyStuId") String zyStuId);
}

View File

@ -11,4 +11,12 @@
${ew.customSqlSegment}
</select>
<delete id="deleteByZystuid" parameterType="java.lang.String">
DELETE
FROM zy_ccjg
WHERE
zy_stu_id = #{zyStuId}
</delete>
</mapper>

View File

@ -17,4 +17,6 @@ public interface IZyCcjgService extends IService<ZyCcjg> {
void getCcjg();
IPage<ZyCcjg> getQuaList(Page<ZyCcjg> page, QueryWrapper<ZyCcjg> queryWrapper);
void deleteByZystuid(String id);
}

View File

@ -111,6 +111,11 @@ public class ZyCcjgServiceImpl extends ServiceImpl<ZyCcjgMapper, ZyCcjg> impleme
return baseMapper.getQuaList(page, queryWrapper);
}
@Override
public void deleteByZystuid(String id) {
baseMapper.deleteByZystuid(id);
}
public Map<String,String> aigcCxjcjg(ZyCcjg zyCcjg) {
String url = "https://vims.fanyu.com/tool/AIGCCheck/searchPaper";

View File

@ -0,0 +1,47 @@
package org.jeecg.modules.kc.zyInfo.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
/**
* @Description: 教学大纲
* @Author: jeecg-boot
* @Date: 2024-05-11
* @Version: V1.0
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class ZyInfoSys implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
@Excel(name = "学期学年", width = 15)
private String xqxn;
@Excel(name = "开课单位", width = 15)
private String kkdw;
@Excel(name = "课程编号", width = 15)
private String kcbh;
@Excel(name = "课程名称", width = 15)
private String kcmc;
@Excel(name = "开课任务编号", width = 15)
private String rwbh;
@Excel(name = "上课时间", width = 15)
private String sksj;
@Excel(name = "上课地点", width = 15)
private String skdd;
@Excel(name = "授课教师", width = 15)
private String skjs;
@Excel(name = "选课学生", width = 15)
private String xkrs;
@Excel(name = "作业数量", width = 15)
private String num;
private String jgh;
private String ywId;
}

View File

@ -133,15 +133,23 @@ public class ZyInfoStudentController extends JeecgController<ZyInfoStudent, IZyI
if(StringUtils.equals(par.getCcType(),"0")){//外网
ZyInfoStudentPar.setWwpaperdownurl(par.getPaperdownurl());
ZyInfoStudentPar.setWwpaperviewurl(par.getPaperviewurl());
ZyInfoStudentPar.setWwfilestateid(par.getFilestateid());
ZyInfoStudentPar.setWwmessage(par.getMessage());
}else if(StringUtils.equals(par.getCcType(),"1")){//作业
ZyInfoStudentPar.setZypaperdownurl(par.getPaperdownurl());
ZyInfoStudentPar.setZypaperviewurl(par.getPaperviewurl());
ZyInfoStudentPar.setZyfilestateid(par.getFilestateid());
ZyInfoStudentPar.setZymessage(par.getMessage());
}else if(StringUtils.equals(par.getCcType(),"2")){//aigc
ZyInfoStudentPar.setAigcpaperdownurl(par.getPaperdownurl());
ZyInfoStudentPar.setAigcpaperviewurl(par.getPaperviewurl());
ZyInfoStudentPar.setAigcfilestateid(par.getFilestateid());
ZyInfoStudentPar.setAigcmessage(par.getMessage());
}else if(StringUtils.equals(par.getCcType(),"3")){//学校
ZyInfoStudentPar.setXxpaperdownurl(par.getPaperdownurl());
ZyInfoStudentPar.setXxpaperviewurl(par.getPaperviewurl());
ZyInfoStudentPar.setXxfilestateid(par.getFilestateid());
ZyInfoStudentPar.setXxmessage(par.getMessage());
}
}
}
@ -362,8 +370,10 @@ public class ZyInfoStudentController extends JeecgController<ZyInfoStudent, IZyI
zyInfoStudent.setPdfPath(pdfName);
}
}
zyInfoStudentService.updateById(zyInfoStudent, response);
boolean bol = zyInfoStudentService.updateById(zyInfoStudent, response);
if(bol == false){
return Result.error("文件存储失败,请重新上传作业!");
}
//作业代办提醒
ZyDbtx zyDbtx = new ZyDbtx();
zyDbtx.setCreateBy(zyInfo.getCreateBy());
@ -391,8 +401,19 @@ public class ZyInfoStudentController extends JeecgController<ZyInfoStudent, IZyI
UpdateWrapper<ZyInfoStudent> updateWrapper = new UpdateWrapper<>();
updateWrapper.set("file_path",null);
updateWrapper.set("pdf_path",null);
updateWrapper.set("wwsftg",null);
updateWrapper.set("nwsftg",null);
updateWrapper.set("aigcsftg",null);
updateWrapper.set("xnsftg",null);
updateWrapper.set("wwxsl",null);
updateWrapper.set("nwxsl",null);
updateWrapper.set("aigcxsl",null);
updateWrapper.set("xnxsl",null);
updateWrapper.eq("id",zyInfoStudent.getId());
zyInfoStudentService.update(updateWrapper);
//查重前删除原来的查重数据
zyCcjgService.deleteByZystuid(zyInfoStudent.getId());
return Result.OK("编辑成功!");
}

View File

@ -144,4 +144,25 @@ public class ZyInfoStudent implements Serializable {
private String aigcpaperviewurl;//aigc预览
@TableField(exist = false)
private String aigcpaperdownurl;//aigc外网下载
@TableField(exist = false)
private String filestateid;//
@TableField(exist = false)
private String message;//
@TableField(exist = false)
private String wwfilestateid;//外网状态
@TableField(exist = false)
private String wwmessage;//外网说明
@TableField(exist = false)
private String zyfilestateid;//作业状态
@TableField(exist = false)
private String zymessage;//作业说明
@TableField(exist = false)
private String aigcfilestateid;//aigc状态
@TableField(exist = false)
private String aigcmessage;//aigc说明
@TableField(exist = false)
private String xxfilestateid;//学校状态
@TableField(exist = false)
private String xxmessage;//学校说明
}

View File

@ -0,0 +1,67 @@
package org.jeecg.modules.kc.zyInfoStudent.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
/**
* @Description: 教学大纲
* @Author: jeecg-boot
* @Date: 2024-05-11
* @Version: V1.0
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class ZyInfoStudentSys implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
@Excel(name = "学期学年", width = 15)
private String xnxq;
@Excel(name = "课程名称", width = 15)
private String kcmc;
@Excel(name = "授课教师", width = 15)
private String skjs;
@Excel(name = "作业名称", width = 15)
private String title;
@Excel(name = "学生姓名", width = 15)
private String stuName;
@Excel(name = "学号", width = 15)
private String stuNo;
@Excel(name = "作业状态", width = 15)
private String status;
@Excel(name = "网络相似率", width = 15)
private String wwxsl;
@Excel(name = "网络是否通过", width = 15)
private String wwsftg;
@Excel(name = "作业相似率", width = 15)
private String nwxsl;
@Excel(name = "作业是否通过", width = 15)
private String nwsftg;
@Excel(name = "aigc相似率", width = 15)
private String aigcxsl;
@Excel(name = "aigc是否通过", width = 15)
private String aigcsftg;
@Excel(name = "校内相似率", width = 15)
private String xnxsl;
@Excel(name = "校内是否通过", width = 15)
private String xnsftg;
@Excel(name = "成绩", width = 15)
private String score;
private String kcbh;
private String kkdw;
private String filePath;
private String pdfPath;
private String jgh;
private String ywId;
}

View File

@ -6,12 +6,12 @@
delete from zy_info_student where main_id = #{mainId}
</delete>
<select id="selectPage" resultType="org.jeecg.modules.kc.zyInfoStudent.entity.ZyInfoStudent">
select a.*,b.wwcc,b.nwcc,b.aigccc,b.title as zyname from zy_info_student a
select a.*,b.wwcc,b.nwcc,b.aigccc,b.xncc,b.title as zyname from zy_info_student a
left join zy_info b on a.main_id = b.id
${ew.customSqlSegment}
</select>
<select id="selectList" resultType="org.jeecg.modules.kc.zyInfoStudent.entity.ZyInfoStudent">
select a.*,b.wwcc,b.nwcc,b.aigccc,b.title as zyname from zy_info_student a
select a.*,b.wwcc,b.nwcc,b.aigccc,b.xncc,b.title as zyname from zy_info_student a
left join zy_info b on a.main_id = b.id
${ew.customSqlSegment}
</select>
@ -24,15 +24,8 @@
<select id="getCcjg" resultType="org.jeecg.modules.kc.zyInfoStudent.entity.ZyInfoStudent">
select * from zy_ccjg a
inner join
(SELECT cc_type,max(checkdate) checkdate,zy_stu_id
FROM zy_ccjg
WHERE zy_stu_id = #{id} AND filestateid = '2'
GROUP BY cc_type,zy_stu_id) t
on a.cc_type = t.cc_type
and a.checkdate = t.checkdate
and a.zy_stu_id = t.zy_stu_id
select * from zy_ccjg a WHERE zy_stu_id = #{id}
</select>
@ -56,6 +49,29 @@
<if test="zyInfoStudentSys.stuName!=null and zyInfoStudentSys.stuName != ''">
and c.xm like concat('%',#{zyInfoStudentSys.stuName},'%')
</if>
<if test="zyInfoStudentSys.status != null and zyInfoStudentSys.status != '' ">
<if test='zyInfoStudentSys.status == "已评分"'>
and a.score != null
</if>
<if test='zyInfoStudentSys.status == "已提交"'>
and a.file_path is not null and a.file_path != ''
</if>
<if test='zyInfoStudentSys.status == "未提交"'>
and a.file_path is null
</if>
</if>
<if test="zyInfoStudentSys.wwsftg!=null and zyInfoStudentSys.wwsftg != ''">
and a.wwsftg = #{zyInfoStudentSys.wwsftg}
</if>
<if test="zyInfoStudentSys.nwsftg!=null and zyInfoStudentSys.nwsftg != ''">
and a.nwsftg = #{zyInfoStudentSys.nwsftg}
</if>
<if test="zyInfoStudentSys.aigcsftg!=null and zyInfoStudentSys.aigcsftg != ''">
and a.aigcsftg = #{zyInfoStudentSys.aigcsftg}
</if>
<if test="zyInfoStudentSys.xnsftg!=null and zyInfoStudentSys.xnsftg != ''">
and a.xnsftg = #{zyInfoStudentSys.xnsftg}
</if>
</where>
</select>
@ -79,6 +95,29 @@
<if test="zyInfoStudentSys.stuName!=null and zyInfoStudentSys.stuName != ''">
and c.xm like concat('%',#{zyInfoStudentSys.stuName},'%')
</if>
<if test="zyInfoStudentSys.status != null and zyInfoStudentSys.status != '' ">
<if test='zyInfoStudentSys.status == "已评分"'>
and a.score != null
</if>
<if test='zyInfoStudentSys.status == "已提交"'>
and a.file_path != null
</if>
<if test='zyInfoStudentSys.status == "未提交"'>
and a.file_path == null
</if>
</if>
<if test="zyInfoStudentSys.wwsftg!=null and zyInfoStudentSys.wwsftg != ''">
and a.wwsftg = #{zyInfoStudentSys.wwsftg}
</if>
<if test="zyInfoStudentSys.nwsftg!=null and zyInfoStudentSys.nwsftg != ''">
and a.nwsftg = #{zyInfoStudentSys.nwsftg}
</if>
<if test="zyInfoStudentSys.aigcsftg!=null and zyInfoStudentSys.aigcsftg != ''">
and a.aigcsftg = #{zyInfoStudentSys.aigcsftg}
</if>
<if test="zyInfoStudentSys.xnsftg!=null and zyInfoStudentSys.xnsftg != ''">
and a.xnsftg = #{zyInfoStudentSys.xnsftg}
</if>
</where>
</select>

View File

@ -36,4 +36,5 @@ public interface IZyInfoStudentService extends IService<ZyInfoStudent> {
IPage<ZyInfoStudentSys> sysList(Page<ZyInfoStudentSys> page, QueryWrapper<ZyInfoStudentSys> queryWrapper, ZyInfoStudentSys zyInfoStudentSys);
List<ZyInfoStudentSys> exportSysXls(QueryWrapper<ZyInfoStudentSys> queryWrapper, ZyInfoStudentSys zyInfoStudentSys);
}

View File

@ -100,10 +100,14 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
@Override
public boolean updateById(ZyInfoStudent zyInfoStudent, HttpServletResponse response) {
baseMapper.updateById(zyInfoStudent);
String fileName = getFileName(zyInfoStudent.getFilePath(),response);
zyInfoStudent.setFilePath(fileName);
zyInfoStudent = baseMapper.selectById(zyInfoStudent.getId());
ZyInfo zyInfo = zyInfoService.getById(zyInfoStudent.getMainId());
// String rwbh = zyInfo.getRwbh();
// QueryWrapper<KcKechengbiao> kcKechengbiaoQueryWrapper = new QueryWrapper<>();
// kcKechengbiaoQueryWrapper.eq("xqxn",zyInfo.getXnxq());
@ -114,6 +118,7 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
String catename = zyInfo.getTitle();
zyInfoStudent.setCateid(cateid);
zyInfoStudent.setCatename(catename);
//外网查重及提交检测
if(StringUtils.equals(zyInfo.getWwcc(),"1")){
wwccSave(zyInfoStudent,response);
@ -130,13 +135,11 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
if(StringUtils.equals(zyInfo.getXncc(),"1")){
zyInfoStudent.setCateid("DBSDQXZYBDK001");
zyInfoStudent.setCatename("东北师大全校作业比对库");
xnccSave(zyInfoStudent,"0",response);//提交比对
xnccSave(zyInfoStudent,"1",response);//提交比对
}else{
zyInfoStudent.setCateid("DBSDQXZYBDK001");
zyInfoStudent.setCatename("东北师大全校作业比对库");
zyInfoStudent.setCateid(cateid);
zyInfoStudent.setCatename(catename);
xnccSave(zyInfoStudent,"1",response);//不提交比对
xnccSave(zyInfoStudent,"0",response);//不提交比对
}
return true;
}
@ -181,7 +184,8 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
String url = "https://vims.fanyu.com/tool/AIGCCheck/paperSubmit";
//文件路径文件存在不存在的话需要先下载下来
// String fileName = uploadpath+"/"+ zyInfoStudent.getFilePath();
String fileName = getFileName(zyInfoStudent.getFilePath(),response);
// String fileName = getFileName(zyInfoStudent.getFilePath(),response);
String fileName = downloadpath+"/"+ zyInfoStudent.getFilePath();
Map<String, String> textMap = new HashMap<String, String>();
//可以设置多个input的namevalue
String sign = getSign();
@ -199,7 +203,7 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
fileMap.put("file", fileName);
String contentType = "";//image/png
String ret = formUpload(url, textMap, fileMap,contentType);
System.out.println("1-------->"+ret);
System.out.println("aigc1-------->"+ret);
JSONObject object= JSONObject.parseObject(ret);
if("true".equals(object.getString("success"))){
@ -222,6 +226,13 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
System.out.println("21-------->"+message);
}else{
System.out.println("3-------->");
ZyCcjg zyCcjg = new ZyCcjg();
zyCcjg.setZyStuId(zyInfoStudent.getId());
zyCcjg.setMessage(object.getString("message"));
zyCcjg.setCcType("2");//查重类型0外网 1内网 2aigc
zyCcjg.setFilestateid("3");
zyCcjgMapper.insert(zyCcjg);
}
}
@ -250,7 +261,8 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
String url = "https://vims.fanyu.com/toole/smallcheck/submitData";
//文件路径文件存在不存在的话需要先下载下来
// String fileName = uploadpath+"/"+ zyInfoStudent.getFilePath();
String fileName = getFileName(zyInfoStudent.getFilePath(),response);
// String fileName = getFileName(zyInfoStudent.getFilePath(),response);
String fileName = downloadpath+"/"+ zyInfoStudent.getFilePath();
Map<String, String> textMap = new HashMap<String, String>();
String titlePar =fileName.substring(fileName.lastIndexOf("/")+1,fileName.length());
String title = titlePar.split("_")[0];
@ -288,6 +300,12 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
System.out.println("21-------->"+message);
}else{
System.out.println("3-------->");
ZyCcjg zyCcjg = new ZyCcjg();
zyCcjg.setZyStuId(zyInfoStudent.getId());
zyCcjg.setMessage(object.getString("message"));
zyCcjg.setCcType("1");//查重类型0外网 1内网 2aigc
zyCcjg.setFilestateid("3");
zyCcjgMapper.insert(zyCcjg);
}
}
@ -296,8 +314,9 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
String url = "https://vims.fanyu.com/toole/smallcheck/submitData";
//文件路径文件存在不存在的话需要先下载下来
// String fileName = uploadpath+"/"+ zyInfoStudent.getFilePath();
String filePath = zyInfoStudent.getFilePath();
String fileName = getFileName(filePath,response);
// String filePath = zyInfoStudent.getFilePath();
// String fileName = getFileName(filePath,response);
String fileName = downloadpath+"/"+ zyInfoStudent.getFilePath();
Map<String, String> textMap = new HashMap<String, String>();
String titlePar =fileName.substring(fileName.lastIndexOf("/")+1,fileName.length());
String title = titlePar.split("_")[0];
@ -325,15 +344,15 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
JSONObject object2= JSON.parseObject(listpaper);
String dataid = object2.getString("dataid");//资源id 后续提交比对/删除文档会试用
ZyCcjg zyCcjg = new ZyCcjg();
zyCcjg.setZyStuId(zyInfoStudent.getId());
zyCcjg.setPaperid(dataid);
zyCcjg.setCcType("3");//查重类型0外网 1内网 2aigc
zyCcjg.setFilestateid("1");
zyCcjg.setBdkbs(zyInfoStudent.getCateid());
zyCcjgMapper.insert(zyCcjg);
//判断是否开始查重 1的时候进行查重0不查重
if(StringUtils.equals("1",type)){
ZyCcjg zyCcjg = new ZyCcjg();
zyCcjg.setZyStuId(zyInfoStudent.getId());
zyCcjg.setPaperid(dataid);
zyCcjg.setCcType("3");//查重类型0外网 1内网 2aigc
zyCcjg.setFilestateid("1");
zyCcjg.setBdkbs(zyInfoStudent.getCateid());
zyCcjgMapper.insert(zyCcjg);
//提交后直接开始检测
String message = xfwbdKsjc(zyCcjg,"0");
System.out.println("21-------->"+message);
@ -341,6 +360,12 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
}else{
System.out.println("3-------->");
ZyCcjg zyCcjg = new ZyCcjg();
zyCcjg.setZyStuId(zyInfoStudent.getId());
zyCcjg.setMessage(object.getString("message"));
zyCcjg.setCcType("3");//查重类型0外网 1内网 2aigc
zyCcjg.setFilestateid("3");
zyCcjgMapper.insert(zyCcjg);
}
}
@ -370,8 +395,8 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String url = "https://vims.fanyu.com/toole/jianceorgan/papersubmit.aspx";
//文件路径文件存在不存在的话需要先下载下来
// String fileName = uploadpath+"/"+ zyInfoStudent.getFilePath();
String fileName = getFileName(zyInfoStudent.getFilePath(),response);
String fileName = downloadpath+"/"+ zyInfoStudent.getFilePath();
// String fileName = getFileName(zyInfoStudent.getFilePath(),response);
Map<String, String> textMap = new HashMap<String, String>();
//可以设置多个input的namevalue
String sign = getSign();
@ -396,8 +421,6 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
JSONObject object2= jsonArray.getJSONObject(0);
String paperid = object2.getString("paperid");
System.out.println("2-------->"+paperid);
ZyCcjg zyCcjg = new ZyCcjg();
zyCcjg.setZyStuId(zyInfoStudent.getId());
zyCcjg.setPaperid(paperid);
@ -410,6 +433,12 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
return message;
}else{
System.out.println("3-------->");
ZyCcjg zyCcjg = new ZyCcjg();
zyCcjg.setZyStuId(zyInfoStudent.getId());
zyCcjg.setMessage(object.getString("message"));
zyCcjg.setCcType("0");//查重类型0外网 1内网 2aigc
zyCcjg.setFilestateid("3");
zyCcjgMapper.insert(zyCcjg);
return "false";
}
}
@ -453,28 +482,28 @@ public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, Z
System.out.println("path----------->"+path);
Map<String,String> map = SFTPUtil.download(sftpConfig,imgPath,getDownloadPath(path));
System.out.println("map----------->"+map);
if(!map.get("code").equals("0")){
response.setStatus(404);
// throw new RuntimeException(map.get("msg"));
}
// if(!map.get("code").equals("0")){
// response.setStatus(404);
//// throw new RuntimeException(map.get("msg"));
// }
String localFilePath = map.get("fileName");
File file = new File(localFilePath);
if(!file.exists()){
response.setStatus(404);
// throw new RuntimeException("文件["+imgPath+"]不存在..");
}
System.out.println("localFilePath----------->"+localFilePath);
// 设置强制下载不打开
response.setContentType("application/force-download");
response.addHeader("Content-Disposition", "attachment;fileName=" + new String(file.getName().getBytes("UTF-8"),"iso-8859-1"));
inputStream = new BufferedInputStream(new FileInputStream(localFilePath));
outputStream = response.getOutputStream();
byte[] buf = new byte[1024];
int len;
while ((len = inputStream.read(buf)) > 0) {
outputStream.write(buf, 0, len);
}
response.flushBuffer();
// File file = new File(localFilePath);
// if(!file.exists()){
// response.setStatus(404);
//// throw new RuntimeException("文件["+imgPath+"]不存在..");
// }
// System.out.println("localFilePath----------->"+localFilePath);
// // 设置强制下载不打开
// response.setContentType("application/force-download");
// response.addHeader("Content-Disposition", "attachment;fileName=" + new String(file.getName().getBytes("UTF-8"),"iso-8859-1"));
// inputStream = new BufferedInputStream(new FileInputStream(localFilePath));
// outputStream = response.getOutputStream();
// byte[] buf = new byte[1024];
// int len;
// while ((len = inputStream.read(buf)) > 0) {
// outputStream.write(buf, 0, len);
// }
// response.flushBuffer();
fileName = localFilePath;
System.out.println("fileName----------->"+fileName);
}catch (Exception e){

View File

@ -0,0 +1,62 @@
package org.jeecg.modules.kc.zyJxdg.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 教学大纲
* @Author: jeecg-boot
* @Date: 2024-05-11
* @Version: V1.0
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class ZyJxdgSys implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
@Excel(name = "学期学年", width = 15)
private String xqxn;
@Excel(name = "开课单位", width = 15)
private String kkdw;
@Excel(name = "课程编号", width = 15)
private String kcbh;
@Excel(name = "课程名称", width = 15)
private String kcmc;
@Excel(name = "开课任务编号", width = 15)
private String rwbh;
@Excel(name = "上课时间", width = 15)
private String sksj;
@Excel(name = "上课地点", width = 15)
private String skdd;
@Excel(name = "授课教师", width = 15)
private String skjs;
@Excel(name = "选课学生", width = 15)
private String xkrs;
// @Excel(name = "教学大纲", width = 15)
private String filePath;
@Excel(name = "课程简介", width = 15)
private String kcjs;
// @Excel(name = "教学日历", width = 15)
private String jxrlFilePath;
private String pdfPath;
private String jxrlPdfPath;
private String jgh;
private String ywId;
}

View File

@ -0,0 +1,45 @@
package org.jeecg.modules.kc.zyTlq.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
/**
* @Description: 教学大纲
* @Author: jeecg-boot
* @Date: 2024-05-11
* @Version: V1.0
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class ZyTlqSys implements Serializable {
private static final long serialVersionUID = 1L;
private String id;
@Excel(name = "学期学年", width = 15)
private String xqxn;
@Excel(name = "课程名称", width = 15)
private String kcmc;
@Excel(name = "授课教师", width = 15)
private String skjs;
@Excel(name = "学生姓名", width = 15)
private String stuName;
@Excel(name = "学号", width = 15)
private String stuNo;
@Excel(name = "发言主题", width = 15)
private String title;
private String kcbh;
private String kkdw;
private String filePath;
private String picPath;
private String content;
private String jgh;
private String ywId;
}

View File

@ -0,0 +1,44 @@
package org.jeecg.modules.tools.ECharts;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtils;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;
import java.io.File;
/**
* @Title: EchartsTest
* @Date 2022/5/11 17:28
* @Author Yinan
* @Description: 测试Echarts后台渲染生成图片
*/
public class EchartsTest {
// 生成一个echarts表并将图片保存到本地
public static void main(String[] args) throws Exception {
// 创建数据集
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "Series1", "Category1");
dataset.addValue(150, "Series1", "Category2");
dataset.addValue(200, "Series1", "Category3");
dataset.addValue(200, "Series1", "Category4");
dataset.addValue(200, "Series1", "Category5");
dataset.addValue(100, "Series2", "Category1");
dataset.addValue(150, "Series2", "Category2");
dataset.addValue(200, "Series2", "Category3");
dataset.addValue(200, "Series2", "Category4");
dataset.addValue(200, "Series2", "Category5");
// 创建图表
JFreeChart chart = ChartFactory.createBarChart(
"", // 图表标题
"", // 类别轴标签
"", // 数值轴标签
dataset // 数据集
);
// 保存图表到本地
File file = new File("D:/barChart.png");
ChartUtils.saveChartAsPNG(file, chart, 800, 400); // 设置图片大小为400x300
}
}

View File

@ -137,7 +137,7 @@ public class ZykController extends JeecgController<ZykInfo, IZykService> {
throw new RuntimeException("文件["+filePath+"]不存在..");
}
// 设置强制下载不打开
response.setContentType("application/force-download");
// response.setContentType("application/force-download");
response.addHeader("Content-Disposition", "attachment;fileName=" + new String(file.getName().getBytes("UTF-8"),"iso-8859-1"));
inputStream = new BufferedInputStream(new FileInputStream(localFilePath));
outputStream = response.getOutputStream();

View File

@ -184,7 +184,7 @@ public class CommonController {
}
// 获取文件名
if(fileName == null){
String orgName = StrAttackFilter.filter(mf.getOriginalFilename());
String orgName = StrAttackFilter.filter2(mf.getOriginalFilename());
if (orgName != null) {
orgName = CommonUtils.getFileName(orgName);
if(orgName.contains(SymbolConstant.SPOT)){
@ -491,7 +491,7 @@ public class CommonController {
throw new RuntimeException("文件["+imgPath+"]不存在..");
}
// 设置强制下载不打开
response.setContentType("application/force-download");
// response.setContentType("application/force-download");
response.addHeader("Content-Disposition", "attachment;fileName=" + new String(file.getName().getBytes("UTF-8"),"iso-8859-1"));
inputStream = new BufferedInputStream(new FileInputStream(localFilePath));
outputStream = response.getOutputStream();
@ -515,7 +515,7 @@ public class CommonController {
throw new RuntimeException("文件[" + imgPath + "]不存在..");
}
// 设置强制下载不打开
response.setContentType("application/force-download");
// response.setContentType("application/force-download");
response.addHeader("Content-Disposition", "attachment;fileName=" + new String(file.getName().getBytes("UTF-8"), "iso-8859-1"));
inputStream = new BufferedInputStream(new FileInputStream(filePath));
outputStream = response.getOutputStream();