diff --git a/doc/修改笔记.txt b/doc/修改笔记.txt index 8dbd8a12c..56c0287d1 100644 --- a/doc/修改笔记.txt +++ b/doc/修改笔记.txt @@ -17,9 +17,22 @@ $("input[name='updateTime']").prop('disabled', true); +4、 Java8 使用 stream().filter()过滤List对象(查找符合条件的对象集合) + //查找身高在1.8米及以上的男生 + List boys = studentList.stream().filter(s->s.getGender() && s.getHeight() >= 1.8).collect(Collectors.toList()); + //输出查找结果 + StudentInfo.printStudents(boys); + // 取身份信息 + SysUser user = ShiroUtils.getSysUser(); + // 根据用户id取出菜单 + List menus = menuService.selectMenusByUser(user); + mmap.put("menus", menus); + mmap.put("user", user); + + =============== 相关资料 ======================================================================== @@ -39,3 +52,11 @@ j2eefast开源 https://gitee.com/zhouhuanOGP/J2EEFAST 附件和图片上传我全套扣的j2eefast的,ruoyi的用着太怪了 + +阿里云开发者成长计划 +https://developer.aliyun.com/plan/grow-up?spm=5176.19720258.J_8058803260.1292.1d722c4ae1PLsq + + +VueOA +https://blog.csdn.net/aria_miazzy/article/details/104960221 +https://gitee.com/yunwisdoms/oa-front-service diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java index 99bd81498..b49c53957 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java @@ -76,6 +76,9 @@ public class GenTable extends BaseEntity /** 主键信息 */ private GenTableColumn pkColumn; + /** 名称列信息 */ + private GenTableColumn dspColumn; + /** 子表信息 */ private GenTable subTable; @@ -271,6 +274,14 @@ public class GenTable extends BaseEntity this.pkColumn = pkColumn; } + public GenTableColumn getDspColumn() { + return dspColumn; + } + + public void setDspColumn(GenTableColumn dspColumn) { + this.dspColumn = dspColumn; + } + public GenTable getSubTable() { return subTable; diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java index b4039cecc..f4c9f260f 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java @@ -73,7 +73,6 @@ public class GenTableColumn extends BaseEntity implements Cloneable /** 默认值(1是) */ private String isDefaultValue; - /** 关联实体名 */ private String relevTable ; @@ -83,6 +82,11 @@ public class GenTableColumn extends BaseEntity implements Cloneable /** 关联表字段名称 */ private String relevTableName; + /** 关联实体 字段名称 */ + private String relevjavafiledname; + + /** 关联实体 Column 别名 */ + private String relevcolumnalias; /** 关联实体 别名 */ private String relevAlias; @@ -298,6 +302,22 @@ public class GenTableColumn extends BaseEntity implements Cloneable return isRelevByHidden != null && StringUtils.equals("1", isRelevByHidden); } + public String getRelevjavafiledname() { + return relevjavafiledname; + } + + public void setRelevjavafiledname(String relevjavafiledname) { + this.relevjavafiledname = relevjavafiledname; + } + + public String getRelevcolumnalias() { + return relevcolumnalias; + } + + public void setRelevcolumnalias(String relevcolumnalias) { + this.relevcolumnalias = relevcolumnalias; + } + public String getRelevAlias() { return relevAlias; } @@ -306,6 +326,7 @@ public class GenTableColumn extends BaseEntity implements Cloneable this.relevAlias = relevAlias; } + public String getIsRepeatControl() { return isRepeatControl; } diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/impl/GenTableServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/impl/GenTableServiceImpl.java index db2cd00b3..8b22e0053 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/impl/GenTableServiceImpl.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/impl/GenTableServiceImpl.java @@ -1,28 +1,10 @@ package com.ruoyi.generator.service.impl; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.StringWriter; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; -import org.apache.commons.io.IOUtils; -import org.apache.velocity.Template; -import org.apache.velocity.VelocityContext; -import org.apache.velocity.app.Velocity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.GenConstants; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.text.CharsetKit; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.exception.BusinessException; @@ -36,23 +18,60 @@ import com.ruoyi.generator.service.IGenTableService; import com.ruoyi.generator.util.GenUtils; import com.ruoyi.generator.util.VelocityInitializer; import com.ruoyi.generator.util.VelocityUtils; +import com.ruoyi.system.domain.RelevTable; +import com.ruoyi.system.mapper.RelevTableMapper; +import org.apache.commons.io.IOUtils; +import org.apache.velocity.Template; +import org.apache.velocity.VelocityContext; +import org.apache.velocity.app.Velocity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.PostConstruct; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; +import java.io.StringWriter; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; /** * 业务 服务层实现 * * @author ruoyi */ +@Component @Service public class GenTableServiceImpl implements IGenTableService { private static final Logger log = LoggerFactory.getLogger(GenTableServiceImpl.class); + @Autowired + private RelevTableMapper relevTableMapper; + + private static GenTableServiceImpl gnTableServiceImpl ; + @Autowired private GenTableMapper genTableMapper; @Autowired private GenTableColumnMapper genTableColumnMapper; + + @PostConstruct //通过@PostConstruct实现初始化bean之前进行的操作 + public void init() { + gnTableServiceImpl = this; + gnTableServiceImpl.relevTableMapper = this.relevTableMapper; + } + /** * 查询业务信息 * @@ -202,11 +221,18 @@ public class GenTableServiceImpl implements IGenTableService GenTable table = genTableMapper.selectGenTableById(tableId); // 设置主子表信息 setSubTable(table); + // 设置主键列信息 setPkColumn(table); + // 设置名称重复列信息 + setRepeatDspColumn(table); + VelocityInitializer.initVelocity(); - VelocityContext context = VelocityUtils.prepareContext(table); + List lstRelev = + relevTableMapper.selectRelevTableAll() ; // "SysUser" + + VelocityContext context = VelocityUtils.prepareContext(table,lstRelev); // 获取模板列表 List templates = VelocityUtils.getTemplateList(table.getTplCategory()); @@ -251,10 +277,15 @@ public class GenTableServiceImpl implements IGenTableService setSubTable(table); // 设置主键列信息 setPkColumn(table); + // 设置名称重复列信息 + setRepeatDspColumn(table); VelocityInitializer.initVelocity(); - VelocityContext context = VelocityUtils.prepareContext(table); + List lstRelev = + relevTableMapper.selectRelevTableAll() ; // "SysUser" + + VelocityContext context = VelocityUtils.prepareContext(table,lstRelev); // 获取模板列表 List templates = VelocityUtils.getTemplateList(table.getTplCategory()); @@ -345,10 +376,15 @@ public class GenTableServiceImpl implements IGenTableService setSubTable(table); // 设置主键列信息 setPkColumn(table); + // 设置名称重复列信息 + setRepeatDspColumn(table); VelocityInitializer.initVelocity(); - VelocityContext context = VelocityUtils.prepareContext(table); + List lstRelev = + relevTableMapper.selectRelevTableAll() ; // "SysUser" + + VelocityContext context = VelocityUtils.prepareContext(table,lstRelev); // 获取模板列表 List templates = VelocityUtils.getTemplateList(table.getTplCategory()); @@ -457,6 +493,28 @@ public class GenTableServiceImpl implements IGenTableService } } + /** + * 设置 名称列信息 + * + * @param table 业务表信息 + */ + public void setRepeatDspColumn(GenTable table) + { + for (GenTableColumn column : table.getColumns()) + { + if (column.isRepeatControl()) + { + table.setDspColumn(column); + break; + } + } + if (StringUtils.isNull(table.getDspColumn())) + { + table.setDspColumn(table.getColumns().get(0)); + } + + } + /** * 设置主子表信息 * diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java index b07660287..35d85ab15 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java @@ -9,19 +9,15 @@ import com.ruoyi.generator.config.GenConfig; import com.ruoyi.generator.domain.GenTable; import com.ruoyi.generator.domain.GenTableColumn; import com.ruoyi.system.domain.RelevTable; -import com.ruoyi.system.service.IRelevTableService; import org.apache.velocity.VelocityContext; -import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.stream.Collectors; public class VelocityUtils { - @Autowired - private IRelevTableService relevTableService; - /** * 项目空间路径 */ @@ -47,7 +43,7 @@ public class VelocityUtils { * * @return 模板列表 */ - public static VelocityContext prepareContext(GenTable genTable) { + public static VelocityContext prepareContext(GenTable genTable,List lstRelevTb) { String moduleName = genTable.getModuleName(); String businessName = genTable.getBusinessName(); String packageName = genTable.getPackageName(); @@ -67,6 +63,7 @@ public class VelocityUtils { velocityContext.put("author", genTable.getFunctionAuthor()); velocityContext.put("datetime", DateUtils.getDate()); velocityContext.put("pkColumn", genTable.getPkColumn()); + velocityContext.put("dspRepeatColumn", genTable.getDspColumn()); velocityContext.put("importList", getImportList(genTable)); velocityContext.put("permissionPrefix", getPermissionPrefix(moduleName, businessName)); @@ -75,48 +72,75 @@ public class VelocityUtils { List effectivecols = new ArrayList();//定义一个list对象 List effectiveceditols = new ArrayList();//定义一个list对象 List fieldcols = new ArrayList();// 模板的变量 colums - List hiddenfiledcols = new ArrayList();// 模板隐藏变量 hiddenfiledcols + List hiddenleftjoinfiledcols = new ArrayList();// 模板隐藏变量 hiddenfiledcols + + Integer icount = 0 ; for (GenTableColumn tcolumn : tempcolumns) { - if (tcolumn.isInsert() && !tcolumn.isPk()) - if (tcolumn.isUsableColumn() || !tcolumn.isSuperColumn()) - effectivecols.add(tcolumn); - - if (tcolumn.isEdit() && !tcolumn.isPk()) - if (tcolumn.isUsableColumn() || !tcolumn.isSuperColumn()) - effectiveceditols.add(tcolumn); if ( !StringUtil.isEmpty( tcolumn.getRelevEntity() ) && !tcolumn.isPk() ) { // 添加 关联字段 信息 try { + // 根据关联字段 查找 .... + // RelevTable relevTb = null ; // lstRelevTb + List lstcurRelevTb = lstRelevTb.stream().filter( s->s.getRelevEntity().equals(tcolumn.getRelevEntity()) ).collect(Collectors.toList()); + //输出查找结果 + + tcolumn.setRelevEntityId( lstcurRelevTb.get(0).getRelevEntityId() ); + tcolumn.setRelevEntityName( lstcurRelevTb.get(0).getRelevEntityName() ); + tcolumn.setRelevTable(lstcurRelevTb.get(0).getRelevTable()); + tcolumn.setRelevTableName(lstcurRelevTb.get(0).getRelevTableName()); + tcolumn.setRelevTableId(lstcurRelevTb.get(0).getRelevTableId()); + // 取得 关联实体信息 GenTableColumn relevColumn = (GenTableColumn) tcolumn.clone(); - - RelevTable relevTb = - relevTableService.selectRelevTableByRelevEntity( tcolumn.getRelevEntity() ) ; - - relevColumn.setRelevEntityId( relevTb.getRelevEntityId() ); - relevColumn.setRelevEntityName( relevTb.getRelevEntityName() ); - relevColumn.setRelevTable(relevTb.getRelevTable()); - relevColumn.setRelevTableName(relevTb.getRelevTableName()); - relevColumn.setRelevTableId(relevTb.getRelevTableId()); - + relevColumn.setJavaField( tcolumn.getJavaField().concat( relevColumn.getRelevEntityName() )); fieldcols.add(relevColumn) ; + tcolumn.setIsRelevByHidden("1"); + tcolumn.setColumnComment(tcolumn.getColumnComment().concat("ID")); + tcolumn.setRelevjavafiledname( tcolumn.getJavaField().concat( relevColumn.getRelevEntityName() ) ); + + icount ++ ; + tcolumn.setRelevAlias("a".concat(icount.toString())); + tcolumn.setRelevcolumnalias(tcolumn.getRelevAlias().concat(tcolumn.getRelevEntity().toLowerCase())); + + hiddenleftjoinfiledcols.add(tcolumn) ; + fieldcols.add(tcolumn) ; + + if (relevColumn.isInsert() && !relevColumn.isPk()) + if (relevColumn.isUsableColumn() || !relevColumn.isSuperColumn()) + effectivecols.add(relevColumn); + + if (relevColumn.isEdit() && !relevColumn.isPk()) + if (relevColumn.isUsableColumn() || !relevColumn.isSuperColumn()) + effectiveceditols.add(relevColumn); + }catch (Exception e){ } - - tcolumn.setIsRelevByHidden("1"); + + } else { + fieldcols.add(tcolumn) ; - } else - fieldcols.add(tcolumn) ; + if (tcolumn.isInsert() && !tcolumn.isPk()) + if (tcolumn.isUsableColumn() || !tcolumn.isSuperColumn()) + effectivecols.add(tcolumn); + + if (tcolumn.isEdit() && !tcolumn.isPk()) + if (tcolumn.isUsableColumn() || !tcolumn.isSuperColumn()) + effectiveceditols.add(tcolumn); + } }; + // velocityContext.put("effectivecols", effectivecols); velocityContext.put("effectiveeditcols", effectiveceditols); - velocityContext.put("columns", genTable.getColumns()); + // 在界面上 要隐藏的ID + velocityContext.put("hiddenleftjoinfiledcols", hiddenleftjoinfiledcols); + velocityContext.put("mappercols", genTable.getColumns() ); // + velocityContext.put("columns", fieldcols ); // genTable.getColumns() velocityContext.put("table", genTable); setMenuVelocityContext(velocityContext, genTable); diff --git a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml index 95ec215c5..bc13cc528 100644 --- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml +++ b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml @@ -42,7 +42,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + + + + @@ -104,7 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT t.table_id, t.table_name, t.table_comment, t.sub_table_name, t.sub_table_fk_name, t.class_name, t.tpl_category, t.package_name, t.module_name, t.business_name, t.function_name, t.function_author, t.gen_type, t.gen_path, t.options, t.remark, t.form_cols,t.bill_prefix, - c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_readonly, c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort + c.column_id, c.column_name, c.column_comment, c.column_type, c.java_type, c.java_field, c.is_pk, c.is_increment, c.is_required, c.is_readonly,c.relev_entity,c.is_repeat_control,c.is_insert, c.is_edit, c.is_list, c.is_query, c.query_type, c.html_type, c.dict_type, c.sort FROM gen_table t LEFT JOIN gen_table_column c ON t.table_id = c.table_id where t.table_name = #{tableName} order by c.sort @@ -122,7 +126,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +#end +#end #if($table.sub)

