import { ISearchVO } from '@/common/types'; import Api from './Api'; interface ISprint { sprintName: string; startDate?: string; endDate?: string; sprintGoal?: string; } interface USprint { sprintId: number; objectVersionNumber: number; projectId: number; sprintName: string; sprintGoal?: string; startDate?: string; endDate?: string; } interface CloseSprint { incompleteIssuesDestination: number; projectId: number; sprintId: number; } interface StartSprint { endDate: string; startDate: string; projectId: number; sprintGoal: string; sprintId: number; sprintName: string; objectVersionNumber: number; workDates: Array; } interface advancedSearch { advancedSearchArgs: object; } interface MoveIssueCardsInfo { before: boolean; issueIds: Array; outsetIssueId: number; rankIndex: number; } export interface SprintStartCheckInfo { noRemainingTimeIssue: number; noStoryPointIssue: number; } declare class SprintApi extends Api { get prefix(): string; /** * 创建冲刺 * @param sprint */ create(sprint: ISprint): any; /** * 在当前PI下创建冲刺 * @param sprint */ createOnCurrentPi(sprint: ISprint): any; /** * 校验冲刺名称 * @param name */ validate(name: string): any; /** * 根据piId查询冲刺 * @param piId */ getAllByPiId(piId: number): any; /** * 根据冲刺状态数组获取冲刺,["started", "sprint_planning", "closed"],不论是普通项目还是子项目都可以 * @param {*} arr */ loadSprints(arr?: Array, projectId?: number): any; /** * 加载全部子项目下的冲刺 * @param param * @param page * @param selectedIds */ loadSubProjectSprints(param: string, page: number, selectedIds?: string[], size?: number): any; /** * 根据冲刺id加载冲刺 * @param sprintId */ loadSprint(sprintId: number): any; /** * 根据冲刺id查询sprint名及此冲刺下issue统计信息 * @param sprintId */ loadSprintAndCountIssue(sprintId: number): any; /** * 查询未关闭的冲刺 */ loadUncloseSprint(): any; /** * 根据冲刺id及状态加载工作项 * @param sprintId * @param status * @param page * @param size */ loadSprintIssues(sprintId: number, status: string, page?: number, size?: number): any; /** * 根据团队id及PI id 加载冲刺列表 * @param teamId * @param piId */ loadSprintsByTeam(teamId: number, piId: number): any; /** * 按团队Ids和piId查询冲刺 * @param {*} piId * @param {*} teamIds */ getTeamSprints(piId: number, teamIds: Array): any; /** * 更新冲刺部分字段 * @param data * @param isCurrentPi 更新的冲刺是否为项目群下的子项目 */ updateSprint(data: USprint, isCurrentPi?: boolean): any; /** * 完成冲刺 * @param data */ complete(data: CloseSprint): any; /** * 开启冲刺 * @param data * @param isCurrentPi 开启的冲刺是否为项目群下的子项目 */ checkSprintBeforeStart(sprintId: string): Promise; /** * 开启冲刺 * @param data * @param isCurrentPi 开启的冲刺是否为项目群下的子项目 */ start(data: StartSprint, isCurrentPi?: boolean): any; /** * 删除冲刺 * @param sprintId * @param isCurrentPi 删除的冲刺是否为项目群下的子项目 */ delete(sprintId: number, isCurrentPi?: boolean): any; /** * 联合查询sprint及其issue * @param quickFilterIds 快速查询ids * @param assigneeFilterIds 经办人搜索ids * @param filter 过滤条件 */ getSprintAndIssues(quickFilterIds: Array, assigneeFilterIds: Array, filter: advancedSearch): any; /** * 根据冲刺id查询冲刺的时间范围内非工作日(包含周六周天) * @param sprintId */ getRestDays(sprintId: string): Promise; /** * 根据冲刺id查询经办人分布状况 * @param sprintId */ getAssigneeDistribute(sprintId: number): any; /** * 根据冲刺id查询工作项类型分布状况 * @param sprintId */ getIssueTypeDistribute(sprintId: number): any; /** * 冲刺id联合组织id查询冲刺基本信息 * @param sprintId */ getSprintCombineOrgId(sprintId: number): any; /** * 根据冲刺id查询状态分布状况 * @param sprintId */ getStatusDistribute(sprintId: number): any; /** * 将批量的issue加入到冲刺中 * @param sprintId * @param issueIds */ addIssues(sprintId: number, moveCardsInfo: MoveIssueCardsInfo): any; loadSprintsWidthInfo(sprintIds: string[]): any; /** * 改变(删除、完成)冲刺前检查默认值是否为{sprintId}冲刺 * @param sprintId */ beforeChangeCheck(sprintId: string): Promise; getBacklogSprintsInfo(searchVO: ISearchVO): Promise; getIssuesBySprintId(sprintId: string, searchVO: ISearchVO, page: number, size: number): Promise; } declare const sprintApi: SprintApi; declare const sprintApiConfig: SprintApi; export { sprintApi, sprintApiConfig };