147 lines
4.4 KiB
Plaintext
147 lines
4.4 KiB
Plaintext
@*是否需要上传文件引用*@
|
|
@if(Model.IsUploading)
|
|
{
|
|
@:using JNPF.Common.Models;
|
|
}
|
|
using JNPF.Common.Security;
|
|
using JNPF.@(@Model.NameSpace).Entitys.Dto.@(@Model.ClassName);
|
|
using Mapster;
|
|
|
|
namespace JNPF.@(@Model.NameSpace).Entitys.Mapper.@Model.ClassName;
|
|
|
|
public class Mapper : IRegister
|
|
{
|
|
public void Register(TypeAdapterConfig config)
|
|
{
|
|
@*判断是否需要映射*@
|
|
@if(Model.IsMapper)
|
|
{
|
|
@*判断WebType 1-纯表单,2-常规表单,3-流程列表单*@
|
|
@switch(Model.WebType)
|
|
{
|
|
case 1:
|
|
@{GetCrInputToEntity(); }
|
|
@if(Model.EnableFlow || Model.Type == 3){
|
|
GetEntityToInfoOutput();
|
|
}
|
|
break;
|
|
case 2:
|
|
@{GetCrInputToEntity(); }
|
|
@{GetEntityToInfoOutput();}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@{
|
|
@*新增输入转实体*@
|
|
void GetCrInputToEntity()
|
|
{
|
|
@:config.ForType<@(@Model.ClassName)CrInput, @(@Model.ClassName)Entity>()
|
|
@*循环表字段*@
|
|
@foreach (var column in Model.TableField)
|
|
{
|
|
@*判断jnpfKey不为空*@
|
|
if (@column.jnpfKey != null)
|
|
{
|
|
switch(column.jnpfKey)
|
|
{
|
|
@*下拉框控件*@
|
|
case "select":
|
|
case "userSelect":
|
|
case "treeSelect":
|
|
case "depSelect":
|
|
case "posSelect":
|
|
case "popupTableSelect":
|
|
case "roleSelect":
|
|
case "groupSelect":
|
|
case "usersSelect":
|
|
@*是否为多选*@
|
|
@if(column.IsMultiple)
|
|
{
|
|
@:.Map(dest => dest.@(@column.ColumnName), src => src.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName) != null && src.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName).Count > 0 ? src.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName).ToJsonString() : null)
|
|
}
|
|
else
|
|
{
|
|
@:.Map(dest => dest.@(@column.ColumnName), src => src.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName))
|
|
}
|
|
break;
|
|
@*复选框、级联、省市区、图片上传、文件上传*@
|
|
case "checkbox":
|
|
case "cascader":
|
|
case "comSelect":
|
|
case "address":
|
|
case "uploadImg":
|
|
case "uploadFz":
|
|
@:.Map(dest => dest.@(@column.ColumnName), src => src.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName) != null && src.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName).Count > 0 ? src.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName).ToJsonString() : null)
|
|
break;
|
|
default:
|
|
@:.Map(dest => dest.@(@column.ColumnName), src => src.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName))
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
@:;
|
|
}
|
|
}
|
|
@{
|
|
@*实体转详情输出*@
|
|
void GetEntityToInfoOutput()
|
|
{
|
|
@:config.ForType<@(@Model.ClassName)Entity, @(@Model.ClassName)InfoOutput>()
|
|
@foreach (var column in Model.TableField)
|
|
{
|
|
if (@column.jnpfKey != null)
|
|
{
|
|
switch(column.jnpfKey)
|
|
{
|
|
case "select":
|
|
case "userSelect":
|
|
case "treeSelect":
|
|
case "depSelect":
|
|
case "posSelect":
|
|
case "popupTableSelect":
|
|
case "roleSelect":
|
|
case "groupSelect":
|
|
case "usersSelect":
|
|
@if(column.IsMultiple)
|
|
{
|
|
@:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@column.ColumnName).ToObject<List<string>>() : null)
|
|
}else
|
|
{
|
|
@:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => src.@(@column.ColumnName))
|
|
}
|
|
break;
|
|
case "cascader":
|
|
case "comSelect":
|
|
case "address":
|
|
@if(column.IsMultiple)
|
|
{
|
|
@:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@column.ColumnName).ToObject<List<List<string>>>() : null)
|
|
}else
|
|
{
|
|
@:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@column.ColumnName).ToObject<List<string>>() : null)
|
|
}
|
|
break;
|
|
case "checkbox":
|
|
@:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@column.ColumnName).ToObject<List<string>>() : null)
|
|
break;
|
|
case "uploadImg":
|
|
case "uploadFz":
|
|
@:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@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.ColumnName)))
|
|
break;
|
|
case "modifyTime":
|
|
@:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? string.Format("{0:yyyy-MM-dd HH:mm}", src.@(@column.ColumnName)) : null)
|
|
break;
|
|
default:
|
|
@:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => src.@(@column.ColumnName))
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
@:;
|
|
}
|
|
} |