301 lines
8.2 KiB
Plaintext
301 lines
8.2 KiB
Plaintext
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;
|
|
}
|
|
}
|
|
}
|
|
@:;
|
|
}
|
|
} |