diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt
index eb25c9d..acf31de 100644
--- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt
+++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt
@@ -1,26 +1,22 @@
-using Microsoft.AspNetCore.Mvc;
-using System;
-using System.Collections.Generic;
-using System.Threading.Tasks;
-using Infrastructure;
+using Infrastructure;
using Infrastructure.Attribute;
using Infrastructure.Enums;
using Infrastructure.Model;
using Mapster;
+using Microsoft.AspNetCore.Mvc;
using ${options.ModelsNamespace}.Dto;
using ${options.ModelsNamespace}.Models;
using ${options.IServicsNamespace}.${options.SubNamespace}.I${options.SubNamespace}Service;
using ${options.ApiControllerNamespace}.Extensions;
using ${options.ApiControllerNamespace}.Filters;
-using ZR.Common;
-using Infrastructure.Extensions;
-using System.Linq;
+using ${options.BaseNamespace}.Common;
namespace ${options.ApiControllerNamespace}.Controllers
{
///
/// ${genTable.functionName}Controller
- ///
+ ///
+ /// @tableName ${genTable.TableName}
/// @author ${replaceDto.Author}
/// @date ${replaceDto.AddTime}
///
@@ -97,14 +93,8 @@ $if(replaceDto.ShowBtnAdd)
//从 Dto 映射到 实体
var modal = parm.Adapt<${replaceDto.ModelTypeName}>().ToCreate(HttpContext);
- var response = _${replaceDto.ModelTypeName}Service.Insert(modal, it => new
- {
-$foreach(item in genTable.Columns)
-$if((item.IsInsert))
- it.$item.CsharpField,
-$end
-${end}
- });
+ var response = _${replaceDto.ModelTypeName}Service.Add${replaceDto.ModelTypeName}(modal);
+
return ToResponse(response);
}
$end
diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplIService.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplIService.txt
index 310864d..a0c2451 100644
--- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplIService.txt
+++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplIService.txt
@@ -19,5 +19,6 @@ namespace ${options.IServicsNamespace}.${options.SubNamespace}.I${options.SubNam
$if(genTable.TplCategory == "tree")
List<${replaceDto.ModelTypeName}> GetTreeList(${replaceDto.ModelTypeName}QueryDto parm);
$end
+ int Add${replaceDto.ModelTypeName}(${replaceDto.ModelTypeName} parm);
}
}
diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplModel.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplModel.txt
index 566d9b8..9c9236a 100644
--- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplModel.txt
+++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplModel.txt
@@ -23,7 +23,7 @@ $if(replaceDto.ShowBtnExport)
[EpplusTableColumn(Header = "$if(item.ColumnComment == "")${item.CsharpField}${else}${item.ColumnComment}${end}"$if(item.CsharpType == "DateTime"), NumberFormat = "yyyy-MM-dd HH:mm:ss"$end)]
$end
$if(item.IsPk || item.IsIncrement)
- [SqlSugar.SugarColumn(IsPrimaryKey = ${item.IsPk.ToString().ToLower()}, IsIdentity = ${item.IsIncrement.ToString().ToLower()}$if(item.CsharpField.ToLower() != item.ColumnName.ToLower()), ColumnName = "$item.ColumnName"$end)]
+ [SugarColumn(IsPrimaryKey = ${item.IsPk.ToString().ToLower()}, IsIdentity = ${item.IsIncrement.ToString().ToLower()}$if(item.CsharpField.ToLower() != item.ColumnName.ToLower()), ColumnName = "$item.ColumnName"$end)]
$elseif(item.CsharpField.ToLower() != item.ColumnName.ToLower())
[SugarColumn(ColumnName = "$item.ColumnName")]
$end
@@ -35,5 +35,15 @@ $if(genTable.TplCategory == "tree")
[SugarColumn(IsIgnore = true)]
public List<${replaceDto.ModelTypeName}> Children { get; set; }
$end
+
+$if(genTable.TplCategory == "subNav" && genTable.SubTable != null)
+ [Navigate(NavigateType.Dynamic, null)] //自定义关系映射
+ public ${genTable.SubTable.ClassName} Sub { get; set; }
+$end
+
+$if(genTable.TplCategory == "subNavMore" && genTable.SubTable != null)
+ [Navigate(NavigateType.Dynamic, null)] //自定义关系映射
+ public List<${genTable.SubTable.ClassName}> Sub { get; set; }
+$end
}
}
\ No newline at end of file
diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplService.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplService.txt
index b3e2add..219b23b 100644
--- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplService.txt
+++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplService.txt
@@ -1,13 +1,13 @@
-using Infrastructure;
+using System;
+using SqlSugar;
+using System.Collections.Generic;
+using Infrastructure;
using Infrastructure.Attribute;
using ${options.ModelsNamespace};
using ${options.ModelsNamespace}.Dto;
using ${options.ModelsNamespace}.Models;
using ${options.IRepositoriesNamespace};
using ${options.IServicsNamespace}.${options.SubNamespace}.I${options.SubNamespace}Service;
-using System;
-using SqlSugar;
-using System.Collections.Generic;
namespace ${options.ServicesNamespace}.${options.SubNamespace}
{
@@ -20,10 +20,10 @@ namespace ${options.ServicesNamespace}.${options.SubNamespace}
[AppService(ServiceType = typeof(I${replaceDto.ModelTypeName}Service), ServiceLifetime = LifeTime.Transient)]
public class ${replaceDto.ModelTypeName}Service : BaseService<${replaceDto.ModelTypeName}>, I${replaceDto.ModelTypeName}Service
{
- private readonly ${replaceDto.ModelTypeName}Repository _${replaceDto.ModelTypeName}repository;
+ private readonly ${replaceDto.ModelTypeName}Repository _${replaceDto.ModelTypeName}Repository;
public ${replaceDto.ModelTypeName}Service(${replaceDto.ModelTypeName}Repository repository)
{
- _${replaceDto.ModelTypeName}repository = repository;
+ _${replaceDto.ModelTypeName}Repository = repository;
}
#region 业务逻辑代码
@@ -51,15 +51,17 @@ $elseif(column.CsharpType == "int" || column.CsharpType == "long")
$end
$end
$end
-$if(genTable.SortField != "" && genTable.SortField != null)
- var response = _${replaceDto.ModelTypeName}repository
- .GetPages(predicate.ToExpression(), parm, it => it.${genTable.SortField}, "${genTable.SortType}");
-$else
- var response = _${replaceDto.ModelTypeName}repository
+ var response = _${replaceDto.ModelTypeName}Repository
.Queryable()
+$if(genTable.SubTableName != "" && genTable.SubTableName != null)
+ .Includes(it => it.Sub.MappingField(z => z.${genTable.SubTableFkName}, () => it.${replaceDto.PKName}))
+$end
+$if(genTable.SortField != "" && genTable.SortField != null)
+ .OrderBy("${genTable.SortField} ${genTable.SortType}")
+$end
.Where(predicate.ToExpression())
.ToPage(parm);
-$end
+
return response;
}
@@ -85,12 +87,29 @@ $end
$end
$end
- var response = _${replaceDto.ModelTypeName}repository.Queryable().Where(predicate.ToExpression())
+ var response = _${replaceDto.ModelTypeName}Repository.Queryable().Where(predicate.ToExpression())
.ToTree(it => it.Children, it => it.${genTable.TreeParentCode}, 0);
return response;
}
$end
+ ///
+ /// 添加${genTable.FunctionName}
+ ///
+ ///
+ ///
+ public int Add${replaceDto.ModelTypeName}(${replaceDto.ModelTypeName} parm)
+ {
+ var response = _${replaceDto.ModelTypeName}Repository.Insert(parm, it => new
+ {
+${foreach(item in genTable.Columns)}
+$if((item.IsInsert))
+ it.$item.CsharpField,
+$end
+${end}
+ });
+ return response;
+ }
#endregion
}
}
\ No newline at end of file
diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs
index 3ea5e63..3f1ac66 100644
--- a/ZR.CodeGenerator/CodeGeneratorTool.cs
+++ b/ZR.CodeGenerator/CodeGeneratorTool.cs
@@ -513,7 +513,7 @@ namespace ZR.CodeGenerator
///
private static void InitJntTemplate(GenerateDto dto, ReplaceDto replaceDto)
{
- Engine.Current.Clean();
+ //Engine.Current.Clean();
dto.GenTable.Columns = dto.GenTable.Columns.OrderBy(x => x.Sort).ToList();
bool showCustomInput = dto.GenTable.Columns.Any(f => f.HtmlType.Equals(GenConstants.HTML_CUSTOM_INPUT, StringComparison.OrdinalIgnoreCase));
//jnt模板引擎全局变量
@@ -525,6 +525,7 @@ namespace ZR.CodeGenerator
options.OutMode = OutMode.Auto;
//options.DisableeLogogram = true;//禁用简写
options.Data.Set("refs", "$");//特殊标签替换
+ options.Data.Set("t", "$");//特殊标签替换
options.Data.Set("modal", "$");//特殊标签替换
options.Data.Set("index", "$");//特殊标签替换
options.Data.Set("confirm", "$");//特殊标签替换
diff --git a/ZR.CodeGenerator/ZR.CodeGenerator.csproj b/ZR.CodeGenerator/ZR.CodeGenerator.csproj
index 17787d8..bab66bd 100644
--- a/ZR.CodeGenerator/ZR.CodeGenerator.csproj
+++ b/ZR.CodeGenerator/ZR.CodeGenerator.csproj
@@ -12,6 +12,6 @@
-
+
diff --git a/ZR.Model/System/Generate/GenTable.cs b/ZR.Model/System/Generate/GenTable.cs
index a50f585..a668623 100644
--- a/ZR.Model/System/Generate/GenTable.cs
+++ b/ZR.Model/System/Generate/GenTable.cs
@@ -103,6 +103,12 @@ namespace ZR.Model.System.Generate
///
[SqlSugar.SugarColumn(IsIgnore = true)]
public int[] CheckedBtn { get; set; } = new int[] { 1, 2, 3 };
+
+ ///
+ /// 字表信息
+ ///
+ [SqlSugar.SugarColumn(IsIgnore = true)]
+ public GenTable SubTable { get; set; }
#endregion
}
}
diff --git a/ZR.Model/ZR.Model.csproj b/ZR.Model/ZR.Model.csproj
index d1a23b6..7915d47 100644
--- a/ZR.Model/ZR.Model.csproj
+++ b/ZR.Model/ZR.Model.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/ZR.Repository/ZR.Repository.csproj b/ZR.Repository/ZR.Repository.csproj
index ae91d4c..e76ef0d 100644
--- a/ZR.Repository/ZR.Repository.csproj
+++ b/ZR.Repository/ZR.Repository.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/ZR.Service/System/GenTableService.cs b/ZR.Service/System/GenTableService.cs
index 3a5afa0..a9fbe81 100644
--- a/ZR.Service/System/GenTableService.cs
+++ b/ZR.Service/System/GenTableService.cs
@@ -57,7 +57,11 @@ namespace ZR.Service.System
{
var info = GenTableRepository.GetId(tableId);
SetTableFromOptions(info);
-
+ if (info != null && !info.SubTableName.IsEmpty())
+ {
+ info.SubTable = GenTableRepository.Queryable().Where(f => f.SubTableName == info.TableName).First();
+ SetTableFromOptions(info?.SubTable);
+ }
return info;
}