/**
 * 保存csv文件
 * */

#ifndef SAVECSVENGINE_H
#define SAVECSVENGINE_H

#include "AppCommon.h"

#include "EngineBase.h"
#include "EngineFactory.h"

#include "MyYaml.h"
#include "myutils.h"
#include "myqueue.h"

class SaveCsvEngine : public ai_matrix::EngineBase
{
public:
    SaveCsvEngine();
    ~SaveCsvEngine();

    APP_ERROR Init() override;
    APP_ERROR DeInit() override;
    APP_ERROR Process() override;

private:
    //保存合并后车厢的最优结果到CSV中 (该文件支持其web导入)
    bool SaveMergerCsv(std::shared_ptr<Train> pTrain);
    //保存车厢的最优结果到CSV中
    bool SaveTrainCsv(std::shared_ptr<Train> pTrain);
    //保存定检期的最优结果到CSV中
    bool SaveChkDateCsv(std::shared_ptr<ChkDate> pChkDate);
    //保存集装箱的最优结果到CSV中
    bool SaveContainerCsv(std::shared_ptr<TrainContainer> pTrainContainer);

    std::string strPort0_;
    std::string strPort1_;
    std::string strPort2_;
    std::string strResultPath_;
    std::string strPoundNo_;
};

ENGINE_REGIST(SaveCsvEngine)

#endif