${functionName}信息

#end diff --git a/ruoyi-generator/src/main/resources/vm/html/col2/add.html.vm b/ruoyi-generator/src/main/resources/vm/html/col2/add.html.vm index ad51910da..1d0177843 100644 --- a/ruoyi-generator/src/main/resources/vm/html/col2/add.html.vm +++ b/ruoyi-generator/src/main/resources/vm/html/col2/add.html.vm @@ -2,19 +2,19 @@ -#foreach($column in $columns) +#foreach($column in $effectivecols) #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "datetime") #break #end #end -#foreach($column in $columns) +#foreach($column in $effectivecols) #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "upload") #break #end #end -#foreach($column in $columns) +#foreach($column in $effectivecols) #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "summernote") #break @@ -24,11 +24,15 @@
+#if( $hiddenleftjoinfiledcols.size() > 0 ) +#foreach($column in $hiddenleftjoinfiledcols) + +#end +#end + #if($table.sub)

${functionName}信息

#end - - #set($cumvar=0) #set($colcount=$effectivecols.size()) @@ -114,13 +118,13 @@
- #foreach($column in $columns) + #foreach($column in $effectivecols) #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "datetime") #break #end #end - #foreach($column in $columns) + #foreach($column in $effectivecols) #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "upload") #break @@ -151,7 +155,7 @@ $.operate.save(prefix + "/add", $('#form-${businessName}-add').serialize()); } } - #foreach($column in $columns) + #foreach($column in $effectivecols) #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "datetime") $("input[name='$column.javaField']").datetimepicker({ @@ -161,7 +165,7 @@ }); #end #end - #foreach($column in $columns) + #foreach($column in $effectivecols) #if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == "upload") $(".file-upload").fileinput({ @@ -176,7 +180,7 @@ #break #end #end - #foreach($column in $columns) + #foreach($column in $effectivecols) #if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == "summernote") $(function() { diff --git a/ruoyi-generator/src/main/resources/vm/html/col2/edit.html.vm b/ruoyi-generator/src/main/resources/vm/html/col2/edit.html.vm index 226801be0..9aeb08d19 100644 --- a/ruoyi-generator/src/main/resources/vm/html/col2/edit.html.vm +++ b/ruoyi-generator/src/main/resources/vm/html/col2/edit.html.vm @@ -2,19 +2,19 @@ -#foreach($column in $columns) +#foreach($column in $effectiveeditcols) #if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == "datetime") #break #end #end -#foreach($column in $columns) +#foreach($column in $effectiveeditcols) #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "upload") #break #end #end -#foreach($column in $columns) +#foreach($column in $effectiveeditcols) #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "summernote") #break @@ -24,6 +24,12 @@
+#if( $hiddenleftjoinfiledcols.size() > 0 ) +#foreach($column in $hiddenleftjoinfiledcols) + +#end +#end + #if($table.sub)

