using APT.BaseData.Domain.ApiModel;
using APT.BaseData.Domain.Entities;
using APT.BaseData.Domain.Enums;
using APT.Infrastructure.Core;
using System;
using System.Collections.Generic;
using APT.Infrastructure.Api;
namespace APT.BaseData.Domain.IServices
{
public interface IPFFormService : ICommonService
{
///
/// 获取实体语法
///
///
///
///
///
/// 获取语法类型 0-update 和insert 1-仅获取update 2-仅获取insert
void GetSqlByObject(DataBaseType dataBaseType, object obj, List list, string dstOrgId, int sqlType);
///
/// 创建表单设置版本信息
///
/// 当前设置类型
/// ID列表 逗号隔开
void CreateFormConfigVersion(PFFormConfigVersionEnum configEnum, string ids);
///
/// 依据表单编号获取更新表单配置语法
///
///
///
///
///
///
///
/// 开始时间 从此时间之后的有异动的配置信息都会获取到
/// 是否组织初始化
///
List GetSqlsByFormCode(Guid orgId, List formCodes, string dstOrgId, decimal dstFormConfigVersion, DataBaseType dstDataBaseType, int sqlType, DateTime? startTime, bool isInitOrg);
///
/// 依据表单ID获取更新表单配置语法
///
///
///
///
///
///
/// 获取语法类型 0-update 和insert 1-仅获取update 2-仅获取insert
/// 开始时间 从此时间之后的有异动的配置信息都会获取到
/// 是否组织初始化
///
List GetSqlsByFormId(Guid orgId, List formIds, string dstOrgId, decimal dstFormConfigVersion, DataBaseType dstDataBaseType, int sqlType, DateTime? startTime, bool isInitOrg, int formType);
///
/// 获取实体表语法
///
///
///
///
///
/// 获取语法类型 0-update 和insert 1-仅获取update 2-仅获取insert
///
List GetSqlByEntity(DataBaseType dataBaseType, Guid orgId, string entityNames, string dstOrgId, int sqlType);
///
///根据来源组织初始化目的组织 配置数据
///
/// 来源组织编号
/// 目的组织编号
/// 目的组织名称
void InitOrgBySrcOrg(string srcOrgCode, string destOrgCode, string destOrgName);
///
/// 初始化组织
///
///
///
///
void InitOrgByOrg(Guid srcOrgId, List destOrgIds, DateTime? startTime);
///
/// 同步表单配置信息
///
///
///
///
void SynchFormConfigByOrg(Guid srcOrgId, List destOrgIds, DateTime? startTime);
///
/// 执行语法并且获取执行结果
///
///
///
ExecuteSqlResult ExcuteSqlAndGetResult(string sql);
///
/// 根据表名获取模块类型
///
///
///
PFModuleTypeEnum GetModelTypeByName(string tableName);
///
/// 获取表单配置版本
///
///
///
///
///
///
void AddFormConfigVersion(List formIds, List pageTables,
List columns, List pageTablePanels,
Dictionary> otherCookies);
}
}