#pragma once

#include <string>
#include <vector>
#include "../../Datastructure/CarDealerScheme/CarDealerScheme.h"
#include "../../Datastructure/CarDealerAchievement/CarDealerAchievement.h"
#include "../../Datastructure/RepairOrder/RepairOrder.h"
#include "../../Datastructure/RepairSuggestion/RepairSuggestionRecord.h"
#include "../../Datastructure/新送返修监控报表/新送返修监控报表.h"

/************************************************
* \brief 
* \param filePath 
* \param sheetIndex 
* \param startRowIndex 
* \param schemeVector 
************************************************/
void LoadCarDealerSchemeFromXlsx( const std::wstring &           filePath,
                                  unsigned int                   sheetIndex,
                                  unsigned int                   startRowIndex,
                                  std::vector<CarDealerScheme> & schemeVector );

/************************************************
* \brief 
* \param filePath 
* \param sheetIndex 
* \param startRowIndex 
* \param achievementVector 
************************************************/
void LoadCarDealerAchievementFromXlsx( const std::wstring &                filePath,
                                       unsigned int                        sheetIndex,
                                       unsigned int                        startRowIndex,
                                       std::vector<CarDealerAchievement> & achievementVector );

/************************************************
* \brief 
* \param filePath 
* \param sheetIndex 
* \param startRowIndex 
* \param orderVector 
************************************************/
void LoadRepairOrderFromXlsx( const std::wstring &       filePath,
                              unsigned int               sheetIndex,
                              unsigned int               startRowIndex,
                              std::vector<RepairOrder> & orderVector );

// void LoadRepairOrderFromXls( const std::wstring &       filePath,
//                              unsigned                   sheetIndex,
//                              unsigned                   startRowIndex,
//                              std::vector<RepairOrder> & orderVector );

/************************************************
* \brief 读取送返修推荐表数据
* \param filePath 
* \param sheetIndex 
* \param startRowIndex 
* \param recordVector 
************************************************/
void LoadRepairSuggestionFromXlsx( const std::wstring &                  filePath,
                                   unsigned int                          sheetIndex,
                                   unsigned int                          startRowIndex,
                                   std::vector<RepairSuggestionRecord> & recordVector );


/************************************************
* \brief 读取新送返修监控报表数据
* \param filePath 
* \param sheetIndex 
* \param startRowIndex 
* \param recordVector 
************************************************/
void LoadNewRepairMonitorReportFromXlsx( const std::wstring &                        filePath,
                                         unsigned int                                sheetIndex,
                                         unsigned int                                startRowIndex,
                                         std::vector<NewRepairMonitorReportRecord> & recordVector );
