@*是否需要上传文件引用*@ @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>() : 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>>() : null) }else { @:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@column.ColumnName).ToObject>() : null) } break; case "checkbox": @:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@column.ColumnName).ToObject>() : null) break; case "uploadImg": case "uploadFz": @:.Map(dest => dest.jnpf_@(@column.TableName)_jnpf_@(@column.LowerColumnName), src => src.@(@column.ColumnName) != null ? src.@(@column.ColumnName).ToObject>() : new List()) 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; } } } @:; } }