#ifndef  CIVHYDRFUNCINTER_H
#define CIVHYDRFUNCINTER_H
#include "pandaAnalysis.h"

#if defined(__cplusplus)
extern "C" {
#endif
	/**
	*@brief 上游追踪
	*@param uri 数据库连接地址
	*@param sn 追踪节点本点号
	*@param result 追踪结果
	*/
	bool PANDANALYSIS_API upstreamTracking(char* uri, char* sn, char* result);

	/**
	*@brief 下游追踪
	*@param uri 数据库连接地址
	*@param sn 追踪节点本点号
	*@param result 追踪结果
	*/
	bool PANDANALYSIS_API downstreamTracking(char* uri, char* sn, char* result);

	/**
	*@brief 供水范围追踪
	*@param uri 数据库连接地址
	*@param sn 追踪节点本点号
	*@param result 追踪结果
	*/
	bool PANDANALYSIS_API waterSupplyScopeAnalysis(char* uri, char* sn, char* result);

	/**
	*@brief 水力计算服务
	*@param uri：数据库连接地址
	*@return 1:成功，其他值失败
	*/
	bool PANDANALYSIS_API hdyrSimulation(char* uri);

	/**
	*@brief 水质计算
	*@param uri：数据库连接地址
	*@return 1:成功，其他值失败
	*/
	bool  PANDANALYSIS_API qualitySimulation(char* uri);

	/**
	*@brief 水质追踪分析，扩散分析
	*@param uri：数据库连接地址
	*@param sN：追踪节点
	*@param hours：追踪小时
	*@param result：输出结果：json字符串
	*@return 1:成功，其他值失败
	*/
	 bool PANDANALYSIS_API  trackingSimulation(char* uri, char* sN,  int hours,char* result);

	/**
	 *@brief 方案模拟
	 *@param uri：数据库连接地址
	 *@param sN：追踪节点
	 *@param time：追踪小时
	*/
	 bool PANDANALYSIS_API  projSimulation(char* uri, char* projCode, char* time);

	 /**
	 *@brief 优化调度模拟
	 *@param [in] uri：condition 
	 *@param [in] condition：约束条件, 格式: json字符串   {"测压点1":[32,46],"测压点2":[28,33]}
	 *@param [in] timeInterval：时段，格式：{"time":'1' }
	 *@param [out] result: 模拟的调度结果
	*/
	 bool PANDANALYSIS_API optimalSchedulingSimulation(char* uri, char* condition, int timeInterval, char* result);

	 /**
	 * @brief 余氯分析模拟
	 * @param [in] uri：condition 
	 * @param [in] startTime：startTime 
	 * @param [in] endTime：condition 
	 * @param [in] condition：约束条件, 格式: json字符串   {"startTime":'',"endTime":'',"水池":[{"code":'',"余氯量":},{"code":'',"余氯量":}]}
	 * @param [error] 输出值，错误警告
	 */
	 bool PANDANALYSIS_API residualChlorineAnalysis(char* uri,char* startTime,char* endTime, char* conditionMap,char* error);

	 /**
	* @brief 管网拓扑，二次维护
	* @param [in] uri：condition
	* @param [error] 输出值，错误警告
	*/
	 bool PANDANALYSIS_API netTopo(char* uri,  char* error);
#if defined(__cplusplus)
}
#endif

#endif // ! CIVHYDRFUNCINTER_H



