4462 lines
313 KiB
C#
4462 lines
313 KiB
C#
using APT.BaseData.Domain.ApiModel.FM;
|
|
using APT.BaseData.Domain.ApiModel.Platform;
|
|
using APT.BaseData.Domain.Entities;
|
|
using APT.BaseData.Domain.Entities.BD;
|
|
using APT.BaseData.Domain.Entities.FM;
|
|
using APT.BaseData.Domain.Entities.OP;
|
|
using APT.BaseData.Domain.Entities.PF;
|
|
using APT.BaseData.Domain.Enums;
|
|
using APT.Infrastructure.Api.Redis;
|
|
using APT.Infrastructure.Core;
|
|
using APT.Migrations;
|
|
using APT.Utility;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using NPOI.SS.Formula.Functions;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using APT.Infrastructure.Api;
|
|
namespace APT.OP.WebApi.Controllers.Api
|
|
{
|
|
[Route("api/OP/TenantRole")]
|
|
public class TenantRoleController : AuthorizeApiController<T_OP_TENANT>
|
|
{
|
|
|
|
[HttpPost, Route("Update")]
|
|
public JsonActionResult<bool> Update([FromBody] T_OP_TENANT tenant)
|
|
{
|
|
return SafeExecute<bool>(() =>
|
|
{
|
|
var orgFilter = new BaseFilter();
|
|
orgFilter.IgnoreOrgRule = true;
|
|
#region 租户
|
|
//T_FM_ORGANIZATION org = null;
|
|
bool isupdate = false;
|
|
#endregion
|
|
#region 授权数据
|
|
var permOPMenu = this.GetEntities<T_OP_ROLE_MENU>(x => x.TENANT_ID == tenant.ID, orgFilter).ToList();//租户权限
|
|
IEnumerable<TreeNode<T_PF_MENU>> tenantMenuTrees = null;
|
|
List<T_PF_MENU> tenantMenus = null;
|
|
List<T_PF_FORM> tenantForms = null;
|
|
List<T_PF_FORM_RELATION> tenantFormRelations = null;
|
|
List<T_PF_PAGE_TABLE> tenantPageTables = null;
|
|
List<T_PF_PAGE_EDIT> tenantPageEdits = null;
|
|
List<T_PF_PAGE_TREE> tenantPageTrees = null;
|
|
List<T_PF_PAGE_CHART> tenantPageCharts = null;
|
|
List<T_PF_PAGE_CUSTOM> tenantPageCustoms = null;
|
|
List<T_PF_BTN> tenantBtns = null;
|
|
List<T_PF_COLUMN> tenantColumns = null;
|
|
List<T_PF_PAGE_TABLE_PANEL> tenantPageTablePanels = null;
|
|
List<T_PF_TABLE_PARAMS> tenantTableParams = null;
|
|
List<T_PF_PAGE_EDIT_PANEL> tenantPageEditPanels = null;
|
|
List<T_PF_EDIT_COLUMN> tenantEditColumns = null;
|
|
List<T_PF_EDIT_COLUMN_FILTER> tenantEditColumnFilters = null;
|
|
List<T_PF_EDIT_COLUMN_FILL_MAP> tenantEditColumnFillMaps = null;
|
|
List<T_PF_EDIT_COLUMN_FILL_MAP_D> tenantEditColumnFillMapDs = null;
|
|
List<T_PF_TREE_COLUMN> tenantTreeColumns = null;
|
|
List<T_PF_PAGE_CHART_PARAM> tenantPageChartParams = null;
|
|
List<T_PF_COLUMN_FILTER> tenantColumnFilters = null;
|
|
List<T_PF_QUERY> tenantQuerys = null;
|
|
List<T_PF_FORM_QUERY> tenantFormQuerys = null;
|
|
List<T_PF_CODE_RULE> tenantCodeRules = null;
|
|
List<T_FM_SYNC_TASK> tenantSyncTasks = null;
|
|
List<T_PF_PARAM_ITEM> tenantParamItems = null;
|
|
List<T_PF_PARAM_SCHEME> tenantParamSchemes = null;
|
|
List<T_PF_PARAM_SCHEME_DETAIL> tenantParamSchemeDetails = null;
|
|
List<T_PF_VERSION_MANAGE> tenantVersionManages = null;
|
|
List<T_FM_USER> tenantUser = null;
|
|
List<T_FM_ROLE> tenantRole = null;
|
|
List<T_FM_USER_BELONG_ROLE> tenantUserBelongRole = null;
|
|
|
|
T_FM_BASE_CONFIG tenantBaseConfig = null;//站点参数
|
|
List<T_FM_ENUM_TYPE> tenantEnumType = null;//枚举类别
|
|
List<T_FM_ENUM> tenantEnum = null;//枚举管理
|
|
List<T_FM_ENUM_ITEM> tenantEnumItem = null;
|
|
List<T_FM_IMPORT_CONFIG> tenantImportConfigs = null;//导入配置
|
|
List<T_FM_IMPORT_CONFIG_DETAIL> tenantImportConfigDetails = null;//导入配置 明细
|
|
List<T_FM_IMPORT_CONFIG_FIELD> tenantImportConfigFields = null;//导入配置 明细 字段
|
|
|
|
List<T_BD_PICTURE> tenantPictures = null;//图片资源
|
|
List<T_PF_FILE> tenantFiles = null;//文件
|
|
List<T_PF_IMG_FILE> tenantImgFiles = null;// 图片文件
|
|
List<T_PF_IMG_FILE_DETAIL> tenantImgFileDetails = null;//图片文件明细
|
|
List<T_BD_PICTURE_FILE> tenantPicFiles = null; //资源图片文件
|
|
List<T_PF_PIC_FILTER> tenantPicFilters = null;
|
|
List<T_PF_PIC_FILTER_DETAIL> tenantPicFilterDetails = null;
|
|
|
|
|
|
List<T_PF_DATA_FREQUENCY> tenantDataFrequency = null;//数据采集频率
|
|
|
|
#endregion
|
|
#region 下发指定数据库
|
|
var targetDB = this.GetEntity<T_OP_TENANT_DB_CONN>(x => x.ID == tenant.DB_CONN_ID, orgFilter);
|
|
if (targetDB != null && !string.IsNullOrEmpty(targetDB.DB_CONN))
|
|
{
|
|
var deleteFilter = new BaseFilter();//OPT创建的菜单,表单等
|
|
deleteFilter.IgnoreOrgRule = true;
|
|
deleteFilter.Level = -1;
|
|
deleteFilter.IsParentData = true;
|
|
var Conn = targetDB.DB_CONN;
|
|
using (var context = new MigrationContext(Conn))
|
|
{
|
|
List<T_PF_MENU> reslist = new List<T_PF_MENU>();
|
|
tenantMenuTrees = context.GetTreeOrderEntities<T_PF_MENU>(x => x.ENABLE_STATUS == (int)FMEnableStatusEnum.启用 && x.ORG_ID == tenant.ID && x.PLATFORM_CATEGORY == 0, deleteFilter, null, out reslist);
|
|
//org = context.GetEntities<T_FM_ORGANIZATION>(x => x.ID == tenant.ID, null).FirstOrDefault();
|
|
#region 授权数据
|
|
tenantMenus = context.GetEntities<T_PF_MENU>(x => x.ORG_ID == tenant.ID, null, false).ToList();//租户菜单
|
|
tenantForms = context.GetEntities<T_PF_FORM>(x => x.ORG_ID == tenant.ID, null).ToList();//租户表单
|
|
tenantFormRelations = context.GetEntities<T_PF_FORM_RELATION>(x => x.ORG_ID == tenant.ID, null).ToList();//表单关联
|
|
tenantPageTables = context.GetEntities<T_PF_PAGE_TABLE>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantPageEdits = context.GetEntities<T_PF_PAGE_EDIT>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantPageTrees = context.GetEntities<T_PF_PAGE_TREE>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantPageCharts = context.GetEntities<T_PF_PAGE_CHART>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantPageCustoms = context.GetEntities<T_PF_PAGE_CUSTOM>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantBtns = context.GetEntities<T_PF_BTN>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantColumns = context.GetEntities<T_PF_COLUMN>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantPageTablePanels = context.GetEntities<T_PF_PAGE_TABLE_PANEL>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantTableParams = context.GetEntities<T_PF_TABLE_PARAMS>(x => x.ORG_ID == tenant.ID, null).ToList(); ;
|
|
tenantPageEditPanels = context.GetEntities<T_PF_PAGE_EDIT_PANEL>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantEditColumns = context.GetEntities<T_PF_EDIT_COLUMN>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantEditColumnFilters = context.GetEntities<T_PF_EDIT_COLUMN_FILTER>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantEditColumnFillMaps = context.GetEntities<T_PF_EDIT_COLUMN_FILL_MAP>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantEditColumnFillMapDs = context.GetEntities<T_PF_EDIT_COLUMN_FILL_MAP_D>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantTreeColumns = context.GetEntities<T_PF_TREE_COLUMN>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantPageChartParams = context.GetEntities<T_PF_PAGE_CHART_PARAM>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantColumnFilters = context.GetEntities<T_PF_COLUMN_FILTER>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantQuerys = context.GetEntities<T_PF_QUERY>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantFormQuerys = context.GetEntities<T_PF_FORM_QUERY>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantCodeRules = context.GetEntities<T_PF_CODE_RULE>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantSyncTasks = context.GetEntities<T_FM_SYNC_TASK>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantParamItems = context.GetEntities<T_PF_PARAM_ITEM>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantParamSchemes = context.GetEntities<T_PF_PARAM_SCHEME>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantParamSchemeDetails = context.GetEntities<T_PF_PARAM_SCHEME_DETAIL>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantVersionManages = context.GetEntities<T_PF_VERSION_MANAGE>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantUser = context.GetEntities<T_FM_USER>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantRole = context.GetEntities<T_FM_ROLE>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantUserBelongRole = context.GetEntities<T_FM_USER_BELONG_ROLE>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantEnumType = context.GetEntities<T_FM_ENUM_TYPE>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantEnum = context.GetEntities<T_FM_ENUM>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantEnumItem = context.GetEntities<T_FM_ENUM_ITEM>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantPictures = context.GetEntities<T_BD_PICTURE>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantFiles = context.GetEntities<T_PF_FILE>(x => x.ORG_ID == tenant.ID, null).ToList();//文件
|
|
tenantImgFiles = context.GetEntities<T_PF_IMG_FILE>(x => x.ORG_ID == tenant.ID, null).ToList();// 图片文件
|
|
tenantImgFileDetails = context.GetEntities<T_PF_IMG_FILE_DETAIL>(x => x.ORG_ID == tenant.ID, null).ToList();//图片文件明细
|
|
tenantPicFiles = context.GetEntities<T_BD_PICTURE_FILE>(x => x.ORG_ID == tenant.ID, null).ToList(); //资源图片文件
|
|
tenantPicFilters = context.GetEntities<T_PF_PIC_FILTER>(x => x.ORG_ID == tenant.ID, null).ToList();//图片条件主表
|
|
tenantPicFilterDetails = context.GetEntities<T_PF_PIC_FILTER_DETAIL>(x => x.ORG_ID == tenant.ID, null).ToList(); //图片条件明细表
|
|
|
|
tenantDataFrequency = context.GetEntities<T_PF_DATA_FREQUENCY>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantBaseConfig = context.GetEntity<T_FM_BASE_CONFIG>(x => x.ORG_ID == tenant.ID, null);
|
|
|
|
tenantImportConfigs = context.GetEntities<T_FM_IMPORT_CONFIG>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantImportConfigDetails = context.GetEntities<T_FM_IMPORT_CONFIG_DETAIL>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
tenantImportConfigFields = context.GetEntities<T_FM_IMPORT_CONFIG_FIELD>(x => x.ORG_ID == tenant.ID, null).ToList();
|
|
#endregion
|
|
}
|
|
}
|
|
#endregion
|
|
#region 删除权限
|
|
var deletePermOPMenu = new List<Guid>();
|
|
var deletePermPFMenu = new List<T_PF_MENU>();
|
|
#endregion
|
|
#region 增加权限
|
|
var savePermOPMenu = new List<T_OP_ROLE_MENU>();
|
|
var savePermPFMenu = new List<T_PF_MENU>();
|
|
var addPermPFMenu = new List<T_PF_MENU>();
|
|
|
|
var savePermPFForm = new List<T_PF_FORM>();
|
|
var savePermPFFormRelation = new List<T_PF_FORM_RELATION>();
|
|
var savePermPageTable = new List<T_PF_PAGE_TABLE>();
|
|
var savePermPageEdit = new List<T_PF_PAGE_EDIT>();
|
|
var savePermPageTree = new List<T_PF_PAGE_TREE>();
|
|
var savePermPageChart = new List<T_PF_PAGE_CHART>();
|
|
var savePermPageCustom = new List<T_PF_PAGE_CUSTOM>();
|
|
var savePermBtn = new List<T_PF_BTN>();
|
|
var savePermCloumn = new List<T_PF_COLUMN>();
|
|
var saveTablePanels = new List<T_PF_PAGE_TABLE_PANEL>();
|
|
var saveTableParams = new List<T_PF_TABLE_PARAMS>();
|
|
var saveEditPanels = new List<T_PF_PAGE_EDIT_PANEL>();
|
|
var saveEditColumns = new List<T_PF_EDIT_COLUMN>();
|
|
var saveEditColumnFilters = new List<T_PF_EDIT_COLUMN_FILTER>();
|
|
var saveEditColumnFillMaps = new List<T_PF_EDIT_COLUMN_FILL_MAP>();
|
|
var saveEditColumnFillMapDs = new List<T_PF_EDIT_COLUMN_FILL_MAP_D>();
|
|
var saveTreeColumns = new List<T_PF_TREE_COLUMN>();
|
|
var saveChartParams = new List<T_PF_PAGE_CHART_PARAM>();
|
|
var saveColumFilters = new List<T_PF_COLUMN_FILTER>();
|
|
var saveQuerys = new List<T_PF_QUERY>();
|
|
var saveFormQuerys = new List<T_PF_FORM_QUERY>();
|
|
|
|
var saveCodeRules = new List<T_PF_CODE_RULE>();
|
|
var addCodeRules = new List<T_PF_CODE_RULE>();
|
|
var saveSyncTasks = new List<T_FM_SYNC_TASK>();
|
|
var addSyncTasks = new List<T_FM_SYNC_TASK>();
|
|
//var saveBaseConfig = new List<T_FM_BASE_CONFIG>();
|
|
//var addBaseConfig = new T_FM_BASE_CONFIG();
|
|
|
|
var saveVersions = new List<T_PF_VERSION_MANAGE>();
|
|
|
|
var saveParamItems = new List<T_PF_PARAM_ITEM>();
|
|
var addParamItems = new List<T_PF_PARAM_ITEM>();
|
|
var saveParamSchemes = new List<T_PF_PARAM_SCHEME>();
|
|
var addParamSchemes = new List<T_PF_PARAM_SCHEME>();
|
|
var saveParamSchemeDetails = new List<T_PF_PARAM_SCHEME_DETAIL>();
|
|
var addParamSchemeDetails = new List<T_PF_PARAM_SCHEME_DETAIL>();
|
|
var saveUser = new List<T_FM_USER>();
|
|
var saveRole = new List<T_FM_ROLE>();
|
|
var saveUserBelongRole = new List<T_FM_USER_BELONG_ROLE>();
|
|
|
|
|
|
var addEnumType = new List<T_FM_ENUM_TYPE>();
|
|
var saveEnumType = new List<T_FM_ENUM_TYPE>();
|
|
var addEnum = new List<T_FM_ENUM>();
|
|
var saveEnum = new List<T_FM_ENUM>();
|
|
|
|
var savePictures = new List<T_BD_PICTURE>();//图片
|
|
var addPictures = new List<T_BD_PICTURE>();
|
|
var saveFiles = new List<T_PF_FILE>();
|
|
var addFiles = new List<T_PF_FILE>();
|
|
var saveImgFiles = new List<T_PF_IMG_FILE>();
|
|
var addImgFiles = new List<T_PF_IMG_FILE>();
|
|
var saveImgFileDetails = new List<T_PF_IMG_FILE_DETAIL>();
|
|
var addImgFileDetails = new List<T_PF_IMG_FILE_DETAIL>();
|
|
var savePicFiles = new List<T_BD_PICTURE_FILE>();
|
|
var addPicFiles = new List<T_BD_PICTURE_FILE>();
|
|
var savePicFilters = new List<T_PF_PIC_FILTER>();//图片
|
|
var addPicFilters = new List<T_PF_PIC_FILTER>();
|
|
var savePicFilterDetails = new List<T_PF_PIC_FILTER_DETAIL>();
|
|
var addPicFilterDetails = new List<T_PF_PIC_FILTER_DETAIL>();
|
|
|
|
|
|
var saveImportConfigs = new List<T_FM_IMPORT_CONFIG>();
|
|
var addImportConfigs = new List<T_FM_IMPORT_CONFIG>();
|
|
var saveImportConfigDetails = new List<T_FM_IMPORT_CONFIG_DETAIL>();
|
|
var addImportConfigDetails = new List<T_FM_IMPORT_CONFIG_DETAIL>();
|
|
var saveImportConfigFields = new List<T_FM_IMPORT_CONFIG_FIELD>();
|
|
var addImportConfigFields = new List<T_FM_IMPORT_CONFIG_FIELD>();
|
|
|
|
|
|
List<T_PF_DATA_FREQUENCY> addDataFrequency = new List<T_PF_DATA_FREQUENCY>();
|
|
|
|
List<T_FM_ENUM_ITEM> addEnumItem = new List<T_FM_ENUM_ITEM>();
|
|
List<T_FM_ENUM_ITEM> saveEnumItem = new List<T_FM_ENUM_ITEM>();
|
|
|
|
#endregion
|
|
Dictionary<string, object> relationMenu = new Dictionary<string, object>();//id.pid
|
|
Dictionary<string, string> newRelationMenu = new Dictionary<string, string>();//id.newid
|
|
//Dictionary<Guid, Guid> MenuFormRelation = new Dictionary<Guid, Guid>();//id.newid
|
|
Dictionary<Guid, Guid> newItems = new Dictionary<Guid, Guid>();//id.newid
|
|
Dictionary<Guid, Guid> newSchemes = new Dictionary<Guid, Guid>();//id.newid
|
|
Dictionary<Guid, Guid> newSchemeDetails = new Dictionary<Guid, Guid>();//id.newid
|
|
Dictionary<Guid, Guid> newTablePanels = new Dictionary<Guid, Guid>();//id.newid
|
|
Dictionary<Guid, Guid> newCodeRules = new Dictionary<Guid, Guid>();//id.newid
|
|
Dictionary<Guid, Guid> newEditPanels = new Dictionary<Guid, Guid>();
|
|
var dicMenu = new Dictionary<Guid, object>();
|
|
|
|
#region 来源模板数据
|
|
IEnumerable<TreeNode<T_PF_MENU>> srcMenuTrees = null;
|
|
List<T_PF_MENU> srcMenus = null;
|
|
List<T_PF_MENU> srcEcpMenus = null;
|
|
List<T_PF_FORM> srcForms = null;
|
|
List<T_PF_FORM_RELATION> srcFormRelations = null;
|
|
List<T_PF_PAGE_TABLE> srcPageTables = null;
|
|
List<T_PF_PAGE_EDIT> srcPageEdits = null;
|
|
List<T_PF_PAGE_TREE> srcPageTrees = null;
|
|
List<T_PF_PAGE_CHART> srcPageCharts = null;
|
|
List<T_PF_PAGE_CUSTOM> srcPageCustoms = null;
|
|
List<T_PF_BTN> srcBtns = null;
|
|
List<T_PF_COLUMN> srcColumns = null;
|
|
List<T_PF_PAGE_TABLE_PANEL> srcPageTablePanels = null;
|
|
List<T_PF_TABLE_PARAMS> srcTableParams = null;
|
|
List<T_PF_PAGE_EDIT_PANEL> srcPageEditPanels = null;
|
|
List<T_PF_EDIT_COLUMN> srcEditColumns = null;
|
|
List<T_PF_EDIT_COLUMN_FILTER> srcEditColumnFilters = null;
|
|
List<T_PF_EDIT_COLUMN_FILL_MAP> srcEditColumnFillMaps = null;
|
|
List<T_PF_EDIT_COLUMN_FILL_MAP_D> srcEditColumnFillMapDs = null;
|
|
List<T_PF_TREE_COLUMN> srcTreeColumns = null;
|
|
List<T_PF_PAGE_CHART_PARAM> srcPageChartParams = null;
|
|
List<T_PF_COLUMN_FILTER> srcColumnFilters = null;
|
|
List<T_PF_QUERY> srcQuerys = null;
|
|
List<T_PF_FORM_QUERY> srcFormQuerys = null;
|
|
List<T_PF_CODE_RULE> srcCodeRules = null;
|
|
List<T_FM_SYNC_TASK> srcSyncTasks = null;
|
|
List<T_PF_PARAM_ITEM> srcParamItems = null;
|
|
List<T_PF_PARAM_SCHEME> srcParamSchemes = null;
|
|
List<T_PF_PARAM_SCHEME_DETAIL> srcParamSchemeDetails = null;
|
|
List<T_PF_VERSION_MANAGE> srcVersionManages = null;
|
|
T_FM_BASE_CONFIG srcBaseConfig = null;
|
|
|
|
List<T_FM_ENUM_TYPE> srcEnumType = null;
|
|
List<T_FM_ENUM> srcEnum = null;
|
|
List<T_FM_IMPORT_CONFIG> srcImportConfigs = null;//导入配置
|
|
List<T_FM_IMPORT_CONFIG_DETAIL> srcImportConfigDetails = null;//导入配置 明细
|
|
List<T_FM_IMPORT_CONFIG_FIELD> srcImportConfigFields = null;//导入配置 明细 字段
|
|
|
|
List<T_BD_PICTURE> srcPictures = null;
|
|
List<T_PF_FILE> srcFiles = null;//文件
|
|
List<T_PF_IMG_FILE> srcImgFiles = null;// 图片文件
|
|
List<T_PF_IMG_FILE_DETAIL> srcImgFileDetails = null;//图片文件明细
|
|
List<T_BD_PICTURE_FILE> srcPicFiles = null; //资源图片文件
|
|
List<T_PF_PIC_FILTER> srcPicFilters = null;
|
|
List<T_PF_PIC_FILTER_DETAIL> srcPicFilterDetails = null;
|
|
|
|
|
|
List<T_PF_DATA_FREQUENCY> srcDataFrequency = null;
|
|
List<T_FM_ENUM_ITEM> srcEnumItem = null;
|
|
var tenantTemplate = this.GetEntity<T_OP_TENANT>(x => x.ID == tenant.TEMPLATE_ID, orgFilter);
|
|
var srcDB = this.GetEntity<T_OP_TENANT_DB_CONN>(x => x.ID == tenantTemplate.DB_CONN_ID, orgFilter);
|
|
if (srcDB != null && !string.IsNullOrEmpty(srcDB.DB_CONN))
|
|
{
|
|
var Conn = srcDB.DB_CONN;
|
|
using (var context = new MigrationContext(Conn))
|
|
{
|
|
#region 来源数据
|
|
var srcfilter = new BaseFilter();
|
|
srcfilter.IgnoreOrgRule = true;
|
|
srcfilter.Level = -1;
|
|
srcfilter.IsParentData = true;
|
|
List<T_PF_MENU> reslist = new List<T_PF_MENU>();
|
|
srcMenuTrees = context.GetTreeOrderEntities<T_PF_MENU>(x => x.ORG_ID == tenant.TEMPLATE_ID && x.ENABLE_STATUS == (int)FMEnableStatusEnum.启用, srcfilter, null, out reslist, false);
|
|
srcMenus = context.GetEntities<T_PF_MENU>(x => x.ORG_ID == tenant.TEMPLATE_ID && x.ENABLE_STATUS == (int)FMEnableStatusEnum.启用, null, false).ToList();//能管菜单
|
|
//srcMenus = context.GetTreeOrderEntities<T_PF_MENU>(x => x.ENABLE_STATUS == (int)FMEnableStatusEnum.启用&& x.ORG_ID == tenant.TEMPLATE_ID, srcfilter, null, out reslist).Select(i=>i.Node).ToList();
|
|
srcEcpMenus = context.GetEntities<T_PF_MENU>(x => x.ORG_ID == tenant.TEMPLATE_ID && x.ENABLE_STATUS == (int)FMEnableStatusEnum.启用 && x.PLATFORM_CATEGORY == 1, null, false).ToList();//企业平台菜单
|
|
srcForms = context.GetEntities<T_PF_FORM>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();//租户表单
|
|
srcFormRelations = context.GetEntities<T_PF_FORM_RELATION>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();//表单关联
|
|
srcPageTables = context.GetEntities<T_PF_PAGE_TABLE>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcPageEdits = context.GetEntities<T_PF_PAGE_EDIT>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcPageTrees = context.GetEntities<T_PF_PAGE_TREE>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcPageCharts = context.GetEntities<T_PF_PAGE_CHART>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcPageCustoms = context.GetEntities<T_PF_PAGE_CUSTOM>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcBtns = context.GetEntities<T_PF_BTN>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcColumns = context.GetEntities<T_PF_COLUMN>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcPageTablePanels = context.GetEntities<T_PF_PAGE_TABLE_PANEL>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcTableParams = context.GetEntities<T_PF_TABLE_PARAMS>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList(); ;
|
|
srcPageEditPanels = context.GetEntities<T_PF_PAGE_EDIT_PANEL>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcEditColumns = context.GetEntities<T_PF_EDIT_COLUMN>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcEditColumnFilters = context.GetEntities<T_PF_EDIT_COLUMN_FILTER>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcEditColumnFillMaps = context.GetEntities<T_PF_EDIT_COLUMN_FILL_MAP>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcEditColumnFillMapDs = context.GetEntities<T_PF_EDIT_COLUMN_FILL_MAP_D>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcTreeColumns = context.GetEntities<T_PF_TREE_COLUMN>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcPageChartParams = context.GetEntities<T_PF_PAGE_CHART_PARAM>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcColumnFilters = context.GetEntities<T_PF_COLUMN_FILTER>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcQuerys = context.GetEntities<T_PF_QUERY>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcFormQuerys = context.GetEntities<T_PF_FORM_QUERY>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcCodeRules = context.GetEntities<T_PF_CODE_RULE>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcSyncTasks = context.GetEntities<T_FM_SYNC_TASK>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcParamItems = context.GetEntities<T_PF_PARAM_ITEM>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcParamSchemes = context.GetEntities<T_PF_PARAM_SCHEME>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcParamSchemeDetails = context.GetEntities<T_PF_PARAM_SCHEME_DETAIL>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcVersionManages = context.GetEntities<T_PF_VERSION_MANAGE>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcBaseConfig = context.GetEntity<T_FM_BASE_CONFIG>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false);
|
|
|
|
srcEnumType = context.GetEntities<T_FM_ENUM_TYPE>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcEnum = context.GetEntities<T_FM_ENUM>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcPictures = context.GetEntities<T_BD_PICTURE>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcFiles = context.GetEntities<T_PF_FILE>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcImgFiles = context.GetEntities<T_PF_IMG_FILE>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcImgFileDetails = context.GetEntities<T_PF_IMG_FILE_DETAIL>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcPicFiles = context.GetEntities<T_BD_PICTURE_FILE>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcPicFilters = context.GetEntities<T_PF_PIC_FILTER>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcPicFilterDetails = context.GetEntities<T_PF_PIC_FILTER_DETAIL>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
|
|
|
|
srcDataFrequency = context.GetEntities<T_PF_DATA_FREQUENCY>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
|
|
srcEnumItem = context.GetEntities<T_FM_ENUM_ITEM>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
|
|
srcImportConfigs = context.GetEntities<T_FM_IMPORT_CONFIG>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcImportConfigDetails = context.GetEntities<T_FM_IMPORT_CONFIG_DETAIL>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
srcImportConfigFields = context.GetEntities<T_FM_IMPORT_CONFIG_FIELD>(x => x.ORG_ID == tenant.TEMPLATE_ID, null, false).ToList();
|
|
#endregion
|
|
}
|
|
}
|
|
#endregion
|
|
TenantInfo srcInfo = new TenantInfo();
|
|
srcInfo.FormRelations = srcFormRelations;
|
|
srcInfo.Forms = srcForms;
|
|
srcInfo.PageTables = srcPageTables;
|
|
srcInfo.PageEdits = srcPageEdits;
|
|
srcInfo.PageTrees = srcPageTrees;
|
|
srcInfo.PageCharts = srcPageCharts;
|
|
srcInfo.PageCustoms = srcPageCustoms;
|
|
srcInfo.Btns = srcBtns;
|
|
srcInfo.Columns = srcColumns;
|
|
srcInfo.TablePanels = srcPageTablePanels;
|
|
srcInfo.TableParams = srcTableParams;
|
|
srcInfo.EditPanels = srcPageEditPanels;
|
|
srcInfo.EditColumns = srcEditColumns;
|
|
srcInfo.EditColumnFilters = srcEditColumnFilters;
|
|
srcInfo.EditColumnFillMaps = srcEditColumnFillMaps;
|
|
srcInfo.EditColumnFillMapDs = srcEditColumnFillMapDs;
|
|
srcInfo.TreeColumns = srcTreeColumns;
|
|
srcInfo.ChartParams = srcPageChartParams;
|
|
srcInfo.ColumnFilters = srcColumnFilters;
|
|
srcInfo.Querys = srcQuerys;
|
|
srcInfo.FormQuerys = srcFormQuerys;
|
|
srcInfo.DicPageTable = new Dictionary<string, object>();
|
|
srcInfo.DicPageTableRelation = new Dictionary<string, string>();
|
|
srcInfo.DicForm = new Dictionary<string, string>();
|
|
|
|
List<Guid> existForm = new List<Guid>();
|
|
List<Guid> existTable = new List<Guid>();
|
|
List<Guid> existPermForm = new List<Guid>();
|
|
if (tenant.CheckKeys.Count > 0)
|
|
{
|
|
#region 默认添加企业平台所有菜单功能
|
|
foreach (var ecpMenu in srcEcpMenus)
|
|
{
|
|
tenant.CheckKeys.Add(ecpMenu.ID.ToString());
|
|
}
|
|
#endregion
|
|
#region 租户已授权信息
|
|
TenantInfo tenantInfo = new TenantInfo();
|
|
tenantInfo.FormRelations = tenantFormRelations;
|
|
tenantInfo.Forms = tenantForms;
|
|
tenantInfo.PageTables = tenantPageTables;
|
|
tenantInfo.PageEdits = tenantPageEdits;
|
|
tenantInfo.PageTrees = tenantPageTrees;
|
|
tenantInfo.PageCharts = tenantPageCharts;
|
|
tenantInfo.PageCustoms = tenantPageCustoms;
|
|
tenantInfo.Btns = tenantBtns;
|
|
tenantInfo.Columns = tenantColumns;
|
|
tenantInfo.TablePanels = tenantPageTablePanels;
|
|
tenantInfo.TableParams = tenantTableParams;
|
|
tenantInfo.EditPanels = tenantPageEditPanels;
|
|
tenantInfo.EditColumns = tenantEditColumns;
|
|
tenantInfo.EditColumnFilters = tenantEditColumnFilters;
|
|
tenantInfo.EditColumnFillMaps = tenantEditColumnFillMaps;
|
|
tenantInfo.EditColumnFillMapDs = tenantEditColumnFillMapDs;
|
|
tenantInfo.TreeColumns = tenantTreeColumns;
|
|
tenantInfo.ChartParams = tenantPageChartParams;
|
|
tenantInfo.ColumnFilters = tenantColumnFilters;
|
|
tenantInfo.Querys = tenantQuerys;
|
|
tenantInfo.FormQuerys = tenantFormQuerys;
|
|
tenantInfo.DicPageTable = new Dictionary<string, object>();
|
|
tenantInfo.DicPageTableRelation = new Dictionary<string, string>();
|
|
tenantInfo.DicForm = new Dictionary<string, string>();
|
|
#endregion
|
|
#region addInfo
|
|
TenantInfo addEntity = new TenantInfo();
|
|
addEntity.FormRelations = new List<T_PF_FORM_RELATION>();
|
|
addEntity.Forms = new List<T_PF_FORM>();
|
|
addEntity.PageTables = new List<T_PF_PAGE_TABLE>();
|
|
addEntity.PageEdits = new List<T_PF_PAGE_EDIT>();
|
|
addEntity.PageTrees = new List<T_PF_PAGE_TREE>();
|
|
addEntity.PageCharts = new List<T_PF_PAGE_CHART>();
|
|
addEntity.PageCustoms = new List<T_PF_PAGE_CUSTOM>();
|
|
addEntity.Btns = new List<T_PF_BTN>();
|
|
addEntity.Columns = new List<T_PF_COLUMN>();
|
|
addEntity.TablePanels = new List<T_PF_PAGE_TABLE_PANEL>();
|
|
addEntity.TableParams = new List<T_PF_TABLE_PARAMS>();
|
|
addEntity.EditPanels = new List<T_PF_PAGE_EDIT_PANEL>();
|
|
addEntity.EditColumns = new List<T_PF_EDIT_COLUMN>();
|
|
addEntity.EditColumnFilters = new List<T_PF_EDIT_COLUMN_FILTER>();
|
|
addEntity.EditColumnFillMaps = new List<T_PF_EDIT_COLUMN_FILL_MAP>();
|
|
addEntity.EditColumnFillMapDs = new List<T_PF_EDIT_COLUMN_FILL_MAP_D>();
|
|
addEntity.TreeColumns = new List<T_PF_TREE_COLUMN>();
|
|
addEntity.ChartParams = new List<T_PF_PAGE_CHART_PARAM>();
|
|
addEntity.ColumnFilters = new List<T_PF_COLUMN_FILTER>();
|
|
addEntity.Querys = new List<T_PF_QUERY>();
|
|
addEntity.FormQuerys = new List<T_PF_FORM_QUERY>();
|
|
addEntity.DicPageTable = new Dictionary<string, object>();
|
|
addEntity.DicPageTableRelation = new Dictionary<string, string>();
|
|
addEntity.DicForm = new Dictionary<string, string>();
|
|
#endregion
|
|
#region 系统参数模板
|
|
foreach (var item in srcParamItems)
|
|
{
|
|
T_PF_PARAM_ITEM parmItem = item;
|
|
if (tenantParamItems.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantItem = tenantParamItems.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = parmItem.ID;
|
|
parmItem.SRC_ID = parmItem.ID;
|
|
parmItem.ID = tenantItem.ID;
|
|
parmItem.ORG_ID = tenantItem.ORG_ID;
|
|
newItems.Add(oldItenID, tenantItem.ID);
|
|
saveParamItems.Add(parmItem);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = parmItem.ID;
|
|
parmItem.SRC_ID = parmItem.ID;
|
|
parmItem.ID = newItemID;
|
|
parmItem.ORG_ID = tenant.ID;
|
|
newItems.Add(oldItenID, newItemID);
|
|
addParamItems.Add(parmItem);
|
|
}
|
|
// saveParamItems.Add(parmItem);//添加到对应租户
|
|
}
|
|
foreach (var item in srcParamSchemes)
|
|
{
|
|
T_PF_PARAM_SCHEME paramScheme = item;
|
|
if (tenantParamSchemes.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantSchemes = tenantParamSchemes.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldSchemeID = paramScheme.ID;
|
|
paramScheme.SRC_ID = paramScheme.ID;
|
|
paramScheme.ID = tenantSchemes.ID;
|
|
paramScheme.ORG_ID = tenantSchemes.ORG_ID;
|
|
newSchemes.Add(oldSchemeID, tenantSchemes.ID);
|
|
saveParamSchemes.Add(paramScheme);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newSchemesID = Guid.NewGuid();
|
|
var oldSchemeID = paramScheme.ID;
|
|
paramScheme.SRC_ID = paramScheme.ID;
|
|
paramScheme.ID = newSchemesID;
|
|
paramScheme.ORG_ID = tenant.ID;
|
|
newSchemes.Add(oldSchemeID, newSchemesID);
|
|
addParamSchemes.Add(paramScheme);
|
|
}
|
|
|
|
}
|
|
foreach (var item in srcParamSchemeDetails)
|
|
{
|
|
T_PF_PARAM_SCHEME_DETAIL paramSchemeDetail = item;
|
|
if (tenantParamSchemeDetails.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantSchemes = tenantParamSchemeDetails.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldSchemeDetailID = paramSchemeDetail.ID;
|
|
var scheneId = newSchemes[item.PARAM_SCHEME_ID];
|
|
var ItemId = newItems[item.PARAM_ITEM_ID];
|
|
paramSchemeDetail.SRC_ID = paramSchemeDetail.ID;
|
|
paramSchemeDetail.ID = tenantSchemes.ID;
|
|
paramSchemeDetail.ORG_ID = tenantSchemes.ORG_ID;
|
|
paramSchemeDetail.PARAM_SCHEME_ID = scheneId;
|
|
paramSchemeDetail.PARAM_ITEM_ID = ItemId;
|
|
newSchemeDetails.Add(oldSchemeDetailID, tenantSchemes.ID);
|
|
saveParamSchemeDetails.Add(paramSchemeDetail);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newSchemeDetailID = Guid.NewGuid();
|
|
var oldSchemeDetailID = paramSchemeDetail.ID;
|
|
var scheneId = newSchemes[item.PARAM_SCHEME_ID];
|
|
var ItemId = newItems[item.PARAM_ITEM_ID];
|
|
paramSchemeDetail.SRC_ID = paramSchemeDetail.ID;
|
|
paramSchemeDetail.ID = newSchemeDetailID;
|
|
paramSchemeDetail.ORG_ID = tenant.ID;
|
|
paramSchemeDetail.PARAM_SCHEME_ID = scheneId;
|
|
paramSchemeDetail.PARAM_ITEM_ID = ItemId;
|
|
newSchemeDetails.Add(oldSchemeDetailID, newSchemeDetailID);
|
|
addParamSchemeDetails.Add(paramSchemeDetail);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
#region 编码规则表
|
|
foreach (var item in srcCodeRules)
|
|
{
|
|
T_PF_CODE_RULE codeRule = item;
|
|
if (tenantCodeRules.Any(x => x.SRC_ID == item.ID))
|
|
{
|
|
var tenantCodeRule = tenantCodeRules.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldCodeRuleID = item.ID;
|
|
codeRule.SRC_ID = codeRule.ID;
|
|
codeRule.ID = tenantCodeRule.ID;
|
|
codeRule.ORG_ID = tenantCodeRule.ORG_ID;
|
|
newCodeRules.Add(oldCodeRuleID, tenantCodeRule.ID);
|
|
saveCodeRules.Add(codeRule);//添加到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newCodeRuleID = Guid.NewGuid();
|
|
var oldCodeRuleID = item.ID;
|
|
codeRule.SRC_ID = codeRule.ID;
|
|
codeRule.ID = newCodeRuleID;
|
|
codeRule.ORG_ID = tenant.ID;
|
|
newCodeRules.Add(oldCodeRuleID, newCodeRuleID);
|
|
addCodeRules.Add(codeRule);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
#region T_FM_SYNC_TASK
|
|
foreach (var item in srcSyncTasks)
|
|
{
|
|
T_FM_SYNC_TASK syncTask = item;
|
|
if (tenantSyncTasks.Any(x => x.SRC_ID == item.ID))
|
|
{
|
|
var tenantSyncTask = tenantSyncTasks.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldCodeRuleID = item.ID;
|
|
syncTask.SRC_ID = syncTask.ID;
|
|
syncTask.ID = tenantSyncTask.ID;
|
|
syncTask.ORG_ID = tenantSyncTask.ORG_ID;
|
|
saveSyncTasks.Add(syncTask);//添加到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newSyncTaskID = Guid.NewGuid();
|
|
var oldCodeRuleID = item.ID;
|
|
syncTask.SRC_ID = syncTask.ID;
|
|
syncTask.ID = newSyncTaskID;
|
|
syncTask.ORG_ID = tenant.ID;
|
|
addSyncTasks.Add(syncTask);//添加到对应租户
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
#region 站点参数
|
|
var baseConfig = new T_FM_BASE_CONFIG();
|
|
if (tenantBaseConfig == null)
|
|
{
|
|
baseConfig.SRC_ID = srcBaseConfig.ID;
|
|
baseConfig.ID = Guid.NewGuid();
|
|
baseConfig.ORG_ID = tenant.ID;
|
|
baseConfig.NAME = tenant.NAME + "能源管理系统";
|
|
baseConfig.SYSTART_TIME = DateTime.Now;
|
|
baseConfig.CALENDAR_DAYS = srcBaseConfig.CALENDAR_DAYS;
|
|
baseConfig.SCREEN_TITLE = tenant.NAME + "能源管理系统";
|
|
baseConfig.SCREEN_URL = "http://" + targetDB.DB_CONN.Split(';')[2].Substring(5) + ":3167/home";
|
|
//addBaseConfig.Add(baseConfig);
|
|
}
|
|
#endregion
|
|
#region T_PF_VERSION_MANAGE 版本
|
|
if (!tenantVersionManages.Any(x => x.ORG_ID == tenant.ID))
|
|
{
|
|
foreach (var item in srcVersionManages)
|
|
{
|
|
T_PF_VERSION_MANAGE version = item;
|
|
var newCodeRuleID = Guid.NewGuid();
|
|
//var oldCodeRuleID = item.ID;
|
|
version.ID = newCodeRuleID;
|
|
version.ORG_ID = tenant.ID;
|
|
//newCodeRules.Add(oldCodeRuleID, newCodeRuleID);
|
|
saveVersions.Add(version);//添加到对应租户
|
|
}
|
|
}
|
|
#endregion
|
|
Dictionary<Guid, Guid> dicEnumType = new Dictionary<Guid, Guid>();
|
|
Dictionary<Guid, Guid> dicEnum = new Dictionary<Guid, Guid>();
|
|
Dictionary<Guid, Guid> dicEnumItem = new Dictionary<Guid, Guid>();
|
|
Dictionary<Guid, Guid> dicEnergyType = new Dictionary<Guid, Guid>();
|
|
Dictionary<Guid, Guid> dicReductionFactor = new Dictionary<Guid, Guid>();
|
|
|
|
Dictionary<Guid, Guid> dicVariableAttrs = new Dictionary<Guid, Guid>();
|
|
Dictionary<Guid, Guid> dicImportConfigs = new Dictionary<Guid, Guid>();
|
|
Dictionary<Guid, Guid> dicImportConfigDetails = new Dictionary<Guid, Guid>();
|
|
Dictionary<Guid, Guid> dicImportConfigFields = new Dictionary<Guid, Guid>();
|
|
|
|
Dictionary<Guid, Guid> dicPictures = new Dictionary<Guid, Guid>();//图片
|
|
Dictionary<Guid, Guid> dicFiles = new Dictionary<Guid, Guid>();//图片
|
|
Dictionary<Guid, Guid> dicImgFiles = new Dictionary<Guid, Guid>();//图片
|
|
Dictionary<Guid, Guid> dicImgFileDetails = new Dictionary<Guid, Guid>();//图片
|
|
Dictionary<Guid, Guid> dicPicFiles = new Dictionary<Guid, Guid>();//图片
|
|
Dictionary<Guid, Guid> dicPicFilters = new Dictionary<Guid, Guid>();//图片条件
|
|
Dictionary<Guid, Guid> dicPicFilterDetails = new Dictionary<Guid, Guid>();//图片
|
|
foreach (var item in srcEnumType)//枚举类别(枚举管理)
|
|
{
|
|
T_FM_ENUM_TYPE enumType = item;
|
|
if (tenantEnumType.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantEnumtype = tenantEnumType.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = enumType.ID;
|
|
enumType.SRC_ID = enumType.ID;
|
|
enumType.ID = tenantEnumtype.ID;
|
|
enumType.ORG_ID = tenantEnumtype.ORG_ID;
|
|
dicEnumType.Add(oldItenID, tenantEnumtype.ID);
|
|
saveEnumType.Add(enumType);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = enumType.ID;
|
|
enumType.SRC_ID = enumType.ID;
|
|
enumType.ID = newItemID;
|
|
enumType.ORG_ID = tenant.ID;
|
|
dicEnumType.Add(oldItenID, newItemID);
|
|
addEnumType.Add(enumType);
|
|
}
|
|
}
|
|
foreach (var item in srcEnum)//枚举类别(枚举管理)
|
|
{
|
|
T_FM_ENUM enumInfo = item;
|
|
if (tenantEnum.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantenum = tenantEnum.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = enumInfo.ID;
|
|
enumInfo.SRC_ID = enumInfo.ID;
|
|
enumInfo.ID = tenantenum.ID;
|
|
enumInfo.ORG_ID = tenantenum.ORG_ID;
|
|
enumInfo.ENUM_TYPE_ID = dicEnumType[enumInfo.ENUM_TYPE_ID];
|
|
dicEnum.Add(oldItenID, tenantenum.ID);
|
|
saveEnum.Add(enumInfo);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = enumInfo.ID;
|
|
enumInfo.SRC_ID = enumInfo.ID;
|
|
enumInfo.ID = newItemID;
|
|
enumInfo.ORG_ID = tenant.ID;
|
|
enumInfo.ENUM_TYPE_ID = dicEnumType[enumInfo.ENUM_TYPE_ID];
|
|
dicEnum.Add(oldItenID, newItemID);
|
|
addEnum.Add(enumInfo);
|
|
}
|
|
}
|
|
foreach (var item in srcEnumItem)//枚举类别(枚举管理)
|
|
{
|
|
T_FM_ENUM_ITEM enumItem = item;
|
|
if (tenantEnumItem.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantEnumitem = tenantEnumItem.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = enumItem.ID;
|
|
enumItem.SRC_ID = enumItem.ID;
|
|
enumItem.ID = tenantEnumitem.ID;
|
|
enumItem.ORG_ID = tenantEnumitem.ORG_ID;
|
|
enumItem.ENUM_ID = dicEnum[enumItem.ENUM_ID];
|
|
dicEnumItem.Add(oldItenID, tenantEnumitem.ID);
|
|
saveEnumItem.Add(enumItem);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = enumItem.ID;
|
|
enumItem.SRC_ID = enumItem.ID;
|
|
enumItem.ID = newItemID;
|
|
enumItem.ORG_ID = tenant.ID;
|
|
enumItem.ENUM_ID = dicEnum[enumItem.ENUM_ID];
|
|
dicEnumItem.Add(oldItenID, newItemID);
|
|
addEnumItem.Add(enumItem);
|
|
}
|
|
}
|
|
|
|
Dictionary<Guid, Guid> dicenergyTyep = new Dictionary<Guid, Guid>();
|
|
|
|
#region 变量属性表/excel模板
|
|
|
|
foreach (var item in srcImportConfigs)//导入配置
|
|
{
|
|
T_FM_IMPORT_CONFIG importConfig = item;
|
|
if (tenantImportConfigs.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantImportConfig = tenantImportConfigs.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = importConfig.ID;
|
|
importConfig.SRC_ID = importConfig.ID;
|
|
importConfig.ID = tenantImportConfig.ID;
|
|
importConfig.ORG_ID = tenantImportConfig.ORG_ID;
|
|
dicImportConfigs.Add(oldItenID, tenantImportConfig.ID);
|
|
saveImportConfigs.Add(importConfig);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = importConfig.ID;
|
|
importConfig.SRC_ID = importConfig.ID;
|
|
importConfig.ID = newItemID;
|
|
importConfig.ORG_ID = tenant.ID;
|
|
dicImportConfigs.Add(oldItenID, newItemID);
|
|
addImportConfigs.Add(importConfig);
|
|
}
|
|
}
|
|
foreach (var item in srcImportConfigDetails)//导入配置 明细
|
|
{
|
|
T_FM_IMPORT_CONFIG_DETAIL ImportConfigDetail = item;
|
|
if (tenantImportConfigDetails.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantImportConfigDetail = tenantImportConfigDetails.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = ImportConfigDetail.ID;
|
|
ImportConfigDetail.SRC_ID = ImportConfigDetail.ID;
|
|
ImportConfigDetail.ID = tenantImportConfigDetail.ID;
|
|
ImportConfigDetail.ORG_ID = tenantImportConfigDetail.ORG_ID;
|
|
ImportConfigDetail.IMPORT_CONFIG_ID = dicImportConfigs[ImportConfigDetail.IMPORT_CONFIG_ID];
|
|
dicImportConfigDetails.Add(oldItenID, tenantImportConfigDetail.ID);
|
|
saveImportConfigDetails.Add(ImportConfigDetail);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = ImportConfigDetail.ID;
|
|
ImportConfigDetail.SRC_ID = ImportConfigDetail.ID;
|
|
ImportConfigDetail.ID = newItemID;
|
|
ImportConfigDetail.ORG_ID = tenant.ID;
|
|
ImportConfigDetail.IMPORT_CONFIG_ID = dicImportConfigs[ImportConfigDetail.IMPORT_CONFIG_ID];
|
|
dicImportConfigDetails.Add(oldItenID, newItemID);
|
|
addImportConfigDetails.Add(ImportConfigDetail);
|
|
}
|
|
}
|
|
foreach (var item in addImportConfigDetails)//更新父节点
|
|
{
|
|
if (item.PARENT_ID != null)
|
|
{
|
|
item.PARENT_ID = dicImportConfigDetails[(Guid)item.PARENT_ID];
|
|
}
|
|
}
|
|
foreach (var item in saveImportConfigDetails)
|
|
{
|
|
if (item.PARENT_ID != null)
|
|
{
|
|
item.PARENT_ID = dicImportConfigDetails[(Guid)item.PARENT_ID];
|
|
}
|
|
}
|
|
foreach (var item in srcImportConfigFields)//导入配置 明细 字段
|
|
{
|
|
T_FM_IMPORT_CONFIG_FIELD ImportConfigField = item;
|
|
if (tenantImportConfigFields.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantImportConfigField = tenantImportConfigFields.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = ImportConfigField.ID;
|
|
ImportConfigField.SRC_ID = tenantImportConfigField.ID;
|
|
ImportConfigField.ID = tenantImportConfigField.ID;
|
|
ImportConfigField.ORG_ID = tenantImportConfigField.ORG_ID;
|
|
ImportConfigField.IMPORT_CONFIG_DETAIL_ID = dicImportConfigDetails[ImportConfigField.IMPORT_CONFIG_DETAIL_ID];
|
|
dicImportConfigFields.Add(oldItenID, tenantImportConfigField.ID);
|
|
saveImportConfigFields.Add(ImportConfigField);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = ImportConfigField.ID;
|
|
ImportConfigField.SRC_ID = ImportConfigField.ID;
|
|
ImportConfigField.ID = newItemID;
|
|
ImportConfigField.ORG_ID = tenant.ID;
|
|
ImportConfigField.IMPORT_CONFIG_DETAIL_ID = dicImportConfigDetails[ImportConfigField.IMPORT_CONFIG_DETAIL_ID];
|
|
dicImportConfigFields.Add(oldItenID, newItemID);
|
|
addImportConfigFields.Add(ImportConfigField);
|
|
}
|
|
}
|
|
#endregion
|
|
foreach (var item in srcPictures)//图片资源
|
|
{
|
|
T_BD_PICTURE srcPic = item;
|
|
if (tenantPictures.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantPicture = tenantPictures.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = srcPic.ID;
|
|
srcPic.SRC_ID = srcPic.ID;
|
|
srcPic.ID = tenantPicture.ID;
|
|
srcPic.ORG_ID = tenantPicture.ORG_ID;
|
|
if (srcPic.ENUM_ID != null)
|
|
{
|
|
srcPic.ENUM_ID = dicEnum[(Guid)srcPic.ENUM_ID];
|
|
}
|
|
if (srcPic.ENUM_ITEM_ID != null)
|
|
{
|
|
srcPic.ENUM_ITEM_ID = dicEnumItem[(Guid)srcPic.ENUM_ITEM_ID];
|
|
}
|
|
dicPictures.Add(oldItenID, tenantPicture.ID);
|
|
savePictures.Add(srcPic);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = srcPic.ID;
|
|
srcPic.SRC_ID = srcPic.ID;
|
|
srcPic.ID = newItemID;
|
|
srcPic.ORG_ID = tenant.ID;
|
|
if (srcPic.ENUM_ID != null)
|
|
{
|
|
srcPic.ENUM_ID = dicEnum[(Guid)srcPic.ENUM_ID];
|
|
}
|
|
if (srcPic.ENUM_ITEM_ID != null)
|
|
{
|
|
srcPic.ENUM_ITEM_ID = dicEnumItem[(Guid)srcPic.ENUM_ITEM_ID];
|
|
}
|
|
dicPictures.Add(oldItenID, newItemID);
|
|
addPictures.Add(srcPic);
|
|
}
|
|
}
|
|
foreach (var item in srcFiles)//图片资源
|
|
{
|
|
T_PF_FILE srcFile = item;
|
|
if (tenantFiles.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantFile = tenantFiles.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = srcFile.ID;
|
|
srcFile.SRC_ID = srcFile.ID;
|
|
srcFile.ID = tenantFile.ID;
|
|
srcFile.ORG_ID = tenantFile.ORG_ID;
|
|
dicFiles.Add(oldItenID, tenantFile.ID);
|
|
saveFiles.Add(srcFile);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = srcFile.ID;
|
|
srcFile.SRC_ID = srcFile.ID;
|
|
srcFile.ID = newItemID;
|
|
srcFile.ORG_ID = tenant.ID;
|
|
dicFiles.Add(oldItenID, newItemID);
|
|
addFiles.Add(srcFile);
|
|
}
|
|
}
|
|
foreach (var item in srcImgFiles)//图片资源
|
|
{
|
|
T_PF_IMG_FILE srcImgFile = item;
|
|
if (tenantImgFiles.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantImgFile = tenantImgFiles.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = srcImgFile.ID;
|
|
srcImgFile.SRC_ID = srcImgFile.ID;
|
|
srcImgFile.ID = tenantImgFile.ID;
|
|
srcImgFile.ORG_ID = tenantImgFile.ORG_ID;
|
|
if (srcImgFile.FILE_ID != null)
|
|
srcImgFile.FILE_ID = dicFiles[(Guid)srcImgFile.FILE_ID];
|
|
dicImgFiles.Add(oldItenID, tenantImgFile.ID);
|
|
saveImgFiles.Add(srcImgFile);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = srcImgFile.ID;
|
|
srcImgFile.SRC_ID = srcImgFile.ID;
|
|
srcImgFile.ID = newItemID;
|
|
srcImgFile.ORG_ID = tenant.ID;
|
|
if (srcImgFile.FILE_ID != null)
|
|
srcImgFile.FILE_ID = dicFiles[(Guid)srcImgFile.FILE_ID];
|
|
dicImgFiles.Add(oldItenID, newItemID);
|
|
addImgFiles.Add(srcImgFile);
|
|
}
|
|
}
|
|
foreach (var item in srcImgFileDetails)//图片资源
|
|
{
|
|
T_PF_IMG_FILE_DETAIL srcImgFileDetail = item;
|
|
if (tenantImgFileDetails.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantImgFileDetail = tenantImgFileDetails.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = srcImgFileDetail.ID;
|
|
srcImgFileDetail.SRC_ID = srcImgFileDetail.ID;
|
|
srcImgFileDetail.ID = tenantImgFileDetail.ID;
|
|
srcImgFileDetail.ORG_ID = tenantImgFileDetail.ORG_ID;
|
|
if (srcImgFileDetail.FILE_ID != null)
|
|
srcImgFileDetail.FILE_ID = dicFiles[(Guid)srcImgFileDetail.FILE_ID];
|
|
if (srcImgFileDetail.IMG_FILE_ID != null)
|
|
srcImgFileDetail.IMG_FILE_ID = dicImgFiles[(Guid)srcImgFileDetail.IMG_FILE_ID];
|
|
dicImgFileDetails.Add(oldItenID, tenantImgFileDetail.ID);
|
|
saveImgFileDetails.Add(srcImgFileDetail);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = srcImgFileDetail.ID;
|
|
srcImgFileDetail.SRC_ID = srcImgFileDetail.ID;
|
|
srcImgFileDetail.ID = newItemID;
|
|
srcImgFileDetail.ORG_ID = tenant.ID;
|
|
if (srcImgFileDetail.FILE_ID != null)
|
|
srcImgFileDetail.FILE_ID = dicFiles[(Guid)srcImgFileDetail.FILE_ID];
|
|
if (srcImgFileDetail.IMG_FILE_ID != null)
|
|
srcImgFileDetail.IMG_FILE_ID = dicImgFiles[(Guid)srcImgFileDetail.IMG_FILE_ID];
|
|
dicImgFileDetails.Add(oldItenID, newItemID);
|
|
addImgFileDetails.Add(srcImgFileDetail);
|
|
}
|
|
}
|
|
foreach (var item in srcPicFiles)//图片资源
|
|
{
|
|
T_BD_PICTURE_FILE srcPicFile = item;
|
|
if (tenantPicFiles.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantPicFile = tenantPicFiles.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = srcPicFile.ID;
|
|
srcPicFile.SRC_ID = srcPicFile.ID;
|
|
srcPicFile.ID = tenantPicFile.ID;
|
|
srcPicFile.ORG_ID = tenantPicFile.ORG_ID;
|
|
if (srcPicFile.IMG_FILE_ID != null)
|
|
srcPicFile.IMG_FILE_ID = dicImgFiles[(Guid)srcPicFile.IMG_FILE_ID];
|
|
if (srcPicFile.PICTURE_ID != null)
|
|
srcPicFile.PICTURE_ID = dicPictures[(Guid)srcPicFile.PICTURE_ID];
|
|
dicPicFiles.Add(oldItenID, tenantPicFile.ID);
|
|
savePicFiles.Add(srcPicFile);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = srcPicFile.ID;
|
|
srcPicFile.SRC_ID = srcPicFile.ID;
|
|
srcPicFile.ID = newItemID;
|
|
srcPicFile.ORG_ID = tenant.ID;
|
|
if (srcPicFile.IMG_FILE_ID != null)
|
|
srcPicFile.IMG_FILE_ID = dicImgFiles[(Guid)srcPicFile.IMG_FILE_ID];
|
|
if (srcPicFile.PICTURE_ID != null)
|
|
srcPicFile.PICTURE_ID = dicPictures[(Guid)srcPicFile.PICTURE_ID];
|
|
dicPicFiles.Add(oldItenID, newItemID);
|
|
addPicFiles.Add(srcPicFile);
|
|
}
|
|
}
|
|
foreach (var item in srcPicFilters)//图片条件主表
|
|
{
|
|
T_PF_PIC_FILTER srcPicFilter = item;
|
|
if (tenantPicFilters.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantPicFilter = tenantPicFilters.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = srcPicFilter.ID;
|
|
srcPicFilter.SRC_ID = srcPicFilter.ID;
|
|
srcPicFilter.ID = tenantPicFilter.ID;
|
|
srcPicFilter.ORG_ID = tenantPicFilter.ORG_ID;
|
|
if (srcPicFilter.PICTURE_ID != null)
|
|
srcPicFilter.PICTURE_ID = dicPictures[srcPicFilter.PICTURE_ID];
|
|
dicPicFilters.Add(oldItenID, tenantPicFilter.ID);
|
|
savePicFilters.Add(srcPicFilter);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = srcPicFilter.ID;
|
|
srcPicFilter.SRC_ID = srcPicFilter.ID;
|
|
srcPicFilter.ID = newItemID;
|
|
srcPicFilter.ORG_ID = tenant.ID;
|
|
if (srcPicFilter.PICTURE_ID != null)
|
|
srcPicFilter.PICTURE_ID = dicPictures[srcPicFilter.PICTURE_ID];
|
|
dicPicFilters.Add(oldItenID, newItemID);
|
|
addPicFilters.Add(srcPicFilter);
|
|
}
|
|
}
|
|
foreach (var item in srcPicFilterDetails)//图片条件主表
|
|
{
|
|
T_PF_PIC_FILTER_DETAIL srcPicFilterDetail = item;
|
|
if (tenantPicFilterDetails.Any(x => x.SRC_ID == item.ID))//修改
|
|
{
|
|
var tenantPicFilterDetail = tenantPicFilterDetails.FirstOrDefault(x => x.SRC_ID == item.ID);
|
|
var oldItenID = srcPicFilterDetail.ID;
|
|
srcPicFilterDetail.SRC_ID = srcPicFilterDetail.ID;
|
|
srcPicFilterDetail.ID = tenantPicFilterDetail.ID;
|
|
srcPicFilterDetail.ORG_ID = tenantPicFilterDetail.ORG_ID;
|
|
if (srcPicFilterDetail.PIC_FILTER_ID != null)
|
|
srcPicFilterDetail.PIC_FILTER_ID = dicPicFilters[srcPicFilterDetail.PIC_FILTER_ID];
|
|
dicPicFilterDetails.Add(oldItenID, tenantPicFilterDetail.ID);
|
|
savePicFilterDetails.Add(srcPicFilterDetail);//添加到对应租户
|
|
}
|
|
else//新增
|
|
{
|
|
var newItemID = Guid.NewGuid();
|
|
var oldItenID = srcPicFilterDetail.ID;
|
|
srcPicFilterDetail.SRC_ID = srcPicFilterDetail.ID;
|
|
srcPicFilterDetail.ID = newItemID;
|
|
srcPicFilterDetail.ORG_ID = tenant.ID;
|
|
if (srcPicFilterDetail.PIC_FILTER_ID != null)
|
|
srcPicFilterDetail.PIC_FILTER_ID = dicPicFilters[srcPicFilterDetail.PIC_FILTER_ID];
|
|
dicPicFilterDetails.Add(oldItenID, newItemID);
|
|
addPicFilterDetails.Add(srcPicFilterDetail);
|
|
}
|
|
}
|
|
if (!tenantDataFrequency.Any(x => x.ORG_ID == tenant.ID))//数据采集频率
|
|
{
|
|
foreach (var item in srcDataFrequency)
|
|
{
|
|
T_PF_DATA_FREQUENCY dataFrequency = item;
|
|
var newCodeRuleID = Guid.NewGuid();
|
|
dataFrequency.ID = newCodeRuleID;
|
|
dataFrequency.ORG_ID = tenant.ID;
|
|
addDataFrequency.Add(dataFrequency);//添加到对应租户
|
|
}
|
|
}
|
|
|
|
#region 添加租户管理员
|
|
if (!tenantUser.Any(x => x.ORG_ID == tenant.ID) && !tenantRole.Any(x => x.ORG_ID == tenant.ID) && !tenantUserBelongRole.Any(x => x.ORG_ID == tenant.ID))
|
|
{
|
|
T_FM_USER user = new T_FM_USER();
|
|
user.ID = Guid.NewGuid();
|
|
user.IS_DELETED = false;
|
|
user.ORG_ID = tenant.ID;
|
|
user.NAME = "管理员";
|
|
user.CODE = "admin";
|
|
user.PASSWORD = "E10ADC3949BA59ABBE56E057F20F883E";
|
|
user.ENTITY_ORG_TPYE = 0;
|
|
user.FLOW_STATUS = 0;
|
|
user.FLOW_SEND_STATUS = 0;
|
|
user.ENABLE_STATUS = 0;
|
|
T_FM_ROLE role = new T_FM_ROLE();
|
|
role.ID = Guid.NewGuid();
|
|
role.IS_DELETED = false;
|
|
role.ORG_ID = tenant.ID;
|
|
role.NAME = "管理员";
|
|
role.CODE = "admin";
|
|
role.ENTITY_ORG_TPYE = 0;
|
|
role.FLOW_STATUS = 0;
|
|
role.FLOW_SEND_STATUS = 0;
|
|
role.ENABLE_STATUS = 0;
|
|
role.ROLE_TYPE = 99;
|
|
role.PLATFORM_TYPE = 0;
|
|
T_FM_USER_BELONG_ROLE userBelongRole = new T_FM_USER_BELONG_ROLE();
|
|
userBelongRole.ID = Guid.NewGuid();
|
|
userBelongRole.IS_DELETED = false;
|
|
userBelongRole.ORG_ID = tenant.ID;
|
|
userBelongRole.ENTITY_ORG_TPYE = 0;
|
|
userBelongRole.FLOW_STATUS = 0;
|
|
userBelongRole.FLOW_SEND_STATUS = 0;
|
|
userBelongRole.USER_ID = user.ID;
|
|
userBelongRole.BELONG_ROLE_ID = role.ID;
|
|
saveUser.Add(user);
|
|
saveRole.Add(role);
|
|
saveUserBelongRole.Add(userBelongRole);
|
|
tenant.USER_ID = user.ID;
|
|
}
|
|
#endregion
|
|
foreach (var CheckKey in tenant.CheckKeys)
|
|
{
|
|
var checkMenu = srcMenuTrees.FirstOrDefault(x => x.Node.ID == new Guid(CheckKey));
|
|
if (checkMenu == null)
|
|
{
|
|
foreach (var item in srcMenuTrees)
|
|
{
|
|
checkMenu = selectNode(item, CheckKey);
|
|
if (checkMenu != null)
|
|
break;
|
|
}
|
|
}
|
|
if (checkMenu != null)
|
|
{
|
|
|
|
if (checkMenu.Node.MENU_FORM_ID != null)//有配表单
|
|
{
|
|
dicMenu.Add(new Guid(CheckKey), checkMenu.Node.MENU_FORM_ID);
|
|
//T_PF_FORM t_PF_FORM = this.GetEntities<T_PF_FORM>(null, filter).FirstOrDefault(x => x.ID == checkMenu.Node.MENU_FORM_ID);//OPT
|
|
//T_PF_MENU t_PF_MENU = this.GetEntities<T_PF_MENU>(null, filter).Where(x => x.ID == new Guid(CheckKey)).FirstOrDefault();
|
|
T_PF_FORM t_PF_FORM = srcForms.FirstOrDefault(x => x.ID == checkMenu.Node.MENU_FORM_ID);
|
|
T_PF_MENU t_PF_MENU = srcMenus.FirstOrDefault(x => x.ID == new Guid(CheckKey));
|
|
var formId = string.Empty;
|
|
if (tenantMenus.Any(x => x.SRC_ID == new Guid(CheckKey)))//菜单存在
|
|
{
|
|
#region 生成表单
|
|
//var tanentForm = this.GetEntities<T_PF_FORM>(null, tenantFilter).FirstOrDefault(x => x.SRC_ID == checkMenu.Node.MENU_FORM_ID);
|
|
var tanentForm = tenantForms.FirstOrDefault(x => x.SRC_ID == checkMenu.Node.MENU_FORM_ID);
|
|
if (tanentForm != null) //表单存在
|
|
{
|
|
formId = tanentForm.ID.ToString();
|
|
if (t_PF_FORM != null)//再次点击相同表单数据已更新
|
|
{
|
|
if ((!existForm.Contains(t_PF_FORM.ID)) && !savePermPFForm.Any(x => x.CODE == t_PF_FORM.CODE) && !addEntity.Forms.Any(x => x.CODE == t_PF_FORM.CODE))
|
|
{
|
|
AddTable(srcInfo, t_PF_FORM, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps, saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenant.ID, tanentForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
t_PF_FORM.SRC_ID = checkMenu.Node.MENU_FORM_ID;
|
|
t_PF_FORM.ID = tanentForm.ID;
|
|
t_PF_FORM.ORG_ID = tenant.ID;
|
|
t_PF_FORM.Nav_Org = null;
|
|
if (t_PF_FORM != null)
|
|
{
|
|
savePermPFForm.Add(t_PF_FORM);//添加表单到对应租户
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
#region 生成表单
|
|
var newFormID = Guid.NewGuid();
|
|
formId = newFormID.ToString();
|
|
if (t_PF_FORM != null)
|
|
{
|
|
if ((!existForm.Contains(t_PF_FORM.ID)) && !savePermPFForm.Any(x => x.CODE == t_PF_FORM.CODE) && !addEntity.Forms.Any(x => x.CODE == t_PF_FORM.CODE))
|
|
{
|
|
AddTable(srcInfo, t_PF_FORM, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps, saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenant.ID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
t_PF_FORM.SRC_ID = checkMenu.Node.MENU_FORM_ID;
|
|
t_PF_FORM.ID = newFormID;
|
|
t_PF_FORM.ORG_ID = tenant.ID;
|
|
t_PF_FORM.Nav_Org = null;
|
|
if (t_PF_FORM != null)
|
|
{
|
|
addEntity.Forms.Add(t_PF_FORM);//添加表单到对应租户
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
#endregion
|
|
#region 生成菜单
|
|
var tenantMenu = tenantMenus.FirstOrDefault(x => x.SRC_ID == new Guid(CheckKey));
|
|
if (!permOPMenu.Any(x => x.MENU_ID == new Guid(CheckKey)))//未授权
|
|
{
|
|
savePermOPMenu.Add(new T_OP_ROLE_MENU()
|
|
{
|
|
TENANT_ID = tenant.ID,
|
|
MENU_ID = new Guid(CheckKey),
|
|
TENANT_MENU_ID = tenantMenu.ID,
|
|
ORG_ID = tenant.ID
|
|
});//菜单授权
|
|
}
|
|
t_PF_MENU.SRC_ID = new Guid(CheckKey);
|
|
t_PF_MENU.ID = tenantMenu.ID;
|
|
t_PF_MENU.ORG_ID = tenant.ID;
|
|
t_PF_MENU.IS_PERMISSION_MENU = true;
|
|
if (!tenantInfo.DicForm.ContainsKey(t_PF_MENU.MENU_FORM_ID.ToString()))
|
|
{
|
|
tenantInfo.DicForm.Add(t_PF_MENU.MENU_FORM_ID.ToString(), formId);
|
|
t_PF_MENU.MENU_FORM_ID = new Guid(formId);
|
|
}
|
|
else
|
|
{
|
|
t_PF_MENU.MENU_FORM_ID = new Guid(tenantInfo.DicForm[t_PF_MENU.MENU_FORM_ID.ToString()]);
|
|
}
|
|
relationMenu.Add(CheckKey, checkMenu.Node.PARENT_ID);
|
|
newRelationMenu.Add(CheckKey, tenantMenu.ID.ToString());
|
|
|
|
savePermPFMenu.Add(t_PF_MENU);//添加菜单到对应租户
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
#region 菜单授权
|
|
var newMenuID = Guid.NewGuid();
|
|
savePermOPMenu.Add(new T_OP_ROLE_MENU() { TENANT_ID = tenant.ID, MENU_ID = new Guid(CheckKey), TENANT_MENU_ID = newMenuID, ORG_ID = tenant.ID });//菜单授权
|
|
#endregion
|
|
#region 生成表单
|
|
var newFormID = Guid.NewGuid();
|
|
if (t_PF_FORM != null)
|
|
{
|
|
if ((!existForm.Contains(t_PF_FORM.ID)) && !savePermPFForm.Any(x => x.CODE == t_PF_FORM.CODE) && !addEntity.Forms.Any(x => x.CODE == t_PF_FORM.CODE))
|
|
{
|
|
AddTable(srcInfo, t_PF_FORM, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps, saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenant.ID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
t_PF_FORM.SRC_ID = checkMenu.Node.MENU_FORM_ID;
|
|
t_PF_FORM.ID = newFormID;
|
|
t_PF_FORM.ORG_ID = tenant.ID;
|
|
t_PF_FORM.Nav_Org = null;
|
|
if (t_PF_FORM != null)
|
|
{
|
|
addEntity.Forms.Add(t_PF_FORM);//添加表单到对应租户
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
#region 生成菜单
|
|
t_PF_MENU.SRC_ID = checkMenu.Node.ID;
|
|
t_PF_MENU.ID = newMenuID;
|
|
t_PF_MENU.ORG_ID = tenant.ID;
|
|
t_PF_MENU.IS_PERMISSION_MENU = true;
|
|
if (!tenantInfo.DicForm.ContainsKey(t_PF_MENU.MENU_FORM_ID.ToString()))
|
|
{
|
|
tenantInfo.DicForm.Add(t_PF_MENU.MENU_FORM_ID.ToString(), newFormID.ToString());
|
|
t_PF_MENU.MENU_FORM_ID = newFormID;
|
|
}
|
|
else
|
|
{
|
|
t_PF_MENU.MENU_FORM_ID = new Guid(tenantInfo.DicForm[t_PF_MENU.MENU_FORM_ID.ToString()]);
|
|
}
|
|
//if (!MenuFormRelation.ContainsKey(new Guid(t_PF_MENU.MENU_FORM_ID.ToString())))
|
|
//{
|
|
// MenuFormRelation.Add(new Guid(t_PF_MENU.MENU_FORM_ID.ToString()), newFormID);
|
|
// t_PF_MENU.MENU_FORM_ID = newFormID;
|
|
//}
|
|
//else
|
|
//{
|
|
// t_PF_MENU.MENU_FORM_ID = MenuFormRelation[new Guid(t_PF_MENU.MENU_FORM_ID.ToString())];
|
|
//}
|
|
relationMenu.Add(CheckKey, checkMenu.Node.PARENT_ID);
|
|
newRelationMenu.Add(CheckKey, newMenuID.ToString());
|
|
addPermPFMenu.Add(t_PF_MENU);//添加菜单到对应租户
|
|
#endregion
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
dicMenu.Add(new Guid(CheckKey), null);
|
|
//var tenantMenus = this.GetEntities<T_PF_MENU>(null, tenantFilter);
|
|
//T_PF_MENU t_PF_MENU = this.GetEntities<T_PF_MENU>(null, filter).Where(x => x.ID == new Guid(CheckKey)).FirstOrDefault();
|
|
T_PF_MENU t_PF_MENU = srcMenus.FirstOrDefault(x => x.ID == new Guid(CheckKey));
|
|
if (t_PF_MENU != null)
|
|
{
|
|
if (tenantMenus.Any(x => x.SRC_ID == new Guid(CheckKey)))//菜单存在
|
|
{
|
|
var tenantMenu = tenantMenus.FirstOrDefault(x => x.SRC_ID == new Guid(CheckKey));
|
|
if (!permOPMenu.Any(x => x.MENU_ID == new Guid(CheckKey)))//未授权
|
|
{
|
|
savePermOPMenu.Add(new T_OP_ROLE_MENU() { TENANT_ID = tenant.ID, MENU_ID = new Guid(CheckKey), TENANT_MENU_ID = tenantMenu.ID, ORG_ID = tenant.ID });//菜单授权
|
|
}
|
|
t_PF_MENU.SRC_ID = checkMenu.Node.ID;
|
|
t_PF_MENU.ID = tenantMenu.ID;
|
|
t_PF_MENU.ORG_ID = tenantMenu.ORG_ID;
|
|
t_PF_MENU.IS_PERMISSION_MENU = true;
|
|
relationMenu.Add(CheckKey, checkMenu.Node.PARENT_ID);
|
|
newRelationMenu.Add(CheckKey, tenantMenu.ID.ToString());
|
|
savePermPFMenu.Add(t_PF_MENU);//添加菜单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newMenuID = Guid.NewGuid();
|
|
savePermOPMenu.Add(new T_OP_ROLE_MENU() { TENANT_ID = tenant.ID, MENU_ID = new Guid(CheckKey), TENANT_MENU_ID = newMenuID, ORG_ID = tenant.ID });//菜单授权
|
|
t_PF_MENU.SRC_ID = checkMenu.Node.ID;
|
|
t_PF_MENU.ID = newMenuID;
|
|
t_PF_MENU.ORG_ID = tenant.ID;
|
|
t_PF_MENU.IS_PERMISSION_MENU = true;
|
|
relationMenu.Add(CheckKey, checkMenu.Node.PARENT_ID);
|
|
newRelationMenu.Add(CheckKey, newMenuID.ToString());
|
|
addPermPFMenu.Add(t_PF_MENU);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//var deleteFilter = new BaseFilter(tenant.ID);//OPT创建的菜单,表单等
|
|
//deleteFilter.Level = -1;
|
|
//deleteFilter.IsParentData = true;
|
|
//var tenantMenusTree = this.GetTreeOrderEntities<T_PF_MENU>(x => x.ENABLE_STATUS == (int)FMEnableStatusEnum.启用, deleteFilter);
|
|
foreach (var item in permOPMenu)
|
|
{
|
|
if (!dicMenu.Keys.Contains(item.MENU_ID))
|
|
{
|
|
var deleteMenu = tenantMenuTrees.FirstOrDefault(x => x.Node.ID == item.TENANT_MENU_ID);
|
|
if (deleteMenu == null)
|
|
{
|
|
foreach (var tenantMenu in tenantMenuTrees)
|
|
{
|
|
deleteMenu = selectNode(tenantMenu, item.TENANT_MENU_ID.ToString());
|
|
if (deleteMenu != null)
|
|
break;
|
|
}
|
|
}
|
|
if (deleteMenu != null)
|
|
{
|
|
var cancelMenu = tenantMenus.Where(x => x.ID == deleteMenu.Node.ID).FirstOrDefault();
|
|
deletePermPFMenu.Add(cancelMenu);
|
|
var subMenus = this.GetEntities<T_PF_MENU>(x => x.SRC_ID == deleteMenu.Node.ID, orgFilter);
|
|
cancelMenu.IS_PERMISSION_MENU = false;
|
|
foreach (var subMenu in subMenus)//子菜单权限也要回收
|
|
{
|
|
subMenu.IS_PERMISSION_MENU = false;
|
|
deletePermPFMenu.Add(subMenu);
|
|
}
|
|
deletePermOPMenu.Add(item.ID);
|
|
}
|
|
}
|
|
}
|
|
#region 菜单节点关系
|
|
foreach (var item in relationMenu)
|
|
{
|
|
if (item.Value != null)
|
|
{
|
|
var newMenuID = newRelationMenu[item.Key];//需要更新父ID
|
|
if (newRelationMenu.ContainsKey(item.Value.ToString()))
|
|
{
|
|
if (savePermPFMenu.Count > 0 && savePermPFMenu.Any(x => x.ID == new Guid(newMenuID)))
|
|
{
|
|
savePermPFMenu.Where(x => x.ID == new Guid(newMenuID)).FirstOrDefault().PARENT_ID = new Guid(newRelationMenu[item.Value.ToString()]);
|
|
}
|
|
if (addPermPFMenu != null && addPermPFMenu.Any(x => x.ID == new Guid(newMenuID)))
|
|
{
|
|
addPermPFMenu.Where(x => x.ID == new Guid(newMenuID)).FirstOrDefault().PARENT_ID = new Guid(newRelationMenu[item.Value.ToString()]);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
#region PageTable关系关联
|
|
foreach (var item in savePermPageTable)
|
|
{
|
|
if (item.PARENT_ID != null)
|
|
{
|
|
//item.PARENT_ID = new Guid(tenantInfo.DicPageTableRelation[tenantInfo.DicPageTable[item.SRC_ID.ToString()]]);
|
|
var oldParentID = tenantInfo.DicPageTable[item.SRC_ID.ToString()];
|
|
item.PARENT_ID = new Guid(tenantInfo.DicPageTableRelation[oldParentID.ToString()]);
|
|
}
|
|
}
|
|
foreach (var item in addEntity.PageTables)
|
|
{
|
|
if (item.PARENT_ID != null)
|
|
{
|
|
//item.PARENT_ID = new Guid(tenantInfo.DicPageTableRelation[tenantInfo.DicPageTable[item.SRC_ID.ToString()]]);
|
|
var oldParentID = tenantInfo.DicPageTable[item.SRC_ID.ToString()];
|
|
item.PARENT_ID = new Guid(tenantInfo.DicPageTableRelation[oldParentID.ToString()]);
|
|
}
|
|
}
|
|
#endregion
|
|
#region pageEdit关系关联
|
|
foreach (var item in savePermPageEdit)
|
|
{
|
|
if (item.PARENT_ID != null)
|
|
{
|
|
//item.PARENT_ID = new Guid(tenantInfo.DicPageTableRelation[tenantInfo.DicPageTable[item.SRC_ID.ToString()]]);
|
|
var oldParentID = tenantInfo.DicPageTable[item.SRC_ID.ToString()];
|
|
item.PARENT_ID = new Guid(tenantInfo.DicPageTableRelation[oldParentID.ToString()]);
|
|
}
|
|
}
|
|
foreach (var item in addEntity.PageEdits)
|
|
{
|
|
if (item.PARENT_ID != null)
|
|
{
|
|
//item.PARENT_ID = new Guid(tenantInfo.DicPageTableRelation[tenantInfo.DicPageTable[item.SRC_ID.ToString()]]);
|
|
var oldParentID = tenantInfo.DicPageTable[item.SRC_ID.ToString()];
|
|
item.PARENT_ID = new Guid(tenantInfo.DicPageTableRelation[oldParentID.ToString()]);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 菜单图片更新
|
|
foreach (var item in savePermPFMenu)
|
|
{
|
|
if (item.PICTURE_ID != null && dicPictures.ContainsKey((Guid)item.PICTURE_ID))
|
|
{
|
|
item.PICTURE_ID = dicPictures[(Guid)item.PICTURE_ID];
|
|
}
|
|
}
|
|
foreach (var item in addPermPFMenu)
|
|
{
|
|
if (item.PICTURE_ID != null && dicPictures.ContainsKey((Guid)item.PICTURE_ID))
|
|
{
|
|
item.PICTURE_ID = dicPictures[(Guid)item.PICTURE_ID];
|
|
}
|
|
}
|
|
foreach (var item in savePicFilters)//图片条件主表
|
|
{
|
|
if (item.PAGE_FORM_ID != null && savePermPFForm.Any(x => x.SRC_ID == item.PAGE_FORM_ID))
|
|
{
|
|
item.PAGE_FORM_ID = savePermPFForm.FirstOrDefault(x => x.SRC_ID == item.PAGE_FORM_ID).ID;
|
|
}
|
|
if (item.PAGE_FORM_ID != null && addEntity.Forms.Any(x => x.SRC_ID == item.PAGE_FORM_ID))
|
|
{
|
|
item.PAGE_FORM_ID = addEntity.Forms.FirstOrDefault(x => x.SRC_ID == item.PAGE_FORM_ID).ID;
|
|
}
|
|
}
|
|
foreach (var item in addPicFilters)
|
|
{
|
|
if (item.PAGE_FORM_ID != null && savePermPFForm.Any(x => x.SRC_ID == item.PAGE_FORM_ID))
|
|
{
|
|
item.PAGE_FORM_ID = savePermPFForm.FirstOrDefault(x => x.SRC_ID == item.PAGE_FORM_ID).ID;
|
|
}
|
|
if (item.PAGE_FORM_ID != null && addEntity.Forms.Any(x => x.SRC_ID == item.PAGE_FORM_ID))
|
|
{
|
|
item.PAGE_FORM_ID = addEntity.Forms.FirstOrDefault(x => x.SRC_ID == item.PAGE_FORM_ID).ID;
|
|
}
|
|
}
|
|
#endregion
|
|
#region 更新数据
|
|
var idssd = addEntity.PageTables.Where(i => i.PAGE_FORM_ID != null).Select(i => i.PAGE_FORM_ID ?? Guid.Empty).ToList();
|
|
var idssa = addEntity.PageEdits.Where(i => i.PAGE_FORM_ID != null).Select(i => i.PAGE_FORM_ID ?? Guid.Empty).ToList();
|
|
var idssb = addEntity.PageTrees.Where(i => i.PAGE_FORM_ID != null).Select(i => i.PAGE_FORM_ID ?? Guid.Empty).ToList();
|
|
var idsse = addEntity.PageCustoms.Where(i => i.PAGE_FORM_ID != null).Select(i => i.PAGE_FORM_ID ?? Guid.Empty).ToList();
|
|
List<Guid> idss = new List<Guid>();
|
|
idss.AddRange(idssd);
|
|
idss.AddRange(idssa);
|
|
idss.AddRange(idssb);
|
|
idss.AddRange(idsse);
|
|
var addPermPFMenuas = addPermPFMenu.Where(i => !idss.Contains(i.MENU_FORM_ID ?? Guid.Empty) && i.MENU_FORM_ID != null).Select(i=>i.ID);
|
|
addPermPFMenu.RemoveAll(i => addPermPFMenuas.Contains(i.ID));
|
|
var Connnect = targetDB.DB_CONN;
|
|
using (var context = new MigrationContext(Connnect))
|
|
{
|
|
try
|
|
{
|
|
|
|
if (addEnumType != null && addEnumType.Any())
|
|
context.AddEntities(addEnumType);
|
|
if (saveEnumType != null && saveEnumType.Any())
|
|
context.UpdateEntities(saveEnumType);
|
|
if (addEnum != null && addEnum.Any())
|
|
context.AddEntities(addEnum);
|
|
if (saveEnum != null && saveEnum.Any())
|
|
context.UpdateEntities(saveEnum);
|
|
if (addEnumItem != null && addEnumItem.Any())
|
|
context.AddEntities(addEnumItem);
|
|
if (saveEnumItem != null && saveEnumItem.Any())
|
|
context.UpdateEntities(saveEnumItem);
|
|
|
|
if (savePictures != null && savePictures.Any())
|
|
context.UpdateEntities(savePictures);//图片
|
|
if (addPictures != null && addPictures.Any())
|
|
context.AddEntities(addPictures);//图片
|
|
if (saveFiles != null && saveFiles.Any())
|
|
context.UpdateEntities(saveFiles);//图片
|
|
if (addFiles != null && addFiles.Any())
|
|
context.AddEntities(addFiles);//图片
|
|
if (saveImgFiles != null && saveImgFiles.Any())
|
|
context.UpdateEntities(saveImgFiles);//图片
|
|
if (addImgFiles != null && addImgFiles.Any())
|
|
context.AddEntities(addImgFiles);//图片
|
|
if (saveImgFileDetails != null && saveImgFileDetails.Any())
|
|
context.UpdateEntities(saveImgFileDetails);//图片
|
|
if (addImgFileDetails != null && addImgFileDetails.Any())
|
|
context.AddEntities(addImgFileDetails);//图片
|
|
if (savePicFiles != null && savePicFiles.Any())
|
|
context.UpdateEntities(savePicFiles);//图片
|
|
if (addPicFiles != null && addPicFiles.Any())
|
|
context.AddEntities(addPicFiles);//图片
|
|
if (saveImportConfigs != null && saveImportConfigs.Any())
|
|
context.UpdateEntities(saveImportConfigs);//导入
|
|
if (addImportConfigs != null && addImportConfigs.Any())
|
|
context.AddEntities(addImportConfigs);//导入
|
|
if (saveImportConfigDetails != null && saveImportConfigDetails.Any())
|
|
context.UpdateEntities(saveImportConfigDetails);//导入
|
|
if (addImportConfigDetails != null && addImportConfigDetails.Any())
|
|
context.AddEntities(addImportConfigDetails);//导入
|
|
if (saveImportConfigFields != null && saveImportConfigFields.Any())
|
|
context.UpdateEntities(saveImportConfigFields);//导入
|
|
if (addImportConfigFields != null && addImportConfigFields.Any())
|
|
context.AddEntities(addImportConfigFields);//导入
|
|
|
|
if (deletePermPFMenu != null && deletePermPFMenu.Any())
|
|
context.UpdateEntities(deletePermPFMenu);
|
|
if (savePermPFForm != null && savePermPFForm.Any())
|
|
context.UpdateEntities(savePermPFForm);
|
|
if (addEntity.Forms != null && addEntity.Forms.Any())
|
|
context.AddRange(addEntity.Forms);
|
|
|
|
if (savePicFilters != null && savePicFilters.Any())
|
|
context.UpdateEntities(savePicFilters);
|
|
if (addPicFilters != null && addPicFilters.Any())
|
|
context.AddRange(addPicFilters);
|
|
if (savePicFilterDetails != null && savePicFilterDetails.Any())
|
|
context.UpdateEntities(savePicFilterDetails);
|
|
if (addPicFilterDetails != null && addPicFilterDetails.Any())
|
|
context.AddRange(addPicFilterDetails);
|
|
|
|
if (saveParamItems != null && saveParamItems.Any())
|
|
context.UpdateEntities(saveParamItems);
|
|
if (addParamItems != null && addParamItems.Any())
|
|
context.AddEntities(addParamItems);
|
|
if (saveParamSchemes != null && saveParamSchemes.Any())
|
|
context.UpdateEntities(saveParamSchemes);
|
|
if (addParamSchemes != null && addParamSchemes.Any())
|
|
context.AddEntities(addParamSchemes);
|
|
if (saveParamSchemeDetails != null && saveParamSchemeDetails.Any())
|
|
context.UpdateEntities(saveParamSchemeDetails);
|
|
if (addParamSchemeDetails != null && addParamSchemeDetails.Any())
|
|
context.AddEntities(addParamSchemeDetails);
|
|
if (savePermPageEdit != null && savePermPageEdit.Any())
|
|
context.UpdateEntities(savePermPageEdit);
|
|
if (addEntity.PageEdits != null && addEntity.PageEdits.Any())
|
|
context.AddRange(addEntity.PageEdits);
|
|
if (saveEditPanels != null && saveEditPanels.Any())
|
|
context.UpdateEntities(saveEditPanels);
|
|
if (addEntity.EditPanels != null && addEntity.EditPanels.Any())
|
|
context.AddEntities(addEntity.EditPanels);
|
|
if (saveEditColumns != null && saveEditColumns.Any())
|
|
context.UpdateEntities(saveEditColumns);
|
|
if (addEntity.EditColumns != null && addEntity.EditColumns.Any())
|
|
context.AddEntities(addEntity.EditColumns);
|
|
if (saveEditColumnFilters != null && saveEditColumnFilters.Any())
|
|
context.UpdateEntities(saveEditColumnFilters);
|
|
if (addEntity.EditColumnFilters != null && addEntity.EditColumnFilters.Any())
|
|
context.AddEntities(addEntity.EditColumnFilters);
|
|
if (saveEditColumnFillMaps != null && saveEditColumnFillMaps.Any())
|
|
context.UpdateEntities(saveEditColumnFillMaps);
|
|
if (addEntity.EditColumnFillMaps != null && addEntity.EditColumnFillMaps.Any())
|
|
context.AddEntities(addEntity.EditColumnFillMaps);
|
|
if (saveEditColumnFillMapDs != null && saveEditColumnFillMapDs.Any())
|
|
context.UpdateEntities(saveEditColumnFillMapDs);
|
|
if (addEntity.EditColumnFillMapDs != null && addEntity.EditColumnFillMapDs.Any())
|
|
context.AddEntities(addEntity.EditColumnFillMapDs);
|
|
if (savePermPageCustom != null && savePermPageCustom.Any())
|
|
context.UpdateEntities(savePermPageCustom);
|
|
if (addEntity.PageCustoms != null && addEntity.PageCustoms.Any())
|
|
context.AddEntities(addEntity.PageCustoms);
|
|
if (savePermPageChart != null && savePermPageChart.Any())
|
|
context.UpdateEntities(savePermPageChart);
|
|
if (addEntity.PageCharts != null && addEntity.PageCharts.Any())
|
|
context.AddEntities(addEntity.PageCharts);
|
|
if (saveChartParams != null && saveChartParams.Any())
|
|
context.UpdateEntities(saveChartParams);
|
|
if (addEntity.ChartParams != null && addEntity.ChartParams.Any())
|
|
context.AddEntities(addEntity.ChartParams);
|
|
if (savePermPageTable != null && savePermPageTable.Any())
|
|
context.UpdateEntities(savePermPageTable);
|
|
if (addEntity.PageTables != null && addEntity.PageTables.Any())
|
|
context.AddEntities(addEntity.PageTables);
|
|
if (saveTablePanels != null && saveTablePanels.Any())
|
|
context.UpdateEntities(saveTablePanels);
|
|
if (addEntity.TablePanels != null && addEntity.TablePanels.Any())
|
|
context.AddEntities(addEntity.TablePanels);
|
|
if (savePermCloumn != null && savePermCloumn.Any())
|
|
context.UpdateEntities(savePermCloumn);
|
|
if (addEntity.Columns != null && addEntity.Columns.Any())
|
|
context.AddEntities(addEntity.Columns);
|
|
if (saveColumFilters != null && saveColumFilters.Any())
|
|
context.UpdateEntities(saveColumFilters);
|
|
if (addEntity.ColumnFilters != null && addEntity.ColumnFilters.Any())
|
|
context.AddEntities(addEntity.ColumnFilters);
|
|
if (saveTableParams != null && saveTableParams.Any())
|
|
context.UpdateEntities(saveTableParams);
|
|
if (addEntity.TableParams != null && addEntity.TableParams.Any())
|
|
context.AddEntities(addEntity.TableParams);
|
|
if (saveFormQuerys != null && saveFormQuerys.Any())
|
|
context.UpdateEntities(saveFormQuerys);
|
|
if (addEntity.FormQuerys != null && addEntity.FormQuerys.Any())
|
|
context.AddEntities(addEntity.FormQuerys);
|
|
if (saveQuerys != null && saveQuerys.Any())
|
|
context.UpdateEntities(saveQuerys);
|
|
if (addEntity.Querys != null && addEntity.Querys.Any())
|
|
context.AddEntities(addEntity.Querys);
|
|
if (savePermPageTree != null && savePermPageTree.Any())
|
|
context.UpdateEntities(savePermPageTree);
|
|
if (addEntity.PageTrees != null && addEntity.PageTrees.Any())
|
|
context.AddEntities(addEntity.PageTrees);
|
|
if (saveTreeColumns != null && saveTreeColumns.Any())
|
|
context.UpdateEntities(saveTreeColumns);
|
|
if (addEntity.TreeColumns != null && addEntity.TreeColumns.Any())
|
|
context.AddEntities(addEntity.TreeColumns);
|
|
if (savePermBtn != null && savePermBtn.Any())
|
|
context.UpdateEntities(savePermBtn);
|
|
if (addEntity.Btns != null && addEntity.Btns.Any())
|
|
context.AddEntities(addEntity.Btns);
|
|
if (savePermPFMenu != null && savePermPFMenu.Any())
|
|
context.UpdateEntities(savePermPFMenu);
|
|
if (addPermPFMenu != null && addPermPFMenu.Any())
|
|
context.AddEntities(addPermPFMenu);
|
|
if (savePermPFFormRelation != null && savePermPFFormRelation.Any())
|
|
context.UpdateEntities(savePermPFFormRelation);
|
|
if (addEntity.FormRelations != null && addEntity.FormRelations.Any())
|
|
context.AddEntities(addEntity.FormRelations);
|
|
if (saveCodeRules != null && saveCodeRules.Any())
|
|
context.UpdateEntities(saveCodeRules);
|
|
if (addCodeRules != null && addCodeRules.Any())
|
|
context.AddEntities(addCodeRules);
|
|
if (saveSyncTasks != null && saveSyncTasks.Any())
|
|
context.UpdateEntities(saveSyncTasks);
|
|
if (addSyncTasks != null && addSyncTasks.Any())
|
|
context.AddEntities(addSyncTasks);
|
|
if (tenantBaseConfig == null)
|
|
context.AddEntity(baseConfig);
|
|
if (saveVersions != null && saveVersions.Any())
|
|
context.AddEntities(saveVersions);
|
|
if (saveUser != null && saveUser.Any())
|
|
context.AddEntities(saveUser);
|
|
if (saveRole != null && saveRole.Any())
|
|
context.AddEntities(saveRole);
|
|
if (saveUserBelongRole != null && saveUserBelongRole.Any())
|
|
context.AddEntities(saveUserBelongRole);
|
|
|
|
if (addDataFrequency != null && addDataFrequency.Any())
|
|
context.AddEntities(addDataFrequency);
|
|
context.SaveChanges();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
context.RollbackTransaction();
|
|
this.ThrowError("010001", ex.Message + ",StackTrace:" + ex.StackTrace + ",Source:" + ex.Source);
|
|
}
|
|
|
|
}
|
|
UnifiedCommit(() =>
|
|
{
|
|
if (savePermOPMenu != null && savePermOPMenu.Any())
|
|
this.BantchSaveEntityNoCommit(savePermOPMenu);
|
|
if (deletePermOPMenu.Count > 0)
|
|
this.BantchDeleteEntityNoCommit<T_OP_ROLE_MENU>(deletePermOPMenu);
|
|
});
|
|
#endregion
|
|
|
|
}
|
|
else
|
|
{
|
|
if (permOPMenu.Count > 0)
|
|
{
|
|
deletePermOPMenu.AddRange(permOPMenu.Select(x => x.ID).ToList());
|
|
}
|
|
if (tenantMenus.Count > 0)
|
|
{
|
|
foreach (var item in tenantMenus)
|
|
{
|
|
item.IS_PERMISSION_MENU = false;
|
|
deletePermPFMenu.Add(item);
|
|
}
|
|
}
|
|
#region 更新数据
|
|
var Connnect = targetDB.DB_CONN;
|
|
using (var context = new MigrationContext(Connnect))
|
|
{
|
|
try
|
|
{
|
|
if (deletePermPFMenu != null && deletePermPFMenu.Any())
|
|
context.UpdateEntities(deletePermPFMenu);
|
|
context.SaveChanges();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
this.ThrowError("010001", ex.Message + ",StackTrace:" + ex.StackTrace + ",Source:" + ex.Source);
|
|
}
|
|
}
|
|
#endregion
|
|
UnifiedCommit(() =>
|
|
{
|
|
this.UpdateEntityNoCommit(tenant);
|
|
if (deletePermOPMenu.Count > 0)
|
|
this.BantchDeleteEntityNoCommit<T_OP_ROLE_MENU>(deletePermOPMenu);
|
|
});
|
|
}
|
|
return true;
|
|
});
|
|
}
|
|
|
|
public class TenantInfo
|
|
{
|
|
public List<T_PF_FORM_RELATION> FormRelations { get; set; }
|
|
public List<T_PF_FORM> Forms { get; set; }
|
|
public List<T_PF_PAGE_TABLE> PageTables { get; set; }
|
|
public List<T_PF_PAGE_EDIT> PageEdits { get; set; }
|
|
public List<T_PF_PAGE_TREE> PageTrees { get; set; }
|
|
public List<T_PF_PAGE_CHART> PageCharts { get; set; }
|
|
public List<T_PF_PAGE_CUSTOM> PageCustoms { get; set; }
|
|
public List<T_PF_BTN> Btns { get; set; }
|
|
public List<T_PF_COLUMN> Columns { get; set; }
|
|
public List<T_PF_PAGE_TABLE_PANEL> TablePanels { get; set; }
|
|
public List<T_PF_TABLE_PARAMS> TableParams { get; set; }
|
|
public List<T_PF_PAGE_EDIT_PANEL> EditPanels { get; set; }
|
|
public List<T_PF_EDIT_COLUMN> EditColumns { get; set; }
|
|
public List<T_PF_EDIT_COLUMN_FILTER> EditColumnFilters { get; set; }
|
|
public List<T_PF_EDIT_COLUMN_FILL_MAP> EditColumnFillMaps { get; set; }
|
|
public List<T_PF_EDIT_COLUMN_FILL_MAP_D> EditColumnFillMapDs { get; set; }
|
|
public List<T_PF_TREE_COLUMN> TreeColumns { get; set; }
|
|
public List<T_PF_PAGE_CHART_PARAM> ChartParams { get; set; }
|
|
public List<T_PF_COLUMN_FILTER> ColumnFilters { get; set; }
|
|
public List<T_PF_QUERY> Querys { get; set; }
|
|
public List<T_PF_FORM_QUERY> FormQuerys { get; set; }
|
|
public Dictionary<string, object> DicPageTable { get; set; }
|
|
public Dictionary<string, string> DicPageTableRelation { get; set; }
|
|
public Dictionary<string, string> DicForm { get; set; }
|
|
}
|
|
public TreeNode<T_PF_MENU> selectNode(TreeNode<T_PF_MENU> treeNode, string checkKey)
|
|
{
|
|
if (treeNode.Node.ID == new Guid(checkKey))
|
|
{
|
|
return treeNode;
|
|
}
|
|
else
|
|
{
|
|
TreeNode<T_PF_MENU> checkNode = null;
|
|
foreach (var item in treeNode.Children)
|
|
{
|
|
checkNode = selectNode(item, checkKey);
|
|
if (checkNode != null)
|
|
{
|
|
return checkNode;
|
|
}
|
|
}
|
|
return checkNode;
|
|
}
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="t_PF_FORMs"></param>
|
|
/// <param name="optFormRelations"></param>
|
|
/// <param name="form"></param>
|
|
/// <param name="savePermPFForm"></param>
|
|
/// <param name="pageTablePerm"></param>
|
|
/// <param name="savePermPageTable"></param>
|
|
/// <param name="optTablePanels"></param>
|
|
/// <param name="saveTablePanels"></param>
|
|
/// <param name="optTableParams"></param>
|
|
/// <param name="saveTableParams"></param>
|
|
/// <param name="optColumFilters"></param>
|
|
/// <param name="saveColumFilters"></param>
|
|
/// <param name="savePermCloumn"></param>
|
|
/// <param name="editTablePerm"></param>
|
|
/// <param name="savePermPageEdit"></param>
|
|
/// <param name="optEditPanels"></param>
|
|
/// <param name="saveEditPanels"></param>
|
|
/// <param name="saveEditColumns"></param>
|
|
/// <param name="optEditColumnFilters"></param>
|
|
/// <param name="saveEditColumnFilters"></param>
|
|
/// <param name="optEditColumnFillMaps"></param>
|
|
/// <param name="saveEditColumnFillMaps"></param>
|
|
/// <param name="optEditColumnFillMapDs"></param>
|
|
/// <param name="saveEditColumnFillMapDs"></param>
|
|
/// <param name="treeTablePerm"></param>
|
|
/// <param name="savePermPageTree"></param>
|
|
/// <param name="optTreeColumns"></param>
|
|
/// <param name="saveTreeColumns"></param>
|
|
/// <param name="charPerm"></param>
|
|
/// <param name="savePermPageChart"></param>
|
|
/// <param name="optChartParams"></param>
|
|
/// <param name="saveChartParams"></param>
|
|
/// <param name="customPerm"></param>
|
|
/// <param name="savePermPageCustom"></param>
|
|
/// <param name="savePermBtn"></param>
|
|
/// <param name="optFormQuerys"></param>
|
|
/// <param name="saveFormQuerys"></param>
|
|
/// <param name="optQuerys"></param>
|
|
/// <param name="saveQuerys"></param>
|
|
/// <param name="newSchemes"></param>
|
|
/// <param name="newTablePanels"></param>
|
|
/// <param name="newEditPanels"></param>
|
|
/// <param name="tenantID"></param>
|
|
/// <param name="pageFormID"></param>
|
|
/// <param name="filter"></param>
|
|
/// <param name="existForm"></param>
|
|
public void AddTable(TenantInfo srcInfo, T_PF_FORM form, List<T_PF_FORM> savePermPFForm,
|
|
List<T_PF_PAGE_TABLE> savePermPageTable, List<T_PF_PAGE_TABLE_PANEL> saveTablePanels, List<T_PF_TABLE_PARAMS> saveTableParams,
|
|
List<T_PF_COLUMN_FILTER> saveColumFilters, List<T_PF_COLUMN> savePermCloumn,
|
|
List<T_PF_PAGE_EDIT> savePermPageEdit, List<T_PF_PAGE_EDIT_PANEL> saveEditPanels, List<T_PF_EDIT_COLUMN> saveEditColumns,
|
|
List<T_PF_EDIT_COLUMN_FILTER> saveEditColumnFilters, List<T_PF_EDIT_COLUMN_FILL_MAP> saveEditColumnFillMaps,
|
|
List<T_PF_EDIT_COLUMN_FILL_MAP_D> saveEditColumnFillMapDs,
|
|
List<T_PF_PAGE_TREE> savePermPageTree, List<T_PF_TREE_COLUMN> saveTreeColumns,
|
|
List<T_PF_PAGE_CHART> savePermPageChart, List<T_PF_PAGE_CHART_PARAM> saveChartParams,
|
|
List<T_PF_PAGE_CUSTOM> savePermPageCustom,
|
|
List<T_PF_BTN> savePermBtn, List<T_PF_FORM_QUERY> saveFormQuerys, List<T_PF_QUERY> saveQuerys, List<T_PF_FORM_RELATION> savePermPFFormRelation,
|
|
Dictionary<Guid, Guid> newSchemes, Dictionary<Guid, Guid> newTablePanels, Dictionary<Guid, Guid> newEditPanels, Guid tenantID, Guid pageFormID,
|
|
List<Guid> existForm, List<Guid> existTable, TenantInfo tenantInfo, TenantInfo addEntity)
|
|
{
|
|
existForm.Add(form.ID);//去重
|
|
tenantInfo.DicForm.Add(form.ID.ToString(), pageFormID.ToString());
|
|
switch (form.FORM_TYPE)
|
|
{
|
|
case (int)PFFormTypeEnum.列表表单:
|
|
case (int)PFFormTypeEnum.组合表单:
|
|
{
|
|
#region 配置关联表单T_PF_FORM_RELATION
|
|
var formRelations = srcInfo.FormRelations.Where(x => x.PAGE_FORM_ID == form.ID);
|
|
if (formRelations.Any())
|
|
{
|
|
foreach (var formRelation in formRelations)
|
|
{
|
|
T_PF_FORM_RELATION relation = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(formRelation);
|
|
if (tenantInfo.FormRelations.Any(x => x.SRC_ID == formRelation.ID))
|
|
{
|
|
var tenantRelation = tenantInfo.FormRelations.FirstOrDefault(x => x.SRC_ID == formRelation.ID);
|
|
var relationForm = srcInfo.Forms.Where(x => x.CODE == formRelation.CODE).FirstOrDefault();
|
|
if (!existForm.Contains(relationForm.ID) && !savePermPFForm.Any(x => x.CODE == relationForm.CODE) && !addEntity.Forms.Any(x => x.CODE == relationForm.CODE))//去重
|
|
{
|
|
if (relationForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == relationForm.ID))
|
|
{
|
|
var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == relationForm.ID);//取旧数据ID不变
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = tenantForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
//savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
|
|
}
|
|
}
|
|
relation.SRC_ID = formRelation.ID;
|
|
relation.ID = tenantRelation.ID;
|
|
relation.ORG_ID = tenantID;
|
|
relation.PAGE_FORM_ID = pageFormID;
|
|
savePermPFFormRelation.Add(relation);
|
|
}
|
|
else
|
|
{
|
|
var relationForm = srcInfo.Forms.Where(x => x.CODE == formRelation.CODE).FirstOrDefault();
|
|
if (!existForm.Contains(relationForm.ID) && !savePermPFForm.Any(x => x.CODE == relationForm.CODE) && !addEntity.Forms.Any(x => x.CODE == relationForm.CODE))//去重
|
|
{
|
|
if (relationForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == relationForm.ID))
|
|
{
|
|
var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == relationForm.ID);
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = tenantForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
}
|
|
|
|
}
|
|
}
|
|
var newRelationID = new Guid();
|
|
relation.SRC_ID = formRelation.ID;
|
|
relation.ID = newRelationID;
|
|
relation.ORG_ID = tenantID;
|
|
relation.PAGE_FORM_ID = pageFormID;
|
|
addEntity.FormRelations.Add(relation);
|
|
}
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
#region 查询
|
|
AddQuerys(form, tenantID, pageFormID, srcInfo.FormQuerys, saveFormQuerys, srcInfo.Querys, saveQuerys, tenantInfo, addEntity);
|
|
#endregion
|
|
if (form.NAME.Contains("部门"))
|
|
{
|
|
var x = 0;
|
|
}
|
|
var resTable = srcInfo.PageTables.Where(x => x.PAGE_FORM_ID == form.ID).ToList();//查找相关表单
|
|
if (resTable.Count > 0)
|
|
{
|
|
if (form.FORM_TYPE == (int)PFFormTypeEnum.列表表单)
|
|
{
|
|
foreach (var item in resTable)
|
|
{
|
|
var oldpageTable = item.ID;
|
|
if (!existTable.Contains(oldpageTable))
|
|
{
|
|
existTable.Add(oldpageTable);
|
|
var newTableID = AddPageTable(item, pageFormID, tenantID, savePermPageTable, newSchemes, saveTablePanels, saveTableParams,
|
|
newTablePanels, saveEditPanels, newEditPanels, saveChartParams, tenantInfo, srcInfo, addEntity);
|
|
#region 添加列
|
|
//var allClm = this.GetEntities<T_PF_COLUMN>(t => t.PAGE_TABLE_ID == oldpageTable, filter).ToList();//OPT所有列
|
|
var allClm = srcInfo.Columns.Where(t => t.PAGE_TABLE_ID == oldpageTable).ToList();
|
|
foreach (var col in allClm)
|
|
{
|
|
var oldColID = col.ID;
|
|
var newColumnID = Guid.NewGuid();
|
|
if (tenantInfo.Columns.Any(x => x.SRC_ID == col.ID))
|
|
{
|
|
var tenantColumn = tenantInfo.Columns.FirstOrDefault(x => x.SRC_ID == col.ID);
|
|
T_PF_COLUMN column = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(col);//OPT创建的表单
|
|
column.SRC_ID = col.ID;
|
|
column.ID = tenantColumn.ID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_TABLE_ID = newTableID;
|
|
if (column.PAGE_TABLE_PANEL_ID != null)
|
|
{
|
|
column.PAGE_TABLE_PANEL_ID = newTablePanels[(Guid)column.PAGE_TABLE_PANEL_ID];
|
|
}
|
|
savePermCloumn.Add(column);//添加列基础到对应租户
|
|
newColumnID = tenantColumn.ID;//更新
|
|
}
|
|
else
|
|
{
|
|
T_PF_COLUMN column = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(col);//OPT创建的表单
|
|
column.SRC_ID = col.ID;
|
|
column.ID = newColumnID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_TABLE_ID = newTableID;
|
|
if (column.PAGE_TABLE_PANEL_ID != null)
|
|
{
|
|
column.PAGE_TABLE_PANEL_ID = newTablePanels[(Guid)column.PAGE_TABLE_PANEL_ID];
|
|
}
|
|
//savePermCloumn.Add(column);//添加列基础到对应租户
|
|
addEntity.Columns.Add(column);
|
|
}
|
|
#region T_PF_COLUMN_FILTER
|
|
var colFilters = srcInfo.ColumnFilters.Where(x => x.COLUMN_ID == oldColID);
|
|
foreach (var colFilter in colFilters)
|
|
{
|
|
if (tenantInfo.ColumnFilters.Any(x => x.SRC_ID == colFilter.ID))
|
|
{
|
|
var tenantColumnFilters = tenantInfo.ColumnFilters.FirstOrDefault(x => x.SRC_ID == colFilter.ID);
|
|
var cf = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFilter);
|
|
cf.SRC_ID = colFilter.ID;
|
|
cf.ID = tenantColumnFilters.ID;
|
|
cf.COLUMN_ID = newColumnID;
|
|
cf.ORG_ID = tenantID;
|
|
saveColumFilters.Add(cf);
|
|
}
|
|
else
|
|
{
|
|
var colID = Guid.NewGuid();
|
|
var cf = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFilter);
|
|
cf.SRC_ID = colFilter.ID;
|
|
cf.ID = colID;
|
|
cf.COLUMN_ID = newColumnID;
|
|
cf.ORG_ID = tenantID;
|
|
addEntity.ColumnFilters.Add(cf);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
if (!string.IsNullOrEmpty(col.SHOW_FORM_CODE))//有配置关联表单
|
|
{
|
|
var colForm = srcInfo.Forms.Where(x => x.CODE == col.SHOW_FORM_CODE).FirstOrDefault();
|
|
if (!existForm.Contains(form.ID) && !savePermPFForm.Any(x => x.CODE == colForm.CODE) && !addEntity.Forms.Any(x => x.CODE == colForm.CODE))//去重
|
|
{
|
|
if (colForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == colForm.ID))
|
|
{
|
|
var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == colForm.ID);
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colForm);//OPT创建的表单
|
|
AddTable(srcInfo, colForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = colForm.ID;
|
|
newForm.ID = tenantForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colForm);//OPT创建的表单
|
|
AddTable(srcInfo, colForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = colForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
#region 添加按钮
|
|
//var allBtn = this.GetEntities<T_PF_BTN>(t => t.PAGE_ID == oldpageTable, filter).ToList();//OPT所有列
|
|
var allBtn = srcInfo.Btns.Where(t => t.PAGE_ID == oldpageTable).ToList();
|
|
AddTableBtn(srcInfo, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, existForm, existTable, allBtn, newTableID, tenantInfo, addEntity);
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
else//组合表单
|
|
{
|
|
foreach (var item in resTable)
|
|
{
|
|
var newRelationFormID = Guid.NewGuid();
|
|
var reformId = srcInfo.Forms.Where(x => x.CODE == item.CODE).FirstOrDefault();
|
|
//var reformId = this.GetEntities<T_PF_FORM>(null, filter).FirstOrDefault(x => x.CODE == item.CODE);
|
|
if (reformId != null && !existForm.Contains(reformId.ID) && !savePermPFForm.Any(x => x.CODE == reformId.CODE) && !addEntity.Forms.Any(x => x.CODE == reformId.CODE))
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == reformId.ID))//存在
|
|
{
|
|
var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == reformId.ID);
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(reformId);//OPT创建的表单
|
|
AddTable(srcInfo, newForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = reformId.ID;
|
|
newForm.ID = tenantForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
newRelationFormID = tenantForm.ID;
|
|
}
|
|
else
|
|
{
|
|
//var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(reformId);//OPT创建的表单
|
|
AddTable(srcInfo, newForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newRelationFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = reformId.ID;
|
|
newForm.ID = newRelationFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
}
|
|
}
|
|
#region 组合关联pageTable
|
|
var oldrelationPageID = item.ID;
|
|
//var pageTables = srcInfo.PageTables.Where(x => x.PAGE_FORM_ID == reformId.ID).ToList();//真实表单
|
|
if (!existTable.Contains(oldrelationPageID))
|
|
{
|
|
existTable.Add(oldrelationPageID);
|
|
var newRelationTableID = AddPageTable(item, pageFormID, tenantID, savePermPageTable, newSchemes, saveTablePanels, saveTableParams,
|
|
newTablePanels, saveEditPanels, newEditPanels, saveChartParams, tenantInfo, srcInfo, addEntity);
|
|
}
|
|
#endregion
|
|
#region 添加T_PF_PAGE_TABLE
|
|
//foreach (var pageTable in pageTables)
|
|
//{
|
|
// var oldpageTable = pageTable.ID;
|
|
// if (!existTable.Contains(oldpageTable))
|
|
// {
|
|
// existTable.Add(oldpageTable);
|
|
// var newTableID = AddPageTable(pageTable, newRelationFormID, tenantID, savePermPageTable, newSchemes, saveTablePanels, saveTableParams,
|
|
// newTablePanels, saveEditPanels, newEditPanels, saveChartParams, tenantInfo);
|
|
|
|
// #region 添加列
|
|
// var allClm = this.GetEntities<T_PF_COLUMN>(t => t.PAGE_TABLE_ID == oldpageTable, filter).ToList();//OPT所有列
|
|
// foreach (var col in allClm)
|
|
// {
|
|
// var oldColID = col.ID;
|
|
// var newColumnID = Guid.NewGuid();
|
|
// if (tenantInfo.Columns.Any(x => x.SRC_ID == col.ID))
|
|
// {
|
|
// var tenantColumn = tenantInfo.Columns.FirstOrDefault(x => x.SRC_ID == col.ID);
|
|
// T_PF_COLUMN column = col;//OPT创建的表单
|
|
// column.SRC_ID = col.ID;
|
|
// column.ID = tenantColumn.ID;
|
|
// column.ORG_ID = tenantID;
|
|
// column.PAGE_TABLE_ID = newTableID;
|
|
// if (column.PAGE_TABLE_PANEL_ID != null)
|
|
// {
|
|
// column.PAGE_TABLE_PANEL_ID = newTablePanels[(Guid)column.PAGE_TABLE_PANEL_ID];
|
|
// }
|
|
// savePermCloumn.Add(column);//添加列基础到对应租户
|
|
// newColumnID = tenantColumn.ID;//更新
|
|
// }
|
|
// else
|
|
// {
|
|
// T_PF_COLUMN column = col;//OPT创建的表单
|
|
// column.SRC_ID = col.ID;
|
|
// column.ID = newColumnID;
|
|
// column.ORG_ID = tenantID;
|
|
// column.PAGE_TABLE_ID = newTableID;
|
|
// if (column.PAGE_TABLE_PANEL_ID != null)
|
|
// {
|
|
// column.PAGE_TABLE_PANEL_ID = newTablePanels[(Guid)column.PAGE_TABLE_PANEL_ID];
|
|
// }
|
|
// savePermCloumn.Add(column);//添加列基础到对应租户
|
|
// }
|
|
// #region T_PF_COLUMN_FILTER
|
|
// var colFilters = srcInfo.ColumnFilters.Where(x => x.COLUMN_ID == oldColID);
|
|
// foreach (var colFilter in colFilters)
|
|
// {
|
|
// if (tenantInfo.ColumnFilters.Any(x => x.SRC_ID == colFilter.ID))
|
|
// {
|
|
// var tenantColumnFilters = tenantInfo.ColumnFilters.FirstOrDefault(x => x.SRC_ID == colFilter.ID);
|
|
// var cf = colFilter;
|
|
// cf.SRC_ID = colFilter.ID;
|
|
// cf.ID = tenantColumnFilters.ID;
|
|
// cf.COLUMN_ID = newColumnID;
|
|
// saveColumFilters.Add(cf);
|
|
// }
|
|
// else
|
|
// {
|
|
// var colID = Guid.NewGuid();
|
|
// var cf = colFilter;
|
|
// cf.SRC_ID = colFilter.ID;
|
|
// cf.ID = colID;
|
|
// cf.COLUMN_ID = newColumnID;
|
|
// saveColumFilters.Add(cf);
|
|
// }
|
|
|
|
// }
|
|
// #endregion
|
|
// if (!string.IsNullOrEmpty(col.SHOW_FORM_CODE))//有配置关联表单
|
|
// {
|
|
// var colForm = srcInfo.Forms.Where(x => x.CODE == col.SHOW_FORM_CODE).FirstOrDefault();
|
|
// if (!existForm.Contains(form.ID))//去重
|
|
// {
|
|
// if (colForm != null)
|
|
// {
|
|
// if (tenantInfo.Forms.Any(x => x.SRC_ID == colForm.ID))
|
|
// {
|
|
// var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == colForm.ID);
|
|
// T_PF_FORM newForm = colForm;//OPT创建的表单
|
|
// AddTable(srcInfo, colForm, savePermPFForm,
|
|
// savePermPageTable, saveTablePanels, saveTableParams,
|
|
// saveColumFilters, savePermCloumn,
|
|
// savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
// saveEditColumnFilters, saveEditColumnFillMaps,
|
|
// saveEditColumnFillMapDs,
|
|
// savePermPageTree, saveTreeColumns,
|
|
// savePermPageChart, saveChartParams,
|
|
// savePermPageCustom,
|
|
// savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
// newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo);
|
|
// newForm.SRC_ID = colForm.ID;
|
|
// newForm.ID = tenantForm.ID;
|
|
// newForm.ORG_ID = tenantID;
|
|
// newForm.Nav_Org = null;
|
|
// savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
// }
|
|
// else
|
|
// {
|
|
// var newFormID = Guid.NewGuid();
|
|
// T_PF_FORM newForm = colForm;//OPT创建的表单
|
|
// AddTable(srcInfo, colForm, savePermPFForm,
|
|
// savePermPageTable, saveTablePanels, saveTableParams,
|
|
// saveColumFilters, savePermCloumn,
|
|
// savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
// saveEditColumnFilters, saveEditColumnFillMaps,
|
|
// saveEditColumnFillMapDs,
|
|
// savePermPageTree, saveTreeColumns,
|
|
// savePermPageChart, saveChartParams,
|
|
// savePermPageCustom,
|
|
// savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
// newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo);
|
|
// newForm.SRC_ID = colForm.ID;
|
|
// newForm.ID = newFormID;
|
|
// newForm.ORG_ID = tenantID;
|
|
// newForm.Nav_Org = null;
|
|
// savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// #endregion
|
|
// #region 添加按钮
|
|
// var allBtn = this.GetEntities<T_PF_BTN>(t => t.PAGE_ID == oldpageTable, filter).ToList();//OPT所有列
|
|
// AddTableBtn(srcInfo, savePermPFForm,
|
|
// savePermPageTable, saveTablePanels, saveTableParams,
|
|
// saveColumFilters, savePermCloumn,
|
|
// savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
// saveEditColumnFilters, saveEditColumnFillMaps,
|
|
// saveEditColumnFillMapDs,
|
|
// savePermPageTree, saveTreeColumns,
|
|
// savePermPageChart, saveChartParams,
|
|
// savePermPageCustom,
|
|
// savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
// newSchemes, newTablePanels, newEditPanels, tenantID, existForm, existTable, allBtn, newTableID, tenantInfo);
|
|
// #endregion
|
|
// }
|
|
//}
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case (int)PFFormTypeEnum.编辑表单:
|
|
{
|
|
#region 配置关联表单T_PF_FORM_RELATION
|
|
var formRelations = srcInfo.FormRelations.Where(x => x.PAGE_FORM_ID == form.ID);
|
|
if (formRelations.Any())
|
|
{
|
|
foreach (var formRelation in formRelations)
|
|
{
|
|
T_PF_FORM_RELATION relation = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(formRelation);
|
|
if (tenantInfo.FormRelations.Any(x => x.SRC_ID == formRelation.ID))
|
|
{
|
|
var tenantRelation = tenantInfo.FormRelations.FirstOrDefault(x => x.SRC_ID == formRelation.ID);
|
|
var relationForm = srcInfo.Forms.Where(x => x.CODE == formRelation.CODE).FirstOrDefault();
|
|
if (!existForm.Contains(relationForm.ID) && !savePermPFForm.Any(x => x.CODE == relationForm.CODE) && !addEntity.Forms.Any(x => x.CODE == relationForm.CODE))//去重
|
|
{
|
|
if (relationForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == relationForm.ID))
|
|
{
|
|
var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == relationForm.ID);//取旧数据ID不变
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = tenantForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
//savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
|
|
}
|
|
}
|
|
relation.SRC_ID = formRelation.ID;
|
|
relation.ID = tenantRelation.ID;
|
|
relation.ORG_ID = tenantID;
|
|
relation.PAGE_FORM_ID = pageFormID;
|
|
savePermPFFormRelation.Add(relation);
|
|
}
|
|
else
|
|
{
|
|
var relationForm = srcInfo.Forms.Where(x => x.CODE == formRelation.CODE).FirstOrDefault();
|
|
if (!existForm.Contains(relationForm.ID) && !savePermPFForm.Any(x => x.CODE == relationForm.CODE) && !addEntity.Forms.Any(x => x.CODE == relationForm.CODE))//去重
|
|
{
|
|
if (relationForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == relationForm.ID))
|
|
{
|
|
var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == relationForm.ID);
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = tenantForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
}
|
|
|
|
}
|
|
}
|
|
var newRelationID = new Guid();
|
|
relation.SRC_ID = formRelation.ID;
|
|
relation.ID = newRelationID;
|
|
relation.ORG_ID = tenantID;
|
|
relation.PAGE_FORM_ID = pageFormID;
|
|
addEntity.FormRelations.Add(relation);
|
|
}
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
#region 查询
|
|
AddQuerys(form, tenantID, pageFormID, srcInfo.FormQuerys, saveFormQuerys, srcInfo.Querys, saveQuerys, tenantInfo, addEntity);
|
|
#endregion
|
|
var resEdit = srcInfo.PageEdits.Where(x => x.PAGE_FORM_ID == form.ID).ToList();//查找相关表单
|
|
if (resEdit.Count > 0)
|
|
{
|
|
foreach (var item in resEdit)
|
|
{
|
|
var oldpageEdit = item.ID;
|
|
if (!existTable.Contains(oldpageEdit))
|
|
{
|
|
existTable.Add(oldpageEdit);
|
|
var newTableID = AddPageTable(item, pageFormID, tenantID, savePermPageEdit, newSchemes, saveTablePanels, saveTableParams,
|
|
newTablePanels, saveEditPanels, newEditPanels, saveChartParams, tenantInfo, srcInfo, addEntity);
|
|
#region 添加编辑列
|
|
//var allClm = this.GetEntities<T_PF_EDIT_COLUMN>(t => t.PAGE_EDIT_ID == oldpageEdit, filter).ToList();//OPT所有列
|
|
var allClm = srcInfo.EditColumns.Where(t => t.PAGE_EDIT_ID == oldpageEdit).ToList();
|
|
foreach (var col in allClm)
|
|
{
|
|
var newColumnID = Guid.NewGuid();
|
|
var oldColID = col.ID;
|
|
if (tenantInfo.EditColumns.Any(x => x.SRC_ID == col.ID))
|
|
{
|
|
var tenantEditColumn = tenantInfo.EditColumns.FirstOrDefault(x => x.SRC_ID == col.ID);
|
|
T_PF_EDIT_COLUMN column = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(col);//OPT创建的表单
|
|
column.SRC_ID = col.ID;
|
|
column.ID = tenantEditColumn.ID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_EDIT_ID = newTableID;
|
|
if (column.PAGE_EDIT_PANEL_ID != null)
|
|
{
|
|
column.PAGE_EDIT_PANEL_ID = newEditPanels[(Guid)column.PAGE_EDIT_PANEL_ID];
|
|
}
|
|
saveEditColumns.Add(column);//添加列基础到对应租户
|
|
newColumnID = tenantEditColumn.ID;//更新
|
|
}
|
|
else
|
|
{
|
|
T_PF_EDIT_COLUMN column = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(col);//OPT创建的表单
|
|
column.SRC_ID = col.ID;
|
|
column.ID = newColumnID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_EDIT_ID = newTableID;
|
|
if (column.PAGE_EDIT_PANEL_ID != null)
|
|
{
|
|
column.PAGE_EDIT_PANEL_ID = newEditPanels[(Guid)column.PAGE_EDIT_PANEL_ID];
|
|
}
|
|
addEntity.EditColumns.Add(column);//添加列基础到对应租户
|
|
}
|
|
#region T_PF_EDIT_COLUMN_FILTER
|
|
var colFilters = srcInfo.EditColumnFilters.Where(x => x.EDIT_COLUMN_ID == oldColID);
|
|
foreach (var colFilter in colFilters)
|
|
{
|
|
if (tenantInfo.EditColumnFilters.Any(x => x.SRC_ID == colFilter.ID))
|
|
{
|
|
var tenantEditColumnFilter = tenantInfo.EditColumnFilters.FirstOrDefault(x => x.SRC_ID == colFilter.ID);
|
|
var cf = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFilter);
|
|
cf.SRC_ID = colFilter.ID;
|
|
cf.ID = tenantEditColumnFilter.ID;
|
|
cf.ORG_ID = tenantID;
|
|
cf.PAGE_EDIT_ID = newTableID;
|
|
cf.EDIT_COLUMN_ID = newColumnID;
|
|
saveEditColumnFilters.Add(cf);
|
|
}
|
|
else
|
|
{
|
|
var colID = Guid.NewGuid();
|
|
var cf = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFilter);
|
|
cf.SRC_ID = colFilter.ID;
|
|
cf.ID = colID;
|
|
cf.ORG_ID = tenantID;
|
|
cf.PAGE_EDIT_ID = newTableID;
|
|
cf.EDIT_COLUMN_ID = newColumnID;
|
|
addEntity.EditColumnFilters.Add(cf);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
#region T_PF_EDIT_COLUMN_FILL_MAP
|
|
var colFillMaps = srcInfo.EditColumnFillMaps.Where(x => x.EDIT_COLUMN_ID == oldColID);
|
|
foreach (var colFillMap in colFillMaps)
|
|
{
|
|
var colMapID = Guid.NewGuid();
|
|
if (tenantInfo.EditColumnFillMaps.Any(x => x.SRC_ID == colFillMap.ID))
|
|
{
|
|
var tenantEditColumnFillMap = tenantInfo.EditColumnFillMaps.FirstOrDefault(x => x.SRC_ID == colFillMap.ID);
|
|
var cm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFillMap);
|
|
cm.SRC_ID = colFillMap.ID;
|
|
cm.ID = tenantEditColumnFillMap.ID;
|
|
cm.ORG_ID = tenantID;
|
|
cm.PAGE_EDIT_ID = newTableID;
|
|
cm.EDIT_COLUMN_ID = newColumnID;
|
|
saveEditColumnFillMaps.Add(cm);
|
|
colMapID = tenantEditColumnFillMap.ID;
|
|
}
|
|
else
|
|
{
|
|
var cm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFillMap);
|
|
cm.SRC_ID = colFillMap.ID;
|
|
cm.ID = colMapID;
|
|
cm.ORG_ID = tenantID;
|
|
cm.PAGE_EDIT_ID = newTableID;
|
|
cm.EDIT_COLUMN_ID = newColumnID;
|
|
addEntity.EditColumnFillMaps.Add(cm);
|
|
}
|
|
#region T_PF_EDIT_COLUMN_FILL_MAP
|
|
var colFillMapDs = srcInfo.EditColumnFillMapDs.Where(x => x.EDIT_COLUMN_FILL_MAP_ID == colMapID);
|
|
foreach (var colFillMapD in colFillMapDs)
|
|
{
|
|
if (tenantInfo.EditColumnFillMapDs.Any(x => x.SRC_ID == colFillMapD.ID))
|
|
{
|
|
var tenantEditColumnFillMapD = tenantInfo.EditColumnFillMapDs.FirstOrDefault(x => x.SRC_ID == colFillMapD.ID);
|
|
var cmd = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFillMapD);
|
|
cmd.SRC_ID = colFillMapD.ID;
|
|
cmd.ID = tenantEditColumnFillMapD.ID;
|
|
cmd.ORG_ID = tenantID;
|
|
cmd.EDIT_COLUMN_FILL_MAP_ID = colMapID;
|
|
saveEditColumnFillMapDs.Add(cmd);
|
|
}
|
|
else
|
|
{
|
|
var colMapDID = Guid.NewGuid();
|
|
var cmd = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFillMapD);
|
|
cmd.SRC_ID = colFillMapD.ID;
|
|
cmd.ID = colMapDID;
|
|
cmd.ORG_ID = tenantID;
|
|
cmd.EDIT_COLUMN_FILL_MAP_ID = colMapID;
|
|
addEntity.EditColumnFillMapDs.Add(cmd);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
#endregion
|
|
|
|
if (!string.IsNullOrEmpty(col.SHOW_FORM_CODE))//有配置关联表单
|
|
{
|
|
var colForm = srcInfo.Forms.Where(x => x.CODE == col.SHOW_FORM_CODE).FirstOrDefault();
|
|
if (!existForm.Contains(form.ID) && !savePermPFForm.Any(x => x.CODE == colForm.CODE) && !addEntity.Forms.Any(x => x.CODE == colForm.CODE))//去重
|
|
{
|
|
if (colForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == colForm.ID))
|
|
{
|
|
var tenantColForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == colForm.ID);
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colForm);//OPT创建的表单
|
|
AddTable(srcInfo, colForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantColForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = colForm.ID;
|
|
newForm.ID = tenantColForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colForm);//OPT创建的表单
|
|
AddTable(srcInfo, colForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = colForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
#region 添加按钮
|
|
// var allBtn = this.GetEntities<T_PF_BTN>(t => t.PAGE_ID == oldpageEdit, filter).ToList();//OPT所有列
|
|
var allBtn = srcInfo.Btns.Where(x => x.PAGE_ID == oldpageEdit).ToList();
|
|
AddTableBtn(srcInfo, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, existForm, existTable, allBtn, newTableID, tenantInfo, addEntity);
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case (int)PFFormTypeEnum.树形编辑页:
|
|
case (int)PFFormTypeEnum.横向树编辑页:
|
|
{
|
|
#region 配置关联表单T_PF_FORM_RELATION
|
|
var formRelations = srcInfo.FormRelations.Where(x => x.PAGE_FORM_ID == form.ID);
|
|
if (formRelations.Any())
|
|
{
|
|
foreach (var formRelation in formRelations)
|
|
{
|
|
T_PF_FORM_RELATION relation = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(formRelation);
|
|
if (tenantInfo.FormRelations.Any(x => x.SRC_ID == formRelation.ID))
|
|
{
|
|
var tenantRelation = tenantInfo.FormRelations.FirstOrDefault(x => x.SRC_ID == formRelation.ID);
|
|
var relationForm = srcInfo.Forms.Where(x => x.CODE == formRelation.CODE).FirstOrDefault();
|
|
if (!existForm.Contains(relationForm.ID) && !savePermPFForm.Any(x => x.CODE == relationForm.CODE) && !addEntity.Forms.Any(x => x.CODE == relationForm.CODE))//去重
|
|
{
|
|
if (relationForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == relationForm.ID))
|
|
{
|
|
var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == relationForm.ID);//取旧数据ID不变
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = tenantForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
//savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
|
|
}
|
|
}
|
|
relation.SRC_ID = formRelation.ID;
|
|
relation.ID = tenantRelation.ID;
|
|
relation.ORG_ID = tenantID;
|
|
relation.PAGE_FORM_ID = pageFormID;
|
|
savePermPFFormRelation.Add(relation);
|
|
}
|
|
else
|
|
{
|
|
var relationForm = srcInfo.Forms.Where(x => x.CODE == formRelation.CODE).FirstOrDefault();
|
|
if (!existForm.Contains(relationForm.ID) && !savePermPFForm.Any(x => x.CODE == relationForm.CODE) && !addEntity.Forms.Any(x => x.CODE == relationForm.CODE))//去重
|
|
{
|
|
if (relationForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == relationForm.ID))
|
|
{
|
|
var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == relationForm.ID);
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = tenantForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
}
|
|
|
|
}
|
|
}
|
|
var newRelationID = new Guid();
|
|
relation.SRC_ID = formRelation.ID;
|
|
relation.ID = newRelationID;
|
|
relation.ORG_ID = tenantID;
|
|
relation.PAGE_FORM_ID = pageFormID;
|
|
addEntity.FormRelations.Add(relation);
|
|
}
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
#region 查询
|
|
AddQuerys(form, tenantID, pageFormID, srcInfo.FormQuerys, saveFormQuerys, srcInfo.Querys, saveQuerys, tenantInfo, addEntity);
|
|
#endregion
|
|
#region T_PF_PAGE_TREE
|
|
var resTree = srcInfo.PageTrees.Where(x => x.PAGE_FORM_ID == form.ID).ToList();//查找相关表单
|
|
if (resTree.Count > 0)
|
|
{
|
|
foreach (var item in resTree)
|
|
{
|
|
#region MyRegion 添加T_PF_PAGE_TABLE
|
|
var oldPageID = item.ID;
|
|
if (!existTable.Contains(oldPageID))
|
|
{
|
|
existTable.Add(oldPageID);
|
|
var newTableID = AddPageTable(item, pageFormID, tenantID, savePermPageTree, newSchemes, saveTablePanels, saveTableParams,
|
|
newTablePanels, saveEditPanels, newEditPanels, saveChartParams, tenantInfo, srcInfo, addEntity);
|
|
#endregion
|
|
#region T_PF_TREE_COLUMN
|
|
//var allClm = this.GetEntities<T_PF_TREE_COLUMN>(t => t.PAGE_TREE_ID == oldPageID, filter).ToList();//OPT所有列
|
|
var allClm = srcInfo.TreeColumns.Where(t => t.PAGE_TREE_ID == oldPageID).ToList();
|
|
foreach (var col in allClm)
|
|
{
|
|
var newColumnID = Guid.NewGuid();
|
|
T_PF_TREE_COLUMN column = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(col);//OPT创建的表单
|
|
var oldColID = col.ID;
|
|
if (tenantInfo.TreeColumns.Any(x => x.SRC_ID == col.ID))
|
|
{
|
|
var tenantTreeColumn = tenantInfo.TreeColumns.FirstOrDefault(x => x.SRC_ID == col.ID);
|
|
column.SRC_ID = col.ID;
|
|
column.ID = tenantTreeColumn.ID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_TREE_ID = newTableID;
|
|
saveTreeColumns.Add(column);//添加列基础到对应租户
|
|
}
|
|
else
|
|
{
|
|
column.SRC_ID = col.ID;
|
|
column.ID = newColumnID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_TREE_ID = newTableID;
|
|
addEntity.TreeColumns.Add(column);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
#region 添加按钮
|
|
// var allBtn = this.GetEntities<T_PF_BTN>(t => t.PAGE_ID == oldPageID, filter).ToList();//OPT所有列
|
|
var allBtn = srcInfo.Btns.Where(x => x.PAGE_ID == oldPageID).ToList();
|
|
AddTableBtn(srcInfo, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, existForm, existTable, allBtn, newTableID, tenantInfo, addEntity);
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
#region 编辑配置srcInfo.PageEdits
|
|
var resEdit = srcInfo.PageEdits.Where(x => x.PAGE_FORM_ID == form.ID).ToList();//查找相关表单
|
|
if (resEdit.Count > 0)
|
|
{
|
|
foreach (var item in resEdit)
|
|
{
|
|
var oldpageEdit = item.ID;
|
|
if (!existTable.Contains(oldpageEdit))
|
|
{
|
|
existTable.Add(oldpageEdit);
|
|
var newTableID = AddPageTable(item, pageFormID, tenantID, savePermPageEdit, newSchemes, saveTablePanels, saveTableParams,
|
|
newTablePanels, saveEditPanels, newEditPanels, saveChartParams, tenantInfo, srcInfo, addEntity);
|
|
#region 添加编辑列
|
|
//var allClm = this.GetEntities<T_PF_EDIT_COLUMN>(t => t.PAGE_EDIT_ID == oldpageEdit, filter).ToList();//OPT所有列
|
|
var allClm = srcInfo.EditColumns.Where(t => t.PAGE_EDIT_ID == oldpageEdit).ToList();
|
|
foreach (var col in allClm)
|
|
{
|
|
var newColumnID = Guid.NewGuid();
|
|
var oldColID = col.ID;
|
|
if (tenantInfo.EditColumns.Any(x => x.SRC_ID == col.ID))
|
|
{
|
|
var tenantEditColumn = tenantInfo.EditColumns.FirstOrDefault(x => x.SRC_ID == col.ID);
|
|
T_PF_EDIT_COLUMN column = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(col);//OPT创建的表单
|
|
column.SRC_ID = col.ID;
|
|
column.ID = tenantEditColumn.ID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_EDIT_ID = newTableID;
|
|
if (column.PAGE_EDIT_PANEL_ID != null)
|
|
{
|
|
column.PAGE_EDIT_PANEL_ID = newEditPanels[(Guid)column.PAGE_EDIT_PANEL_ID];
|
|
}
|
|
saveEditColumns.Add(column);//添加列基础到对应租户
|
|
newColumnID = tenantEditColumn.ID;//更新
|
|
}
|
|
else
|
|
{
|
|
T_PF_EDIT_COLUMN column = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(col);//OPT创建的表单
|
|
column.SRC_ID = col.ID;
|
|
column.ID = newColumnID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_EDIT_ID = newTableID;
|
|
if (column.PAGE_EDIT_PANEL_ID != null)
|
|
{
|
|
column.PAGE_EDIT_PANEL_ID = newEditPanels[(Guid)column.PAGE_EDIT_PANEL_ID];
|
|
}
|
|
addEntity.EditColumns.Add(column);//添加列基础到对应租户
|
|
}
|
|
#region T_PF_EDIT_COLUMN_FILTER
|
|
var colFilters = srcInfo.EditColumnFilters.Where(x => x.EDIT_COLUMN_ID == oldColID);
|
|
foreach (var colFilter in colFilters)
|
|
{
|
|
if (tenantInfo.EditColumnFilters.Any(x => x.SRC_ID == colFilter.ID))
|
|
{
|
|
var tenantEditColumnFilter = tenantInfo.EditColumnFilters.FirstOrDefault(x => x.SRC_ID == colFilter.ID);
|
|
var cf = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFilter);
|
|
cf.SRC_ID = colFilter.ID;
|
|
cf.ID = tenantEditColumnFilter.ID;
|
|
cf.ORG_ID = tenantID;
|
|
cf.PAGE_EDIT_ID = newTableID;
|
|
cf.EDIT_COLUMN_ID = newColumnID;
|
|
saveEditColumnFilters.Add(cf);
|
|
}
|
|
else
|
|
{
|
|
var colID = Guid.NewGuid();
|
|
var cf = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFilter);
|
|
cf.SRC_ID = colFilter.ID;
|
|
cf.ID = colID;
|
|
cf.ORG_ID = tenantID;
|
|
cf.PAGE_EDIT_ID = newTableID;
|
|
cf.EDIT_COLUMN_ID = newColumnID;
|
|
addEntity.EditColumnFilters.Add(cf);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
#region T_PF_EDIT_COLUMN_FILL_MAP
|
|
var colFillMaps = srcInfo.EditColumnFillMaps.Where(x => x.EDIT_COLUMN_ID == oldColID);
|
|
foreach (var colFillMap in colFillMaps)
|
|
{
|
|
var colMapID = Guid.NewGuid();
|
|
if (tenantInfo.EditColumnFillMaps.Any(x => x.SRC_ID == colFillMap.ID))
|
|
{
|
|
var tenantEditColumnFillMap = tenantInfo.EditColumnFillMaps.FirstOrDefault(x => x.SRC_ID == colFillMap.ID);
|
|
var cm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFillMap);
|
|
cm.SRC_ID = colFillMap.ID;
|
|
cm.ID = tenantEditColumnFillMap.ID;
|
|
cm.ORG_ID = tenantID;
|
|
cm.PAGE_EDIT_ID = newTableID;
|
|
cm.EDIT_COLUMN_ID = newColumnID;
|
|
saveEditColumnFillMaps.Add(cm);
|
|
colMapID = tenantEditColumnFillMap.ID;
|
|
}
|
|
else
|
|
{
|
|
var cm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFillMap);
|
|
cm.SRC_ID = colFillMap.ID;
|
|
cm.ID = colMapID;
|
|
cm.ORG_ID = tenantID;
|
|
cm.PAGE_EDIT_ID = newTableID;
|
|
cm.EDIT_COLUMN_ID = newColumnID;
|
|
addEntity.EditColumnFillMaps.Add(cm);
|
|
}
|
|
#region T_PF_EDIT_COLUMN_FILL_MAP
|
|
var colFillMapDs = srcInfo.EditColumnFillMapDs.Where(x => x.EDIT_COLUMN_FILL_MAP_ID == colMapID);
|
|
foreach (var colFillMapD in colFillMapDs)
|
|
{
|
|
if (tenantInfo.EditColumnFillMapDs.Any(x => x.SRC_ID == colFillMapD.ID))
|
|
{
|
|
var tenantEditColumnFillMapD = tenantInfo.EditColumnFillMapDs.FirstOrDefault(x => x.SRC_ID == colFillMapD.ID);
|
|
var cmd = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFillMapD);
|
|
cmd.SRC_ID = colFillMapD.ID;
|
|
cmd.ID = tenantEditColumnFillMapD.ID;
|
|
cmd.ORG_ID = tenantID;
|
|
cmd.EDIT_COLUMN_FILL_MAP_ID = colMapID;
|
|
saveEditColumnFillMapDs.Add(cmd);
|
|
}
|
|
else
|
|
{
|
|
var colMapDID = Guid.NewGuid();
|
|
var cmd = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFillMapD);
|
|
cmd.SRC_ID = colFillMapD.ID;
|
|
cmd.ID = colMapDID;
|
|
cmd.ORG_ID = tenantID;
|
|
cmd.EDIT_COLUMN_FILL_MAP_ID = colMapID;
|
|
addEntity.EditColumnFillMapDs.Add(cmd);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
#endregion
|
|
|
|
if (!string.IsNullOrEmpty(col.SHOW_FORM_CODE))//有配置关联表单
|
|
{
|
|
var colForm = srcInfo.Forms.Where(x => x.CODE == col.SHOW_FORM_CODE).FirstOrDefault();
|
|
if (!existForm.Contains(form.ID) && !savePermPFForm.Any(x => x.CODE == colForm.CODE) && !addEntity.Forms.Any(x => x.CODE == colForm.CODE))//去重
|
|
{
|
|
if (colForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == colForm.ID))
|
|
{
|
|
var tenantColForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == colForm.ID);
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colForm);//OPT创建的表单
|
|
AddTable(srcInfo, colForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantColForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = colForm.ID;
|
|
newForm.ID = tenantColForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colForm);//OPT创建的表单
|
|
AddTable(srcInfo, colForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = colForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
#region 添加按钮
|
|
// var allBtn = this.GetEntities<T_PF_BTN>(t => t.PAGE_ID == oldpageEdit, filter).ToList();//OPT所有列
|
|
var allBtn = srcInfo.Btns.Where(x => x.PAGE_ID == oldpageEdit).ToList();
|
|
AddTableBtn(srcInfo, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, existForm, existTable, allBtn, newTableID, tenantInfo, addEntity);
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
break;
|
|
}
|
|
case (int)PFFormTypeEnum.图表表单:
|
|
{
|
|
#region 配置关联表单T_PF_FORM_RELATION
|
|
var formRelations = srcInfo.FormRelations.Where(x => x.PAGE_FORM_ID == form.ID);
|
|
if (formRelations.Any())
|
|
{
|
|
foreach (var formRelation in formRelations)
|
|
{
|
|
T_PF_FORM_RELATION relation = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(formRelation);
|
|
if (tenantInfo.FormRelations.Any(x => x.SRC_ID == formRelation.ID))
|
|
{
|
|
var tenantRelation = tenantInfo.FormRelations.FirstOrDefault(x => x.SRC_ID == formRelation.ID);
|
|
var relationForm = srcInfo.Forms.Where(x => x.CODE == formRelation.CODE).FirstOrDefault();
|
|
if (!existForm.Contains(relationForm.ID) && !savePermPFForm.Any(x => x.CODE == relationForm.CODE) && !addEntity.Forms.Any(x => x.CODE == relationForm.CODE))//去重
|
|
{
|
|
if (relationForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == relationForm.ID))
|
|
{
|
|
var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == relationForm.ID);//取旧数据ID不变
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = tenantForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
//savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
|
|
}
|
|
}
|
|
relation.SRC_ID = formRelation.ID;
|
|
relation.ID = tenantRelation.ID;
|
|
relation.ORG_ID = tenantID;
|
|
relation.PAGE_FORM_ID = pageFormID;
|
|
savePermPFFormRelation.Add(relation);
|
|
}
|
|
else
|
|
{
|
|
var relationForm = srcInfo.Forms.Where(x => x.CODE == formRelation.CODE).FirstOrDefault();
|
|
if (!existForm.Contains(relationForm.ID) && !savePermPFForm.Any(x => x.CODE == relationForm.CODE) && !addEntity.Forms.Any(x => x.CODE == relationForm.CODE))//去重
|
|
{
|
|
if (relationForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == relationForm.ID))
|
|
{
|
|
var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == relationForm.ID);
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = tenantForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
}
|
|
|
|
}
|
|
}
|
|
var newRelationID = new Guid();
|
|
relation.SRC_ID = formRelation.ID;
|
|
relation.ID = newRelationID;
|
|
relation.ORG_ID = tenantID;
|
|
relation.PAGE_FORM_ID = pageFormID;
|
|
addEntity.FormRelations.Add(relation);
|
|
}
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
#region 查询
|
|
AddQuerys(form, tenantID, pageFormID, srcInfo.FormQuerys, saveFormQuerys, srcInfo.Querys, saveQuerys, tenantInfo, addEntity);
|
|
#endregion
|
|
var resChart = srcInfo.PageCharts.Where(x => x.PAGE_FORM_ID == form.ID).ToList();//查找相关表单
|
|
if (resChart.Count > 0)
|
|
{
|
|
foreach (var item in resChart)
|
|
{
|
|
#region MyRegion 添加T_PF_PAGE_TABLE
|
|
var oldPageID = item.ID;
|
|
if (!existTable.Contains(oldPageID))
|
|
{
|
|
existTable.Add(oldPageID);
|
|
var newTableID = AddPageTable(item, pageFormID, tenantID, savePermPageChart, newSchemes, saveTablePanels,
|
|
saveTableParams, newTablePanels, saveEditPanels, newEditPanels, saveChartParams, tenantInfo, srcInfo, addEntity);
|
|
#endregion
|
|
#region 添加按钮
|
|
//var allBtn = this.GetEntities<T_PF_BTN>(t => t.PAGE_ID == oldPageID, filter).ToList();//OPT所有列
|
|
var allBtn = srcInfo.Btns.Where(x => x.PAGE_ID == oldPageID).ToList();
|
|
AddTableBtn(srcInfo, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, existForm, existTable, allBtn, newTableID, tenantInfo, addEntity);
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
case (int)PFFormTypeEnum.自定义表单:
|
|
{
|
|
#region 配置关联表单T_PF_FORM_RELATION
|
|
var formRelations = srcInfo.FormRelations.Where(x => x.PAGE_FORM_ID == form.ID);
|
|
if (formRelations.Any())
|
|
{
|
|
foreach (var formRelation in formRelations)
|
|
{
|
|
T_PF_FORM_RELATION relation = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(formRelation);
|
|
if (tenantInfo.FormRelations.Any(x => x.SRC_ID == formRelation.ID))
|
|
{
|
|
var tenantRelation = tenantInfo.FormRelations.FirstOrDefault(x => x.SRC_ID == formRelation.ID);
|
|
var relationForm = srcInfo.Forms.Where(x => x.CODE == formRelation.CODE).FirstOrDefault();
|
|
if (!existForm.Contains(relationForm.ID) && !savePermPFForm.Any(x => x.CODE == relationForm.CODE) && !addEntity.Forms.Any(x => x.CODE == relationForm.CODE))//去重
|
|
{
|
|
if (relationForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == relationForm.ID))
|
|
{
|
|
var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == relationForm.ID);//取旧数据ID不变
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = tenantForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
//savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
|
|
}
|
|
}
|
|
relation.SRC_ID = formRelation.ID;
|
|
relation.ID = tenantRelation.ID;
|
|
relation.ORG_ID = tenantID;
|
|
relation.PAGE_FORM_ID = pageFormID;
|
|
savePermPFFormRelation.Add(relation);
|
|
}
|
|
else
|
|
{
|
|
var relationForm = srcInfo.Forms.Where(x => x.CODE == formRelation.CODE).FirstOrDefault();
|
|
if (!existForm.Contains(relationForm.ID) && !savePermPFForm.Any(x => x.CODE == relationForm.CODE) && !addEntity.Forms.Any(x => x.CODE == relationForm.CODE))//去重
|
|
{
|
|
if (relationForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == relationForm.ID))
|
|
{
|
|
var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == relationForm.ID);
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = tenantForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(relationForm);//OPT创建的表单
|
|
AddTable(srcInfo, relationForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = relationForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
}
|
|
|
|
}
|
|
}
|
|
var newRelationID = new Guid();
|
|
relation.SRC_ID = formRelation.ID;
|
|
relation.ID = newRelationID;
|
|
relation.ORG_ID = tenantID;
|
|
relation.PAGE_FORM_ID = pageFormID;
|
|
addEntity.FormRelations.Add(relation);
|
|
}
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
#region 查询
|
|
AddQuerys(form, tenantID, pageFormID, srcInfo.FormQuerys, saveFormQuerys, srcInfo.Querys, saveQuerys, tenantInfo, addEntity);
|
|
#endregion
|
|
#region srcInfo.PageCustoms
|
|
var res = srcInfo.PageCustoms.Where(x => x.PAGE_FORM_ID == form.ID).ToList();//查找相关表单
|
|
if (res.Count > 0)
|
|
{
|
|
foreach (var item in res)
|
|
{
|
|
#region MyRegion 添加T_PF_PAGE_TABLE
|
|
var oldFormId = form.ID;
|
|
var tenantPageFormID = pageFormID.ToString();
|
|
var oldPageID = item.ID;
|
|
if (!existTable.Contains(oldPageID))
|
|
{
|
|
existTable.Add(oldPageID);
|
|
var newTableID = AddPageTable(item, pageFormID, tenantID, savePermPageCustom, newSchemes, saveTablePanels,
|
|
saveTableParams, newTablePanels, saveEditPanels, newEditPanels, saveChartParams, tenantInfo, srcInfo, addEntity);
|
|
#endregion
|
|
#region 添加按钮
|
|
//var allBtn = this.GetEntities<T_PF_BTN>(t => t.PAGE_ID == oldFormId, filter).ToList();//OPT所有列
|
|
var allBtn = srcInfo.Btns.Where(x => x.PAGE_ID == oldFormId).ToList();
|
|
AddTableBtn(srcInfo, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, existForm, existTable, allBtn, newTableID, tenantInfo, addEntity, tenantPageFormID);
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
#region srcInfo.PageTables
|
|
var resTable = srcInfo.PageTables.Where(x => x.PAGE_FORM_ID == form.ID).ToList();//查找相关表单
|
|
if (resTable.Count > 0)
|
|
{
|
|
foreach (var item in resTable)
|
|
{
|
|
var oldpageTable = item.ID;
|
|
if (!existTable.Contains(oldpageTable))
|
|
{
|
|
existTable.Add(oldpageTable);
|
|
var newTableID = AddPageTable(item, pageFormID, tenantID, savePermPageTable, newSchemes, saveTablePanels, saveTableParams,
|
|
newTablePanels, saveEditPanels, newEditPanels, saveChartParams, tenantInfo, srcInfo, addEntity);
|
|
#region 添加列
|
|
//var allClm = this.GetEntities<T_PF_COLUMN>(t => t.PAGE_TABLE_ID == oldpageTable, filter).ToList();//OPT所有列
|
|
var allClm = srcInfo.Columns.Where(t => t.PAGE_TABLE_ID == oldpageTable).ToList();
|
|
foreach (var col in allClm)
|
|
{
|
|
var oldColID = col.ID;
|
|
var newColumnID = Guid.NewGuid();
|
|
if (tenantInfo.Columns.Any(x => x.SRC_ID == col.ID))
|
|
{
|
|
var tenantColumn = tenantInfo.Columns.FirstOrDefault(x => x.SRC_ID == col.ID);
|
|
T_PF_COLUMN column = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(col);//OPT创建的表单
|
|
column.SRC_ID = col.ID;
|
|
column.ID = tenantColumn.ID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_TABLE_ID = newTableID;
|
|
if (column.PAGE_TABLE_PANEL_ID != null)
|
|
{
|
|
column.PAGE_TABLE_PANEL_ID = newTablePanels[(Guid)column.PAGE_TABLE_PANEL_ID];
|
|
}
|
|
savePermCloumn.Add(column);//添加列基础到对应租户
|
|
newColumnID = tenantColumn.ID;//更新
|
|
}
|
|
else
|
|
{
|
|
T_PF_COLUMN column = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(col);//OPT创建的表单
|
|
column.SRC_ID = col.ID;
|
|
column.ID = newColumnID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_TABLE_ID = newTableID;
|
|
if (column.PAGE_TABLE_PANEL_ID != null)
|
|
{
|
|
column.PAGE_TABLE_PANEL_ID = newTablePanels[(Guid)column.PAGE_TABLE_PANEL_ID];
|
|
}
|
|
addEntity.Columns.Add(column);//添加列基础到对应租户
|
|
}
|
|
#region T_PF_COLUMN_FILTER
|
|
var colFilters = srcInfo.ColumnFilters.Where(x => x.COLUMN_ID == oldColID);
|
|
foreach (var colFilter in colFilters)
|
|
{
|
|
if (tenantInfo.ColumnFilters.Any(x => x.SRC_ID == colFilter.ID))
|
|
{
|
|
var tenantColumnFilters = tenantInfo.ColumnFilters.FirstOrDefault(x => x.SRC_ID == colFilter.ID);
|
|
var cf = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFilter);
|
|
cf.SRC_ID = colFilter.ID;
|
|
cf.ID = tenantColumnFilters.ID;
|
|
cf.ORG_ID = tenantID;
|
|
cf.COLUMN_ID = newColumnID;
|
|
saveColumFilters.Add(cf);
|
|
}
|
|
else
|
|
{
|
|
var colID = Guid.NewGuid();
|
|
var cf = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFilter);
|
|
cf.SRC_ID = colFilter.ID;
|
|
cf.ID = colID;
|
|
cf.ORG_ID = tenantID;
|
|
cf.COLUMN_ID = newColumnID;
|
|
addEntity.ColumnFilters.Add(cf);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
if (!string.IsNullOrEmpty(col.SHOW_FORM_CODE))//有配置关联表单
|
|
{
|
|
var colForm = srcInfo.Forms.Where(x => x.CODE == col.SHOW_FORM_CODE).FirstOrDefault();
|
|
if (!existForm.Contains(form.ID) && !savePermPFForm.Any(x => x.CODE == colForm.CODE) && !addEntity.Forms.Any(x => x.CODE == colForm.CODE))//去重
|
|
{
|
|
if (colForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == colForm.ID))
|
|
{
|
|
var tenantForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == colForm.ID);
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colForm);//OPT创建的表单
|
|
AddTable(srcInfo, colForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = colForm.ID;
|
|
newForm.ID = tenantForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colForm);//OPT创建的表单
|
|
AddTable(srcInfo, colForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = colForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
#region 添加按钮
|
|
//var allBtn = this.GetEntities<T_PF_BTN>(t => t.PAGE_ID == oldpageTable, filter).ToList();//OPT所有列
|
|
var allBtn = srcInfo.Btns.Where(x => x.PAGE_ID == oldpageTable).ToList();
|
|
AddTableBtn(srcInfo, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, existForm, existTable, allBtn, newTableID, tenantInfo, addEntity);
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
#region srcInfo.PageEdits
|
|
var resEdit = srcInfo.PageEdits.Where(x => x.PAGE_FORM_ID == form.ID).ToList();//查找相关表单
|
|
if (resEdit.Count > 0)
|
|
{
|
|
foreach (var item in resEdit)
|
|
{
|
|
var oldpageEdit = item.ID;
|
|
if (!existTable.Contains(oldpageEdit))
|
|
{
|
|
existTable.Add(oldpageEdit);
|
|
var newTableID = AddPageTable(item, pageFormID, tenantID, savePermPageEdit, newSchemes, saveTablePanels, saveTableParams,
|
|
newTablePanels, saveEditPanels, newEditPanels, saveChartParams, tenantInfo, srcInfo, addEntity);
|
|
#region 添加编辑列
|
|
//var allClm = this.GetEntities<T_PF_EDIT_COLUMN>(t => t.PAGE_EDIT_ID == oldpageEdit, filter).ToList();//OPT所有列
|
|
var allClm = srcInfo.EditColumns.Where(t => t.PAGE_EDIT_ID == oldpageEdit).ToList();
|
|
foreach (var col in allClm)
|
|
{
|
|
var newColumnID = Guid.NewGuid();
|
|
var oldColID = col.ID;
|
|
if (tenantInfo.EditColumns.Any(x => x.SRC_ID == col.ID))
|
|
{
|
|
var tenantEditColumn = tenantInfo.EditColumns.FirstOrDefault(x => x.SRC_ID == col.ID);
|
|
T_PF_EDIT_COLUMN column = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(col);//OPT创建的表单
|
|
column.SRC_ID = col.ID;
|
|
column.ID = tenantEditColumn.ID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_EDIT_ID = newTableID;
|
|
if (column.PAGE_EDIT_PANEL_ID != null)
|
|
{
|
|
column.PAGE_EDIT_PANEL_ID = newEditPanels[(Guid)column.PAGE_EDIT_PANEL_ID];
|
|
}
|
|
saveEditColumns.Add(column);//添加列基础到对应租户
|
|
newColumnID = tenantEditColumn.ID;//更新
|
|
}
|
|
else
|
|
{
|
|
T_PF_EDIT_COLUMN column = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(col);//OPT创建的表单
|
|
column.SRC_ID = col.ID;
|
|
column.ID = newColumnID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_EDIT_ID = newTableID;
|
|
if (column.PAGE_EDIT_PANEL_ID != null)
|
|
{
|
|
column.PAGE_EDIT_PANEL_ID = newEditPanels[(Guid)column.PAGE_EDIT_PANEL_ID];
|
|
}
|
|
addEntity.EditColumns.Add(column);//添加列基础到对应租户
|
|
}
|
|
#region T_PF_EDIT_COLUMN_FILTER
|
|
var colFilters = srcInfo.EditColumnFilters.Where(x => x.EDIT_COLUMN_ID == oldColID);
|
|
foreach (var colFilter in colFilters)
|
|
{
|
|
if (tenantInfo.EditColumnFilters.Any(x => x.SRC_ID == colFilter.ID))
|
|
{
|
|
var tenantEditColumnFilter = tenantInfo.EditColumnFilters.FirstOrDefault(x => x.SRC_ID == colFilter.ID);
|
|
var cf = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFilter);
|
|
cf.SRC_ID = colFilter.ID;
|
|
cf.ID = tenantEditColumnFilter.ID;
|
|
cf.ORG_ID = tenantID;
|
|
cf.PAGE_EDIT_ID = newTableID;
|
|
cf.EDIT_COLUMN_ID = newColumnID;
|
|
saveEditColumnFilters.Add(cf);
|
|
}
|
|
else
|
|
{
|
|
var colID = Guid.NewGuid();
|
|
var cf = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFilter);
|
|
cf.SRC_ID = colFilter.ID;
|
|
cf.ID = colID;
|
|
cf.ORG_ID = tenantID;
|
|
cf.PAGE_EDIT_ID = newTableID;
|
|
cf.EDIT_COLUMN_ID = newColumnID;
|
|
addEntity.EditColumnFilters.Add(cf);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
#region T_PF_EDIT_COLUMN_FILL_MAP
|
|
var colFillMaps = srcInfo.EditColumnFillMaps.Where(x => x.EDIT_COLUMN_ID == oldColID);
|
|
foreach (var colFillMap in colFillMaps)
|
|
{
|
|
var colMapID = Guid.NewGuid();
|
|
if (tenantInfo.EditColumnFillMaps.Any(x => x.SRC_ID == colFillMap.ID))
|
|
{
|
|
var tenantEditColumnFillMap = tenantInfo.EditColumnFillMaps.FirstOrDefault(x => x.SRC_ID == colFillMap.ID);
|
|
var cm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFillMap);
|
|
cm.SRC_ID = colFillMap.ID;
|
|
cm.ID = tenantEditColumnFillMap.ID;
|
|
cm.ORG_ID = tenantID;
|
|
cm.PAGE_EDIT_ID = newTableID;
|
|
cm.EDIT_COLUMN_ID = newColumnID;
|
|
saveEditColumnFillMaps.Add(cm);
|
|
colMapID = tenantEditColumnFillMap.ID;
|
|
}
|
|
else
|
|
{
|
|
var cm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFillMap);
|
|
cm.SRC_ID = colFillMap.ID;
|
|
cm.ID = colMapID;
|
|
cm.ORG_ID = tenantID;
|
|
cm.PAGE_EDIT_ID = newTableID;
|
|
cm.EDIT_COLUMN_ID = newColumnID;
|
|
addEntity.EditColumnFillMaps.Add(cm);
|
|
}
|
|
#region T_PF_EDIT_COLUMN_FILL_MAP
|
|
var colFillMapDs = srcInfo.EditColumnFillMapDs.Where(x => x.EDIT_COLUMN_FILL_MAP_ID == colMapID);
|
|
foreach (var colFillMapD in colFillMapDs)
|
|
{
|
|
if (tenantInfo.EditColumnFillMapDs.Any(x => x.SRC_ID == colFillMapD.ID))
|
|
{
|
|
var tenantEditColumnFillMapD = tenantInfo.EditColumnFillMapDs.FirstOrDefault(x => x.SRC_ID == colFillMapD.ID);
|
|
var cmd = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFillMapD);
|
|
cmd.SRC_ID = colFillMapD.ID;
|
|
cmd.ID = tenantEditColumnFillMapD.ID;
|
|
cmd.ORG_ID = tenantID;
|
|
cmd.EDIT_COLUMN_FILL_MAP_ID = colMapID;
|
|
saveEditColumnFillMapDs.Add(cmd);
|
|
}
|
|
else
|
|
{
|
|
var colMapDID = Guid.NewGuid();
|
|
var cmd = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colFillMapD);
|
|
cmd.SRC_ID = colFillMapD.ID;
|
|
cmd.ID = colMapDID;
|
|
cmd.ORG_ID = tenantID;
|
|
cmd.EDIT_COLUMN_FILL_MAP_ID = colMapID;
|
|
addEntity.EditColumnFillMapDs.Add(cmd);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
#endregion
|
|
|
|
if (!string.IsNullOrEmpty(col.SHOW_FORM_CODE))//有配置关联表单
|
|
{
|
|
var colForm = srcInfo.Forms.Where(x => x.CODE == col.SHOW_FORM_CODE).FirstOrDefault();
|
|
if (!existForm.Contains(form.ID) && !savePermPFForm.Any(x => x.CODE == colForm.CODE) && !addEntity.Forms.Any(x => x.CODE == colForm.CODE))//去重
|
|
{
|
|
if (colForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == colForm.ID))
|
|
{
|
|
var tenantColForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == colForm.ID);
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colForm);//OPT创建的表单
|
|
AddTable(srcInfo, colForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantColForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = colForm.ID;
|
|
newForm.ID = tenantColForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(colForm);//OPT创建的表单
|
|
AddTable(srcInfo, colForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = colForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
#region 添加按钮
|
|
//var allBtn = this.GetEntities<T_PF_BTN>(t => t.PAGE_ID == oldpageEdit, filter).ToList();//OPT所有列
|
|
var allBtn = srcInfo.Btns.Where(x => x.PAGE_ID == oldpageEdit).ToList();
|
|
AddTableBtn(srcInfo, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, existForm, existTable, allBtn, newTableID, tenantInfo, addEntity);
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
#region srcInfo.PageTrees
|
|
var resTree = srcInfo.PageTrees.Where(x => x.PAGE_FORM_ID == form.ID).ToList();//查找相关表单
|
|
if (resTree.Count > 0)
|
|
{
|
|
foreach (var item in resTree)
|
|
{
|
|
#region MyRegion 添加T_PF_PAGE_TABLE
|
|
var oldPageID = item.ID;
|
|
if (!existTable.Contains(oldPageID))
|
|
{
|
|
existTable.Add(oldPageID);
|
|
var newTableID = AddPageTable(item, pageFormID, tenantID, savePermPageTree, newSchemes, saveTablePanels, saveTableParams,
|
|
newTablePanels, saveEditPanels, newEditPanels, saveChartParams, tenantInfo, srcInfo, addEntity);
|
|
#endregion
|
|
#region T_PF_TREE_COLUMN
|
|
//var allClm = this.GetEntities<T_PF_TREE_COLUMN>(t => t.PAGE_TREE_ID == oldPageID, filter).ToList();//OPT所有列
|
|
var allClm = srcInfo.TreeColumns.Where(t => t.PAGE_TREE_ID == oldPageID).ToList();
|
|
foreach (var col in allClm)
|
|
{
|
|
var newColumnID = Guid.NewGuid();
|
|
T_PF_TREE_COLUMN column = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(col);//OPT创建的表单
|
|
var oldColID = col.ID;
|
|
if (tenantInfo.TreeColumns.Any(x => x.SRC_ID == col.ID))
|
|
{
|
|
var tenantTreeColumn = tenantInfo.TreeColumns.FirstOrDefault(x => x.SRC_ID == col.ID);
|
|
column.SRC_ID = col.ID;
|
|
column.ID = tenantTreeColumn.ID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_TREE_ID = newTableID;
|
|
saveTreeColumns.Add(column);//添加列基础到对应租户
|
|
}
|
|
else
|
|
{
|
|
column.SRC_ID = col.ID;
|
|
column.ID = newColumnID;
|
|
column.ORG_ID = tenantID;
|
|
column.PAGE_TREE_ID = newTableID;
|
|
addEntity.TreeColumns.Add(column);
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
#region 添加按钮
|
|
var allBtn = srcInfo.Btns.Where(x => x.PAGE_ID == oldPageID).ToList();
|
|
AddTableBtn(srcInfo, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, existForm, existTable, allBtn, newTableID, tenantInfo, addEntity);
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
#region srcInfo.PageCharts
|
|
var resChart = srcInfo.PageCharts.Where(x => x.PAGE_FORM_ID == form.ID).ToList();//查找相关表单
|
|
if (resChart.Count > 0)
|
|
{
|
|
foreach (var item in resChart)
|
|
{
|
|
#region MyRegion 添加T_PF_PAGE_TABLE
|
|
var oldPageID = item.ID;
|
|
if (!existTable.Contains(oldPageID))
|
|
{
|
|
existTable.Add(oldPageID);
|
|
var newTableID = AddPageTable(item, pageFormID, tenantID, savePermPageChart, newSchemes, saveTablePanels,
|
|
saveTableParams, newTablePanels, saveEditPanels, newEditPanels, saveChartParams, tenantInfo, srcInfo, addEntity);
|
|
#endregion
|
|
#region 添加按钮
|
|
//var allBtn = this.GetEntities<T_PF_BTN>(t => t.PAGE_ID == oldPageID, filter).ToList();//OPT所有列
|
|
var allBtn = srcInfo.Btns.Where(x => x.PAGE_ID == oldPageID).ToList();
|
|
AddTableBtn(srcInfo, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, existForm, existTable, allBtn, newTableID, tenantInfo, addEntity);
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 树形授权
|
|
/// </summary>
|
|
/// <param name="role"></param>
|
|
/// <returns></returns>
|
|
[HttpPost, Route("GetTreePermissionForms")]
|
|
public JsonActionResult<RolePermissionResul> GetTreePermissionForms([FromBody] KeywordPageFilter pageFilter)
|
|
{
|
|
return SafeExecute<RolePermissionResul>(() =>
|
|
{
|
|
List<RolePermissionTreeModel> result = new List<RolePermissionTreeModel>();//最终返回树结果
|
|
List<TreeNode<T_PF_MENU>> menuTree = null;
|
|
//var filter = new BaseFilter(new Guid(pageFilter.Parameter6));//OPT OrgId
|
|
var orgFilter = new BaseFilter();
|
|
orgFilter.IgnoreOrgRule = true;
|
|
var tenant = this.GetEntities<T_OP_TENANT>(x => x.ID == new Guid(pageFilter.Parameter6), orgFilter).FirstOrDefault();
|
|
var targetDB = this.GetEntities<T_OP_TENANT_DB_CONN>(x => x.ID == tenant.DB_CONN_ID, orgFilter).FirstOrDefault();
|
|
if (targetDB != null && !string.IsNullOrEmpty(targetDB.DB_CONN))
|
|
{
|
|
var Conn = targetDB.DB_CONN;
|
|
using (var context = new MigrationContext(Conn))
|
|
{
|
|
var filter = new BaseFilter();
|
|
filter.IgnoreOrgRule = true;
|
|
filter.Level = -1;
|
|
filter.IsParentData = true;
|
|
List<T_PF_MENU> reslist = new List<T_PF_MENU>();
|
|
menuTree = context.GetTreeOrderEntities<T_PF_MENU>(x => x.ENABLE_STATUS == (int)FMEnableStatusEnum.启用
|
|
&& x.PLATFORM_CATEGORY == 0 && x.ORG_ID == new Guid(pageFilter.Parameter6), filter, null, out reslist).ToList();
|
|
}
|
|
|
|
}
|
|
menuTree.RemoveAll(i => i.Node?.ENABLE_STATUS == (int)FMEnableStatusEnum.禁用);
|
|
menuTree.ForEach(i => i.Children?.RemoveAll(x => x.Node?.ENABLE_STATUS == (int)FMEnableStatusEnum.禁用));
|
|
menuTree.SelectMany(i => i.Children).ToList().RemoveAll(x => x.Node?.ENABLE_STATUS == (int)FMEnableStatusEnum.禁用);
|
|
string tenantId = pageFilter.Keyword;//租户ID
|
|
List<T_OP_ROLE_MENU> permissionMenu = null;
|
|
if (!string.IsNullOrEmpty(tenantId))
|
|
{
|
|
permissionMenu = this.GetEntities<T_OP_ROLE_MENU>(x => x.TENANT_ID == new Guid(tenantId), orgFilter).ToList();
|
|
}
|
|
List<FormInfo> formInfos = new List<FormInfo>();
|
|
List<string> checks = new List<string>();
|
|
List<string> checkLastKey = new List<string>();
|
|
foreach (var menu in menuTree)
|
|
{
|
|
AddChildren(menu, permissionMenu, formInfos);
|
|
}
|
|
result = RolePermissionTreeModel.GetRolePermissionTree(formInfos);
|
|
result = result[0].children;
|
|
foreach (var item in result)
|
|
{
|
|
SelectCheck(item, checks, checkLastKey);
|
|
}
|
|
var rlt = new RolePermissionResul() { checks = checks, checkLastKey = checkLastKey, rolePermissionTreeModels = result };
|
|
return rlt;
|
|
});
|
|
}
|
|
public void AddChildren(TreeNode<T_PF_MENU> treeNode, IEnumerable<T_OP_ROLE_MENU> permissionMenu, List<FormInfo> formInfos)
|
|
{
|
|
var permission = false;
|
|
if (!treeNode.Node.IS_LEAF)
|
|
{
|
|
permission = permissionMenu == null ? false : permissionMenu.Any(x => x.MENU_ID == treeNode.Node.ID);
|
|
formInfos.Add(new FormInfo()
|
|
{
|
|
Code = treeNode.Node.ID.ToString(),
|
|
Title = treeNode.Node.NAME,
|
|
ParentCode = treeNode.Node.PARENT_ID.ToString(),
|
|
IsCheck = permission
|
|
});
|
|
foreach (var item in treeNode.Children)
|
|
{
|
|
AddChildren(item, permissionMenu, formInfos);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
permission = permissionMenu == null ? false : permissionMenu.Any(x => x.MENU_ID == treeNode.Node.ID);
|
|
formInfos.Add(new FormInfo()
|
|
{
|
|
Code = treeNode.Node.ID.ToString(),
|
|
Title = treeNode.Node.NAME,
|
|
ParentCode = treeNode.Node.PARENT_ID.ToString(),
|
|
IsCheck = permission
|
|
});
|
|
}
|
|
}
|
|
public void SelectCheck(RolePermissionTreeModel RolePermissions, List<string> checks, List<string> checkLastKey)
|
|
{
|
|
if (RolePermissions.IsCheck)
|
|
{
|
|
checks.Add(RolePermissions.key);
|
|
}
|
|
if (RolePermissions.children.Count == 0 && RolePermissions.IsCheck)
|
|
{
|
|
checkLastKey.Add(RolePermissions.key);
|
|
}
|
|
if (RolePermissions.children.Count > 0)
|
|
{
|
|
foreach (var item in RolePermissions.children)
|
|
{
|
|
SelectCheck(item, checks, checkLastKey);
|
|
}
|
|
}
|
|
|
|
}
|
|
/// <summary>
|
|
/// 添加表
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
/// <param name="tableType">opt</param>
|
|
/// <param name="pageFormID"></param>
|
|
/// <param name="tenantID"></param>
|
|
/// <param name="savePermPageTable"></param>
|
|
/// <returns></returns>
|
|
public Guid AddPageTable<T>(T tableType, Guid pageFormID, Guid tenantID, List<T> savePermPageTable, Dictionary<Guid, Guid> newSchemes,
|
|
List<T_PF_PAGE_TABLE_PANEL> saveTablePanels,
|
|
List<T_PF_TABLE_PARAMS> saveTableParams, Dictionary<Guid, Guid> newTablePanels, List<T_PF_PAGE_EDIT_PANEL> saveEditPanels,
|
|
Dictionary<Guid, Guid> newEditPanels, List<T_PF_PAGE_CHART_PARAM> saveChartParams, TenantInfo tenantInfo, TenantInfo srcInfo, TenantInfo addEntity) where T : class
|
|
{
|
|
var newTableID = Guid.NewGuid();
|
|
if (tableType is T_PF_PAGE_TABLE)
|
|
{
|
|
T_PF_PAGE_TABLE pageTable = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(tableType as T_PF_PAGE_TABLE);//OPT创建的表单
|
|
var schemesId = pageTable.PARAM_SCHEME_ID;
|
|
var oldPageId = pageTable.ID;
|
|
(tableType as T_PF_PAGE_TABLE).PAGE_FORM_ID = pageFormID;
|
|
if (pageTable.PARENT_ID != null)
|
|
{
|
|
tenantInfo.DicPageTable.Add(oldPageId.ToString(), pageTable.PARENT_ID);
|
|
}
|
|
if (tenantInfo.PageTables.Any(x => x.SRC_ID == pageTable.ID))
|
|
{
|
|
var tenantPageTable = tenantInfo.PageTables.FirstOrDefault(x => x.SRC_ID == pageTable.ID);
|
|
(tableType as T_PF_PAGE_TABLE).SRC_ID = pageTable.ID;
|
|
(tableType as T_PF_PAGE_TABLE).ID = tenantPageTable.ID;
|
|
(tableType as T_PF_PAGE_TABLE).ORG_ID = tenantID;
|
|
if (pageTable.PARAM_SCHEME_ID != null)
|
|
{
|
|
(tableType as T_PF_PAGE_TABLE).PARAM_SCHEME_ID = newSchemes[(Guid)schemesId];//参数更新
|
|
}
|
|
savePermPageTable.Add(tableType);//添加表基础到对应租户
|
|
newTableID = tenantPageTable.ID;//存在更新成原来的
|
|
}
|
|
else
|
|
{
|
|
(tableType as T_PF_PAGE_TABLE).SRC_ID = pageTable.ID;
|
|
(tableType as T_PF_PAGE_TABLE).ID = newTableID;
|
|
(tableType as T_PF_PAGE_TABLE).ORG_ID = tenantID;
|
|
if (pageTable.PARAM_SCHEME_ID != null)
|
|
{
|
|
(tableType as T_PF_PAGE_TABLE).PARAM_SCHEME_ID = newSchemes[(Guid)schemesId];//参数更新
|
|
}
|
|
//savePermPageTable.Add(tableType);//添加表基础到对应租户
|
|
addEntity.PageTables.Add((tableType as T_PF_PAGE_TABLE));
|
|
}
|
|
#region T_PF_PAGE_TABLE_PANEL 页面列表区域
|
|
var tablePanels = srcInfo.TablePanels.Where(x => x.PAGE_TABLE_ID == oldPageId);
|
|
foreach (var tablePanel in tablePanels)
|
|
{
|
|
if (tenantInfo.TablePanels.Any(x => x.SRC_ID == tablePanel.ID))
|
|
{
|
|
var tenantTablePanel = tenantInfo.TablePanels.FirstOrDefault(x => x.SRC_ID == tablePanel.ID);
|
|
var tp = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(tablePanel);
|
|
var oldID = tablePanel.ID;
|
|
tp.SRC_ID = tablePanel.ID;
|
|
tp.ORG_ID = tenantID;
|
|
tp.ID = tenantTablePanel.ID;
|
|
tp.PAGE_TABLE_ID = newTableID;
|
|
saveTablePanels.Add(tp);
|
|
newTablePanels.Add(oldID, tenantTablePanel.ID);
|
|
}
|
|
else
|
|
{
|
|
var tpID = Guid.NewGuid();
|
|
var tp = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(tablePanel);
|
|
var oldID = tablePanel.ID;
|
|
tp.SRC_ID = tablePanel.ID;
|
|
tp.ID = tpID;
|
|
tp.ORG_ID = tenantID;
|
|
tp.PAGE_TABLE_ID = newTableID;
|
|
addEntity.TablePanels.Add(tp);
|
|
newTablePanels.Add(oldID, tpID);
|
|
}
|
|
}
|
|
#endregion
|
|
#region T_PF_TABLE_PARAMS
|
|
var tableParams = srcInfo.TableParams.Where(x => x.PAGE_TABLE_ID == schemesId);
|
|
foreach (var tableParam in tableParams)
|
|
{
|
|
if (tenantInfo.TableParams.Any(x => x.SRC_ID == tableParam.ID))
|
|
{
|
|
var tenantTableParam = tenantInfo.TableParams.FirstOrDefault(x => x.SRC_ID == tableParam.ID);
|
|
var tp = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(tableParam);
|
|
tp.SRC_ID = tableParam.ID;
|
|
tp.ID = tenantTableParam.ID;
|
|
tp.ORG_ID = tenantID;
|
|
tp.PAGE_TABLE_ID = newTableID;
|
|
saveTableParams.Add(tp);
|
|
}
|
|
else
|
|
{
|
|
var tpID = Guid.NewGuid();
|
|
var tp = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(tableParam);
|
|
tp.SRC_ID = tableParam.ID;
|
|
tp.ID = tpID;
|
|
tp.ORG_ID = tenantID;
|
|
tp.PAGE_TABLE_ID = newTableID;
|
|
addEntity.TableParams.Add(tp);
|
|
}
|
|
}
|
|
#endregion
|
|
tenantInfo.DicPageTableRelation.Add(oldPageId.ToString(), newTableID.ToString());
|
|
}
|
|
if (tableType is T_PF_PAGE_EDIT)
|
|
{
|
|
T_PF_PAGE_EDIT pageEdit = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(tableType as T_PF_PAGE_EDIT);//OPT创建的表单
|
|
var schemesId = pageEdit.PARAM_SCHEME_ID;
|
|
var oldPageId = pageEdit.ID;
|
|
if (pageEdit.PARENT_ID != null)
|
|
{
|
|
tenantInfo.DicPageTable.Add(oldPageId.ToString(), pageEdit.PARENT_ID);
|
|
}
|
|
(tableType as T_PF_PAGE_EDIT).PAGE_FORM_ID = pageFormID;
|
|
if (tenantInfo.PageEdits.Any(x => x.SRC_ID == pageEdit.ID))
|
|
{
|
|
var tenantEditTable = tenantInfo.PageEdits.FirstOrDefault(x => x.SRC_ID == pageEdit.ID);
|
|
(tableType as T_PF_PAGE_EDIT).SRC_ID = pageEdit.ID;
|
|
(tableType as T_PF_PAGE_EDIT).ID = tenantEditTable.ID;
|
|
(tableType as T_PF_PAGE_EDIT).ORG_ID = tenantID;
|
|
pageEdit.Nav_PageForm = null;
|
|
if (pageEdit.PARAM_SCHEME_ID != null)
|
|
{
|
|
(tableType as T_PF_PAGE_EDIT).PARAM_SCHEME_ID = newSchemes[(Guid)schemesId];//参数更新
|
|
}
|
|
savePermPageTable.Add(tableType);//添加表基础到对应租户
|
|
newTableID = tenantEditTable.ID;//存在更新成原来的
|
|
}
|
|
else
|
|
{
|
|
(tableType as T_PF_PAGE_EDIT).SRC_ID = pageEdit.ID;
|
|
(tableType as T_PF_PAGE_EDIT).ID = newTableID;
|
|
(tableType as T_PF_PAGE_EDIT).ORG_ID = tenantID;
|
|
(tableType as T_PF_PAGE_EDIT).Nav_PageForm = null;
|
|
if (pageEdit.PARAM_SCHEME_ID != null)
|
|
{
|
|
(tableType as T_PF_PAGE_EDIT).PARAM_SCHEME_ID = newSchemes[(Guid)schemesId];//参数更新
|
|
}
|
|
//savePermPageTable.Add(tableType);//添加表基础到对应租户
|
|
addEntity.PageEdits.Add((tableType as T_PF_PAGE_EDIT));
|
|
}
|
|
|
|
#region T_PF_PAGE_EDIT_PANEL
|
|
var editPanels = srcInfo.EditPanels.Where(x => x.PAGE_EDIT_ID == oldPageId);
|
|
foreach (var editPanel in editPanels)
|
|
{
|
|
if (tenantInfo.EditPanels.Any(x => x.SRC_ID == editPanel.ID))
|
|
{
|
|
var tenantEditPanel = tenantInfo.EditPanels.FirstOrDefault(x => x.SRC_ID == editPanel.ID);
|
|
var ep = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(editPanel);
|
|
var oldID = editPanel.ID;
|
|
ep.SRC_ID = editPanel.ID;
|
|
ep.ID = tenantEditPanel.ID;
|
|
ep.ORG_ID = tenantID;
|
|
ep.PAGE_EDIT_ID = newTableID;
|
|
saveEditPanels.Add(ep);
|
|
newEditPanels.Add(oldID, tenantEditPanel.ID);
|
|
}
|
|
else
|
|
{
|
|
var epID = Guid.NewGuid();
|
|
var ep = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(editPanel);
|
|
var oldID = editPanel.ID;
|
|
ep.SRC_ID = editPanel.ID;
|
|
ep.ID = epID;
|
|
ep.ORG_ID = tenantID;
|
|
ep.PAGE_EDIT_ID = newTableID;
|
|
addEntity.EditPanels.Add(ep);
|
|
newEditPanels.Add(oldID, epID);
|
|
}
|
|
}
|
|
#endregion
|
|
tenantInfo.DicPageTableRelation.Add(oldPageId.ToString(), newTableID.ToString());
|
|
}
|
|
if (tableType is T_PF_PAGE_TREE)
|
|
{
|
|
T_PF_PAGE_TREE pageTree = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(tableType as T_PF_PAGE_TREE);//OPT创建的表单
|
|
(tableType as T_PF_PAGE_TREE).PAGE_FORM_ID = pageFormID;
|
|
if (tenantInfo.PageTrees.Any(x => x.SRC_ID == pageTree.ID))
|
|
{
|
|
var tenantPageTree = tenantInfo.PageTrees.FirstOrDefault(x => x.SRC_ID == pageTree.ID);
|
|
(tableType as T_PF_PAGE_TREE).SRC_ID = pageTree.ID;
|
|
(tableType as T_PF_PAGE_TREE).ID = tenantPageTree.ID;
|
|
(tableType as T_PF_PAGE_TREE).ORG_ID = tenantID;
|
|
savePermPageTable.Add(tableType);//添加表基础到对应租户
|
|
newTableID = tenantPageTree.ID;//存在更新成原来的
|
|
}
|
|
else
|
|
{
|
|
(tableType as T_PF_PAGE_TREE).SRC_ID = pageTree.ID;
|
|
(tableType as T_PF_PAGE_TREE).ID = newTableID;
|
|
(tableType as T_PF_PAGE_TREE).ORG_ID = tenantID;
|
|
//savePermPageTable.Add(tableType);//添加表基础到对应租户
|
|
addEntity.PageTrees.Add((tableType as T_PF_PAGE_TREE));
|
|
}
|
|
|
|
}
|
|
if (tableType is T_PF_PAGE_CHART)
|
|
{
|
|
T_PF_PAGE_CHART pageChart = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(tableType as T_PF_PAGE_CHART);//OPT创建的表单
|
|
var oldChartId = pageChart.ID;
|
|
(tableType as T_PF_PAGE_CHART).PAGE_FORM_ID = pageFormID;
|
|
if (tenantInfo.PageCharts.Any(x => x.SRC_ID == pageChart.ID))
|
|
{
|
|
var tenantPageChart = tenantInfo.PageCharts.FirstOrDefault(x => x.SRC_ID == pageChart.ID);
|
|
(tableType as T_PF_PAGE_CHART).SRC_ID = pageChart.ID;
|
|
(tableType as T_PF_PAGE_CHART).ID = tenantPageChart.ID;
|
|
(tableType as T_PF_PAGE_CHART).ORG_ID = tenantID;
|
|
savePermPageTable.Add(tableType);//添加表基础到对应租户
|
|
newTableID = tenantPageChart.ID;//存在更新成原来的
|
|
}
|
|
else
|
|
{
|
|
(tableType as T_PF_PAGE_CHART).SRC_ID = pageChart.ID;
|
|
(tableType as T_PF_PAGE_CHART).ID = newTableID;
|
|
(tableType as T_PF_PAGE_CHART).ORG_ID = tenantID;
|
|
//savePermPageTable.Add(tableType);//添加表基础到对应租户
|
|
addEntity.PageCharts.Add((tableType as T_PF_PAGE_CHART));
|
|
}
|
|
|
|
#region T_PF_PAGE_CHART_PARAM
|
|
var chartParams = srcInfo.ChartParams.Where(x => x.PAGE_CHART_ID == oldChartId);
|
|
foreach (var chartParam in chartParams)
|
|
{
|
|
if (tenantInfo.ChartParams.Any(x => x.SRC_ID == chartParam.ID))
|
|
{
|
|
var tenantChartParam = tenantInfo.ChartParams.FirstOrDefault(x => x.SRC_ID == chartParam.ID);
|
|
var cp = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(chartParam);
|
|
cp.SRC_ID = chartParam.ID;
|
|
cp.ID = tenantChartParam.ID;
|
|
cp.ORG_ID = tenantID;
|
|
cp.PAGE_CHART_ID = newTableID;
|
|
saveChartParams.Add(cp);
|
|
}
|
|
else
|
|
{
|
|
var cpID = Guid.NewGuid();
|
|
var cp = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(chartParam);
|
|
cp.SRC_ID = chartParam.ID;
|
|
cp.ID = cpID;
|
|
cp.ORG_ID = tenantID;
|
|
cp.PAGE_CHART_ID = newTableID;
|
|
addEntity.ChartParams.Add(cp);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
if (tableType is T_PF_PAGE_CUSTOM)
|
|
{
|
|
T_PF_PAGE_CUSTOM pageCustom = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(tableType as T_PF_PAGE_CUSTOM);//OPT创建的表单
|
|
(tableType as T_PF_PAGE_CUSTOM).PAGE_FORM_ID = pageFormID;
|
|
if (tenantInfo.PageCustoms.Any(x => x.SRC_ID == pageCustom.ID))
|
|
{
|
|
var tenantPageCustom = tenantInfo.PageCustoms.FirstOrDefault(x => x.SRC_ID == pageCustom.ID);
|
|
(tableType as T_PF_PAGE_CUSTOM).SRC_ID = pageCustom.ID;
|
|
(tableType as T_PF_PAGE_CUSTOM).ID = tenantPageCustom.ID;
|
|
(tableType as T_PF_PAGE_CUSTOM).ORG_ID = tenantID;
|
|
savePermPageTable.Add(tableType);//添加表基础到对应租户
|
|
newTableID = tenantPageCustom.ID;//存在更新成原来的
|
|
}
|
|
else
|
|
{
|
|
(tableType as T_PF_PAGE_CUSTOM).SRC_ID = pageCustom.ID;
|
|
(tableType as T_PF_PAGE_CUSTOM).ID = newTableID;
|
|
(tableType as T_PF_PAGE_CUSTOM).ORG_ID = tenantID;
|
|
//savePermPageTable.Add(tableType);//添加表基础到对应租户
|
|
addEntity.PageCustoms.Add((tableType as T_PF_PAGE_CUSTOM));
|
|
}
|
|
}
|
|
return newTableID;
|
|
}
|
|
public void AddQuerys(T_PF_FORM form, Guid tenantID, Guid pageFormID, IEnumerable<T_PF_FORM_QUERY> optFormQuerys, List<T_PF_FORM_QUERY> saveFormQuerys, IEnumerable<T_PF_QUERY> optQuerys, List<T_PF_QUERY> saveQuerys,
|
|
TenantInfo tenantInfo, TenantInfo addEntity)
|
|
{
|
|
var formQuerys = optFormQuerys.Where(x => x.PAGE_FORM_ID == form.ID);
|
|
foreach (var formQuery in formQuerys)
|
|
{
|
|
if (tenantInfo.FormQuerys.Any(x => x.SRC_ID == formQuery.ID))
|
|
{
|
|
var tenantFormQuery = tenantInfo.FormQuerys.FirstOrDefault((x => x.SRC_ID == formQuery.ID));
|
|
T_PF_FORM_QUERY formquery = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(formQuery);//OPT创建的表单
|
|
var oldformQueryID = formQuery.ID;
|
|
formquery.SRC_ID = formQuery.ID;
|
|
formquery.ID = tenantFormQuery.ID;
|
|
formquery.ORG_ID = tenantID;
|
|
formquery.PAGE_FORM_ID = pageFormID;
|
|
saveFormQuerys.Add(formquery);//添加列基础到对应租户
|
|
var querys = optQuerys.Where(x => x.PAGE_FORM_QUERY_ID == oldformQueryID);
|
|
foreach (var query in querys)
|
|
{
|
|
if (tenantInfo.Querys.Any(x => x.SRC_ID == query.ID))
|
|
{
|
|
var tenantQuery = tenantInfo.Querys.FirstOrDefault(x => x.SRC_ID == query.ID);
|
|
T_PF_QUERY queryInfo = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(query);//OPT创建的表单
|
|
queryInfo.SRC_ID = query.ID;
|
|
queryInfo.ID = tenantQuery.ID;
|
|
queryInfo.ORG_ID = tenantID;
|
|
queryInfo.PAGE_FORM_ID = pageFormID;
|
|
queryInfo.PAGE_FORM_QUERY_ID = tenantFormQuery.ID;
|
|
saveQuerys.Add(queryInfo);//添加列基础到对应租户
|
|
}
|
|
else
|
|
{
|
|
var newQueryID = Guid.NewGuid();
|
|
T_PF_QUERY queryInfo = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(query);//OPT创建的表单
|
|
queryInfo.SRC_ID = query.ID;
|
|
queryInfo.ID = newQueryID;
|
|
queryInfo.ORG_ID = tenantID;
|
|
queryInfo.PAGE_FORM_ID = pageFormID;
|
|
queryInfo.PAGE_FORM_QUERY_ID = tenantFormQuery.ID;
|
|
addEntity.Querys.Add(queryInfo);//添加列基础到对应租户
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var newFormQueryID = Guid.NewGuid();
|
|
T_PF_FORM_QUERY formquery = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(formQuery);//OPT创建的表单
|
|
var oldformQueryID = formQuery.ID;
|
|
formquery.SRC_ID = formQuery.ID;
|
|
formquery.ID = newFormQueryID;
|
|
formquery.ORG_ID = tenantID;
|
|
formquery.PAGE_FORM_ID = pageFormID;
|
|
addEntity.FormQuerys.Add(formquery);//添加列基础到对应租户
|
|
var querys = optQuerys.Where(x => x.PAGE_FORM_QUERY_ID == oldformQueryID);
|
|
foreach (var query in querys)
|
|
{
|
|
var newQueryID = Guid.NewGuid();
|
|
T_PF_QUERY queryInfo = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(query);//OPT创建的表单
|
|
queryInfo.SRC_ID = query.ID;
|
|
queryInfo.ID = newQueryID;
|
|
queryInfo.ORG_ID = tenantID;
|
|
queryInfo.PAGE_FORM_ID = pageFormID;
|
|
queryInfo.PAGE_FORM_QUERY_ID = newFormQueryID;
|
|
addEntity.Querys.Add(queryInfo);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 添加按钮
|
|
/// </summary>
|
|
/// <param name="t_PF_FORMs"></param>
|
|
/// <param name="form"></param>
|
|
/// <param name="pageTablePerm"></param>
|
|
/// <param name="editTablePerm"></param>
|
|
/// <param name="treeTablePerm"></param>
|
|
/// <param name="charPerm"></param>
|
|
/// <param name="customPerm"></param>
|
|
/// <param name="savePermPFForm"></param>
|
|
/// <param name="savePermPageTable"></param>
|
|
/// <param name="savePermPageEdit"></param>
|
|
/// <param name="savePermPageTree"></param>
|
|
/// <param name="savePermPageChart"></param>
|
|
/// <param name="savePermPageCustom"></param>
|
|
/// <param name="savePermBtn"></param>
|
|
/// <param name="savePermCloumn"></param>
|
|
/// <param name="tenantID"></param>
|
|
/// <param name="pageFormID"></param>
|
|
/// <param name="filter"></param>
|
|
/// <param name="existForm"></param>
|
|
/// <param name="allBtn"></param>
|
|
/// <param name="newTableID"></param>
|
|
public void AddTableBtn(TenantInfo srcInfo, List<T_PF_FORM> savePermPFForm,
|
|
List<T_PF_PAGE_TABLE> savePermPageTable, List<T_PF_PAGE_TABLE_PANEL> saveTablePanels, List<T_PF_TABLE_PARAMS> saveTableParams,
|
|
List<T_PF_COLUMN_FILTER> saveColumFilters, List<T_PF_COLUMN> savePermCloumn,
|
|
List<T_PF_PAGE_EDIT> savePermPageEdit, List<T_PF_PAGE_EDIT_PANEL> saveEditPanels, List<T_PF_EDIT_COLUMN> saveEditColumns,
|
|
List<T_PF_EDIT_COLUMN_FILTER> saveEditColumnFilters, List<T_PF_EDIT_COLUMN_FILL_MAP> saveEditColumnFillMaps,
|
|
List<T_PF_EDIT_COLUMN_FILL_MAP_D> saveEditColumnFillMapDs,
|
|
List<T_PF_PAGE_TREE> savePermPageTree, List<T_PF_TREE_COLUMN> saveTreeColumns,
|
|
List<T_PF_PAGE_CHART> savePermPageChart, List<T_PF_PAGE_CHART_PARAM> saveChartParams,
|
|
List<T_PF_PAGE_CUSTOM> savePermPageCustom,
|
|
List<T_PF_BTN> savePermBtn, List<T_PF_FORM_QUERY> saveFormQuerys, List<T_PF_QUERY> saveQuerys, List<T_PF_FORM_RELATION> savePermPFFormRelation,
|
|
Dictionary<Guid, Guid> newSchemes, Dictionary<Guid, Guid> newTablePanels, Dictionary<Guid, Guid> newEditPanels, Guid tenantID, List<Guid> existForm, List<Guid> existTable, List<T_PF_BTN> allBtn, Guid newTableID, TenantInfo tenantInfo, TenantInfo addEntity, string formId = "")
|
|
{
|
|
foreach (var btn in allBtn)
|
|
{
|
|
var newBtnID = Guid.NewGuid();
|
|
T_PF_BTN button = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(btn);//OPT创建的表单
|
|
if (tenantInfo.Btns.Any(x => x.SRC_ID == btn.ID))
|
|
{
|
|
var tenantBtn = tenantInfo.Btns.FirstOrDefault(x => x.SRC_ID == btn.ID);
|
|
button.SRC_ID = btn.ID;
|
|
button.ID = tenantBtn.ID;
|
|
button.ORG_ID = tenantID;
|
|
if (formId != "")
|
|
{
|
|
button.PAGE_ID = new Guid(formId);
|
|
}
|
|
else
|
|
{
|
|
button.PAGE_ID = newTableID;
|
|
}
|
|
if (button.PAGE_TABLE_ID != null)
|
|
{
|
|
button.PAGE_TABLE_ID = newTableID;
|
|
}
|
|
if (button.PAGE_EDIT_ID != null)
|
|
{
|
|
button.PAGE_EDIT_ID = newTableID;
|
|
}
|
|
if (button.PAGE_CUSTOM_FORM_ID != null)
|
|
{
|
|
// button.PAGE_CUSTOM_FORM_ID = newTableID;
|
|
button.PAGE_CUSTOM_FORM_ID = new Guid(formId);
|
|
}
|
|
savePermBtn.Add(button);//添加列基础到对应租户
|
|
newBtnID = tenantBtn.ID;
|
|
}
|
|
else
|
|
{
|
|
button.SRC_ID = btn.ID;
|
|
button.ID = newBtnID;
|
|
button.ORG_ID = tenantID;
|
|
if (formId != "")
|
|
{
|
|
button.PAGE_ID = new Guid(formId);
|
|
}
|
|
else
|
|
{
|
|
button.PAGE_ID = newTableID;
|
|
}
|
|
if (button.PAGE_TABLE_ID != null)
|
|
{
|
|
button.PAGE_TABLE_ID = newTableID;
|
|
}
|
|
if (button.PAGE_EDIT_ID != null)
|
|
{
|
|
button.PAGE_EDIT_ID = newTableID;
|
|
}
|
|
if (button.PAGE_CUSTOM_FORM_ID != null)
|
|
{
|
|
// button.PAGE_CUSTOM_FORM_ID = newTableID;
|
|
button.PAGE_CUSTOM_FORM_ID = new Guid(formId);
|
|
}
|
|
addEntity.Btns.Add(button);//添加列基础到对应租户
|
|
}
|
|
if (!string.IsNullOrEmpty(btn.FORM_CODE))//有配置关联表单
|
|
{
|
|
//var btnForm = t_PF_FORMs.Where(x => x.CODE == btn.FORM_CODE).FirstOrDefault();
|
|
// var btnForm = this.GetEntities<T_PF_FORM>(null, filter).FirstOrDefault(x => x.CODE == btn.FORM_CODE);
|
|
var btnForm = srcInfo.Forms.FirstOrDefault(x => x.CODE == btn.FORM_CODE);
|
|
if (btnForm != null)
|
|
{
|
|
if (tenantInfo.Forms.Any(x => x.SRC_ID == btnForm.ID))
|
|
{
|
|
var tenantBtnForm = tenantInfo.Forms.FirstOrDefault(x => x.SRC_ID == btnForm.ID);
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(btnForm);//OPT创建的表单
|
|
if (!existForm.Contains(newForm.ID) && !savePermPFForm.Any(x => x.CODE == newForm.CODE) && !addEntity.Forms.Any(x => x.CODE == newForm.CODE))
|
|
{
|
|
AddTable(srcInfo, btnForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, tenantBtnForm.ID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = btnForm.ID;
|
|
newForm.ID = tenantBtnForm.ID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
savePermPFForm.Add(newForm);//添加表单到对应租户
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var newFormID = Guid.NewGuid();
|
|
T_PF_FORM newForm = APT.Infrastructure.Core.CloneExtends.DeepCloneObject(btnForm);//OPT创建的表单
|
|
if (!existForm.Contains(newForm.ID) && !savePermPFForm.Any(x => x.CODE == newForm.CODE) && !addEntity.Forms.Any(x => x.CODE == newForm.CODE))
|
|
{
|
|
AddTable(srcInfo, btnForm, savePermPFForm,
|
|
savePermPageTable, saveTablePanels, saveTableParams,
|
|
saveColumFilters, savePermCloumn,
|
|
savePermPageEdit, saveEditPanels, saveEditColumns,
|
|
saveEditColumnFilters, saveEditColumnFillMaps,
|
|
saveEditColumnFillMapDs,
|
|
savePermPageTree, saveTreeColumns,
|
|
savePermPageChart, saveChartParams,
|
|
savePermPageCustom,
|
|
savePermBtn, saveFormQuerys, saveQuerys, savePermPFFormRelation,
|
|
newSchemes, newTablePanels, newEditPanels, tenantID, newFormID, existForm, existTable, tenantInfo, addEntity);
|
|
newForm.SRC_ID = btnForm.ID;
|
|
newForm.ID = newFormID;
|
|
newForm.ORG_ID = tenantID;
|
|
newForm.Nav_Org = null;
|
|
addEntity.Forms.Add(newForm);//添加表单到对应租户
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|