diff --git a/ant-design-vue-jeecg/src/views/modulex/ModulexList.vue b/ant-design-vue-jeecg/src/views/modulex/ModulexList.vue
index 3d8142d..6578421 100644
--- a/ant-design-vue-jeecg/src/views/modulex/ModulexList.vue
+++ b/ant-design-vue-jeecg/src/views/modulex/ModulexList.vue
@@ -71,6 +71,12 @@
新增
返回
+
导入模块
+
导入功能
+
导入规则
+
导入实体
+
导入字段
+
diff --git a/ant-design-vue-jeecg/src/views/modulex/modules/ModulexForm.vue b/ant-design-vue-jeecg/src/views/modulex/modules/ModulexForm.vue
index d941dc5..82e2401 100644
--- a/ant-design-vue-jeecg/src/views/modulex/modules/ModulexForm.vue
+++ b/ant-design-vue-jeecg/src/views/modulex/modules/ModulexForm.vue
@@ -397,6 +397,8 @@ export default {
this.model.moduleEnName = this.model.moduleEnName + '+1'
this.model.moduleCode = this.model.moduleCode + '+1'
this.model.createTime = null
+ //复制源对象id
+ this.model.copyId = record.id;
}
this.visible = true
},
diff --git a/ant-design-vue-jeecg/src/views/rulex/modules/RulexForm.vue b/ant-design-vue-jeecg/src/views/rulex/modules/RulexForm.vue
index 1ec86c9..c1fcfb2 100644
--- a/ant-design-vue-jeecg/src/views/rulex/modules/RulexForm.vue
+++ b/ant-design-vue-jeecg/src/views/rulex/modules/RulexForm.vue
@@ -197,7 +197,7 @@ export default {
methods: {
sort() {
getAction(this.url.sort, { id: this.model.functionId }).then((res) => {
- console.log(res)
+ console.log("the res:",JSON.stringify(res));
this.model.ruleNo = res.result.substring(0, 3);
this.model.ruleCode = res.result.substring(3) + this.model.ruleNo;
console.log(this.model.ruleNo)
diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/modulex/service/impl/ModulexServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/modulex/service/impl/ModulexServiceImpl.java
index 3ba1d7d..cfd8dba 100644
--- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/modulex/service/impl/ModulexServiceImpl.java
+++ b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/modulex/service/impl/ModulexServiceImpl.java
@@ -22,9 +22,9 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
-import java.util.Date;
-import java.util.LinkedList;
-import java.util.List;
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
/**
* @Description: 模块管理
@@ -186,6 +186,7 @@ public class ModulexServiceImpl extends ServiceImpl impl
@Transactional(readOnly = false, rollbackFor = Exception.class)
@Override
public void copy(Modulex modulex) {
+ final String copyId = modulex.getCopyId();
Integer newVersion = this.getMaxVersion(modulex.getVerison());
modulex.setVerison(newVersion + 1);
modulex.setRelatedBean(null);
@@ -195,6 +196,7 @@ public class ModulexServiceImpl extends ServiceImpl impl
String id = modulex.getId();
//复制实体&字段
Tablex tablex = iTablexService.getOne(new LambdaQueryWrapper().eq(Tablex::getModuleId, modulex.getCopyId()));
+ String tableId = null;
if (!ObjectUtils.isEmpty(tablex)) {
Tablex tablex1 = new Tablex();
BeanUtils.copyProperties(tablex, tablex1);
@@ -204,6 +206,7 @@ public class ModulexServiceImpl extends ServiceImpl impl
tablex1.setTableEnName(modulex.getModuleEnName());
tablex1.setCreateTime(new Date());
iTablexService.save(tablex1);
+ tableId = tablex1.getId();
List fieldxList = iFieldxService.list(new LambdaQueryWrapper().eq(Fieldx::getTableId, tablex.getId()));
if (!ObjectUtils.isEmpty(fieldxList)) {
List addList = new LinkedList<>();
@@ -234,8 +237,35 @@ public class ModulexServiceImpl extends ServiceImpl impl
addList.add(functionx);
});
iFunctionxService.saveBatch(addList);
- }
+ //复制每个功能的规则
+ List rulexList = iRulexService.list(new LambdaQueryWrapper().eq(Rulex::getModuleId, copyId));
+ List ruleAddList = new LinkedList<>();
+
+ if (!ObjectUtils.isEmpty(rulexList)) {
+ String finalTableId1 = tableId;
+ rulexList.stream().forEach(e -> {
+ //根据原已有规则funtion_id,查找该规则所属功能
+ Functionx functionx = iFunctionxService.getById(e.getFunctionId());
+ //根据原功能名称查询,已复制对象的功能
+ Functionx functionx1 = iFunctionxService.getOne(new LambdaQueryWrapper().eq(Functionx::getModuleId, id).eq(Functionx::getFunctionName, functionx.getFunctionName()));
+ Rulex rulex = new Rulex();
+ BeanUtils.copyProperties(e, rulex);
+ rulex.setId(null);
+ rulex.setModuleId(id);
+ rulex.setTableId(finalTableId1);
+ rulex.setFunctionId(functionx1.getId());
+ //根据原已有规则的field_id,查找该规则字段
+ Fieldx fieldx = iFieldxService.getById(e.getFieldId());
+ //根据源字段名称,查询对应字段id
+ Fieldx fieldx1 = iFieldxService.getOne(new LambdaQueryWrapper().eq(Fieldx::getTableId, finalTableId1).eq(Fieldx::getFieldEnName, fieldx.getFieldEnName()));
+ rulex.setFieldId(fieldx1.getId());
+ rulex.setCreateTime(new Date());
+ ruleAddList.add(rulex);
+ });
+ iRulexService.saveBatch(ruleAddList);
+ }
+ }
}