import { AmountData, AmountDataList, BudgetData, BudgetDataList, BusinessPreviewSheetData, ClaimTableModel, ContractData, ContractDataList, ContractRatio, ContractTableModel, CostData, GjContractAmountModel, IBusinessTrendsData, IBusinessTrendsModalData, IVisaChangeData, IVisaChangeDataTableList, MonthCostSheetData, MonthProceedsSheetData, ProgressCostCondition, ProgressCostData, ProportionalLineData, SixComparisonData, SixSecendModelData } from '../model/operationManagement.model'; import { ApiClientFactory } from '../core/api.client.factory'; export class OperationManagement { constructor(private factory: ApiClientFactory) { } // 获取经营管理合同金额 // 合同概述接口 async loadGjContractAmountList(projectId: string): Promise { const url = `/web/projects/${projectId}/finance/overview`; const results = await this.factory.gssApi.get(url); return results; } // 合同明细表格接口 async loadContractTableList(projectId: string, pageIndex: number, pageSize: number): Promise { const url = `/web/projects/${projectId}/finance/contract`; const results = await this.factory.gssApi.get(url, { pageIndex, pageSize }); return results; } // 预算明细表格接口 async loadClaimTableList( projectId: string, status: string, pageIndex: number, pageSize: number ): Promise { const url = `/web/projects/${projectId}/finance/claim`; const results = await this.factory.gssApi.get(url, { status, pageIndex, pageSize }); return results; } // 比例饼图---------------经营动态分析 async loadSixComparisonData(projectId: string, startDate?: string, endDate?: string): Promise { const url = `/web/projects/${projectId}/finance/sixComparison`; const results = await this.factory.gssApi.get(url, { startDate, endDate }); return results; } // 经营六算比例-新接口-直接返回比例信息 async loadSixComparisonRatioData(projectId: string): Promise { const url = `/web/projects/${projectId}/finance/sixComparison/ratio`; const results = await this.factory.gssApi.get(url); return results; } // 比例饼图获取配置参数 async loadDisposeData(projectId: string, typeCode: string): Promise { const url = `gss/sysProjectSetting/projects/${projectId}/${typeCode}`; const results = await this.factory.gssApi.get(url); return results; } // 比例饼图修改配置参数 async loadEditDisposeData(projectId: string, type: string, value: string): Promise { const url = `gss/sysProjectSetting/projects/${projectId}`; const results = await this.factory.gssApi.post(url, { projectId, type, value }); return results; } // 经营动态分析二级弹框 async loadSixSecendModelData( projectId: string, type: string, startDate?: string, endDate?: string ): Promise { const url = `/web/projects/${projectId}/finance/sixComparison/${type}`; const results = await this.factory.gssApi.get(url, { startDate, endDate }); return results; } // 对比分析折线图---年 async loadProportionalLineYear(projectId: string): Promise { const url = `/web/projects/${projectId}/finance/analysis/years`; const results = await this.factory.gssApi.get(url); return results; } // 对比分析折线图 async loadProportionalLine(projectId: string, year?: string): Promise { const url = `/web/projects/${projectId}/finance/analysis`; const results = await this.factory.gssApi.get(url, { year }); return results; } // 经营数据-合同列表 async loadContractDataList(projectId: string): Promise { const result = await this.factory.gssApi.get(`/web/projects/${projectId}/contract`); return result; } // 经营数据-新增或修改合同 async createOrEditContractData(projectId: string, data: ContractData): Promise { const result = await this.factory.gssApi.post(`/web/projects/${projectId}/contract`, data); return result; } // 经营数据-删除合同 async deleteContractData(projectId: string, id: number): Promise { const result = await this.factory.gssApi.delete(`/web/projects/${projectId}/contract/${id}`); return result; } // 经营数据-预算列表 async loadBudgetDataList(projectId: string): Promise { const result = await this.factory.gssApi.get(`/web/projects/${projectId}/budget`); return result; } // 经营数据-新增或修改预算 async createOrEditBudgetData(projectId: string, data: BudgetData): Promise { const result = await this.factory.gssApi.post(`/web/projects/${projectId}/budget`, data); return result; } // 经营数据-删除预算 async deleteBudgetData(projectId: string, id: number): Promise { const result = await this.factory.gssApi.delete(`/web/projects/${projectId}/budget/${id}`); return result; } // 经营数据-(六算列表)合同收入填报列表 async loadAmountDataList(projectId: string): Promise { const result = await this.factory.gssApi.get( `/web/projects/${projectId}/contract/progress/proceeds/queryList` ); return result; } // 经营数据-新增或修改(六算)合同收入填报 async createOrEditAmountData(projectId: string, data: AmountData): Promise { const result = await this.factory.gssApi.post( `/web/projects/${projectId}/contract/progress/proceeds/save`, data ); return result; } // 经营数据-删除(六算)合同收入填报 async deleteAmountData(projectId: string, id: string): Promise { const result = await this.factory.gssApi.delete( `/web/projects/${projectId}/contract/progress/proceeds/delete?id=${id}` ); return result; } // 经营数据-目标成本新增或修改 async createOrEditCostData(projectId: string, data: CostData): Promise { const result = await this.factory.gssApi.post(`/web/projects/${projectId}/cost/save`, data); return result; } // 经营数据-目标成本查询 async loadCostDataList(projectId: string, attribute: string, contractName: string): Promise { const result = await this.factory.gssApi.get(`/web/projects/${projectId}/cost/getCosts`, { attribute, contractName }); return result; } // 经营数据-目标成本分页查询 async loadCostDataPageList( projectId: string, attribute: string, contractName: string, pageIndex: number, pageSize: number ): Promise { const result = await this.factory.gssApi.get(`/web/projects/${projectId}/cost/getCostDetails`, { attribute, contractName, pageIndex, pageSize }); return result; } // 经营数据-目标成本删除 async deleteCostData(projectId: string, id: string): Promise { const result = await this.factory.gssApi.delete(`/web/projects/${projectId}/cost/${id}`); return result; } // 经营数据-获取合同收付款比例 async loadContractRatioList(projectId: string): Promise { const result = await this.factory.gssApi.get( `/web/projects/${projectId}/contract/ratio/setting/queryList` ); return result; } // 经营数据-修改合同收付款比例 async editContractRatioList(projectId: string, data: ContractRatio[]): Promise { const result = await this.factory.gssApi.post( `/web/projects/${projectId}/contract/ratio/setting/saveBatch`, data ); return result; } // 经营数据-合同成本填报日期列表 async loadProgressCostDateList(projectId: string): Promise { const result = await this.factory.gssApi.get( `/web/projects/${projectId}/contract/progress/costs/date/queryList` ); return result; } // 经营数据-合同成本填报列表 async loadProgressCostDataList(projectId: string, params: ProgressCostCondition): Promise { const result = await this.factory.gssApi.post( `/web/projects/${projectId}/contract/progress/costs/queryList`, params ); return result; } // 经营数据-新增或修改合同成本填报 async createOrEditProgressCostData(projectId: string, data: ProgressCostData): Promise { const result = await this.factory.gssApi.post(`/web/projects/${projectId}/contract/progress/costs/save`, data); return result; } // 经营数据-删除合同成本填报 async deleteProgressCostData(projectId: string, id: string): Promise { const result = await this.factory.gssApi.delete( `/web/projects/${projectId}/contract/progress/costs/delete?id=${id}` ); return result; } // 经营数据-签证变更一览表 async getVisaChangeData(projectId: string): Promise { const result = await this.factory.gssApi.get(`/web/projects/${projectId}/budget/budgetViewVO`); return result; } // 经营数据-签证变更一览表---二级 async getVisaChangeTableData(projectId: string): Promise { const result = await this.factory.gssApi.get( `/web/projects/${projectId}/budget/budgetViewVO/list` ); return result; } // 经营数据-经营趋势一览表 async getBusinessTrendsData(projectId: string): Promise { const result = await this.factory.gssApi.get( `/web/projects/${projectId}/business/trend/view/info` ); return result; } // 经营数据-经营趋势一览表 - 二级查询 async getBusinessTrendsModalData(projectId: string): Promise { const result = await this.factory.gssApi.get( `/web/projects/${projectId}/target/profit/setting/info` ); return result; } // 经营数据-经营趋势一览表 - 二级添加/修改 async addBusinessTrendsModalData(projectId: string, targetProfitRatio: number): Promise { const result = await this.factory.gssApi.post(`/web/projects/${projectId}/target/profit/setting/save`, { targetProfitRatio }); return result; } // 经营数据-月度收入一览 async loadMonthProceedsSheetData(projectId: string, date: string): Promise { const result = await this.factory.gssApi.get( `/web/projects/${projectId}/contract/progress/proceeds/proceedsView?date=${date}` ); return result; } // 经营数据-月度收入一览-二级弹窗 async loadMonthProceedsSheetModalData(projectId: string): Promise { const result = await this.factory.gssApi.get( `/web/projects/${projectId}/contract/progress/proceeds/proceedsView/list` ); return result; } // 经营数据-月度成本一览 async loadMonthCostSheetData(projectId: string, date: string): Promise { const result = await this.factory.gssApi.get( `/web/projects/${projectId}/contract/progress/costs/costsView?date=${date}` ); return result; } // 经营数据-月度成本一览-二级弹窗 async loadMonthCostSheetModalData(projectId: string, date?: string): Promise { const result = await this.factory.gssApi.get( `/web/projects/${projectId}/contract/progress/costs/costsView/list?date=${date}` ); return result; } // 经营数据-经营一览 async loadBusinessPreviewSheetData(projectId: string): Promise { const result = await this.factory.gssApi.get( `/web/projects/${projectId}/business/view/info` ); return result; } // 经营数据-经营一览-成本二级弹窗 async loadCostSheetModalData(projectId: string): Promise { const result = await this.factory.gssApi.get( `/web/projects/${projectId}/contract/progress/costs/companyView/list` ); return result; } // 经营数据-进度产值模版导出 async exportProgressProceedsExcel(projectId: string) { this.factory.gssApi.exportFile( `/web/projects/${projectId}/contract/progress/proceeds/exportExcel`, {}, { ignoreHeaders: false }, 'gssToken' ); } // 经营数据-进度成本模版导出 async exportProgressCostExcel(projectId: string) { this.factory.gssApi.exportFile( `/web/projects/${projectId}/contract/progress/costs/exportExcel`, {}, { ignoreHeaders: false }, 'gssToken' ); } }