添加项目文件。
This commit is contained in:
@@ -0,0 +1,301 @@
|
||||
using JNPF.Common.Security;
|
||||
@*是否需要上传文件引用*@
|
||||
@if(Model.IsUploading)
|
||||
{
|
||||
@:using JNPF.Common.Models;
|
||||
}
|
||||
using JNPF.@(@Model.NameSpace).Entitys.Dto.@(@Model.ClassName);
|
||||
@foreach(var table in Model.TableRelations)
|
||||
{
|
||||
@*循环出子表的命名空间*@
|
||||
@:using JNPF.@(@Model.NameSpace).Entitys.Dto.@(@table.ClassName);
|
||||
}
|
||||
using Mapster;
|
||||
|
||||
namespace JNPF.@(@Model.NameSpace).Entitys.Mapper.@Model.ClassName;
|
||||
|
||||
public class Mapper : IRegister
|
||||
{
|
||||
public void Register(TypeAdapterConfig config)
|
||||
{
|
||||
@*判断WebType 1-纯表单,2-常规表单,3-流程列表单*@
|
||||
@switch(Model.WebType)
|
||||
{
|
||||
case 1:
|
||||
@{GetCrInputToEntity(); }
|
||||
@if(Model.EnableFlow || Model.Type == 3){
|
||||
GetEntityToInfoOutput();
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
@{GetCrInputToEntity(); }
|
||||
@{GetEntityToInfoOutput();}
|
||||
@{GetEntityToDetailOutput();}
|
||||
@if(Model.IsInlineEditor)
|
||||
{
|
||||
GetListOutputToInlineEditorOutput();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@{
|
||||
@*新增输入转实体*@
|
||||
void GetCrInputToEntity()
|
||||
{
|
||||
@:config.ForType<@(@Model.ClassName)CrInput, @(@Model.ClassName)Entity>()
|
||||
@*循环表字段*@
|
||||
@foreach (var column in Model.TableField)
|
||||
{
|
||||
@*判断jnpfKey不为空*@
|
||||
@if (column.jnpfKey != null)
|
||||
{
|
||||
switch(column.IsAuxiliary){
|
||||
case false:
|
||||
switch(column.jnpfKey)
|
||||
{
|
||||
@*下拉框控件*@
|
||||
case "select":
|
||||
case "userSelect":
|
||||
case "treeSelect":
|
||||
case "depSelect":
|
||||
case "posSelect":
|
||||
case "popupTableSelect":
|
||||
case "roleSelect":
|
||||
case "groupSelect":
|
||||
@*是否为多选*@
|
||||
@if(column.IsMultiple)
|
||||
{
|
||||
@:.Map(dest => dest.@(@column.ColumnName), src => src.@(@column.LowerColumnName) != null && src.@(@column.LowerColumnName).Count > 0 ? src.@(@column.LowerColumnName).ToJsonString() : null)
|
||||
}
|
||||
break;
|
||||
@*复选框、级联、省市区、图片上传、文件上传*@
|
||||
case "checkbox":
|
||||
case "cascader":
|
||||
case "comSelect":
|
||||
case "address":
|
||||
case "uploadImg":
|
||||
case "uploadFz":
|
||||
@:.Map(dest => dest.@(@column.ColumnName), src => src.@(@column.LowerColumnName) != null && src.@(@column.LowerColumnName).Count > 0 ? src.@(@column.LowerColumnName).ToJsonString() : null)
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@:;
|
||||
}
|
||||
}
|
||||
@{
|
||||
@*新增输入转实体*@
|
||||
void GetEntityToDetailOutput()
|
||||
{
|
||||
@:config.ForType<@(@Model.ClassName)Entity, @(@Model.ClassName)DetailOutput>()
|
||||
@*循环表字段*@
|
||||
@foreach (var column in Model.TableField)
|
||||
{
|
||||
@if (column.jnpfKey != null)
|
||||
{
|
||||
switch(column.IsAuxiliary)
|
||||
{
|
||||
case false:
|
||||
switch(column.jnpfKey)
|
||||
{
|
||||
case "uploadImg":
|
||||
case "uploadFz":
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@column.ColumnName).ToObject<List<FileControlsModel>>() : new List<FileControlsModel>())
|
||||
break;
|
||||
case "createTime":
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => string.Format("{0:yyyy-MM-dd HH:mm}", src.@(@column.ColumnName)))
|
||||
break;
|
||||
case "date":
|
||||
case "modifyTime":
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? string.Format("{0:yyyy-MM-dd HH:mm}", src.@(@column.ColumnName)) : null)
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case true:
|
||||
switch(column.jnpfKey)
|
||||
{
|
||||
case "uploadImg":
|
||||
case "uploadFz":
|
||||
@:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => src.@(@column.ClassName).@(@column.ColumnName) != null ? src.@(@column.ClassName).@(@column.ColumnName).ToObject<List<FileControlsModel>>() : new List<FileControlsModel>())
|
||||
break;
|
||||
case "createTime":
|
||||
@:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => string.Format("{0:yyyy-MM-dd HH:mm}", src.@(@column.ClassName).@(@column.ColumnName)))
|
||||
break;
|
||||
case "date":
|
||||
case "modifyTime":
|
||||
@:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => src.@(@column.ClassName).@(@column.ColumnName) != null ? string.Format("{0:yyyy-MM-dd HH:mm}", src.@(@column.ClassName).@(@column.ColumnName)) : null)
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@:;
|
||||
}
|
||||
}
|
||||
@{
|
||||
@*实体转详情输出*@
|
||||
void GetEntityToInfoOutput()
|
||||
{
|
||||
@:config.ForType<@(@Model.ClassName)Entity, @(@Model.ClassName)InfoOutput>()
|
||||
@foreach (var column in Model.TableField)
|
||||
{
|
||||
@if (column.jnpfKey != null && !column.IsAuxiliary)
|
||||
{
|
||||
switch(column.jnpfKey)
|
||||
{
|
||||
case "select":
|
||||
case "userSelect":
|
||||
case "treeSelect":
|
||||
case "depSelect":
|
||||
case "posSelect":
|
||||
case "popupTableSelect":
|
||||
case "roleSelect":
|
||||
case "groupSelect":
|
||||
@if(column.IsMultiple)
|
||||
{
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@column.ColumnName).ToObject<List<string>>() : null)
|
||||
}
|
||||
break;
|
||||
case "cascader":
|
||||
case "comSelect":
|
||||
case "address":
|
||||
@if(column.IsMultiple)
|
||||
{
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@column.ColumnName).ToObject<List<List<string>>>() : null)
|
||||
}
|
||||
else
|
||||
{
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@column.ColumnName).ToObject<List<string>>() : null)
|
||||
}
|
||||
break;
|
||||
case "checkbox":
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@column.ColumnName).ToObject<List<string>>() : null)
|
||||
break;
|
||||
case "uploadImg":
|
||||
case "uploadFz":
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@column.ColumnName).ToObject<List<FileControlsModel>>() : new List<FileControlsModel>())
|
||||
break;
|
||||
case "createTime":
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => string.Format("{0:yyyy-MM-dd HH:mm}", src.@(@column.ColumnName)))
|
||||
break;
|
||||
case "modifyTime":
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? string.Format("{0:yyyy-MM-dd HH:mm}", src.@(@column.ColumnName)) : null)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@foreach (var table in Model.TableRelations)
|
||||
{
|
||||
@:.Map(dest => dest.@(table.ControlModel), src => src.@(@table.ClassName)List.Count > 0 ?src.@(@table.ClassName)List.Adapt<List<@(@table.ClassName)InfoOutput>>() : new List<@(@table.ClassName)InfoOutput>())
|
||||
}
|
||||
@:;
|
||||
}
|
||||
}
|
||||
@{
|
||||
@*实体转修改输入*@
|
||||
void GetEntityToUpInput()
|
||||
{
|
||||
@:config.ForType<@(@Model.ClassName)Entity, @(@Model.ClassName)UpInput>()
|
||||
@foreach (var column in Model.TableField)
|
||||
{
|
||||
@if (column.jnpfKey != null)
|
||||
{
|
||||
switch(column.IsAuxiliary){
|
||||
case false:
|
||||
switch(column.jnpfKey)
|
||||
{
|
||||
case "select":
|
||||
case "userSelect":
|
||||
case "treeSelect":
|
||||
case "depSelect":
|
||||
case "posSelect":
|
||||
case "popupTableSelect":
|
||||
case "roleSelect":
|
||||
case "groupSelect":
|
||||
@if(column.IsMultiple)
|
||||
{
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName).ToObject<List<string>>())
|
||||
}
|
||||
break;
|
||||
case "cascader":
|
||||
case "comSelect":
|
||||
case "address":
|
||||
@if(column.IsMultiple)
|
||||
{
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName).ToObject<List<List<string>>>())
|
||||
}else{
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName).ToObject<List<string>>())
|
||||
}
|
||||
break;
|
||||
case "checkbox":
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName).ToObject<List<string>>())
|
||||
break;
|
||||
case "uploadImg":
|
||||
case "uploadFz":
|
||||
@:.Map(dest => dest.@(@column.LowerColumnName), src => src.@(@column.ColumnName).ToObject<List<FileControlsModel>>())
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@:;
|
||||
}
|
||||
}
|
||||
@{
|
||||
@*列表转行内编辑输出*@
|
||||
void GetListOutputToInlineEditorOutput()
|
||||
{
|
||||
@:config.ForType<@(@Model.ClassName)ListOutput, @(@Model.ClassName)InlineEditorOutput>()
|
||||
@foreach (var column in Model.TableField)
|
||||
{
|
||||
@{var parameterName = string.Empty;}
|
||||
@switch(column.IsAuxiliary)
|
||||
{
|
||||
case true:
|
||||
@{parameterName = "jnpf_" + @column.TableName + "_jnpf_" + @column.LowerColumnName;}
|
||||
break;
|
||||
default:
|
||||
@{parameterName = @column.LowerColumnName;}
|
||||
break;
|
||||
}
|
||||
@if (column.IsShow)
|
||||
{
|
||||
switch(column.jnpfKey)
|
||||
{
|
||||
case "select":
|
||||
case "userSelect":
|
||||
case "treeSelect":
|
||||
case "depSelect":
|
||||
case "posSelect":
|
||||
case "popupTableSelect":
|
||||
case "roleSelect":
|
||||
case "groupSelect":
|
||||
@if(column.IsMultiple)
|
||||
{
|
||||
@:.Map(dest => dest.@(parameterName), src => src.@(parameterName) != null ? src.@(parameterName).ToObject<List<string>>() : new List<string>())
|
||||
}
|
||||
break;
|
||||
case "cascader":
|
||||
case "comSelect":
|
||||
case "address":
|
||||
@if(column.IsMultiple)
|
||||
{
|
||||
@:.Map(dest => dest.@(parameterName), src => src.@(parameterName) != null ? src.@(parameterName).ToObject<List<List<string>>>() : new List<List<string>>())
|
||||
}else{
|
||||
@:.Map(dest => dest.@(parameterName), src => src.@(parameterName) != null ? src.@(parameterName).ToObject<List<string>>() : new List<string>())
|
||||
}
|
||||
break;
|
||||
case "checkbox":
|
||||
@:.Map(dest => dest.@(parameterName), src => src.@(parameterName) != null ? src.@(parameterName).ToObject<List<string>>() : new List<string>())
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@:;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user