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 70f2328..8e722ab 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 @@ -103,50 +103,7 @@ public class ExperimentController extends JeecgController sampleInfoList = experiment.getSampleInfoList(); - if (CollUtil.isNotEmpty(sampleInfoList)) { - for (ExperimentSampleInfo sampleInfo : sampleInfoList) { - sampleInfo.setId(null); - sampleInfo.setExperimentId(experiment.getId()); - experimentSampleInfoService.save(sampleInfo); - } - } - List deviationConditionList = experiment.getDeviationConditionList(); - if (CollUtil.isNotEmpty(deviationConditionList)) { - for (ExperimentDeviationCondition deviationCondition : deviationConditionList) { - deviationCondition.setId(null); - deviationCondition.setExperimentId(experiment.getId()); - experimentDeviationConditionService.save(deviationCondition); - } - } - List deviationEquipmentList = experiment.getDeviationEquipmentList(); - if (CollUtil.isNotEmpty(deviationEquipmentList)) { - for (ExperimentDeviationEquipment deviationEquipment : deviationEquipmentList) { - deviationEquipment.setId(null); - deviationEquipment.setExperimentId(experiment.getId()); - experimentDeviationEquipmentService.save(deviationEquipment); - } - } - List irradiationBoardList = experiment.getIrradiationBoardList(); - if (CollUtil.isNotEmpty(irradiationBoardList)) { - for (ExperimentIrradiationBoard irradiationBoard : irradiationBoardList) { - irradiationBoard.setId(null); - irradiationBoard.setExperimentId(experiment.getId()); - experimentIrradiationBoardService.save(irradiationBoard); - } - } + experimentService.saveWithDetail(experiment); ExperimentLog experimentLog = new ExperimentLog(); experimentLog.setExperimentId(experiment.getId()); @@ -164,6 +121,7 @@ public class ExperimentController extends JeecgController userList = new ArrayList<>(); - for (String userId : split) { - ExperimentUser userDomain = new ExperimentUser(); - userDomain.setExperimentId(experiment.getId()); - userDomain.setUserId(userId); - userDomain.setType("OPERATOR"); - userList.add(userDomain); - } - experimentUserService.saveBatch(userList); - } - - List sampleInfoList = experiment.getSampleInfoList(); - if (CollUtil.isNotEmpty(sampleInfoList)) { - for (ExperimentSampleInfo sampleInfo : sampleInfoList) { - sampleInfo.setExperimentId(experiment.getId()); - experimentSampleInfoService.saveOrUpdate(sampleInfo); - } - } - List deviationConditionList = experiment.getDeviationConditionList(); - if (CollUtil.isNotEmpty(deviationConditionList)) { - for (ExperimentDeviationCondition deviationCondition : deviationConditionList) { - deviationCondition.setExperimentId(experiment.getId()); - experimentDeviationConditionService.saveOrUpdate(deviationCondition); - } - } - List deviationEquipmentList = experiment.getDeviationEquipmentList(); - if (CollUtil.isNotEmpty(deviationEquipmentList)) { - for (ExperimentDeviationEquipment deviationEquipment : deviationEquipmentList) { - deviationEquipment.setExperimentId(experiment.getId()); - experimentDeviationEquipmentService.saveOrUpdate(deviationEquipment); - } - } - List irradiationBoardList = experiment.getIrradiationBoardList(); - if (CollUtil.isNotEmpty(irradiationBoardList)) { - for (ExperimentIrradiationBoard irradiationBoard : irradiationBoardList) { - irradiationBoard.setExperimentId(experiment.getId()); - experimentIrradiationBoardService.saveOrUpdate(irradiationBoard); - } - } - experimentService.updateById(experiment); + experimentService.saveWithDetail(experiment); ExperimentLog experimentLog = new ExperimentLog(); experimentLog.setExperimentId(experiment.getId()); experimentLog.setLogContent("修改实验信息"); diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentFileController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentFileController.java new file mode 100644 index 0000000..84567e0 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentFileController.java @@ -0,0 +1,162 @@ +package org.jeecg.modules.database.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +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.entity.ExperimentFile; +import org.jeecg.modules.database.service.IExperimentFileService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import java.util.Arrays; + +/** + * @Description: 试验文件 + * @Author: jeecg-boot + * @Date: 2024-12-09 + * @Version: V1.0 + */ +@Tag(name = "试验文件") +@RestController +@RequestMapping("/database/experimentFile") +@Slf4j +public class ExperimentFileController extends JeecgController { + @Autowired + private IExperimentFileService experimentFileService; + + /** + * 分页列表查询 + * + * @param experimentFile + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "试验文件-分页列表查询") + @Operation(summary = "试验文件-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(ExperimentFile experimentFile, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(experimentFile, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = experimentFileService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param experimentFile + * @return + */ + @AutoLog(value = "试验文件-添加") + @Operation(summary = "试验文件-添加") + @RequiresPermissions("database:experiment_file:add") + @PostMapping(value = "/add") + public Result add(@RequestBody ExperimentFile experimentFile) { + experimentFileService.save(experimentFile); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param experimentFile + * @return + */ + @AutoLog(value = "试验文件-编辑") + @Operation(summary = "试验文件-编辑") + @RequiresPermissions("database:experiment_file:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody ExperimentFile experimentFile) { + experimentFileService.updateById(experimentFile); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "试验文件-通过id删除") + @Operation(summary = "试验文件-通过id删除") + @RequiresPermissions("database:experiment_file:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id) { + experimentFileService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "试验文件-批量删除") + @Operation(summary = "试验文件-批量删除") + @RequiresPermissions("database:experiment_file:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.experimentFileService.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) { + ExperimentFile experimentFile = experimentFileService.getById(id); + if (experimentFile == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(experimentFile); + } + + /** + * 导出excel + * + * @param request + * @param experimentFile + */ + @RequiresPermissions("database:experiment_file:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ExperimentFile experimentFile) { + return super.exportXls(request, experimentFile, ExperimentFile.class, "试验文件"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("database:experiment_file:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ExperimentFile.class); + } + +} 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 c119d3d..e5ccc62 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 @@ -173,21 +173,24 @@ public class Experiment implements Serializable { @Excel(name = "试验文件", width = 15) @Schema(description = "试验文件") private String files; + + @TableField(exist = false) + private List fileList; /** * 试验人员ID, 逗号分割多个 */ @TableField(exist = false) - private String experimentUser; + private String experimentUser; /** * 试验负责人 */ @TableField(exist = false) - private String supervisorName; + private String supervisorName; /** * 试验人员 */ @TableField(exist = false) - private List experimentUserList; + private List experimentUserList; // //public void addCopyCount() { // if (Objects.isNull(copyCount)) { diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentFile.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentFile.java new file mode 100644 index 0000000..05b5723 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/entity/ExperimentFile.java @@ -0,0 +1,73 @@ +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-12-09 + * @Version: V1.0 + */ +@Data +@TableName("experiment_file") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@Schema(description="试验文件") +public class ExperimentFile 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 fileName; + /**类型*/ + @Excel(name = "类型", width = 15) + @Schema(description = "类型") + private String fileType; + /**文件链接*/ + @Excel(name = "文件链接", width = 15) + @Schema(description = "文件链接") + private String fileUrl; +} diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/ExperimentFileMapper.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/ExperimentFileMapper.java new file mode 100644 index 0000000..7a3d066 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/ExperimentFileMapper.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.ExperimentFile; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 试验文件 + * @Author: jeecg-boot + * @Date: 2024-12-09 + * @Version: V1.0 + */ +public interface ExperimentFileMapper extends BaseMapper { + +} diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/xml/ExperimentFileMapper.xml b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/xml/ExperimentFileMapper.xml new file mode 100644 index 0000000..f79c7e3 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/mapper/xml/ExperimentFileMapper.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/IExperimentFileService.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentFileService.java new file mode 100644 index 0000000..5ce678d --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/IExperimentFileService.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.database.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.database.entity.ExperimentFile; + +import java.util.List; + +/** + * @Description: 试验文件 + * @Author: jeecg-boot + * @Date: 2024-12-09 + * @Version: V1.0 + */ +public interface IExperimentFileService extends IService { + + List getByExperimentId(String experimentId); +} 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 0a401cc..fdf2d93 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 @@ -17,4 +17,6 @@ public interface IExperimentService extends IService { void changeStatus(String experimentId, String status); + void saveWithDetail(Experiment experiment); + } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentFileServiceImpl.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentFileServiceImpl.java new file mode 100644 index 0000000..51a26f0 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentFileServiceImpl.java @@ -0,0 +1,25 @@ +package org.jeecg.modules.database.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.database.entity.ExperimentFile; +import org.jeecg.modules.database.mapper.ExperimentFileMapper; +import org.jeecg.modules.database.service.IExperimentFileService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description: 试验文件 + * @Author: jeecg-boot + * @Date: 2024-12-09 + * @Version: V1.0 + */ +@Service +public class ExperimentFileServiceImpl extends ServiceImpl implements IExperimentFileService { + + @Override + public List getByExperimentId(String experimentId) { + return list(new LambdaQueryWrapper().eq(ExperimentFile::getExperimentId, experimentId)); + } +} 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 d7332e6..5787a11 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 @@ -41,6 +41,9 @@ public class ExperimentServiceImpl extends ServiceImpl experimentFileList = experimentFileService.getByExperimentId(experiment.getId()); + if (CollUtil.isNotEmpty(experimentFileList)) { + experiment.setFileList(experimentFileList); + } + } @Override @@ -155,4 +163,49 @@ public class ExperimentServiceImpl extends ServiceImpl sampleInfoList = experiment.getSampleInfoList(); + if (CollUtil.isNotEmpty(sampleInfoList)) { + for (ExperimentSampleInfo sampleInfo : sampleInfoList) { + sampleInfo.setExperimentId(experiment.getId()); + experimentSampleInfoService.saveOrUpdate(sampleInfo); + } + } + List deviationConditionList = experiment.getDeviationConditionList(); + if (CollUtil.isNotEmpty(deviationConditionList)) { + for (ExperimentDeviationCondition deviationCondition : deviationConditionList) { + deviationCondition.setExperimentId(experiment.getId()); + experimentDeviationConditionService.saveOrUpdate(deviationCondition); + } + } + List deviationEquipmentList = experiment.getDeviationEquipmentList(); + if (CollUtil.isNotEmpty(deviationEquipmentList)) { + for (ExperimentDeviationEquipment deviationEquipment : deviationEquipmentList) { + deviationEquipment.setExperimentId(experiment.getId()); + experimentDeviationEquipmentService.saveOrUpdate(deviationEquipment); + } + } + List irradiationBoardList = experiment.getIrradiationBoardList(); + if (CollUtil.isNotEmpty(irradiationBoardList)) { + for (ExperimentIrradiationBoard irradiationBoard : irradiationBoardList) { + irradiationBoard.setExperimentId(experiment.getId()); + experimentIrradiationBoardService.saveOrUpdate(irradiationBoard); + } + } + + saveOrUpdate(experiment); + } } diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/uniapp/ExperimentFileForm.vue b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/uniapp/ExperimentFileForm.vue new file mode 100644 index 0000000..957ea7a --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/uniapp/ExperimentFileForm.vue @@ -0,0 +1,101 @@ + + + diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/uniapp/ExperimentFileList.vue b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/uniapp/ExperimentFileList.vue new file mode 100644 index 0000000..dd92e36 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/uniapp/ExperimentFileList.vue @@ -0,0 +1,44 @@ + + + + diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/ExperimentFile.api.ts b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/ExperimentFile.api.ts new file mode 100644 index 0000000..7a160de --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/ExperimentFile.api.ts @@ -0,0 +1,64 @@ +import {defHttp} from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/database/experimentFile/list', + save='/database/experimentFile/add', + edit='/database/experimentFile/edit', + deleteOne = '/database/experimentFile/delete', + deleteBatch = '/database/experimentFile/deleteBatch', + importExcel = '/database/experimentFile/importExcel', + exportXls = '/database/experimentFile/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/ExperimentFile.data.ts b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/ExperimentFile.data.ts new file mode 100644 index 0000000..0a7f781 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/ExperimentFile.data.ts @@ -0,0 +1,78 @@ +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: '试验ID', + align:"center", + dataIndex: 'experimentId' + }, + { + title: '文件名称', + align:"center", + dataIndex: 'fileName' + }, + { + title: '类型', + align:"center", + dataIndex: 'fileType' + }, + { + title: '文件链接', + align:"center", + dataIndex: 'fileUrl' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '试验ID', + field: 'experimentId', + component: 'Input', + }, + { + label: '文件名称', + field: 'fileName', + component: 'Input', + }, + { + label: '类型', + field: 'fileType', + component: 'Input', + }, + { + label: '文件链接', + field: 'fileUrl', + component: 'Input', + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + experimentId: {title: '试验ID',order: 0,view: 'text', type: 'string',}, + fileName: {title: '文件名称',order: 1,view: 'text', type: 'string',}, + fileType: {title: '类型',order: 2,view: 'text', type: 'string',}, + fileUrl: {title: '文件链接',order: 3,view: 'text', type: 'string',}, +}; + +/** +* 流程表单调用这个方法获取formSchema +* @param param +*/ +export function getBpmFormSchema(_formData): FormSchema[]{ + // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema + return formSchema; +} \ No newline at end of file diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/ExperimentFileList.vue b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/ExperimentFileList.vue new file mode 100644 index 0000000..78904da --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/ExperimentFileList.vue @@ -0,0 +1,188 @@ + + + + + \ No newline at end of file diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/V20241209_1__menu_insert_ExperimentFile.sql b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/V20241209_1__menu_insert_ExperimentFile.sql new file mode 100644 index 0000000..1b7faf7 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/V20241209_1__menu_insert_ExperimentFile.sql @@ -0,0 +1,26 @@ +-- 注意:该页面对应的前台目录为views/database文件夹下 +-- 如果你想更改到其他目录,请修改sql中component字段对应的值 + + +INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) +VALUES ('2024120903338100040', NULL, '试验文件', '/database/experimentFileList', 'database/ExperimentFileList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2024-12-09 15:33:04', NULL, NULL, 0); + +-- 权限控制sql +-- 新增 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024120903338100041', '2024120903338100040', '添加试验文件', NULL, NULL, 0, NULL, NULL, 2, 'database:experiment_file:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-12-09 15:33:04', NULL, NULL, 0, 0, '1', 0); +-- 编辑 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024120903338100042', '2024120903338100040', '编辑试验文件', NULL, NULL, 0, NULL, NULL, 2, 'database:experiment_file:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-12-09 15:33:04', NULL, NULL, 0, 0, '1', 0); +-- 删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024120903338100043', '2024120903338100040', '删除试验文件', NULL, NULL, 0, NULL, NULL, 2, 'database:experiment_file:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-12-09 15:33:04', NULL, NULL, 0, 0, '1', 0); +-- 批量删除 +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024120903338100044', '2024120903338100040', '批量删除试验文件', NULL, NULL, 0, NULL, NULL, 2, 'database:experiment_file:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-12-09 15:33:04', NULL, NULL, 0, 0, '1', 0); +-- 导出excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024120903338100045', '2024120903338100040', '导出excel_试验文件', NULL, NULL, 0, NULL, NULL, 2, 'database:experiment_file:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-12-09 15:33:04', NULL, NULL, 0, 0, '1', 0); +-- 导入excel +INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) +VALUES ('2024120903338100046', '2024120903338100040', '导入excel_试验文件', NULL, NULL, 0, NULL, NULL, 2, 'database:experiment_file:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2024-12-09 15:33:04', NULL, NULL, 0, 0, '1', 0); \ No newline at end of file diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/components/ExperimentFileForm.vue b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/components/ExperimentFileForm.vue new file mode 100644 index 0000000..924beb3 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/components/ExperimentFileForm.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/components/ExperimentFileModal.vue b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/components/ExperimentFileModal.vue new file mode 100644 index 0000000..7d12708 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/vue3/components/ExperimentFileModal.vue @@ -0,0 +1,68 @@ + + + + + \ No newline at end of file diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java index 755fd6a..516bc14 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java @@ -70,7 +70,7 @@ public class LoginController { String password = sysLoginModel.getPassword(); if (isLoginFailOvertimes(username)) { long expire = redisUtil.getExpire(CommonConstant.LOGIN_FAIL + username); - return result.error500("该用户登录失败次数过多,请于" + (expire / 60) + 1 + "分钟后再次登录!"); + return result.error500("该用户登录失败次数过多,请于" + ((expire / 60) + 1) + "分钟后再次登录!"); } // step.1 验证码check @@ -185,7 +185,8 @@ public class LoginController { LoginUser sysUser = sysBaseApi.getUserByName(username); if (sysUser != null) { //update-begin--Author:wangshuai Date:20200714 for:登出日志没有记录人员 - baseCommonService.addLog("用户名: " + sysUser.getRealname() + ",退出成功!", CommonConstant.LOG_TYPE_1, null, sysUser,new Date()); + baseCommonService.addLog("用户名: " + sysUser.getRealname() + ",退出成功!", CommonConstant.LOG_TYPE_1, null, sysUser, + new Date()); //update-end--Author:wangshuai Date:20200714 for:登出日志没有记录人员 log.info(" 用户名: " + sysUser.getRealname() + ",退出成功! "); //清空用户登录Token缓存