${functionName}信息

#end @@ -89,19 +95,19 @@
-#foreach($column in $columns) +#foreach($column in $effectiveeditcols) #if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == "datetime") #break #end #end -#foreach($column in $columns) +#foreach($column in $effectiveeditcols) #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "upload") #break #end #end -#foreach($column in $columns) +#foreach($column in $effectiveeditcols) #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "summernote") #break @@ -125,7 +131,7 @@ $.operate.save(prefix + "/edit", $('#form-${businessName}-edit').serialize()); } } -#foreach($column in $columns) +#foreach($column in $effectiveeditcols) #if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == "datetime") $("input[name='$column.javaField']").datetimepicker({ @@ -135,7 +141,7 @@ }); #end #end -#foreach($column in $columns) +#foreach($column in $effectiveeditcols) #if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == "upload") $(".file-upload").each(function (i) { @@ -156,7 +162,7 @@ #break #end #end -#foreach($column in $columns) +#foreach($column in $effectiveeditcols) #if($column.edit && !$column.superColumn && !$column.pk && $column.htmlType == "summernote") $(function() { diff --git a/ruoyi-generator/src/main/resources/vm/html/edit.html.vm b/ruoyi-generator/src/main/resources/vm/html/edit.html.vm index f3de46805..b72593dec 100644 --- a/ruoyi-generator/src/main/resources/vm/html/edit.html.vm +++ b/ruoyi-generator/src/main/resources/vm/html/edit.html.vm @@ -24,6 +24,12 @@
+#if( $hiddencolumns.size() > 0 ) +#foreach($column in $hiddencolumns) + +#end +#end + #if($table.sub)

