#pragma once
#include "CppSQLite3.h"
#include "dt.h"
#include <string>
#include <windows.h>
#include <mutex>

#include "CConfigBase.h"
#include "CDataBaseOperate.h"

namespace ns_db
{

	using namespace std;

#ifdef STATISTIC_COUNTERS_DLL
#define DLL_STATISTIC_COUNTERS_API __declspec(dllexport)
#else
#define DLL_STATISTIC_COUNTERS_API
#endif

	typedef struct
	{
		int Lot;                //批次号
		int PtIndex;            //固晶点编号
		int Attribute;          //0表示正常数据;1表示接手动允许数据;2表示跳过数据。其它无意义
		int X_Offset;           //X方向偏差
		int X_RefMin;           //X方向参考范围小值
		int X_RefMax;           //X方向参考范围大值
		int Y_Offset;           //Y方向偏差
		int Y_RefMin;           //Y方向参考范围小值
		int Y_RefMax;           //Y方向参考范围大值
		int Theta_Offset;       //Theta方向偏差
		int Theta_RefMin;       //Theta方向参考范围小值
		int Theta_RefMax;       //Theta方向参考范围大值
		long Time;              //加工时间
	} CPK_LIST_STRUCT;

	typedef struct
	{
		string TableType;
		int TableId;
		string Action;
		string StartTime;
		string EndTime;
		int UseTime;
	}ACTION_TIME_STRUCT;

	class DLL_STATISTIC_COUNTERS_API CStatisticCounters : public CDataBaseOperate
	{
	public:
		CStatisticCounters();

	private:
		LONG SaveDB() override;
		LONG LoadDB() override;



#pragma region BondHead
	private:
		std::vector<CONFIG_BASE_STRUCT>  m_vecConfig_BondHead;
	public:
	
#pragma endregion


	};



}