diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/context/CustomSheetWriteHandler.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/context/CustomSheetWriteHandler.java index a089af7..7f0dfde 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/context/CustomSheetWriteHandler.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/context/CustomSheetWriteHandler.java @@ -66,7 +66,7 @@ public class CustomSheetWriteHandler implements SheetWriteHandler { deptNames.add(dept.getDeptName()); } } - CellRangeAddressList cellRangeAddressList1 = new CellRangeAddressList(1, 100, 7, 7); + CellRangeAddressList cellRangeAddressList1 = new CellRangeAddressList(1, 100, 6, 6); DataValidationHelper helper1 = writeSheetHolder.getSheet().getDataValidationHelper(); DataValidationConstraint constraint1 = helper1.createExplicitListConstraint(deptNames.stream().toArray(String[]::new)); DataValidation dataValidation1 = helper1.createValidation(constraint1, cellRangeAddressList1); @@ -79,7 +79,7 @@ public class CustomSheetWriteHandler implements SheetWriteHandler { for (User user : userList) { userNames.add(user.getName()); } - CellRangeAddressList cellRangeAddressList2 = new CellRangeAddressList(1, 100, 8, 8); + CellRangeAddressList cellRangeAddressList2 = new CellRangeAddressList(1, 100, 7, 7); DataValidationHelper helper2 = writeSheetHolder.getSheet().getDataValidationHelper(); DataValidationConstraint constraint2 = helper2.createExplicitListConstraint(userNames.stream().toArray(String[]::new)); DataValidation dataValidation2 = helper2.createValidation(constraint2, cellRangeAddressList2); diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/DataBaseController.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/ProjectDatabaseController.java similarity index 61% rename from lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/DataBaseController.java rename to lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/ProjectDatabaseController.java index 642838c..e5e8637 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/DataBaseController.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/ProjectDatabaseController.java @@ -3,6 +3,8 @@ package org.springblade.plugin.operation.database.controller; import com.alibaba.excel.EasyExcel; import com.alibaba.nacos.common.utils.CollectionUtils; +import com.alibaba.nacos.common.utils.StringUtils; +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.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -20,12 +22,16 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.plugin.operation.database.context.CustomCellWriteHandler; import org.springblade.plugin.operation.database.context.CustomSheetWriteHandler; -import org.springblade.plugin.operation.database.entity.DataBase; +import org.springblade.plugin.operation.database.entity.ModuleDatatable; +import org.springblade.plugin.operation.database.entity.ProjectDatabase; +import org.springblade.plugin.operation.database.entity.ProjectDatabasePo; +import org.springblade.plugin.operation.database.entity.ProjectDatabaseVo; import org.springblade.plugin.operation.database.excel.DatabaseExcel; import org.springblade.plugin.operation.database.excel.UploadReturn; -import org.springblade.plugin.operation.database.service.IDataBaseService; -import org.springblade.plugin.operation.database.service.IDataTableService; -import org.springblade.plugin.operation.database.vo.DataBaseVO; +import org.springblade.plugin.operation.database.service.IProjectDatabaseService; +import org.springblade.plugin.operation.database.service.IModuleDatatableService; +import org.springblade.plugin.operation.system.entity.ModuleInfo; +import org.springblade.plugin.operation.system.entity.ProjectInfo; import org.springblade.system.entity.Dept; import org.springblade.system.feign.ISysClient; import org.springblade.system.user.entity.User; @@ -51,11 +57,11 @@ import java.util.*; @AllArgsConstructor @RequestMapping("/database") @Api(value = "接口权限", tags = "接口权限") -public class DataBaseController extends BladeController { +public class ProjectDatabaseController extends BladeController { - private final IDataBaseService dataBaseService; + private final IProjectDatabaseService dataBaseService; - private final IDataTableService dataTableService; + private final IModuleDatatableService dataTableService; private final ISysClient sysClient; @@ -66,13 +72,19 @@ public class DataBaseController extends BladeController { */ @ApiLog("数据运维-查看数据库列表") @GetMapping("/list") - public R> list(DataBase dataBase, Query query) { - IPage pages = dataTableService.pageVO(Condition.getPage(query), dataBase); - List dataTableList = pages.getRecords(); + public R> list(ProjectDatabase dataBase, Query query) { + IPage pages = dataTableService.pageVO(Condition.getPage(query), dataBase); + List dataTableList = pages.getRecords(); if (CollectionUtils.isNotEmpty(dataTableList)) { - for (DataBaseVO table : dataTableList) { + for (ProjectDatabaseVo table : dataTableList) { table.setDeptName(sysClient.getDeptName(table.getDeptId()).getData()); table.setCompanyName(userClient.userInfoById(table.getCompany()).getData().getName()); + if (StringUtils.isNotBlank(table.getDataBaseAlias())) { + table.setDatabaseProjectName(table.getDataBaseAlias() + "(" + table.getDatabaseProjectName() + ")"); + } + if (StringUtils.isNotBlank(table.getDataTableAlias())) { + table.setDatatableModuleName(table.getDataTableAlias() + "(" + table.getDatatableModuleName() + ")"); + } } pages.setRecords(dataTableList); } @@ -101,8 +113,11 @@ public class DataBaseController extends BladeController { @PostMapping("/save") @ApiOperationSupport(order = 3) @ApiOperation(value = "新增", notes = "传入dataScope") - public R save(@Valid @RequestBody DataBase dataBase) { - return R.status(dataBaseService.save(dataBase)); + public R save(@Valid @RequestBody ProjectDatabasePo dataBase) { + if (dataBaseService.saveProAndMod(dataBase)) { + return R.status(true); + } + return R.success("数据重复,添加失败!"); } /** @@ -111,7 +126,7 @@ public class DataBaseController extends BladeController { @PostMapping("/update") @ApiOperationSupport(order = 4) @ApiOperation(value = "修改", notes = "传入dataScope") - public R update(@Valid @RequestBody DataBase dataBase) { + public R update(@Valid @RequestBody ProjectDatabase dataBase) { return R.status(dataBaseService.updateById(dataBase)); } @@ -131,7 +146,7 @@ public class DataBaseController extends BladeController { @ApiLog("数据运维-导入数据库Excel模板") @PostMapping("/dataImport") public R dataImport(MultipartFile file) { - return R.status(dataBaseService.dataImport(file)); + return R.success(dataBaseService.dataImport(file)); } /** @@ -144,15 +159,15 @@ public class DataBaseController extends BladeController { DatabaseExcel excel = new DatabaseExcel(); excel.setDataBaseIp("127.0.0.1"); excel.setDataBasePort("1000"); - excel.setDataBaseName("work_order"); + excel.setDatabaseProjectName("work_order"); excel.setDataBaseAlias("工单数据库"); excel.setSystemName("工单系统"); - excel.setSystemModuleName("数据运维"); - excel.setDataTableName("t_task_info"); + excel.setDatatableModuleName("t_task_info"); excel.setDataTableAlias("任务种类"); excels.add(excel); // ExcelUtil.export(response, "数据库数据" + DateUtil.time(), "数据库数据", excels, DatabaseExcel.class); String path = sysClient.getParamValue("data_base_excel_path").getData(); +// String path = "D:\\360MoveData\\Users\\AAA\\Desktop\\ceshilujin\\"; String fileName = path + UUID.randomUUID().toString() + ".xlsx"; // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭 EasyExcel.write(fileName, DatabaseExcel.class).registerWriteHandler(new CustomSheetWriteHandler()) @@ -275,20 +290,31 @@ public class DataBaseController extends BladeController { * 列表数据返回 */ @GetMapping("/listData") - public R listData() { + public R listData(String databaseProName, String datatableModName) { Map map = new HashMap<>(); - // 数据库实例名集合 - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.select("DISTINCT data_base_name"); - map.put("dataBaseNames", dataBaseService.list(wrapper)); + // 数据库/系统名称集合 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.select("DISTINCT database_project_name"); + if (StringUtils.isNotBlank(databaseProName)) { + wrapper.like("database_project_name", databaseProName); + } + map.put("dataBaseProjectNames", dataBaseService.list(wrapper)); wrapper.clear(); + // 数据表/系统模块集合 + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.select("DISTINCT datatable_module_name"); + if (StringUtils.isNotBlank(datatableModName)) { + wrapper1.like("datatable_module_name", datatableModName); + } + map.put("dataTableModuleNames", dataTableService.list(wrapper1)); + // 运维公司集合 wrapper.select("DISTINCT company"); - List dataBases = dataBaseService.list(wrapper); + List dataBases = dataBaseService.list(wrapper); if (CollectionUtils.isNotEmpty(dataBases)) { List users = new ArrayList<>(); - for (DataBase dataBase : dataBases) { + for (ProjectDatabase dataBase : dataBases) { User user = userClient.userInfoById(dataBase.getCompany()).getData(); users.add(user); } @@ -298,10 +324,10 @@ public class DataBaseController extends BladeController { // 部门集合 wrapper.select("DISTINCT dept_id"); - List depts = dataBaseService.list(wrapper); + List depts = dataBaseService.list(wrapper); if (CollectionUtils.isNotEmpty(depts)) { List deptList = new ArrayList<>(); - for (DataBase dataBase : depts) { + for (ProjectDatabase dataBase : depts) { Dept dept = sysClient.getDept(dataBase.getDeptId()).getData(); deptList.add(dept); } @@ -309,4 +335,84 @@ public class DataBaseController extends BladeController { } return R.data(map); } + + /** + * 组合数据库和系统数据 + */ + @GetMapping("/projectAndDataBase") + public R taskAndDataBase(String id) { + // 数据库数据 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.select(ProjectDatabase::getId, ProjectDatabase::getDatabaseProjectName, ProjectDatabase::getDataBaseIp); + wrapper.eq(ProjectDatabase::getCompany, id); + List dataBaseList = dataBaseService.list(wrapper); + if (CollectionUtils.isNotEmpty(dataBaseList)) { + for (ProjectDatabase dataBase : dataBaseList) { + if (StringUtils.isNotBlank(dataBase.getDataBaseIp())) { + dataBase.setDatabaseProjectName(dataBase.getDatabaseProjectName() + "(" + dataBase.getDataBaseIp() + ")"); + } + } + } + + // 系统名称数据 +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.select("DISTINCT project_info_id"); +// queryWrapper.eq("maintenance_dept_id", id); +// List moduleInfoList = moduleInfoService.list(queryWrapper); +// if (CollectionUtils.isNotEmpty(moduleInfoList)) { +// for (ModuleInfo moduleInfo : moduleInfoList) { +// TaskAndDataBase taskAndDataBase = new TaskAndDataBase(); +// taskAndDataBase.setId(moduleInfo.getProjectInfoId()); +// taskAndDataBase.setName(projectInfoService.getById(moduleInfo.getProjectInfoId()).getProjectName()); +// taskAndDataBase.setType(1); +// list.add(taskAndDataBase); +// } +// } + return R.data(dataBaseList); + } + + /** + * 获取系统模块或数据表 + */ + @GetMapping("/moduleAndDataTable") + public R moduleAndDataTable(String id) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.select(ModuleDatatable::getDataTableAlias, ModuleDatatable::getDatatableModuleName, ModuleDatatable::getId); + wrapper.eq(ModuleDatatable::getProjectDatabaseId, id); + List dataTableList = dataTableService.list(wrapper); + if (CollectionUtils.isNotEmpty(dataTableList)) { + for (ModuleDatatable dataTable : dataTableList) { + if (StringUtils.isNotBlank(dataTable.getDataTableAlias())) { + dataTable.setDatatableModuleName(dataTable.getDataTableAlias() + "(" + dataTable.getDatatableModuleName() + ")"); + } + } + } + return R.data(dataTableList); + } + + /** + * 获取新增系统所需数据 + */ + @GetMapping("/basicData") + public R allProject() { + Map map = new HashMap<>(); + // 数据库/系统名称集合 +// QueryWrapper wrapper = new QueryWrapper<>(); +// wrapper.select("id,database_project_name"); + map.put("dataBaseProjectNames", dataBaseService.list()); + + // 运维公司 + List users = userClient.listRolebyId("运维公司").getData(); + if (CollectionUtils.isNotEmpty(users)) { + map.put("users", users); + } + + // 分管部门 + List depts = sysClient.getDepts().getData(); + if (CollectionUtils.isNotEmpty(depts)) { + map.put("depts", depts); + } + + return R.data(map); + } } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/DataTable.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/DataTable.java deleted file mode 100644 index 5100dd7..0000000 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/DataTable.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.springblade.plugin.operation.database.entity; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.springblade.core.tenant.mp.TenantEntity; - -@Data -@TableName("t_data_table") -@EqualsAndHashCode(callSuper = true) -public class DataTable extends TenantEntity { - - private static final long serialVersionUID = 1L; - - /** - * 数据库id - */ - private Long dataBaseId; - - /** - * 模块名称 - */ - private String systemModuleName; - - /** - * 表名称 - */ - private String dataTableName; - - /** - * 中文别名 - */ - private String dataTableAlias; - - /** - * 管理部门id - */ - @TableField(exist = false) - private Long deptId; - - /** - * 管理部门 - */ - @TableField(exist = false) - private String deptName; - - /** - * 运维公司id - */ - @TableField(exist = false) - private Long company; - - /** - * 运维公司 - */ - @TableField(exist = false) - private String companyName; - - /** - * 数据库名称 - */ - @TableField(exist = false) - private String dataBaseName; - - /** - * 数据库中文别名 - */ - @TableField(exist = false) - private String dataBaseAlias; - - /** - * 数据库类型 - */ - @TableField(exist = false) - private Integer dataBaseType; - - /** - * 数据库ip - */ - @TableField(exist = false) - private String dataBaseIp; - - /** - * 数据库端口 - */ - @TableField(exist = false) - private String dataBasePort; - - /** - * 系统名称 - */ - @TableField(exist = false) - private String systemName; - -} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/ModuleDatatable.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/ModuleDatatable.java new file mode 100644 index 0000000..b1d2c85 --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/ModuleDatatable.java @@ -0,0 +1,36 @@ +package org.springblade.plugin.operation.database.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; + +@Data +@TableName("t_module_datatable") +@EqualsAndHashCode(callSuper = true) +public class ModuleDatatable extends TenantEntity { + + private static final long serialVersionUID = 1L; + + /** + * 数据库id + */ + private Long projectDatabaseId; + + /** + * 表名称 + */ + private String datatableModuleName; + + /** + * 中文别名 + */ + private String dataTableAlias; + + /** + * 模块名称(先留着,不给前端返回) + */ + private String systemModuleName; + +} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/DataBase.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/ProjectDatabase.java similarity index 63% rename from lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/DataBase.java rename to lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/ProjectDatabase.java index 0b29042..748036c 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/DataBase.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/ProjectDatabase.java @@ -1,21 +1,28 @@ package org.springblade.plugin.operation.database.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.tenant.mp.TenantEntity; @Data -@TableName("t_data_base") +@TableName("t_project_database") @EqualsAndHashCode(callSuper = true) -public class DataBase extends TenantEntity { +public class ProjectDatabase extends TenantEntity { private static final long serialVersionUID = 1L; /** - * 数据库名称 + * 数据库/系统名称 */ - private String dataBaseName; + private String databaseProjectName; + + /** + * 数据库/系统名称 + */ +// @TableField(exist = false) +// private String datatableModuleName; /** * 数据库中文别名 @@ -23,9 +30,9 @@ public class DataBase extends TenantEntity { private String dataBaseAlias; /** - * 数据库类型 + * 类型 */ - private Integer dataBaseType; + private Integer type; /** * 数据库版本 @@ -43,7 +50,7 @@ public class DataBase extends TenantEntity { private String dataBasePort; /** - * 系统名称 + * 所属系统 */ private String systemName; @@ -57,4 +64,7 @@ public class DataBase extends TenantEntity { */ private Long company; + + @TableField(exist = false) + private String datatableModuleName; } \ No newline at end of file diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/excel/DatabaseExcel.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/excel/DatabaseExcel.java index b1dd385..6ddf0db 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/excel/DatabaseExcel.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/excel/DatabaseExcel.java @@ -20,24 +20,24 @@ public class DatabaseExcel implements Serializable { private String dataBasePort; @ColumnWidth(20) - @ExcelProperty("数据库实例") - private String dataBaseName; + @ExcelProperty("数据库/系统名称") + private String databaseProjectName; @ColumnWidth(20) - @ExcelProperty("数据库类型") - private String dataBaseType; + @ExcelProperty("类型") + private String type; @ColumnWidth(20) - @ExcelProperty("数据库中文名") + @ExcelProperty("数据库/系统别名") private String dataBaseAlias; @ColumnWidth(20) - @ExcelProperty("系统名称") + @ExcelProperty("所属系统") private String systemName; - @ColumnWidth(20) - @ExcelProperty("模块名称") - private String systemModuleName; +// @ColumnWidth(20) +// @ExcelProperty("模块名称") +// private String systemModuleName; @ColumnWidth(20) @ExcelProperty("管理部门") @@ -48,11 +48,11 @@ public class DatabaseExcel implements Serializable { private String company; @ColumnWidth(20) - @ExcelProperty("表名") - private String dataTableName; + @ExcelProperty("数据表/系统模块") + private String datatableModuleName; @ColumnWidth(20) - @ExcelProperty("中文表别名") + @ExcelProperty("数据表/系统模块别名") private String dataTableAlias; } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataTableMapper.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataTableMapper.java deleted file mode 100644 index 1e646a1..0000000 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataTableMapper.java +++ /dev/null @@ -1,22 +0,0 @@ - -package org.springblade.plugin.operation.database.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Param; -import org.springblade.plugin.operation.database.entity.DataBase; -import org.springblade.plugin.operation.database.entity.DataTable; -import org.springblade.plugin.operation.database.vo.DataBaseVO; - -import java.util.List; - -/** - * Mapper 接口 - * - * @author BladeX - */ -public interface DataTableMapper extends BaseMapper { - - List page(@Param("dataBase")DataBase dataBase, @Param("current")long current, @Param("size")long size); - - long dataCount(@Param("dataBase")DataBase dataBase); -} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataTableMapper.xml b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataTableMapper.xml deleted file mode 100644 index d82c36a..0000000 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataTableMapper.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ModuleDatatableMapper.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ModuleDatatableMapper.java new file mode 100644 index 0000000..0fde1a8 --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ModuleDatatableMapper.java @@ -0,0 +1,22 @@ + +package org.springblade.plugin.operation.database.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.springblade.plugin.operation.database.entity.ProjectDatabase; +import org.springblade.plugin.operation.database.entity.ModuleDatatable; +import org.springblade.plugin.operation.database.entity.ProjectDatabaseVo; + +import java.util.List; + +/** + * Mapper 接口 + * + * @author BladeX + */ +public interface ModuleDatatableMapper extends BaseMapper { + + List page(@Param("dataBase") ProjectDatabase dataBase, @Param("current")long current, @Param("size")long size); + + long dataCount(@Param("dataBase") ProjectDatabase dataBase); +} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ModuleDatatableMapper.xml b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ModuleDatatableMapper.xml new file mode 100644 index 0000000..29c139b --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ModuleDatatableMapper.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataBaseMapper.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ProjectDatabaseMapper.java similarity index 52% rename from lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataBaseMapper.java rename to lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ProjectDatabaseMapper.java index 3b2be7d..f82d75f 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataBaseMapper.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ProjectDatabaseMapper.java @@ -2,13 +2,13 @@ package org.springblade.plugin.operation.database.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.springblade.plugin.operation.database.entity.DataBase; +import org.springblade.plugin.operation.database.entity.ProjectDatabase; /** * Mapper 接口 * * @author BladeX */ -public interface DataBaseMapper extends BaseMapper { +public interface ProjectDatabaseMapper extends BaseMapper { } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataBaseMapper.xml b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ProjectDatabaseMapper.xml similarity index 88% rename from lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataBaseMapper.xml rename to lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ProjectDatabaseMapper.xml index 4b919df..72a06dd 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataBaseMapper.xml +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ProjectDatabaseMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IDataBaseService.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IDataBaseService.java deleted file mode 100644 index 12882c6..0000000 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IDataBaseService.java +++ /dev/null @@ -1,16 +0,0 @@ - -package org.springblade.plugin.operation.database.service; - -import org.springblade.core.mp.base.BaseService; -import org.springblade.plugin.operation.database.entity.DataBase; -import org.springframework.web.multipart.MultipartFile; - -/** - * 服务类 - * - * @author BladeX - */ -public interface IDataBaseService extends BaseService { - - boolean dataImport(MultipartFile file); -} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IDataTableService.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IDataTableService.java deleted file mode 100644 index 948824e..0000000 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IDataTableService.java +++ /dev/null @@ -1,20 +0,0 @@ - -package org.springblade.plugin.operation.database.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import org.springblade.core.mp.base.BaseService; -import org.springblade.core.mp.support.Query; -import org.springblade.plugin.operation.database.entity.DataBase; -import org.springblade.plugin.operation.database.entity.DataTable; -import org.springblade.plugin.operation.database.vo.DataBaseVO; - -/** - * 服务类 - * - * - * @author BladeX - */ -public interface IDataTableService extends BaseService { - - IPage pageVO(IPage page, DataBase dataBase); -} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IModuleDatatableService.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IModuleDatatableService.java new file mode 100644 index 0000000..addeb08 --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IModuleDatatableService.java @@ -0,0 +1,19 @@ + +package org.springblade.plugin.operation.database.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.springblade.core.mp.base.BaseService; +import org.springblade.plugin.operation.database.entity.ProjectDatabase; +import org.springblade.plugin.operation.database.entity.ModuleDatatable; +import org.springblade.plugin.operation.database.entity.ProjectDatabaseVo; + +/** + * 服务类 + * + * + * @author BladeX + */ +public interface IModuleDatatableService extends BaseService { + + IPage pageVO(IPage page, ProjectDatabase dataBase); +} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IProjectDatabaseService.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IProjectDatabaseService.java new file mode 100644 index 0000000..410acd5 --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IProjectDatabaseService.java @@ -0,0 +1,19 @@ + +package org.springblade.plugin.operation.database.service; + +import org.springblade.core.mp.base.BaseService; +import org.springblade.plugin.operation.database.entity.ProjectDatabase; +import org.springblade.plugin.operation.database.entity.ProjectDatabasePo; +import org.springframework.web.multipart.MultipartFile; + +/** + * 服务类 + * + * @author BladeX + */ +public interface IProjectDatabaseService extends BaseService { + + String dataImport(MultipartFile file); + + boolean saveProAndMod(ProjectDatabasePo dataBase) ; +} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataBaseServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataBaseServiceImpl.java deleted file mode 100644 index eb2c7c0..0000000 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataBaseServiceImpl.java +++ /dev/null @@ -1,138 +0,0 @@ - -package org.springblade.plugin.operation.database.service.impl; - -import com.alibaba.nacos.common.utils.CollectionUtils; -import com.alibaba.nacos.common.utils.StringUtils; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import lombok.AllArgsConstructor; -import org.springblade.core.excel.util.ExcelUtil; -import org.springblade.core.mp.base.BaseServiceImpl; -import org.springblade.core.secure.utils.AuthUtil; -import org.springblade.core.tool.utils.BeanUtil; -import org.springblade.plugin.operation.database.entity.DataBase; -import org.springblade.plugin.operation.database.entity.DataTable; -import org.springblade.plugin.operation.database.excel.DatabaseExcel; -import org.springblade.plugin.operation.database.mapper.DataBaseMapper; -import org.springblade.plugin.operation.database.service.IDataBaseService; -import org.springblade.plugin.operation.database.service.IDataTableService; -import org.springblade.system.cache.DictBizCache; -import org.springblade.system.feign.ISysClient; -import org.springblade.system.user.entity.User; -import org.springblade.system.user.feign.IUserClient; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.multipart.MultipartFile; - -import java.util.List; - -/** - * 服务实现类 - * @author BladeX - */ -@Service -@AllArgsConstructor -public class DataBaseServiceImpl extends BaseServiceImpl implements IDataBaseService { - - private final IDataTableService dataTableService; - - private final ISysClient sysClient; - - private final IUserClient userClient; - - @Override - @Transactional(rollbackFor = Exception.class) - public boolean dataImport(MultipartFile file) { - List excelList = ExcelUtil.read(file, DatabaseExcel.class); - if (CollectionUtils.isNotEmpty(excelList)) { -// List dataTableList = new ArrayList<>(); - for (DatabaseExcel item : excelList) { - // 如果数据库类型不存在,跳过这条数据 - if (StringUtils.isBlank(DictBizCache.getKey("database_type", item.getDataBaseType()))) { - continue; - } - Integer databaseType = Integer.parseInt(DictBizCache.getKey("database_type", item.getDataBaseType())); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.select(DataBase::getId); - wrapper.eq(DataBase::getDataBaseName, item.getDataBaseName()); -// wrapper.eq(DataBase::getDataBaseType, databaseType); - wrapper.eq(DataBase::getDataBaseIp, item.getDataBaseIp()); - wrapper.eq(DataBase::getDataBasePort,item.getDataBasePort()); - DataBase base = getOne(wrapper); - if (base == null) { - // 数据库 - DataBase dataBase = BeanUtil.copy(item, DataBase.class); - String data = sysClient.getDeptIds(AuthUtil.getTenantId(), item.getDeptId()).getData(); - User user = userClient.userInfoByName(AuthUtil.getTenantId(), item.getCompany()).getData(); - dataBase.setDataBaseType(databaseType); - dataBase.setDeptId(Long.parseLong(data)); - dataBase.setCompany(user.getId()); - save(dataBase); - - // 数据表 - DataTable dataTable = BeanUtil.copy(item, DataTable.class); - dataTable.setDataBaseId(dataBase.getId()); -// dataTableList.add(dataTable); - dataTableService.save(dataTable); - } else { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(DataTable::getDataBaseId, base.getId()); - queryWrapper.eq(DataTable::getDataTableName, item.getDataTableName()); - int count = dataTableService.count(queryWrapper); - if (count <= 0) { - // 数据表 - DataTable dataTable = BeanUtil.copy(item, DataTable.class); - dataTable.setDataBaseId(base.getId()); - dataTableService.save(dataTable); -// dataTableList.add(dataTable); - } - } - } -// excelList.forEach(item -> { -// String key = DictBizCache.getKey("database_type", item.getDataBaseType()); -// if (StringUtils.isBlank(key)) { -// -// } -// Integer databaseType = Integer.parseInt(DictBizCache.getKey("database_type", item.getDataBaseType())); -// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); -// wrapper.select(DataBase::getId); -// wrapper.eq(DataBase::getDataBaseName, item.getDataBaseName()); -//// wrapper.eq(DataBase::getDataBaseType, databaseType); -// wrapper.eq(DataBase::getDataBaseIp, item.getDataBaseIp()); -// wrapper.eq(DataBase::getDataBasePort,item.getDataBasePort()); -// DataBase base = getOne(wrapper); -// if (base == null) { -// // 数据库 -// DataBase dataBase = BeanUtil.copy(item, DataBase.class); -// String data = sysClient.getDeptIds(AuthUtil.getTenantId(), item.getDeptId()).getData(); -// User user = userClient.userInfoByName(AuthUtil.getTenantId(), item.getCompany()).getData(); -// dataBase.setDataBaseType(databaseType); -// dataBase.setDeptId(Long.parseLong(data)); -// dataBase.setCompany(user.getId()); -// save(dataBase); -// -// // 数据表 -// DataTable dataTable = BeanUtil.copy(item, DataTable.class); -// dataTable.setDataBaseId(dataBase.getId()); -//// dataTableList.add(dataTable); -// dataTableService.save(dataTable); -// } else { -// LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); -// queryWrapper.eq(DataTable::getDataBaseId, base.getId()); -// queryWrapper.eq(DataTable::getDataTableName, item.getDataTableName()); -// int count = dataTableService.count(queryWrapper); -// if (count <= 0) { -// // 数据表 -// DataTable dataTable = BeanUtil.copy(item, DataTable.class); -// dataTable.setDataBaseId(base.getId()); -// dataTableService.save(dataTable); -//// dataTableList.add(dataTable); -// } -// } -// }); -// return dataTableService.saveBatch(dataTableList); - return true; - } - return false; - } - -} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataTableServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataTableServiceImpl.java deleted file mode 100644 index 89579f7..0000000 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataTableServiceImpl.java +++ /dev/null @@ -1,31 +0,0 @@ - -package org.springblade.plugin.operation.database.service.impl; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import lombok.AllArgsConstructor; -import org.springblade.core.mp.base.BaseServiceImpl; -import org.springblade.plugin.operation.database.entity.DataBase; -import org.springblade.plugin.operation.database.entity.DataTable; -import org.springblade.plugin.operation.database.mapper.DataTableMapper; -import org.springblade.plugin.operation.database.service.IDataTableService; -import org.springblade.plugin.operation.database.vo.DataBaseVO; -import org.springframework.stereotype.Service; - -/** - * 服务实现类 - * - * @author BladeX - */ -@Service -@AllArgsConstructor -public class DataTableServiceImpl extends BaseServiceImpl implements IDataTableService { - - private final DataTableMapper dataTableMapper; - - @Override - public IPage pageVO(IPage page, DataBase dataBase) { - page.setTotal(dataTableMapper.dataCount(dataBase)); - return page.setRecords(dataTableMapper.page(dataBase, (page.getCurrent() - 1) * page.getSize(), page.getSize())); - } - -} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/ModuleDatatableServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/ModuleDatatableServiceImpl.java new file mode 100644 index 0000000..14a0ba3 --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/ModuleDatatableServiceImpl.java @@ -0,0 +1,31 @@ + +package org.springblade.plugin.operation.database.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.AllArgsConstructor; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.plugin.operation.database.entity.ProjectDatabase; +import org.springblade.plugin.operation.database.entity.ModuleDatatable; +import org.springblade.plugin.operation.database.entity.ProjectDatabaseVo; +import org.springblade.plugin.operation.database.mapper.ModuleDatatableMapper; +import org.springblade.plugin.operation.database.service.IModuleDatatableService; +import org.springframework.stereotype.Service; + +/** + * 服务实现类 + * + * @author BladeX + */ +@Service +@AllArgsConstructor +public class ModuleDatatableServiceImpl extends BaseServiceImpl implements IModuleDatatableService { + + private final ModuleDatatableMapper moduleDatatableMapper; + + @Override + public IPage pageVO(IPage page, ProjectDatabase dataBase) { + page.setTotal(moduleDatatableMapper.dataCount(dataBase)); + return page.setRecords(moduleDatatableMapper.page(dataBase, (page.getCurrent() - 1) * page.getSize(), page.getSize())); + } + +} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/ProjectDatabaseServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/ProjectDatabaseServiceImpl.java new file mode 100644 index 0000000..be2f465 --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/ProjectDatabaseServiceImpl.java @@ -0,0 +1,183 @@ + +package org.springblade.plugin.operation.database.service.impl; + +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.alibaba.nacos.common.utils.StringUtils; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.AllArgsConstructor; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.plugin.operation.database.entity.ProjectDatabase; +import org.springblade.plugin.operation.database.entity.ModuleDatatable; +import org.springblade.plugin.operation.database.entity.ProjectDatabasePo; +import org.springblade.plugin.operation.database.excel.DatabaseExcel; +import org.springblade.plugin.operation.database.mapper.ProjectDatabaseMapper; +import org.springblade.plugin.operation.database.service.IProjectDatabaseService; +import org.springblade.plugin.operation.database.service.IModuleDatatableService; +import org.springblade.system.cache.DictBizCache; +import org.springblade.system.feign.ISysClient; +import org.springblade.system.user.entity.User; +import org.springblade.system.user.feign.IUserClient; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import java.util.ArrayList; +import java.util.List; + +/** + * 服务实现类 + * + * @author BladeX + */ +@Service +@AllArgsConstructor +public class ProjectDatabaseServiceImpl extends BaseServiceImpl implements IProjectDatabaseService { + + private final IModuleDatatableService dataTableService; + + private final ISysClient sysClient; + + private final IUserClient userClient; + + @Override + @Transactional(rollbackFor = Exception.class) + public String dataImport(MultipartFile file) { + List excelList = ExcelUtil.read(file, DatabaseExcel.class); + int total = excelList.size(); + int success = 0; + int lose = 0; + if (CollectionUtils.isNotEmpty(excelList)) { + for (DatabaseExcel item : excelList) { + // 如果类型不存在,跳过这条数据 + if (StringUtils.isBlank(DictBizCache.getKey("database_type", item.getType())) || + StringUtils.isBlank(item.getDatabaseProjectName()) || + StringUtils.isBlank(item.getDatatableModuleName()) || + StringUtils.isBlank(item.getDeptId()) || + StringUtils.isBlank(item.getCompany())) { + lose++; + continue; + } + Integer databaseType = Integer.parseInt(DictBizCache.getKey("database_type", item.getType())); + String data = sysClient.getDeptIds(AuthUtil.getTenantId(), item.getDeptId()).getData(); + User user = userClient.userInfoByName(AuthUtil.getTenantId(), item.getCompany()).getData(); + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.select(ProjectDatabase::getId); + wrapper.eq(ProjectDatabase::getDatabaseProjectName, item.getDatabaseProjectName()); +// if (StringUtils.isNotBlank(item.getDataBaseIp())) { +// wrapper.eq(ProjectDatabase::getDataBaseIp, item.getDataBaseIp()); +// } + ProjectDatabase base = getOne(wrapper); + if (base == null) { + // 数据库 + ProjectDatabase dataBase = BeanUtil.copy(item, ProjectDatabase.class); + + dataBase.setType(databaseType); + dataBase.setDeptId(Long.parseLong(data)); + dataBase.setCompany(user.getId()); + save(dataBase); + + // 数据表 + ModuleDatatable dataTable = BeanUtil.copy(item, ModuleDatatable.class); + dataTable.setProjectDatabaseId(dataBase.getId()); + dataTableService.save(dataTable); + } else { + if (item.getDataBaseIp() == null) { item.setDataBaseIp(""); } + if (base.getDataBaseIp() == null) { base.setDataBaseIp(""); } + if (item.getDataBasePort() == null) { item.setDataBasePort(""); } + if (base.getDataBasePort() == null) { base.setDataBasePort(""); } + if (item.getDataBaseAlias() == null) { item.setDataBaseAlias(""); } + if (base.getDataBaseAlias() == null) { base.setDataBaseAlias(""); } + if (item.getSystemName() == null) { item.setSystemName(""); } + if (base.getSystemName() == null) { base.setSystemName(""); } + + if (!item.getDataBaseIp().equals(base.getDataBaseIp()) || + !item.getDataBasePort().equals(base.getDataBasePort()) || + !item.getDataBaseAlias().equals(base.getDataBaseAlias()) || + !item.getSystemName().equals(base.getSystemName()) || + !item.getDatabaseProjectName().equals(base.getDatabaseProjectName()) || + !databaseType.equals(base.getType()) || + !Long.valueOf(data).equals(base.getDeptId()) || + !user.getId().equals(base.getCompany()) + ) { + lose++; + continue; + } + + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ModuleDatatable::getProjectDatabaseId, base.getId()); + queryWrapper.eq(ModuleDatatable::getDatatableModuleName, item.getDatatableModuleName()); + int count = dataTableService.count(queryWrapper); + if (count <= 0) { + // 数据表 + ModuleDatatable dataTable = BeanUtil.copy(item, ModuleDatatable.class); + dataTable.setProjectDatabaseId(base.getId()); + dataTableService.save(dataTable); + } else { + success++; + } + } + } + return "共" + total + "条数据,导入成功" + (total - lose - success) + "条;导入失败" + lose + "条;数据重复" + success + "条!"; + } + return "数据为空,无法导入!"; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean saveProAndMod(ProjectDatabasePo dataBase) { + // 条件查询数据库/系统数据 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ProjectDatabase::getDatabaseProjectName, dataBase.getDatabaseProjectName()); + if (StringUtils.isNotBlank(dataBase.getDataBaseIp())) { + wrapper.eq(ProjectDatabase::getDataBaseIp, dataBase.getDataBaseIp()); + } + ProjectDatabase database = getOne(wrapper); + + // 创建数据表/模块对象集合 + List moduleDatatableList = new ArrayList<>(); + + // 传过来的数据表/模块数据 + List moduleDatatables = dataBase.getModuleDatatables(); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (database == null) { + save(dataBase); + if (CollectionUtils.isNotEmpty(moduleDatatables)) { + for (ModuleDatatable moduleDatatable : moduleDatatables) { + queryWrapper.eq(ModuleDatatable::getProjectDatabaseId, dataBase.getId()); + queryWrapper.eq(ModuleDatatable::getDatatableModuleName, moduleDatatable.getDatatableModuleName()); + int count = dataTableService.count(queryWrapper); + if (count == 0) { + moduleDatatable.setProjectDatabaseId(dataBase.getId()); + moduleDatatableList.add(moduleDatatable); + } + queryWrapper.clear(); + } + } + } else { + if (CollectionUtils.isNotEmpty(moduleDatatables)) { + for (ModuleDatatable moduleDatatable : moduleDatatables) { + queryWrapper.eq(ModuleDatatable::getProjectDatabaseId, database.getId()); + queryWrapper.eq(ModuleDatatable::getDatatableModuleName, moduleDatatable.getDatatableModuleName()); + int count = dataTableService.count(queryWrapper); + if (count == 0) { + moduleDatatable.setProjectDatabaseId(database.getId()); + moduleDatatableList.add(moduleDatatable); + } + queryWrapper.clear(); + } + } + } + + if (CollectionUtils.isEmpty(moduleDatatableList)) { + return false; + } + return dataTableService.saveBatch(moduleDatatableList); + } + +} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/vo/DataBaseVO.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/vo/DataBaseVO.java deleted file mode 100644 index aa33609..0000000 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/vo/DataBaseVO.java +++ /dev/null @@ -1,74 +0,0 @@ -package org.springblade.plugin.operation.database.vo; - -import lombok.Data; - -@Data -public class DataBaseVO { - - private static final long serialVersionUID = 1L; - - /** - * 模块名称 - */ - private String systemModuleName; - - /** - * 表名称 - */ - private String dataTableName; - - /** - * 中文别名 - */ - private String dataTableAlias; - - /** - * 管理部门 - */ - private String deptName; - - /** - * 运维公司 - */ - private String companyName; - - /** - * 管理部门id - */ - private Long deptId; - - /** - * 运维公司id - */ - private Long company; - - /** - * 数据库名称 - */ - private String dataBaseName; - - /** - * 数据库中文别名 - */ - private String dataBaseAlias; - - /** - * 数据库类型 - */ - private Integer dataBaseType; - - /** - * 数据库ip - */ - private String dataBaseIp; - - /** - * 数据库端口 - */ - private String dataBasePort; - - /** - * 系统名称 - */ - private String systemName; -} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/controller/ProjectInfoController.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/controller/ProjectInfoController.java index 8ac32ae..ad1f216 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/controller/ProjectInfoController.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/controller/ProjectInfoController.java @@ -2,6 +2,7 @@ package org.springblade.plugin.operation.system.controller; import com.alibaba.nacos.common.utils.CollectionUtils; +import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -11,36 +12,28 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; -import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; -import org.springblade.plugin.operation.database.entity.DataBase; -import org.springblade.plugin.operation.database.entity.DataTable; -import org.springblade.plugin.operation.database.service.IDataBaseService; -import org.springblade.plugin.operation.database.service.IDataTableService; +import org.springblade.plugin.operation.database.entity.ProjectDatabase; +import org.springblade.plugin.operation.database.entity.ModuleDatatable; +import org.springblade.plugin.operation.database.service.IProjectDatabaseService; +import org.springblade.plugin.operation.database.service.IModuleDatatableService; import org.springblade.plugin.operation.system.entity.ModuleInfo; import org.springblade.plugin.operation.system.entity.ProjectInfo; import org.springblade.plugin.operation.system.service.IModuleInfoService; import org.springblade.plugin.operation.system.service.IProjectInfoService; import org.springblade.plugin.operation.task.entity.TaskAndDataBase; -import org.springblade.plugin.operation.task.entity.TaskInfo; -import org.springblade.plugin.operation.task.service.ITaskInfoService; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; - -import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE; /** - * * */ @NonDS @@ -50,151 +43,143 @@ import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE; @Api(value = "接口权限", tags = "接口权限") public class ProjectInfoController extends BladeController { - private final IProjectInfoService projectInfoService; - - private final IDataBaseService dataBaseService; - - private final IModuleInfoService moduleInfoService; - - private final IDataTableService dataTableService; - - /** - * 详情 - */ - @GetMapping("/detail") - @ApiOperationSupport(order = 1) - @ApiOperation(value = "详情", notes = "传入dataScope") - public R detail(ProjectInfo projectInfo) { - ProjectInfo detail = projectInfoService.getOne(Condition.getQueryWrapper(projectInfo)); - return R.data(detail); - } - - /** - * 分页 - */ - @GetMapping("/list") - @ApiOperationSupport(order = 2) - @ApiOperation(value = "分页", notes = "传入dataScope") - public R> list(ProjectInfo projectInfo, Query query) { - IPage pages = projectInfoService.page(Condition.getPage(query), Condition.getQueryWrapper(projectInfo)); - return R.data(pages); - } - - /** - * 新增 - */ - @PostMapping("/save") - @ApiOperationSupport(order = 3) - @ApiOperation(value = "新增", notes = "传入dataScope") - public R save(@Valid @RequestBody ProjectInfo projectInfo) { - return R.status(projectInfoService.save(projectInfo)); - } - - /** - * 修改 - */ - @PostMapping("/update") - @ApiOperationSupport(order = 4) - @ApiOperation(value = "修改", notes = "传入dataScope") - public R update(@Valid @RequestBody ProjectInfo projectInfo) { - return R.status(projectInfoService.updateById(projectInfo)); - } - - /** - * 新增或修改 - */ - @PostMapping("/submit") - @ApiOperationSupport(order = 5) - @ApiOperation(value = "新增或修改", notes = "传入dataScope") - public R submit(@Valid @RequestBody ProjectInfo projectInfo) { - return R.status(projectInfoService.saveOrUpdate(projectInfo)); - } - - /** - * 删除 - */ - @PostMapping("/remove") - @ApiOperationSupport(order = 6) - @ApiOperation(value = "逻辑删除", notes = "传入ids") - public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { - return R.status(projectInfoService.deleteLogic(Func.toLongList(ids))); - } - - /** - * 组合数据库和系统数据 - */ - @GetMapping("/projectAndDataBase") - public R taskAndDataBase(String id) { - List list = new ArrayList<>(); - // 数据库数据 - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.select(DataBase::getId, DataBase::getDataBaseName, DataBase::getDataBaseIp); - wrapper.eq(DataBase::getCompany, id); - List dataBaseList = dataBaseService.list(wrapper); - if (CollectionUtils.isNotEmpty(dataBaseList)) { - for (DataBase dataBase : dataBaseList) { - TaskAndDataBase taskAndDataBase = new TaskAndDataBase(); - taskAndDataBase.setId(dataBase.getId()); - taskAndDataBase.setName(dataBase.getDataBaseName() + "(" + dataBase.getDataBaseIp() + ")"); - taskAndDataBase.setType(2); - list.add(taskAndDataBase); - } - } - - // 系统名称数据 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.select("DISTINCT project_info_id"); -// queryWrapper.eq("project_info_id", id); - queryWrapper.eq("maintenance_dept_id", id); - List moduleInfoList = moduleInfoService.list(queryWrapper); - if (CollectionUtils.isNotEmpty(moduleInfoList)) { - for (ModuleInfo moduleInfo : moduleInfoList) { - TaskAndDataBase taskAndDataBase = new TaskAndDataBase(); - taskAndDataBase.setId(moduleInfo.getProjectInfoId()); - taskAndDataBase.setName(projectInfoService.getById(moduleInfo.getProjectInfoId()).getProjectName()); - taskAndDataBase.setType(1); - list.add(taskAndDataBase); - } - } - return R.data(list); - } - - /** - * 获取系统模块或数据表 - */ - @GetMapping("/moduleAndDataTable") - public R moduleAndDataTable(String id, Integer type) { - List list = new ArrayList<>(); - // 查模块信息 - if (type == 1) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(ModuleInfo::getProjectInfoId, id); - List moduleInfoList = moduleInfoService.list(wrapper); - if (CollectionUtils.isNotEmpty(moduleInfoList)) { - for (ModuleInfo moduleInfo : moduleInfoList) { - TaskAndDataBase taskAndDataBase = new TaskAndDataBase(); - taskAndDataBase.setId(moduleInfo.getId()); - taskAndDataBase.setName(moduleInfo.getModuleName()); - list.add(taskAndDataBase); - } - } - return R.data(list); - } - - // 查数据表信息 - else { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(DataTable::getDataBaseId, id); - List dataTableList = dataTableService.list(wrapper); - if (CollectionUtils.isNotEmpty(dataTableList)) { - for (DataTable dataTable : dataTableList) { - TaskAndDataBase taskAndDataBase = new TaskAndDataBase(); - taskAndDataBase.setId(dataTable.getId()); - taskAndDataBase.setName(dataTable.getDataTableAlias() + "(" + dataTable.getDataTableName() + ")"); - list.add(taskAndDataBase); - } - } - return R.data(list); - } - } + private final IProjectInfoService projectInfoService; + + private final IProjectDatabaseService dataBaseService; + + private final IModuleInfoService moduleInfoService; + + private final IModuleDatatableService dataTableService; + + /** + * 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "详情", notes = "传入dataScope") + public R detail(ProjectInfo projectInfo) { + ProjectInfo detail = projectInfoService.getOne(Condition.getQueryWrapper(projectInfo)); + return R.data(detail); + } + + /** + * 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "分页", notes = "传入dataScope") + public R> list(ProjectInfo projectInfo, Query query) { + IPage pages = projectInfoService.page(Condition.getPage(query), Condition.getQueryWrapper(projectInfo)); + return R.data(pages); + } + + /** + * 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 3) + @ApiOperation(value = "新增", notes = "传入dataScope") + public R save(@Valid @RequestBody ProjectInfo projectInfo) { + return R.status(projectInfoService.save(projectInfo)); + } + + /** + * 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "修改", notes = "传入dataScope") + public R update(@Valid @RequestBody ProjectInfo projectInfo) { + return R.status(projectInfoService.updateById(projectInfo)); + } + + /** + * 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 5) + @ApiOperation(value = "新增或修改", notes = "传入dataScope") + public R submit(@Valid @RequestBody ProjectInfo projectInfo) { + return R.status(projectInfoService.saveOrUpdate(projectInfo)); + } + + /** + * 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 6) + @ApiOperation(value = "逻辑删除", notes = "传入ids") + public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { + return R.status(projectInfoService.deleteLogic(Func.toLongList(ids))); + } + + /** + * 组合数据库和系统数据 + */ + @GetMapping("/projectAndDataBase") + public R taskAndDataBase(String id) { + // 数据库数据 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.select(ProjectDatabase::getId, ProjectDatabase::getDatabaseProjectName, ProjectDatabase::getDataBaseIp); + wrapper.eq(ProjectDatabase::getCompany, id); + List dataBaseList = dataBaseService.list(wrapper); + if (CollectionUtils.isNotEmpty(dataBaseList)) { + for (ProjectDatabase dataBase : dataBaseList) { + if (StringUtils.isNotBlank(dataBase.getDataBaseIp())) { + dataBase.setDatabaseProjectName(dataBase.getDatabaseProjectName() + "(" + dataBase.getDataBaseIp() + ")"); + } + } + } + + // 系统名称数据 +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.select("DISTINCT project_info_id"); +// queryWrapper.eq("maintenance_dept_id", id); +// List moduleInfoList = moduleInfoService.list(queryWrapper); +// if (CollectionUtils.isNotEmpty(moduleInfoList)) { +// for (ModuleInfo moduleInfo : moduleInfoList) { +// TaskAndDataBase taskAndDataBase = new TaskAndDataBase(); +// taskAndDataBase.setId(moduleInfo.getProjectInfoId()); +// taskAndDataBase.setName(projectInfoService.getById(moduleInfo.getProjectInfoId()).getProjectName()); +// taskAndDataBase.setType(1); +// list.add(taskAndDataBase); +// } +// } + return R.data(dataBaseList); + } + + /** + * 获取系统模块或数据表 + */ + @GetMapping("/moduleAndDataTable") + public R moduleAndDataTable(String id, Integer type) { + // 查模块信息 +// if (type == 1) { +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(ModuleInfo::getProjectInfoId, id); +// List moduleInfoList = moduleInfoService.list(wrapper); +// if (CollectionUtils.isNotEmpty(moduleInfoList)) { +// for (ModuleInfo moduleInfo : moduleInfoList) { +// TaskAndDataBase taskAndDataBase = new TaskAndDataBase(); +// taskAndDataBase.setId(moduleInfo.getId()); +// taskAndDataBase.setName(moduleInfo.getModuleName()); +// list.add(taskAndDataBase); +// } +// } +// return R.data(list); +// } +// +// // 查数据表信息 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ModuleDatatable::getProjectDatabaseId, id); + List dataTableList = dataTableService.list(wrapper); + if (CollectionUtils.isNotEmpty(dataTableList)) { + for (ModuleDatatable dataTable : dataTableList) { + if (StringUtils.isNotBlank(dataTable.getDataTableAlias())) { + dataTable.setDatatableModuleName(dataTable.getDataTableAlias() + "(" + dataTable.getDatatableModuleName() + ")"); + } + } + } + return R.data(dataTableList); + } } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/controller/TaskInfoController.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/controller/TaskInfoController.java index d8529b2..4c56d80 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/controller/TaskInfoController.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/controller/TaskInfoController.java @@ -10,6 +10,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import io.swagger.models.auth.In; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; @@ -142,11 +143,11 @@ public class TaskInfoController extends BladeController { * 任务种类去重返回 */ @GetMapping("/taskTypeData") - public R taskTypeData(String parentId) { + public R taskTypeData(String parentId, Integer isDetail) { QueryWrapper wrapper = new QueryWrapper<>(); if (StringUtils.isNotBlank(parentId)) { wrapper.eq("task_parent_id", parentId); - if (!"运维公司".equals(AuthUtil.getUser().getRoleName())) { + if (!"运维公司".equals(AuthUtil.getUser().getRoleName()) && isDetail == 0) { wrapper.ne("task_level", 1625035000825049090L); } } else { @@ -159,9 +160,9 @@ public class TaskInfoController extends BladeController { * 任务等级 */ @GetMapping("/taskLevel") - public R taskParent() { + public R taskParent(Integer isDetail) { List taskParent = DictBizCache.getList("task_level"); - if ("运维公司".equals(AuthUtil.getUser().getRoleName())) { + if ("运维公司".equals(AuthUtil.getUser().getRoleName()) || isDetail == 1) { return R.data(taskParent); } List taskParents = new ArrayList<>(); diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/mapper/TaskInfoMapper.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/mapper/TaskInfoMapper.java index bbc1588..43ac678 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/mapper/TaskInfoMapper.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/mapper/TaskInfoMapper.java @@ -2,7 +2,6 @@ package org.springblade.plugin.operation.task.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.springblade.plugin.operation.database.entity.DataBase; import org.springblade.plugin.operation.task.entity.TaskInfo; /** diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/service/ITaskInfoService.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/service/ITaskInfoService.java index 678f242..f11275e 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/service/ITaskInfoService.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/service/ITaskInfoService.java @@ -2,7 +2,6 @@ package org.springblade.plugin.operation.task.service; import org.springblade.core.mp.base.BaseService; -import org.springblade.plugin.operation.database.entity.DataBase; import org.springblade.plugin.operation.task.entity.TaskInfo; /** diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/service/impl/TaskInfoServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/service/impl/TaskInfoServiceImpl.java index 4e54515..a3f8ff0 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/service/impl/TaskInfoServiceImpl.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/service/impl/TaskInfoServiceImpl.java @@ -2,9 +2,6 @@ package org.springblade.plugin.operation.task.service.impl; import org.springblade.core.mp.base.BaseServiceImpl; -import org.springblade.plugin.operation.database.entity.DataBase; -import org.springblade.plugin.operation.database.mapper.DataBaseMapper; -import org.springblade.plugin.operation.database.service.IDataBaseService; import org.springblade.plugin.operation.task.entity.TaskInfo; import org.springblade.plugin.operation.task.mapper.TaskInfoMapper; import org.springblade.plugin.operation.task.service.ITaskInfoService; diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/entity/WorkOrder.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/entity/WorkOrder.java index 022b6d7..d9be0a4 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/entity/WorkOrder.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/entity/WorkOrder.java @@ -67,6 +67,9 @@ public class WorkOrder extends TenantEntity { //备注 private String remark; + // 详情 + private String detail; + // 结束时间 @TableField(exist = false) private Date endTime; diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/impl/WorkOrderServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/impl/WorkOrderServiceImpl.java index e0860ff..aec7b31 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/impl/WorkOrderServiceImpl.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/impl/WorkOrderServiceImpl.java @@ -22,8 +22,10 @@ import org.springblade.core.mp.support.Query; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; -import org.springblade.plugin.operation.database.service.IDataBaseService; -import org.springblade.plugin.operation.database.service.IDataTableService; +import org.springblade.plugin.operation.database.entity.ModuleDatatable; +import org.springblade.plugin.operation.database.entity.ProjectDatabase; +import org.springblade.plugin.operation.database.service.IProjectDatabaseService; +import org.springblade.plugin.operation.database.service.IModuleDatatableService; import org.springblade.plugin.operation.system.entity.ProjectInfo; import org.springblade.plugin.operation.system.service.IModuleInfoService; import org.springblade.plugin.operation.system.service.IProjectInfoService; @@ -59,11 +61,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl> historyWorkOrder(WorkOrder workOrder, Query query) { @@ -130,12 +129,17 @@ public class WorkOrderServiceImpl extends BaseServiceImpl s.get("startUserId").equals(workOrder.getApplyUser())).collect(Collectors.toList()); } + // 重复模式 + if (StringUtils.isNotBlank(workOrder.getRepeatMode())) { + workOrders = workOrders.stream().filter(s -> s.get("chongfumoshi").equals(workOrder.getRepeatMode())).collect(Collectors.toList()); + } + // 创建时间范围 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if (workOrder.getStartTime() != null && workOrder.getEndTime() != null) { diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/entity/AutoStartModel.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/entity/AutoStartModel.java index 6ca04f3..19c042d 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/entity/AutoStartModel.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/entity/AutoStartModel.java @@ -53,10 +53,10 @@ public class AutoStartModel extends TenantEntity { private Integer type; //系统名称或数据库id - private Long operateSys; + private String operateSys; //模块或数据库表id - private Long operateModule; + private String operateModule; //是否结束 0 否 1 是 private Integer isBreak; @@ -83,4 +83,6 @@ public class AutoStartModel extends TenantEntity { private Date endTime; private String uploadRecord; + + private String detail; } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java index 90231ff..ce02498 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java @@ -14,10 +14,10 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; -import org.springblade.plugin.operation.database.entity.DataBase; -import org.springblade.plugin.operation.database.entity.DataTable; -import org.springblade.plugin.operation.database.service.IDataBaseService; -import org.springblade.plugin.operation.database.service.IDataTableService; +import org.springblade.plugin.operation.database.entity.ProjectDatabase; +import org.springblade.plugin.operation.database.entity.ModuleDatatable; +import org.springblade.plugin.operation.database.service.IProjectDatabaseService; +import org.springblade.plugin.operation.database.service.IModuleDatatableService; import org.springblade.plugin.operation.system.entity.ModuleInfo; import org.springblade.plugin.operation.system.entity.ProjectInfo; import org.springblade.plugin.operation.system.service.IModuleInfoService; @@ -25,7 +25,6 @@ import org.springblade.plugin.operation.system.service.IProjectInfoService; import org.springblade.plugin.operation.task.service.ITaskInfoService; import org.springblade.plugin.operation.workorder.entity.WorkOrder; import org.springblade.plugin.operation.workorder.service.IWorkOrderService; -import org.springblade.plugin.workbench.cache.FlowCache; import org.springblade.plugin.workbench.entity.AutoStartModel; import org.springblade.plugin.workbench.enumutil.RepeatEnum; import org.springblade.plugin.workbench.feign.ProcessErrorLogClient; @@ -64,13 +63,9 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl autoStartModels = baseMapper.selectList(wrapper); autoStartModels.forEach(autoStartModel -> { - this.autoCreateWorkOrder(now,autoStartModel); + if (autoStartModel.getRepeatMode() != 1631111669916913665L) { + this.autoCreateWorkOrder(now, autoStartModel); + } }); } }