diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/controller/LwKhclController.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/controller/LwKhclController.java new file mode 100644 index 0000000..5306c68 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/controller/LwKhclController.java @@ -0,0 +1,239 @@ +package org.jeecg.modules.demo.lwKhcl.controller; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.config.JeecgBaseConfig; +import org.jeecg.modules.demo.lwKhcl.entity.LwKhcl; +import org.jeecg.modules.demo.lwKhcl.entity.LwKhclCj; +import org.jeecg.modules.demo.lwKhcl.entity.LwKhclXq; +import org.jeecg.modules.demo.lwKhcl.service.ILwKhclService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecgframework.poi.excel.ExcelExportUtil; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.params.ExcelExportEntity; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.jeecgframework.poi.util.ExcelUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +import java.io.FileOutputStream; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Proxy; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * @Description: lw_khcl + * @Author: jeecg-boot + * @Date: 2024-09-05 + * @Version: V1.0 + */ +@Api(tags="lw_khcl") +@RestController +@RequestMapping("/lwKhcl/lwKhcl") +@Slf4j +public class LwKhclController extends JeecgController { + @Autowired + private ILwKhclService lwKhclService; + @Resource + private JeecgBaseConfig jeecgBaseConfig; + /** + * 分页列表查询 + * + * @param lwKhcl + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "lw_khcl-分页列表查询") + @ApiOperation(value="lw_khcl-分页列表查询", notes="lw_khcl-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(LwKhcl lwKhcl, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + String bynf = req.getParameter("bynf"); + String ssyxmc = req.getParameter("ssyxmc"); + String ssxnzymc = req.getParameter("ssxnzymc"); + Page page = new Page(pageNo, pageSize); + IPage pageList = lwKhclService.getPage(page, bynf, ssyxmc, ssxnzymc); + return Result.OK(pageList); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "lw_khcl-通过id查询") + @ApiOperation(value="lw_khcl-通过id查询", notes="lw_khcl-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + LwKhcl lwKhcl = lwKhclService.getById(id); + if(lwKhcl==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(lwKhcl); + } + + /** + * 导出excel + * @param request + * @param lwKhcl + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, LwKhcl lwKhcl) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String bynf = request.getParameter("bynf"); + String ssyxmc = request.getParameter("ssyxmc"); + String ssxnzymc = request.getParameter("ssxnzymc"); + List exportList = lwKhclService.getList(bynf, ssyxmc, ssxnzymc); + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, "论文考核材料列表"); + mv.addObject(NormalExcelConstants.CLASS, LwKhcl.class); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams=new ExportParams("论文考核材料", "导出人:" + sysUser.getRealname(), "sheet1"); + exportParams.setImageBasePath(jeecgBaseConfig.getPath().getUpload()); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; + } + + /** + * 分页列表查询 + * + * @param lwKhclCj + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "lw_khcl-分页列表查询") + @ApiOperation(value="lw_khcl-分页列表查询", notes="lw_khcl-分页列表查询") + @GetMapping(value = "/cjList") + public Result> queryCjPageList(LwKhclCj lwKhclCj, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + String bynf = req.getParameter("bynf"); + String ssyxmc = req.getParameter("ssyxmc"); + String ssxnzymc = req.getParameter("ssxnzymc"); + String xsxm = req.getParameter("xsxm"); + String zdjsxm = req.getParameter("zdjsxm"); + String bylwTm = req.getParameter("bylwTm"); + Page page = new Page(pageNo, pageSize); + IPage pageList = lwKhclService.getCjPage(page, bynf, ssyxmc, ssxnzymc, xsxm, zdjsxm, bylwTm); + return Result.OK(pageList); + } + + /** + * 导出excel + * @param request + * @param lwKhclCj + */ + @RequestMapping(value = "/cjExportXls") + public ModelAndView cjExportXls(HttpServletRequest request, LwKhclCj lwKhclCj) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String bynf = request.getParameter("bynf"); + String ssyxmc = request.getParameter("ssyxmc"); + String ssxnzymc = request.getParameter("ssxnzymc"); + String xsxm = request.getParameter("xsxm"); + String zdjsxm = request.getParameter("zdjsxm"); + String bylwTm = request.getParameter("bylwTm"); + List exportList = lwKhclService.getCjList(bynf, ssyxmc, ssxnzymc, xsxm, zdjsxm, bylwTm); + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, "论文考核材料成绩"); + mv.addObject(NormalExcelConstants.CLASS, LwKhclCj.class); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams=new ExportParams("论文考核材料成绩", "导出人:" + sysUser.getRealname(), "sheet1"); + exportParams.setImageBasePath(jeecgBaseConfig.getPath().getUpload()); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; + } + + /** + * 分页列表查询 + * + * @param lwKhclXq + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "lw_khcl-分页列表查询") + @ApiOperation(value="lw_khcl-分页列表查询", notes="lw_khcl-分页列表查询") + @GetMapping(value = "/xqList") + public Result> queryXqPageList(LwKhclXq lwKhclXq, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + String xsxh = req.getParameter("xsxh"); + String xsxm = req.getParameter("xsxm"); + String ssxnzymc = req.getParameter("ssxnzymc"); + String ktbg = req.getParameter("ktbg"); + String zqjc = req.getParameter("zqjc"); + String lwzg = req.getParameter("lwzg"); + Page page = new Page(pageNo, pageSize); + IPage pageList = lwKhclService.getXqPage(page, xsxh,xsxm,ssxnzymc,ktbg,zqjc,lwzg); + return Result.OK(pageList); + } + + /** + * 导出excel + * @param request + * @param lwKhclXq + */ + @RequestMapping(value = "/xqExportXls") + public ModelAndView xqExportXls(HttpServletRequest request, LwKhclXq lwKhclXq) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String xsxh = request.getParameter("xsxh"); + String xsxm = request.getParameter("xsxm"); + String ssxnzymc = request.getParameter("ssxnzymc"); + String ktbg = request.getParameter("ktbg"); + String zqjc = request.getParameter("zqjc"); + String lwzg = request.getParameter("lwzg"); + List exportList = lwKhclService.getXqList(xsxh,xsxm,ssxnzymc,ktbg,zqjc,lwzg); + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, "论文考核材料成绩"); + mv.addObject(NormalExcelConstants.CLASS, LwKhclXq.class); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams=new ExportParams("论文考核材料成绩", "导出人:" + sysUser.getRealname(), "sheet1"); + exportParams.setImageBasePath(jeecgBaseConfig.getPath().getUpload()); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; + } + + +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/entity/LwKhcl.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/entity/LwKhcl.java new file mode 100644 index 0000000..e874df6 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/entity/LwKhcl.java @@ -0,0 +1,45 @@ +package org.jeecg.modules.demo.lwKhcl.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; + +/** + * @Description: lw_khcl + * @Author: jeecg-boot + * @Date: 2024-09-05 + * @Version: V1.0 + */ +@Data +@TableName("lw_khcl") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="lw_khcl对象", description="lw_khcl") +public class LwKhcl implements Serializable { + private static final long serialVersionUID = 1L; + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + /**毕业年份*/ + @Excel(name = "毕业年份", width = 15) + @ApiModelProperty(value = "毕业年份") + private String bynf; + /**所属院系名称*/ + @Excel(name = "所属院系名称", width = 25) + @ApiModelProperty(value = "所属院系名称") + private String ssyxmc; + /**所属校内专业(大类)名称*/ + @Excel(name = "所属校内专业(大类)名称", width = 35) + @ApiModelProperty(value = "所属校内专业(大类)名称") + private String ssxnzymc; +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/entity/LwKhclCj.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/entity/LwKhclCj.java new file mode 100644 index 0000000..9dff47e --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/entity/LwKhclCj.java @@ -0,0 +1,88 @@ +package org.jeecg.modules.demo.lwKhcl.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; + +/** + * @Description: lw_khcl + * @Author: jeecg-boot + * @Date: 2024-09-05 + * @Version: V1.0 + */ +@Data +@TableName("lw_khcl") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="lw_khcl对象", description="lw_khcl") +public class LwKhclCj implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + /**学生学号*/ + @Excel(name = "学生学号", width = 15) + @ApiModelProperty(value = "学生学号") + private String xsxh; + /**学生姓名*/ + @Excel(name = "学生姓名", width = 15) + @ApiModelProperty(value = "学生姓名") + private String xsxm; + /**毕业年份*/ + @Excel(name = "毕业年份", width = 15) + @ApiModelProperty(value = "毕业年份") + private String bynf; + /**班级*/ + @Excel(name = "班级", width = 15) + @ApiModelProperty(value = "班级") + private String bj; + /**毕业论文(设计)题目*/ + @Excel(name = "毕业论文(设计)题目", width = 30) + @ApiModelProperty(value = "毕业论文(设计)题目") + private String bylwTm; + /**毕业论文(设计)类别*/ + @Excel(name = "毕业论文(设计)类别", width = 30) + @ApiModelProperty(value = "毕业论文(设计)类别") + private String bylwLb; + /**毕业论文(设计)成绩*/ + @Excel(name = "毕业论文(设计)成绩", width = 15) + @ApiModelProperty(value = "毕业论文(设计)成绩") + private String bylwCj; + /**指导教师姓名*/ + @Excel(name = "指导教师姓名", width = 15) + @ApiModelProperty(value = "指导教师姓名") + private String zdjsxm; + /**指导教师职称*/ + @Excel(name = "指导教师职称", width = 15) + @ApiModelProperty(value = "指导教师职称") + private String zdjszc; + /**所属院系名称*/ + @Excel(name = "所属院系名称", width = 20) + @ApiModelProperty(value = "所属院系名称") + private String ssyxmc; + /**所属校内专业(大类)名称*/ + @Excel(name = "所属校内专业(大类)名称", width = 20) + @ApiModelProperty(value = "所属校内专业(大类)名称") + private String ssxnzymc; + /**是否实现电子化管理*/ + @Excel(name = "是否实现电子化管理", width = 15) + @ApiModelProperty(value = "是否实现电子化管理") + private String sfsxdzhgl; + /**关键词*/ + @ApiModelProperty(value = "关键词") + private String gjc; + /**查重结果*/ + @ApiModelProperty(value = "查重结果") + private String ccjg; +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/entity/LwKhclXq.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/entity/LwKhclXq.java new file mode 100644 index 0000000..22b958a --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/entity/LwKhclXq.java @@ -0,0 +1,77 @@ +package org.jeecg.modules.demo.lwKhcl.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; + +/** + * @Description: lw_khcl + * @Author: jeecg-boot + * @Date: 2024-09-05 + * @Version: V1.0 + */ +@Data +@TableName("lw_khcl") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="lw_khcl对象", description="lw_khcl") +public class LwKhclXq implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private String id; + /**学生学号*/ + @Excel(name = "学生学号", width = 15) + @ApiModelProperty(value = "学生学号") + private String xsxh; + /**学生姓名*/ + @Excel(name = "学生姓名", width = 15) + @ApiModelProperty(value = "学生姓名") + private String xsxm; + /**毕业年份*/ + @Excel(name = "毕业年份", width = 15) + @ApiModelProperty(value = "毕业年份") + private String bynf; + /**班级*/ + @Excel(name = "班级", width = 15) + @ApiModelProperty(value = "班级") + private String bj; + /**毕业论文(设计)题目*/ + @Excel(name = "毕业论文(设计)题目", width = 30) + @ApiModelProperty(value = "毕业论文(设计)题目") + private String bylwTm; + /**毕业论文(设计)类别*/ + @Excel(name = "毕业论文(设计)类别", width = 30) + @ApiModelProperty(value = "毕业论文(设计)类别") + private String bylwLb; +// @Excel(name = "开题报告", width = 30) + @ApiModelProperty(value = "开题报告") + private String ktbg; + /**开题报告审核意见*/ +// @Excel(name = "开题报告审核意见", width = 30) + @ApiModelProperty(value = "开题报告审核意见") + private String ktbgshyj; + /**中期检查*/ +// @Excel(name = "中期检查", width = 30) + @ApiModelProperty(value = "中期检查") + private String zqjc; + /**论文终稿*/ +// @Excel(name = "论文终稿", width = 30) + @ApiModelProperty(value = "论文终稿") + private String lwzg; + /**检测报告等材料*/ +// @Excel(name = "检测报告等材料", width = 30) + @ApiModelProperty(value = "检测报告等材料") + private String jcbgdcl; +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/mapper/LwKhclMapper.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/mapper/LwKhclMapper.java new file mode 100644 index 0000000..dccec35 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/mapper/LwKhclMapper.java @@ -0,0 +1,26 @@ +package org.jeecg.modules.demo.lwKhcl.mapper; + +import java.util.List; +import java.util.Map; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.demo.lwKhcl.entity.LwKhcl; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.demo.lwKhcl.entity.LwKhclCj; +import org.jeecg.modules.demo.lwKhcl.entity.LwKhclXq; + +/** + * @Description: lw_khcl + * @Author: jeecg-boot + * @Date: 2024-09-05 + * @Version: V1.0 + */ +public interface LwKhclMapper extends BaseMapper { + List getPage(Page page, @Param("bynf")String bynf, @Param("ssyxmc")String ssyxmc, @Param("ssxnzymc")String ssxnzymc); + + List getCjPage(Page page, @Param("bynf")String bynf, @Param("ssyxmc")String ssyxmc, @Param("ssxnzymc")String ssxnzymc, @Param("xsxm")String xsxm, @Param("zdjsxm")String zdjsxm, @Param("bylwTm")String bylwTm); + + List getXqPage(Page page, @Param("xsxh")String xsxh, @Param("xsxm")String xsxm, @Param("ssxnzymc")String ssxnzymc, @Param("ktbg")String ktbg, @Param("zqjc")String zqjc, @Param("lwzg")String lwzg); + +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/mapper/xml/LwKhclMapper.xml b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/mapper/xml/LwKhclMapper.xml new file mode 100644 index 0000000..88ff667 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/mapper/xml/LwKhclMapper.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/service/ILwKhclService.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/service/ILwKhclService.java new file mode 100644 index 0000000..1cbef06 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/service/ILwKhclService.java @@ -0,0 +1,27 @@ +package org.jeecg.modules.demo.lwKhcl.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.jeecg.modules.demo.lwKhcl.entity.LwKhcl; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.demo.lwKhcl.entity.LwKhclCj; +import org.jeecg.modules.demo.lwKhcl.entity.LwKhclXq; + +import java.util.List; +import java.util.Map; + +/** + * @Description: lw_khcl + * @Author: jeecg-boot + * @Date: 2024-09-05 + * @Version: V1.0 + */ +public interface ILwKhclService extends IService { + Page getPage(Page page, String bynf, String ssyxmc, String ssxnzymc); + List getList(String bynf, String ssyxmc, String ssxnzymc); + + Page getCjPage(Page page, String bynf, String ssyxmc, String ssxnzymc, String xsxm, String zdjsxm, String bylwTm); + List getCjList(String bynf, String ssyxmc, String ssxnzymc, String xsxm, String zdjsxm, String bylwTm); + + Page getXqPage(Page page, String xsxh, String xsxm, String ssxnzymc, String ktbg, String zqjc, String lwzg); + List getXqList(String xsxh, String xsxm, String ssxnzymc, String ktbg, String zqjc, String lwzg); +} diff --git a/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/service/impl/LwKhclServiceImpl.java b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/service/impl/LwKhclServiceImpl.java new file mode 100644 index 0000000..acc42f7 --- /dev/null +++ b/jeecg-boot/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/lwKhcl/service/impl/LwKhclServiceImpl.java @@ -0,0 +1,55 @@ +package org.jeecg.modules.demo.lwKhcl.service.impl; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.jeecg.modules.demo.lwKhcl.entity.LwKhcl; +import org.jeecg.modules.demo.lwKhcl.entity.LwKhclCj; +import org.jeecg.modules.demo.lwKhcl.entity.LwKhclXq; +import org.jeecg.modules.demo.lwKhcl.mapper.LwKhclMapper; +import org.jeecg.modules.demo.lwKhcl.service.ILwKhclService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.List; +import java.util.Map; + +/** + * @Description: lw_khcl + * @Author: jeecg-boot + * @Date: 2024-09-05 + * @Version: V1.0 + */ +@Service +public class LwKhclServiceImpl extends ServiceImpl implements ILwKhclService { + + @Override + public Page getPage(Page page, String bynf, String ssyxmc, String ssxnzymc){ + return page.setRecords(baseMapper.getPage(page, bynf, ssyxmc, ssxnzymc)); + } + + @Override + public List getList(String bynf, String ssyxmc, String ssxnzymc){ + return baseMapper.getPage(null, bynf, ssyxmc, ssxnzymc); + } + + @Override + public Page getCjPage(Page page, String bynf, String ssyxmc, String ssxnzymc, String xsxm, String zdjsxm, String bylwTm){ + return page.setRecords(baseMapper.getCjPage(page, bynf, ssyxmc, ssxnzymc, xsxm, zdjsxm, bylwTm)); + } + + @Override + public List getCjList(String bynf, String ssyxmc, String ssxnzymc, String xsxm, String zdjsxm, String bylwTm){ + return baseMapper.getCjPage(null, bynf, ssyxmc, ssxnzymc, xsxm, zdjsxm, bylwTm); + } + + @Override + public Page getXqPage(Page page, String xsxh, String xsxm, String ssxnzymc, String ktbg, String zqjc, String lwzg){ + return page.setRecords(baseMapper.getXqPage(page, xsxh ,xsxm, ssxnzymc, ktbg, zqjc, lwzg)); + } + + @Override + public List getXqList(String xsxh, String xsxm, String ssxnzymc, String ktbg, String zqjc, String lwzg){ + return baseMapper.getXqPage(null, xsxh ,xsxm, ssxnzymc, ktbg, zqjc, lwzg); + } + +} diff --git a/jeecgboot-vue3/src/views/bl/lwkhcl/LwKhcl.api.ts b/jeecgboot-vue3/src/views/bl/lwkhcl/LwKhcl.api.ts new file mode 100644 index 0000000..00138d4 --- /dev/null +++ b/jeecgboot-vue3/src/views/bl/lwkhcl/LwKhcl.api.ts @@ -0,0 +1,29 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/lwKhcl/lwKhcl/list', + cjList = '/lwKhcl/lwKhcl/cjList', + xqList = '/lwKhcl/lwKhcl/xqList', + exportXls = '/lwKhcl/lwKhcl/exportXls', + cjExportXls = '/lwKhcl/lwKhcl/cjExportXls', + xqExportXls = '/lwKhcl/lwKhcl/xqExportXls', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +export const getCjExportUrl = Api.cjExportXls; +export const getXqExportUrl = Api.xqExportXls; + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); +export const cjList = (params) => defHttp.get({ url: Api.cjList, params }); +export const xqList = (params) => defHttp.get({ url: Api.xqList, params }); diff --git a/jeecgboot-vue3/src/views/bl/lwkhcl/LwKhcl.data.ts b/jeecgboot-vue3/src/views/bl/lwkhcl/LwKhcl.data.ts new file mode 100644 index 0000000..fde7c06 --- /dev/null +++ b/jeecgboot-vue3/src/views/bl/lwkhcl/LwKhcl.data.ts @@ -0,0 +1,254 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +import { getWeekMonthQuarterYear } from '/@/utils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '毕业年份', + align: "center", + dataIndex: 'bynf' + }, + { + title: '学院', + align: "center", + dataIndex: 'ssyxmc' + }, + { + title: '所属校内专业(大类)名称', + align: "center", + dataIndex: 'ssxnzymc' + }, +]; + +//列表数据 +export const columnsCj: BasicColumn[] = [ + { + title: '学号', + align: "center", + dataIndex: 'xsxh', + width:120, + }, + { + title: '学生姓名', + align: "center", + dataIndex: 'xsxm', + width:120, + }, + { + title: '毕业年份', + align: "center", + dataIndex: 'bynf', + width:120, + }, + { + title: '班级', + align: "center", + dataIndex: 'bj', + width:120, + }, + { + title: '毕业论文(设计)题目', + align: "center", + dataIndex: 'bylwTm', + width:220, + }, + { + title: '毕业论文(设计)类别', + align: "center", + dataIndex: 'bylwLb', + width:220, + }, + { + title: '毕业论文(设计)成绩', + align: "center", + dataIndex: 'bylwCj', + width:220, + }, + { + title: '指导教师姓名', + align: "center", + dataIndex: 'zdjsxm', + width:120, + }, + { + title: '指导教师职称', + align: "center", + dataIndex: 'zdjszc', + width:120, + }, + { + title: '所属院系名称', + align: "center", + dataIndex: 'ssyxmc', + width:120, + }, + { + title: '所属校内专业(大类)名称', + align: "center", + dataIndex: 'ssxnzymc', + width:220, + }, + { + title: '是否电子化管理', + align: "center", + dataIndex: 'sfsxdzhgl', + width:120, + }, + { + title: '关键词', + align: "center", + dataIndex: 'gjc', + width:120, + }, + { + title: '查重结果', + align: "center", + dataIndex: 'ccjg', + width:120, + slots: { customRender: 'ccjg' }, + } +]; + + +//列表数据 +export const columnsXq: BasicColumn[] = [ + { + title: '学生学号', + align: "center", + dataIndex: 'xsxh', + width:120, + }, + { + title: '学生姓名', + align: "center", + dataIndex: 'xsxm', + width:120, + }, + { + title: '毕业年份', + align: "center", + dataIndex: 'bynf', + width:120, + }, + { + title: '班级', + align: "center", + dataIndex: 'bj', + width:120, + }, + { + title: '毕业论文(设计)题目', + align: "center", + dataIndex: 'bylwTm', + width:220, + }, + { + title: '毕业论文(设计)类别', + align: "center", + dataIndex: 'bylwLb', + width:220, + }, + { + title: '开题报告', + align: "center", + dataIndex: 'ktbg', + width:200, + children: [ + { + title: '预览', + dataIndex: 'ktbg', + width: 100, + slots: { customRender: 'ktbg_yl' }, + }, + { + title: '下载', + dataIndex: 'ktbg', + width: 100, + slots: { customRender: 'ktbg_xz' }, + }, + ], + }, + { + title: '开题报告审核意见', + align: "center", + dataIndex: 'ktbgshyj', + width:200, + children: [ + { + title: '预览', + dataIndex: 'ktbgshyj', + width: 100, + slots: { customRender: 'ktbgshyj_yl' }, + }, + { + title: '下载', + dataIndex: 'ktbgshyj', + width: 100, + slots: { customRender: 'ktbgshyj_xz' }, + }, + ], + }, + { + title: '中期检查', + align: "center", + dataIndex: 'zqjc', + width:200, + children: [ + { + title: '预览', + dataIndex: 'zqjc', + width: 100, + slots: { customRender: 'zqjc_yl' }, + }, + { + title: '下载', + dataIndex: 'zqjc', + width: 100, + slots: { customRender: 'zqjc_xz' }, + }, + ], + }, + { + title: '论文终稿', + align: "center", + dataIndex: 'lwzg', + width:200, + children: [ + { + title: '预览', + dataIndex: 'lwzg', + width: 100, + slots: { customRender: 'lwzg_yl' }, + }, + { + title: '下载', + dataIndex: 'lwzg', + width: 100, + slots: { customRender: 'lwzg_xz' }, + }, + ], + }, + { + title: '检测报告等材料', + align: "center", + dataIndex: 'jcbgdcl', + width:200, + children: [ + { + title: '预览', + dataIndex: 'jcbgdcl', + width: 100, + slots: { customRender: 'jcbgdcl_yl' }, + }, + { + title: '下载', + dataIndex: 'jcbgdcl', + width: 100, + slots: { customRender: 'jcbgdcl_xz' }, + }, + ], + + }, +]; diff --git a/jeecgboot-vue3/src/views/bl/lwkhcl/components/LwKhclCjList.vue b/jeecgboot-vue3/src/views/bl/lwkhcl/components/LwKhclCjList.vue new file mode 100644 index 0000000..7fad13f --- /dev/null +++ b/jeecgboot-vue3/src/views/bl/lwkhcl/components/LwKhclCjList.vue @@ -0,0 +1,211 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/bl/lwkhcl/components/LwKhclCjModal.vue b/jeecgboot-vue3/src/views/bl/lwkhcl/components/LwKhclCjModal.vue new file mode 100644 index 0000000..0237d68 --- /dev/null +++ b/jeecgboot-vue3/src/views/bl/lwkhcl/components/LwKhclCjModal.vue @@ -0,0 +1,50 @@ + + + + + + diff --git a/jeecgboot-vue3/src/views/bl/lwkhcl/components/LwKhclXqList.vue b/jeecgboot-vue3/src/views/bl/lwkhcl/components/LwKhclXqList.vue new file mode 100644 index 0000000..4009e76 --- /dev/null +++ b/jeecgboot-vue3/src/views/bl/lwkhcl/components/LwKhclXqList.vue @@ -0,0 +1,299 @@ + + + + + diff --git a/jeecgboot-vue3/src/views/bl/lwkhcl/components/LwKhclXqModal.vue b/jeecgboot-vue3/src/views/bl/lwkhcl/components/LwKhclXqModal.vue new file mode 100644 index 0000000..2f4a7c6 --- /dev/null +++ b/jeecgboot-vue3/src/views/bl/lwkhcl/components/LwKhclXqModal.vue @@ -0,0 +1,50 @@ + + + + + + diff --git a/jeecgboot-vue3/src/views/bl/lwkhcl/index.vue b/jeecgboot-vue3/src/views/bl/lwkhcl/index.vue new file mode 100644 index 0000000..01197e2 --- /dev/null +++ b/jeecgboot-vue3/src/views/bl/lwkhcl/index.vue @@ -0,0 +1,174 @@ + + + + +