import api from "@/http/api_sz_demo"; import { StatisticsDataForVehicle, StatisticsDataForEnterprise } from "../../../store/enterpriseReport/types"; import { OriginTableData } from "@/store/types"; import { IFilterForEnterprise } from "../types"; /** * 原始数据格式化 * @param data 原始数据 */ export const formatOriginData = (data: OriginTableData) => { const { recordList, fieldList } = data; return recordList.map((row) => { const columns: any = {}; fieldList.forEach((field, index) => { columns[field.fieldName] = row.columns[index]; }); return columns; }) as T[]; }; /** * 单车体检指标统计表-原始数据 * @param date 查询日期 * @param enterprise 查询企业 */ const getOriginStatisticsDataForVehicle = async (date: string, enterprise: string, plateNo: string) => { return await api.enterpriseReport.getInspectionStatisticsForVehicle(date, enterprise, plateNo); }; /** * 单车体检指标统计表-格式化数据 * @param date 查询日期 * @param enterprise 查询企业 */ export const getFormatedStatisticsDataForVehicle = async (date: string, enterprise: string, plateNo: string) => { return formatOriginData(await getOriginStatisticsDataForVehicle(date, enterprise, plateNo)); }; /** * 企业体检指标统计表-原始数据 * @param date 查询日期 * @param enterprise 查询企业 */ const getOriginStatisticsDataForEnterprise = async (date: string, enterprise: string, areaName: string) => { // 单个企业指标统计表 const result = await api.enterpriseReport.getInspectionStatisticsForCompany( date, enterprise, areaName ); // const area_nameIndex = result.fieldList.findIndex((field) => field.fieldName === "area_name"); // const area_name = result.recordList[0].columns[area_nameIndex] as string; const allResult = await api.enterpriseReport.getInspectionStatisticsForCompany(date, "", areaName); return { enterpriseData: result, allEnterprisesData: allResult, }; }; /** * 企业体检指标统计表-格式化数据 * @param date 查询日期 * @param enterprise 查询企业 */ export const getFormatedStatisticeDataForEnterprise = async (filters: IFilterForEnterprise) => { if (filters.plate) { const enterpriseData = await getOriginStatisticsDataForVehicle(filters.date, filters.enterpriseName, filters.plate); const allEnterprisesData = await getOriginStatisticsDataForVehicle(filters.date, filters.enterpriseName, ""); const enterpriseFormatedData = formatOriginData(enterpriseData); const allEnterprisesFormatedData = formatOriginData(allEnterprisesData); return { enterpriseFormatedData: enterpriseFormatedData[0], allEnterprisesFormatedData, }; } else { const { enterpriseData, allEnterprisesData } = await getOriginStatisticsDataForEnterprise( filters.date, filters.enterpriseName, filters.areaName ); const enterpriseFormatedData = formatOriginData(enterpriseData); const allEnterprisesFormatedData = formatOriginData(allEnterprisesData); return { enterpriseFormatedData: enterpriseFormatedData[0], allEnterprisesFormatedData, }; } };