#pragma once
//stl
#include <iostream>
//robotics
#include <robotics/datetime.hpp>

using namespace robotics;

/* ************************************************
* 作者:Lenovo
* 时间:2024/6/3 21:14:08
* 机器名:DESKTOP-4I13MDL
* 实体类名:web_sync_config_info
* 数据库表名 				[[SqlTable("xxx")]]
* 不生成反射 				[[NoReflect]]
* Json字段名 			[[Json("xxx")]]
* 不生成Json字段 			[[NoJson(true)]]
* Sql字段名  			[[Sql("xxx")]]
* 不生成Sql字段 			[[NoSql(true)]]
* Excel字段名			[[Excel("xxx")]]
* 不生成Excel字段 		[[NoExcel(true)]]
* *************************************************/

/**
 * @brief Web同步数据配置结构体，包含设备、统计、快递等相关配置信息。
 */
struct [[SqlTable("sync_config")]] web_sync_config_info
{
	/**
	 * @brief 配置项唯一编号
	 */
	int id = 0;

	/**
	 * @brief 配置创建时间
	 */
	v3::datetime create_time;

	/**
	 * @brief 设备唯一标识符
	 */
	std::string device_id;

	/**
	 * @brief 数据汇总时间
	 */
	v3::datetime summary_time;

	/**
	 * @brief 设备运行总距离（单位：米）
	 */
	double running_distance = 0;

	/**
	 * @brief 设备当前速度（单位：米/秒）
	 */
	double speed = 0;
	
	/**
	 * @brief 快递类型编号
	 */
	int express_type = 0;

	/**
	 * @brief 分拣数量
	 */
	int lattice_count = 0;

	/**
	 * @brief 扫描数量
	 */
	int supply_count = 0;

	/**
	 * @brief 回流数量
	 */
	int reflux_count = 0;

	/**
	 * @brief 补货汇总信息
	 */
	std::string supply_summay;

	/**
	 * @brief 格口汇总信息
	 */
	std::string lattice_summay;

	/**
	 * @brief 回流汇总信息
	 */
	std::string reflux_summay;

	/**
	 * @brief 是否启用该配置
	 */
	bool enable = false;

	/**
	 * @brief 备注信息
	 */
	std::string remarks;
};