Files
Docker/CloudBuilder/CloudBuilder.Master/Service/IFamilyTreeService.auto.cs
T
2026-10-23 09:46:48 +08:00

42 lines
2.0 KiB
C#

using CloudBuilder.Core.Service;
using CloudBuilder.Master.Data;
using CloudBuilder.Master.Entity;
using CloudBuilder.Master.SearchCriteria;
namespace CloudBuilder.Master.Service
{
public interface IFamilyTreeService : IServiceBase<FamilyTreeData, string, FamilyTreeSearchCriteria>
{
FamilyTreeData FindAllByTreeId(string treeId);
FamilyTreeData FindByCurrentPerson(string key, string personId);
FamilyTreeResultData FindBySearchCriteria(FamilyTreeSearchCriteria tc);
dynamic PrintBySearchCriteria(FamilyTreeSearchCriteria tc);
void Deletes(string[] keys);
void RequestFamilyTreePermission(string treeId, string currentPermission);
void ApproveFamilyTreePermission(string treeId, string currentPersonId, string userName, string managerIndc);
void RejectFamilyTreePermission(string treeId, string currentPersonId, string userName);
FamilyTreeData BindSelfPerson(string treeId, string personId);
FamilyTreeData UnbindSelfPerson(string treeId);
// 族谱全系/小系 .fm 导入导出(D1-D8):Export 出明文数据由前端加密,Save/List/Read 走交换目录
string GetExchangeFactor();
FamilyTreeExchangeData ExportFamilyTree(string treeId, string scope, string anchorPersonId);
string SaveExchangeFile(string fileName, string contentBase64);
FamilyTreeExchangeFileInfo[] ListExchangeFiles(string treeId);
string ReadExchangeFile(string fileName);
int ImportFamilyTree(string targetTreeId, FamilyTreeExchangeData data);
int ImportSubTree(string targetTreeId, string anchorPersonId, FamilyTreeExchangeData data);
FamilyTreeExchangeFileInfo[] ListBackups(string treeId);
int RestoreBackup(string targetTreeId, string backupFileName);
/// <summary>族谱「统计」 tab 的聚合数据(总数/男女/世代层数/各世代人数);仅本族成员可拉</summary>
FamilyTreeStatisticsData GetStatistics(string treeId);
}
}