From f1cbecdd23407d62fa63805eab0f110c9ced1b0f Mon Sep 17 00:00:00 2001 From: ls Date: Thu, 21 Nov 2024 10:45:12 +0800 Subject: [PATCH] update --- ...rimentType.java => ExperimentDocType.java} | 2 +- .../controller/ExperimentDocController.java | 28 ++++++++--- .../ExperimentReportController.java | 50 ++++++++++++------- .../database/entity/ExperimentDoc.java | 7 +++ .../database/entity/ExperimentReport.java | 11 ++-- .../service/IExperimentDocService.java | 3 +- .../impl/ExperimentDocServiceImpl.java | 28 ++++++----- .../system/controller/SysRoleController.java | 2 + 8 files changed, 86 insertions(+), 45 deletions(-) rename physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/constant/{ExperimentType.java => ExperimentDocType.java} (93%) diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/constant/ExperimentType.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/constant/ExperimentDocType.java similarity index 93% rename from physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/constant/ExperimentType.java rename to physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/constant/ExperimentDocType.java index b3857b3..4cc317b 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/constant/ExperimentType.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/constant/ExperimentDocType.java @@ -13,7 +13,7 @@ import lombok.Getter; */ @Getter @AllArgsConstructor -public enum ExperimentType { +public enum ExperimentDocType { fzsyjhb("辐照试验计划表"), sbsyjlb("设备使用记录表"), sybgpsb("试验报告评审表"), diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentDocController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentDocController.java index 727abdb..d084ffa 100755 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentDocController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentDocController.java @@ -1,5 +1,7 @@ package org.jeecg.modules.database.controller; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -16,7 +18,7 @@ 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.constant.ExperimentType; +import org.jeecg.modules.database.constant.ExperimentDocType; import org.jeecg.modules.database.entity.ExperimentDoc; import org.jeecg.modules.database.service.IExperimentDocService; import org.springframework.beans.factory.annotation.Autowired; @@ -72,6 +74,7 @@ public class ExperimentDocController extends JeecgController add(@RequestBody ExperimentDoc experimentDoc) { + experimentDoc.setVersion(DateUtil.format(new Date(), DatePattern.PURE_DATETIME_PATTERN)); experimentDocService.save(experimentDoc); return Result.OK("添加成功!"); } @@ -141,19 +144,16 @@ public class ExperimentDocController extends JeecgController> queryByExperimentalId(@RequestParam(name = "experimentId", required = true) String experimentId) { + public Result> queryByExperimentId(@RequestParam(name = "experimentId", required = true) String experimentId) { List result = new ArrayList<>(); - for (ExperimentType value : ExperimentType.values()) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ExperimentDoc::getExperimentId, experimentId); - queryWrapper.eq(ExperimentDoc::getDocType, value.getType()); - ExperimentDoc doc = experimentDocService.getOne(queryWrapper); + for (ExperimentDocType value : ExperimentDocType.values()) { + ExperimentDoc doc = experimentDocService.getByExperimentId(experimentId, value.getType()); if (Objects.isNull(doc)) { doc = experimentDocService.generate(experimentId, value.getType()); } @@ -168,6 +168,18 @@ public class ExperimentDocController extends JeecgController>> queryHistoryByExperimentId( + @RequestParam(name = "experimentId", required = true) String experimentId) { + Map> result = new HashMap<>(); + for (ExperimentDocType value : ExperimentDocType.values()) { + List docList = experimentDocService.getHistoryByExperimentId(experimentId, value.getType()); + result.put(value.getType(), docList); + } + return Result.OK(result); + } + /** * 试验文档下载 * 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 8326160..b68a70a 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 @@ -1,7 +1,6 @@ package org.jeecg.modules.database.controller; import cn.hutool.core.util.ObjUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -18,11 +17,10 @@ import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.util.JwtUtil; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.database.constant.ExperimentDocType; import org.jeecg.modules.database.constant.ExperimentStatus; -import org.jeecg.modules.database.entity.Experiment; -import org.jeecg.modules.database.entity.ExperimentReport; -import org.jeecg.modules.database.service.IExperimentReportService; -import org.jeecg.modules.database.service.IExperimentService; +import org.jeecg.modules.database.entity.*; +import org.jeecg.modules.database.service.*; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; @@ -30,7 +28,6 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import java.util.Arrays; -import java.util.List; /** * @Description: 试验报告 @@ -51,6 +48,9 @@ public class ExperimentReportController extends JeecgController queryWrapper = QueryGenerator.initQueryWrapper(experimentReport, req.getParameterMap()); Page page = new Page(pageNo, pageSize); IPage pageList = experimentReportService.page(page, queryWrapper); + pageList.getRecords().forEach(v -> { + ExperimentDoc experimentDoc = experimentDocService.getByExperimentId(v.getExperimentId(), ExperimentDocType.sybg.getType()); + v.setFileUrl(experimentDoc.getFilePath()); + }); return Result.OK(pageList); } @@ -92,6 +96,10 @@ public class ExperimentReportController extends JeecgController edit(@RequestBody ExperimentReport experimentReport, HttpServletRequest request) { String username = JwtUtil.getUserNameByToken(request); ExperimentReport report = experimentReportService.getById(experimentReport.getId()); - if (!StringUtils.equals(report.getCreateBy(), username)) { - return Result.error("您无权进行编辑!"); - } + //if (!StringUtils.equals(report.getCreateBy(), username)) { + // return Result.error("您无权进行编辑!"); + //} //待校对 if (!(StringUtils.equals(report.getStatus(), "INIT") || StringUtils.equals(report.getStatus(), "REJECT"))) { return Result.error("该报告状态无法进行编辑!"); } experimentReportService.updateById(experimentReport); + experimentDocService.generate(report.getExperimentId(), ExperimentDocType.sybg.getType()); return Result.OK("编辑成功!"); } @@ -165,27 +174,32 @@ public class ExperimentReportController extends JeecgController> queryByExperimentalId( - @RequestParam(name = "experimentId", required = true) String experimentalId) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ExperimentReport::getExperimentId, experimentalId); - List experimentReview = experimentReportService.list(queryWrapper); - if (experimentReview == null) { - return Result.error("未找到对应数据"); + public Result getByExperimentId( + @RequestParam(name = "experimentId", required = true) String experimentId) { + ExperimentReport experimentReport = experimentReportService.getByExperimentId(experimentId); + if (experimentReport == null) { + return Result.error("试验报告不存在!"); } - return Result.OK(experimentReview); + + ExperimentDoc experimentDoc = experimentDocService.getByExperimentId(experimentId, ExperimentDocType.sybg.getType()); + experimentReport.setFileUrl(experimentDoc.getFilePath()); + return Result.OK(experimentReport); } /** diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentDoc.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentDoc.java index b202424..42090d8 100755 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentDoc.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentDoc.java @@ -81,4 +81,11 @@ public class ExperimentDoc implements Serializable { @Excel(name = "文件地址", width = 15) @Schema(description = "文件地址") private String filePath; + + /** + * 版本号 + */ + @Excel(name = "版本号", width = 15) + @Schema(description = "版本号") + private String version; } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentReport.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentReport.java index 7ee40f4..10559bb 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentReport.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentReport.java @@ -1,8 +1,6 @@ package org.jeecg.modules.database.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -45,7 +43,7 @@ public class ExperimentReport implements Serializable { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Schema(description = "创建日期") - private Date createTime; + private Date createTime; /** * 更新人 */ @@ -57,7 +55,7 @@ public class ExperimentReport implements Serializable { @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Schema(description = "更新日期") - private Date updateTime; + private Date updateTime; /** * 所属部门 */ @@ -117,4 +115,7 @@ public class ExperimentReport implements Serializable { @Excel(name = "状态", width = 15) @Schema(description = "状态(申请中(待校对):INIT,不合格:REJECT ,校对通过(待审核):PROOFREAD_PASS,审核通过(待批准):AUDIT_PASS,批准通过:PASSED)") private String status; + + @TableField(exist = false) + private String fileUrl; } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentDocService.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentDocService.java index 8b04595..54b55c4 100755 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentDocService.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentDocService.java @@ -15,6 +15,7 @@ public interface IExperimentDocService extends IService { ExperimentDoc generate(String experimentId, String type); - List getByExperimentId(String experimentId); + List getHistoryByExperimentId(String experimentId,String type); + ExperimentDoc getByExperimentId(String experimentId,String type); } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentDocServiceImpl.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentDocServiceImpl.java index 35e072a..1de7afe 100755 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentDocServiceImpl.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentDocServiceImpl.java @@ -1,5 +1,7 @@ package org.jeecg.modules.database.service.impl; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.io.FileUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -76,24 +78,26 @@ public class ExperimentDocServiceImpl extends ServiceImpl()); if (StringUtils.isNotBlank(filePath)) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(ExperimentDoc::getExperimentId, experimentId); - queryWrapper.eq(ExperimentDoc::getDocType, type); - ExperimentDoc experimentDoc = this.getOne(queryWrapper); - if (Objects.isNull(experimentDoc)) { - experimentDoc = new ExperimentDoc(); - experimentDoc.setDocType(type); - experimentDoc.setExperimentId(experimentId); - } + ExperimentDoc experimentDoc = new ExperimentDoc(); + experimentDoc.setDocType(type); + experimentDoc.setExperimentId(experimentId); experimentDoc.setFilePath(filePath); - this.saveOrUpdate(experimentDoc); + experimentDoc.setVersion(DateUtil.format(new Date(), DatePattern.PURE_DATETIME_PATTERN)); + this.save(experimentDoc); return experimentDoc; } return null; } @Override - public List getByExperimentId(String experimentId) { - return list(new LambdaQueryWrapper().eq(ExperimentDoc::getExperimentId, experimentId)); + public List getHistoryByExperimentId(String experimentId, String type) { + return list(new LambdaQueryWrapper().eq(ExperimentDoc::getExperimentId, experimentId) + .eq(ExperimentDoc::getDocType, type).orderByDesc(ExperimentDoc::getVersion)); + } + + @Override + public ExperimentDoc getByExperimentId(String experimentId, String type) { + return getOne(new LambdaQueryWrapper().eq(ExperimentDoc::getExperimentId, experimentId) + .eq(ExperimentDoc::getDocType, type).orderByDesc(ExperimentDoc::getVersion), false); } } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java index 51d8e0a..4d30911 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/controller/SysRoleController.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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 com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import jakarta.servlet.http.HttpServletRequest; @@ -91,6 +92,7 @@ public class SysRoleController { //QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(role, req.getParameterMap()); //IPage pageList = sysRoleService.page(page, queryWrapper); Page page = new Page(pageNo, pageSize); + page.addOrder(OrderItem.desc("create_time")); //换成不做租户隔离的方法,实际上还是存在缺陷(缺陷:如果开启租户隔离,虽然能看到其他租户下的角色,编辑会提示报错) IPage pageList = sysRoleService.listAllSysRole(page, role); result.setSuccess(true);