From 27102ea4d1f112410a12f0bba6ae363d92593e47 Mon Sep 17 00:00:00 2001 From: ls Date: Sat, 16 Nov 2024 12:45:45 +0800 Subject: [PATCH] update --- .../ExperimentRatingController.java | 178 ++++++++++++++++++ .../modules/database/enhance/RateEnhance.java | 41 ++++ .../database/entity/ExperimentRating.java | 85 +++++++++ .../mapper/ExperimentRatingMapper.java | 17 ++ .../mapper/xml/ExperimentRatingMapper.xml | 5 + .../service/IExperimentRatingService.java | 14 ++ .../impl/ExperimentRatingServiceImpl.java | 19 ++ 7 files changed, 359 insertions(+) create mode 100644 physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentRatingController.java create mode 100644 physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/enhance/RateEnhance.java create mode 100644 physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentRating.java create mode 100644 physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/ExperimentRatingMapper.java create mode 100644 physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/xml/ExperimentRatingMapper.xml create mode 100644 physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentRatingService.java create mode 100644 physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentRatingServiceImpl.java 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 new file mode 100644 index 0000000..2ac7092 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentRatingController.java @@ -0,0 +1,178 @@ +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 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 org.apache.shiro.authz.annotation.RequiresPermissions; + + /** + * @Description: 试验评分 + * @Author: jeecg-boot + * @Date: 2024-11-16 + * @Version: V1.0 + */ +@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); + } + + /** + * 导出excel + * + * @param request + * @param experimentRating + */ + @RequiresPermissions("database:experiment_rating:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ExperimentRating experimentRating) { + return super.exportXls(request, experimentRating, ExperimentRating.class, "试验评分"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("database:experiment_rating:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ExperimentRating.class); + } + +} 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 new file mode 100644 index 0000000..96f4906 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/enhance/RateEnhance.java @@ -0,0 +1,41 @@ +/* + * 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 diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentRating.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentRating.java new file mode 100644 index 0000000..5a698e9 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentRating.java @@ -0,0 +1,85 @@ +package org.jeecg.modules.database.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.util.Date; +import java.math.BigDecimal; +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.v3.oas.annotations.media.Schema; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 试验评分 + * @Author: jeecg-boot + * @Date: 2024-11-16 + * @Version: V1.0 + */ +@Data +@TableName("experiment_rating") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(description="试验评分") +public class ExperimentRating implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @Schema(description = "主键") + private String id; + /**创建人*/ + @Schema(description = "创建人") + private String createBy; + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "创建日期") + private Date createTime; + /**更新人*/ + @Schema(description = "更新人") + private String updateBy; + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @Schema(description = "更新日期") + private Date updateTime; + /**所属部门*/ + @Schema(description = "所属部门") + private String sysOrgCode; + /**实验ID*/ + @Excel(name = "实验ID", width = 15) + @Schema(description = "实验ID") + private String experimentId; + /**评分人*/ + @Excel(name = "评分人", width = 15) + @Schema(description = "评分人") + private String rateUserId; + /**总分数*/ + @Excel(name = "总分数", width = 15) + @Schema(description = "总分数") + private Integer totalScore; + /**基础分*/ + @Excel(name = "基础分", width = 15) + @Schema(description = "基础分") + private Integer baseScore; + /**完成分*/ + @Excel(name = "完成分", width = 15) + @Schema(description = "完成分") + private Integer completionScore; + /**难度分*/ + @Excel(name = "难度分", width = 15) + @Schema(description = "难度分") + private Integer difficultyScore; + /**管理支撑分*/ + @Excel(name = "管理支撑分", width = 15) + @Schema(description = "管理支撑分") + private Integer managementScore; +} diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/ExperimentRatingMapper.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/ExperimentRatingMapper.java new file mode 100644 index 0000000..0ebb0a5 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/ExperimentRatingMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.database.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.database.entity.ExperimentRating; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 试验评分 + * @Author: jeecg-boot + * @Date: 2024-11-16 + * @Version: V1.0 + */ +public interface ExperimentRatingMapper extends BaseMapper { + +} diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/xml/ExperimentRatingMapper.xml b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/xml/ExperimentRatingMapper.xml new file mode 100644 index 0000000..d8c5612 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/xml/ExperimentRatingMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentRatingService.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentRatingService.java new file mode 100644 index 0000000..8967a92 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentRatingService.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.database.service; + +import org.jeecg.modules.database.entity.ExperimentRating; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Description: 试验评分 + * @Author: jeecg-boot + * @Date: 2024-11-16 + * @Version: V1.0 + */ +public interface IExperimentRatingService extends IService { + +} diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentRatingServiceImpl.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentRatingServiceImpl.java new file mode 100644 index 0000000..600a582 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentRatingServiceImpl.java @@ -0,0 +1,19 @@ +package org.jeecg.modules.database.service.impl; + +import org.jeecg.modules.database.entity.ExperimentRating; +import org.jeecg.modules.database.mapper.ExperimentRatingMapper; +import org.jeecg.modules.database.service.IExperimentRatingService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 试验评分 + * @Author: jeecg-boot + * @Date: 2024-11-16 + * @Version: V1.0 + */ +@Service +public class ExperimentRatingServiceImpl extends ServiceImpl implements IExperimentRatingService { + +}