diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/ExperimentRatingDTO.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/ExperimentRatingDTO.java new file mode 100644 index 0000000..f77690b --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/ExperimentRatingDTO.java @@ -0,0 +1,59 @@ +/* + * Ant Group + * Copyright (c) 2004-2024 All Rights Reserved. + */ +package org.jeecg.modules.database; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @author lise + * @version ExperimentRatingDTO.java, v 0.1 2024年11月16日 13:46 lise + */ +@Getter +@Setter +public class ExperimentRatingDTO { + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + private String id; + /**创建人*/ + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date createTime; + /**更新人*/ + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date updateTime; + /**所属部门*/ + private String sysOrgCode; + /**实验ID*/ + private String experimentId; + /**评分人*/ + private String rateUserId; + /**总分数*/ + private Integer totalScore; + /**基础分*/ + private Integer baseScore; + /**完成分*/ + private Integer completionScore; + /**难度分*/ + private Integer difficultyScore; + /**管理支撑分*/ + private Integer managementScore; + private String experimentName; + private String experimentNo; +} \ No newline at end of file diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentRatingController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentRatingController.java index 2ac7092..d2a18d5 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentRatingController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentRatingController.java @@ -1,161 +1,167 @@ package org.jeecg.modules.database.controller; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import org.jeecg.common.api.vo.Result; -import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.database.entity.ExperimentRating; -import org.jeecg.modules.database.service.IExperimentRatingService; - +import cn.hutool.core.bean.BeanUtil; 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 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.base.controller.JeecgController; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; -import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import org.jeecg.common.aspect.annotation.AutoLog; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.modules.database.ExperimentRatingDTO; +import org.jeecg.modules.database.entity.Experiment; +import org.jeecg.modules.database.entity.ExperimentRating; +import org.jeecg.modules.database.service.IExperimentRatingService; +import org.jeecg.modules.database.service.IExperimentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; - /** +import java.util.*; + +/** * @Description: 试验评分 * @Author: jeecg-boot - * @Date: 2024-11-16 + * @Date: 2024-11-16 * @Version: V1.0 */ -@Tag(name="试验评分") +@Tag(name = "试验评分") @RestController @RequestMapping("/database/experimentRating") @Slf4j public class ExperimentRatingController extends JeecgController { - @Autowired - private IExperimentRatingService experimentRatingService; - - /** - * 分页列表查询 - * - * @param experimentRating - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "试验评分-分页列表查询") - @Operation(summary="试验评分-分页列表查询") - @GetMapping(value = "/list") - public Result> queryPageList(ExperimentRating experimentRating, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(experimentRating, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = experimentRatingService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 添加 - * - * @param experimentRating - * @return - */ - @AutoLog(value = "试验评分-添加") - @Operation(summary="试验评分-添加") - @RequiresPermissions("database:experiment_rating:add") - @PostMapping(value = "/add") - public Result add(@RequestBody ExperimentRating experimentRating) { - experimentRatingService.save(experimentRating); - return Result.OK("添加成功!"); - } - - /** - * 编辑 - * - * @param experimentRating - * @return - */ - @AutoLog(value = "试验评分-编辑") - @Operation(summary="试验评分-编辑") - @RequiresPermissions("database:experiment_rating:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result edit(@RequestBody ExperimentRating experimentRating) { - experimentRatingService.updateById(experimentRating); - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @AutoLog(value = "试验评分-通过id删除") - @Operation(summary="试验评分-通过id删除") - @RequiresPermissions("database:experiment_rating:delete") - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { - experimentRatingService.removeById(id); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - * - * @param ids - * @return - */ - @AutoLog(value = "试验评分-批量删除") - @Operation(summary="试验评分-批量删除") - @RequiresPermissions("database:experiment_rating:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.experimentRatingService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - //@AutoLog(value = "试验评分-通过id查询") - @Operation(summary="试验评分-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - ExperimentRating experimentRating = experimentRatingService.getById(id); - if(experimentRating==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(experimentRating); - } + @Autowired + private IExperimentRatingService experimentRatingService; + + @Autowired + private IExperimentService experimentService; /** - * 导出excel - * - * @param request - * @param experimentRating - */ + * 分页列表查询 + * + * @param experimentRating + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "试验评分-分页列表查询") + @Operation(summary = "试验评分-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(ExperimentRating experimentRating, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(experimentRating, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = experimentRatingService.page(page, queryWrapper); + List result = new ArrayList<>(); + pageList.getRecords().forEach(v -> { + Experiment experiment = experimentService.getById(v.getExperimentId()); + ExperimentRatingDTO experimentRatingDTO = new ExperimentRatingDTO(); + BeanUtil.copyProperties(v, experimentRatingDTO); + experimentRatingDTO.setExperimentName(experiment.getName()); + experimentRatingDTO.setExperimentNo(experiment.getExperimentNo()); + result.add(experimentRatingDTO); + }); + IPage pageList1 = new Page(); + pageList1.setRecords(result); + pageList1.setPages(pageList.getPages()); + pageList1.setTotal(pageList.getTotal()); + pageList1.setSize(pageList.getSize()); + pageList1.setCurrent(pageList.getCurrent()); + return Result.OK(pageList1); + } + + /** + * 添加 + * + * @param experimentRating + * @return + */ + @AutoLog(value = "试验评分-添加") + @Operation(summary = "试验评分-添加") + @RequiresPermissions("database:experiment_rating:add") + @PostMapping(value = "/add") + public Result add(@RequestBody ExperimentRating experimentRating) { + experimentRatingService.save(experimentRating); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param experimentRating + * @return + */ + @AutoLog(value = "试验评分-编辑") + @Operation(summary = "试验评分-编辑") + @RequiresPermissions("database:experiment_rating:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody ExperimentRating experimentRating) { + experimentRatingService.updateById(experimentRating); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "试验评分-通过id删除") + @Operation(summary = "试验评分-通过id删除") + @RequiresPermissions("database:experiment_rating:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + experimentRatingService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "试验评分-批量删除") + @Operation(summary = "试验评分-批量删除") + @RequiresPermissions("database:experiment_rating:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.experimentRatingService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "试验评分-通过id查询") + @Operation(summary = "试验评分-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + ExperimentRating experimentRating = experimentRatingService.getById(id); + if (experimentRating == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(experimentRating); + } + + /** + * 导出excel + * + * @param request + * @param experimentRating + */ @RequiresPermissions("database:experiment_rating:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, ExperimentRating experimentRating) { @@ -163,12 +169,12 @@ public class ExperimentRatingController extends JeecgController importExcel(HttpServletRequest request, HttpServletResponse response) { diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/enhance/RateEnhance.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/enhance/RateEnhance.java index 96f4906..63837f4 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/enhance/RateEnhance.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/enhance/RateEnhance.java @@ -1,41 +1,42 @@ -/* - * Ant Group - * Copyright (c) 2004-2024 All Rights Reserved. - */ -package org.jeecg.modules.database.enhance; - -import org.jeecg.modules.database.entity.Experiment; -import org.jeecg.modules.database.service.IExperimentService; -import org.jeecg.modules.online.cgform.enhance.CgformEnhanceJavaListInter; -import org.jeecg.modules.online.config.exception.BusinessException; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import java.util.List; -import java.util.Map; - -/** - * @author lise - * @version RateEnhance.java, v 0.1 2024年11月16日 12:42 lise - */ -@Component("rateEnhance") -public class RateEnhance implements CgformEnhanceJavaListInter { - @Autowired - private IExperimentService experimentService; - - @Override - public void execute(String s, List> data) throws BusinessException { - for (Map map : data) { - Object db = map.get("experimentId"); - if (db == null) { - continue; - } - Experiment experiment = experimentService.getById(db.toString()); - if (experiment == null) { - continue; - } - map.put("experimentName", experiment.getName()); - map.put("experimentNo", experiment.getExperimentNo()); - } - } -} \ No newline at end of file +///* +// * Ant Group +// * Copyright (c) 2004-2024 All Rights Reserved. +// */ +//package org.jeecg.modules.database.enhance; +// +//import org.jeecg.modules.database.entity.Experiment; +//import org.jeecg.modules.database.service.IExperimentService; +//import org.jeecg.modules.online.cgform.enhance.CgformEnhanceJavaListInter; +//import org.jeecg.modules.online.config.exception.BusinessException; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Component; +// +//import java.util.List; +//import java.util.Map; +// +///** +// * @author lise +// * @version RateEnhance.java, v 0.1 2024年11月16日 12:42 lise +// */ +//@Component("rateEnhance") +//public class RateEnhance implements CgformEnhanceJavaListInter { +// @Autowired +// private IExperimentService experimentService; +// +// @Override +// public void execute(String s, List> data) throws BusinessException { +// System.out.println("=====rateEnhance====="); +// for (Map map : data) { +// Object db = map.get("experimentId"); +// if (db == null) { +// continue; +// } +// Experiment experiment = experimentService.getById(db.toString()); +// if (experiment == null) { +// continue; +// } +// map.put("experimentName", experiment.getName()); +// map.put("experimentNo", experiment.getExperimentNo()); +// } +// } +//} \ No newline at end of file