From a442ef2d72f1d7c3f09ef7786f79f21e99fe8a83 Mon Sep 17 00:00:00 2001 From: ls Date: Wed, 15 Jan 2025 17:48:56 +0800 Subject: [PATCH] update --- .../controller/ExperimentController.java | 2 + .../ExperimentReportController.java | 19 +- .../ExperimentSampleInfoController.java | 287 +++++++++--------- .../modules/database/entity/Experiment.java | 20 +- .../database/entity/ExperimentSampleInfo.java | 12 + .../database/service/IExperimentService.java | 2 + .../service/impl/ExperimentServiceImpl.java | 15 + 7 files changed, 203 insertions(+), 154 deletions(-) diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java index da8639a..dca93ae 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java @@ -3,6 +3,7 @@ package org.jeecg.modules.database.controller; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -89,6 +90,7 @@ public class ExperimentController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(experiment, req.getParameterMap(), customeRuleMap); Page page = new Page<>(pageNo, pageSize); + page.addOrder(OrderItem.asc("index_no")); IPage pageList = experimentService.page(page, queryWrapper); pageList.getRecords().forEach(v -> experimentService.fetchExperimentDetail(v)); return Result.OK(pageList); diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentReportController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentReportController.java index 0110a68..9cd8ea6 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentReportController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentReportController.java @@ -257,7 +257,7 @@ public class ExperimentReportController extends JeecgController cancel(@RequestBody ExperimentReport experimentReport, HttpServletRequest request) { + String username = JwtUtil.getUserNameByToken(request); + if (oConvertUtils.isEmpty(username)) { + return Result.error("用户未登录!"); + } + String createBy = experimentReport.getCreateBy(); + if (!StringUtils.equals(createBy, username)) { + return Result.error("您无权进行撤回!"); + } + ExperimentReport report = experimentReportService.getById(experimentReport.getId()); + report.setStatus(ExperimentReportStatus.INIT); + experimentReportService.updateById(report); + return Result.OK("撤回成功!"); + } } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentSampleInfoController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentSampleInfoController.java index 42f208a..4904170 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentSampleInfoController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentSampleInfoController.java @@ -1,161 +1,158 @@ 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.ExperimentSampleInfo; -import org.jeecg.modules.database.service.IExperimentSampleInfoService; - 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.common.system.query.QueryRuleEnum; +import org.jeecg.modules.database.entity.ExperimentSampleInfo; +import org.jeecg.modules.database.service.IExperimentSampleInfoService; +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-12-04 + * @Date: 2024-12-04 * @Version: V1.0 */ -@Tag(name="试验样品信息") +@Tag(name = "试验样品信息") @RestController @RequestMapping("/database/experimentSampleInfo") @Slf4j public class ExperimentSampleInfoController extends JeecgController { - @Autowired - private IExperimentSampleInfoService experimentSampleInfoService; - - /** - * 分页列表查询 - * - * @param experimentSampleInfo - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "试验样品信息-分页列表查询") - @Operation(summary="试验样品信息-分页列表查询") - @GetMapping(value = "/list") - public Result> queryPageList(ExperimentSampleInfo experimentSampleInfo, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(experimentSampleInfo, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = experimentSampleInfoService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 添加 - * - * @param experimentSampleInfo - * @return - */ - @AutoLog(value = "试验样品信息-添加") - @Operation(summary="试验样品信息-添加") - @RequiresPermissions("database:experiment_sample_info:add") - @PostMapping(value = "/add") - public Result add(@RequestBody ExperimentSampleInfo experimentSampleInfo) { - experimentSampleInfoService.save(experimentSampleInfo); - return Result.OK("添加成功!"); - } - - /** - * 编辑 - * - * @param experimentSampleInfo - * @return - */ - @AutoLog(value = "试验样品信息-编辑") - @Operation(summary="试验样品信息-编辑") - @RequiresPermissions("database:experiment_sample_info:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result edit(@RequestBody ExperimentSampleInfo experimentSampleInfo) { - experimentSampleInfoService.updateById(experimentSampleInfo); - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @AutoLog(value = "试验样品信息-通过id删除") - @Operation(summary="试验样品信息-通过id删除") - @RequiresPermissions("database:experiment_sample_info:delete") - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { - experimentSampleInfoService.removeById(id); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - * - * @param ids - * @return - */ - @AutoLog(value = "试验样品信息-批量删除") - @Operation(summary="试验样品信息-批量删除") - @RequiresPermissions("database:experiment_sample_info:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.experimentSampleInfoService.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) { - ExperimentSampleInfo experimentSampleInfo = experimentSampleInfoService.getById(id); - if(experimentSampleInfo==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(experimentSampleInfo); - } + @Autowired + private IExperimentSampleInfoService experimentSampleInfoService; /** - * 导出excel - * - * @param request - * @param experimentSampleInfo - */ + * 分页列表查询 + * + * @param experimentSampleInfo + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "试验样品信息-分页列表查询") + @Operation(summary = "试验样品信息-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(ExperimentSampleInfo experimentSampleInfo, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(experimentSampleInfo, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = experimentSampleInfoService.page(page, queryWrapper); + return Result.OK(pageList); + } + + @Operation(summary = "试验样品信息-列表查询") + @GetMapping(value = "/search") + public Result> search(ExperimentSampleInfo experimentSampleInfo, HttpServletRequest req) { + Map customeRuleMap = new HashMap<>(); + // 自定义 sampleModel 字段的查询规则为:RIGHT_LIKE + customeRuleMap.put("sampleModel", QueryRuleEnum.RIGHT_LIKE); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(experimentSampleInfo, req.getParameterMap(), + customeRuleMap); + List pageList = experimentSampleInfoService.list(queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param experimentSampleInfo + * @return + */ + @AutoLog(value = "试验样品信息-添加") + @Operation(summary = "试验样品信息-添加") + @RequiresPermissions("database:experiment_sample_info:add") + @PostMapping(value = "/add") + public Result add(@RequestBody ExperimentSampleInfo experimentSampleInfo) { + experimentSampleInfoService.save(experimentSampleInfo); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param experimentSampleInfo + * @return + */ + @AutoLog(value = "试验样品信息-编辑") + @Operation(summary = "试验样品信息-编辑") + @RequiresPermissions("database:experiment_sample_info:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody ExperimentSampleInfo experimentSampleInfo) { + experimentSampleInfoService.updateById(experimentSampleInfo); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "试验样品信息-通过id删除") + @Operation(summary = "试验样品信息-通过id删除") + @RequiresPermissions("database:experiment_sample_info:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + experimentSampleInfoService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "试验样品信息-批量删除") + @Operation(summary = "试验样品信息-批量删除") + @RequiresPermissions("database:experiment_sample_info:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.experimentSampleInfoService.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) { + ExperimentSampleInfo experimentSampleInfo = experimentSampleInfoService.getById(id); + if (experimentSampleInfo == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(experimentSampleInfo); + } + + /** + * 导出excel + * + * @param request + * @param experimentSampleInfo + */ @RequiresPermissions("database:experiment_sample_info:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, ExperimentSampleInfo experimentSampleInfo) { @@ -163,12 +160,12 @@ public class ExperimentSampleInfoController extends JeecgController importExcel(HttpServletRequest request, HttpServletResponse response) { diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/Experiment.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/Experiment.java index 97e77c3..c369e73 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/Experiment.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/Experiment.java @@ -87,7 +87,7 @@ public class Experiment implements Serializable { //@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") //@DateTimeFormat(pattern = "yyyy-MM-dd") @Schema(description = "试验开始日期") - private String startDate; + private String startDate; /** * 试验日期 */ @@ -95,7 +95,7 @@ public class Experiment implements Serializable { //@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") //@DateTimeFormat(pattern = "yyyy-MM-dd") @Schema(description = "试验结束日期") - private String endDate; + private String endDate; /** * 辐射源类型 */ @@ -171,27 +171,31 @@ public class Experiment implements Serializable { * 试验文件 */ //@Excel(name = "试验文件", width = 15) - @Schema(description = "试验文件") - private String files; + //@Schema(description = "试验文件") + //private String files; @TableField(exist = false) - private List fileList; + private List fileList; /** * 试验人员ID, 逗号分割多个 */ @TableField(exist = false) - private String experimentUser; + private String experimentUser; /** * 试验负责人 */ @TableField(exist = false) @Excel(name = "试验负责人", width = 15) - private String supervisorName; + private String supervisorName; /** * 试验人员 */ @TableField(exist = false) - private List experimentUserList; + private List experimentUserList; + @Excel(name = "排序号", width = 15) + @Schema(description = "排序号") + private Integer indexNo; + // //public void addCopyCount() { // if (Objects.isNull(copyCount)) { diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentSampleInfo.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentSampleInfo.java index a24371c..1153034 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentSampleInfo.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentSampleInfo.java @@ -85,6 +85,10 @@ public class ExperimentSampleInfo implements Serializable { @Excel(name = "样品批次", width = 15) @Schema(description = "样品批次") private String sampleBatch; + + @Schema(description = "型号批次") + @TableField(exist = false) + private String modelBatch; /** * 生产厂家 */ @@ -103,4 +107,12 @@ public class ExperimentSampleInfo implements Serializable { @Excel(name = "样品名称", width = 15) @Schema(description = "样品名称") private String sampleName; + + public String getModelBatch() { + return sampleModel + "-" + sampleBatch; + } + + public void setModelBatch(String modelBatch) { + this.modelBatch = modelBatch; + } } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentService.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentService.java index fdf2d93..737b778 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentService.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentService.java @@ -19,4 +19,6 @@ public interface IExperimentService extends IService { void saveWithDetail(Experiment experiment); + Integer getLastIndex(); + } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentServiceImpl.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentServiceImpl.java index 2aa44bd..71ece63 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentServiceImpl.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentServiceImpl.java @@ -2,6 +2,7 @@ package org.jeecg.modules.database.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; import org.jeecg.modules.database.constant.ExperimentStatus; @@ -100,6 +101,7 @@ public class ExperimentServiceImpl extends ServiceImpl eq = new LambdaQueryWrapper().orderByDesc(Experiment::getIndexNo); + Experiment one = getOne(eq, false); + if (Objects.isNull(one)) { + return 1; + } + + return one.getIndexNo(); + } }