${functionName}信息

#end diff --git a/ruoyi-generator/src/main/resources/vm/java/mapper.java.vm b/ruoyi-generator/src/main/resources/vm/java/mapper.java.vm index d25ec18cb..3613cef52 100644 --- a/ruoyi-generator/src/main/resources/vm/java/mapper.java.vm +++ b/ruoyi-generator/src/main/resources/vm/java/mapper.java.vm @@ -22,6 +22,15 @@ public interface ${ClassName}Mapper */ public ${ClassName} select${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField}); + #if($dspRepeatColumn.size() > 0) + /** + * 查询${functionName} + * + * @param ${pkColumn.javaField} ${functionName}ID + * @return ${functionName} + */ + public ${ClassName} select${ClassName}ByName(${pkColumn.javaType} ${pkColumn.javaField},${dspRepeatColumn.javaType} ${dspRepeatColumn.javaField}); + #end /** * 查询${functionName}列表 * diff --git a/ruoyi-generator/src/main/resources/vm/java/service.java.vm b/ruoyi-generator/src/main/resources/vm/java/service.java.vm index e073cc82b..abd26cf06 100644 --- a/ruoyi-generator/src/main/resources/vm/java/service.java.vm +++ b/ruoyi-generator/src/main/resources/vm/java/service.java.vm @@ -22,6 +22,16 @@ public interface I${ClassName}Service */ public ${ClassName} select${ClassName}ById(${pkColumn.javaType} ${pkColumn.javaField}); + #if($dspRepeatColumn.size() > 0) + /** + * 查询${functionName} + * + * @param ${pkColumn.javaField} ${functionName}ID + * @return ${functionName} + */ + public ${ClassName} select${ClassName}ByName(${pkColumn.javaType} ${pkColumn.javaField},${dspRepeatColumn.javaType} ${dspRepeatColumn.javaField}); + #end + /** * 查询${functionName}列表 * diff --git a/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm b/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm index 4592abce8..9b66615be 100644 --- a/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm +++ b/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm @@ -5,7 +5,7 @@ import java.util.List; import java.util.ArrayList; import com.ruoyi.common.core.domain.Ztree; #end -#foreach ($column in $columns) +#foreach ($column in $mappercols) #if($column.javaField == 'createTime' || $column.javaField == 'updateTime') import com.ruoyi.common.utils.DateUtils; #break @@ -48,6 +48,20 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service return ${className}Mapper.select${ClassName}ById(${pkColumn.javaField}); } + #if($dspRepeatColumn.size() > 0) + /** + * 查询${functionName} + * + * @param ${pkColumn.javaField} ${functionName}ID + * @return ${functionName} + */ + @Override + public ${ClassName} select${ClassName}ByName(${pkColumn.javaType} ${pkColumn.javaField},${dspRepeatColumn.javaType} ${dspRepeatColumn.javaField}) + { + return ${className}Mapper.select${ClassName}ByName(${pkColumn.javaField},${dspRepeatColumn.javaField}); + } + + #end /** * 查询${functionName}列表 * @@ -72,7 +86,7 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service @Override public int insert${ClassName}(${ClassName} ${className}) { -#foreach ($column in $columns) +#foreach ($column in $mappercols) #if($column.javaField == 'createTime') ${className}.setCreateTime(DateUtils.getNowDate()); #end @@ -98,7 +112,7 @@ public class ${ClassName}ServiceImpl implements I${ClassName}Service @Override public int update${ClassName}(${ClassName} ${className}) { -#foreach ($column in $columns) +#foreach ($column in $mappercols) #if($column.javaField == 'updateTime') ${className}.setUpdateTime(DateUtils.getNowDate()); #end diff --git a/ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm b/ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm index 1b918e214..8a23ba4a8 100644 --- a/ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm +++ b/ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm @@ -5,9 +5,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -#foreach ($column in $columns) +#foreach ($column in $mappercols) #end +#if($hiddenleftjoinfiledcols.size()>0) +#foreach ($column in $hiddenleftjoinfiledcols) + +#end +#end #if($table.tree) #end @@ -26,13 +31,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #end - select#foreach($column in $columns) $column.columnName#if($velocityCount != $columns.size()),#end#end from ${tableName} + select#foreach($column in $mappercols) t.$column.columnName#if($velocityCount != $mappercols.size()),#end#end +#if($hiddenleftjoinfiledcols.size()>0), +#foreach($column in $hiddenleftjoinfiledcols) + $column.relevAlias.$column.relevTableName as $column.relevcolumnalias#if($velocityCount != $hiddenleftjoinfiledcols.size()),#end#end +#end + from ${tableName} t +#if($hiddenleftjoinfiledcols.size()>0) +#foreach($column in $hiddenleftjoinfiledcols) + left join $column.relevTable $column.relevAlias on t.$column.columnName=$column.relevAlias.$column.relevTableId +#end +#end #if($table.crud) - where ${pkColumn.columnName} = #{${pkColumn.javaField}} + where t.${pkColumn.columnName} = #{${pkColumn.javaField}} #elseif($table.tree) - select#foreach($column in $columns) t.$column.columnName,#end p.${tree_name} as parent_name + select#foreach($column in $mappercols) t.$column.columnName,#end p.${tree_name} as parent_name from ${tableName} t left join ${tableName} p on p.${pkColumn.columnName} = t.${tree_parent_code} where t.${pkColumn.columnName} = #{${pkColumn.javaField}} #elseif($table.sub) - select#foreach($column in $columns) a.$column.columnName#if($velocityCount != $columns.size()),#end#end, + select#foreach($column in $mappercols) a.$column.columnName#if($velocityCount != $mappercols.size()),#end#end, #foreach($column in $subTable.columns) b.$column.columnName#if($velocityCount != $subTable.columns.size()),#end#end from ${tableName} a @@ -82,18 +97,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where a.${pkColumn.columnName} = #{${pkColumn.javaField}} #end - + +#if($dspRepeatColumn.size() > 0) + +#end + insert into ${tableName} -#foreach($column in $columns) +#foreach($column in $mappercols) #if($column.columnName != $pkColumn.columnName || !$pkColumn.increment) $column.columnName, #end #end -#foreach($column in $columns) +#foreach($column in $mappercols) #if($column.columnName != $pkColumn.columnName || !$pkColumn.increment) #{$column.javaField}, #end @@ -104,7 +129,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update ${tableName} -#foreach($column in $columns) +#foreach($column in $mappercols) #if($column.columnName != $pkColumn.columnName) $column.columnName = #{$column.javaField}, #end diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RelevTableMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RelevTableMapper.java index a129fb562..ca693ea92 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RelevTableMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/RelevTableMapper.java @@ -28,6 +28,13 @@ public interface RelevTableMapper */ public RelevTable selectRelevTableByRelevEntity(String relevEntity); + /** + * 查询关联实体维护列表 所有数据 + * + * @return 关联实体维护集合 + */ + public List selectRelevTableAll(); + /** * 查询关联实体维护列表 * diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RelevTableServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RelevTableServiceImpl.java index 76311942f..821e2198a 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RelevTableServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/RelevTableServiceImpl.java @@ -44,6 +44,15 @@ public class RelevTableServiceImpl implements IRelevTableService { return relevTableMapper.selectRelevTableByRelevEntity(relevEntity); } + /** + * 查询关联实体维护列表 + * + * @return 关联实体维护 + */ + public List selectRelevTableAll() + { + return relevTableMapper.selectRelevTableAll(); + } /** * 查询关联实体维护列表 diff --git a/ruoyi-system/src/main/resources/mapper/system/RelevTableMapper.xml b/ruoyi-system/src/main/resources/mapper/system/RelevTableMapper.xml index 7d5f5f3c6..35a7aeb84 100644 --- a/ruoyi-system/src/main/resources/mapper/system/RelevTableMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/RelevTableMapper.xml @@ -24,6 +24,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select relev_id, relev_name, relev_entity, relev_entity_id, relev_entity_name, is_default_value, relev_table, relev_table_id, relev_table_name, create_by, create_time, update_by, update_time from sys_relev_table + +