| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314 |
- /**************************************************************************************************
- 版本所有(C), 2021-12-20, 北京普达迪泰
- ***************************************************************************************************
- 文 件 名:TaskManager.h
- 版 本 号: 1.00初版
- 作 者: HYF
- 生成日期:2021-12-20
- 最近修改:
- 功能描述: 测量记录管理
- 函数列表:
- 修改历史:
- 1.日 期 : 2021-12-20
- 作 者 : HYF
- 修改内容 : 创建文件
- **************************************************************************************************/
- #include "pch.h"
- #include "TaskManager.h"
- #include "CppSQLite3.h"
- #include "DBFactory.h"
- #include "Task.h"
- // TaskManager
- // IMPLEMENT_DYNAMIC(TaskManager, CWnd)
- TaskManager::TaskManager()
- {
- }
- TaskManager::~TaskManager()
- {
- }
- /**************************************************************************************************
- 函 数 名 :Query
- 功能描述 :查询
- 输入参数 :略
- 输出参数 :无
- 返 回 值 :CppSQLite3Query
- **************************************************************************************************/
- CppSQLite3Query TaskManager::Query()
- {
- try
- {
- CppSQLite3DB* pDB = DBFactory::GetSQLite();
- return pDB->execQuery(_T("SELECT * FROM task WHERE status = 1 ORDER BY task_time DESC;"));
- }
- catch (CppSQLite3Exception& e)
- {
- LOG::E(e.errorMessage());
- }
- }
- CppSQLite3Query TaskManager::Query(DWORD iTaskId)
- {
- try
- {
- CppSQLite3DB* pDB = DBFactory::GetSQLite();
- char szCmd[256];
- sprintf_s(szCmd, "SELECT * FROM task WHERE task_id=%d;", iTaskId);
- return pDB->execQuery(szCmd);
- }
- catch (CppSQLite3Exception& e)
- {
- LOG::E(e.errorMessage());
- }
- }
- /**************************************************************************************************
- 函 数 名 :QueryByRecent
- 功能描述 :查询最近20笔
- 输入参数 :无
- 输出参数 :无
- 返 回 值 :CppSQLite3Query
- **************************************************************************************************/
- CppSQLite3Query TaskManager::QueryByRecent()
- {
- try
- {
- CppSQLite3DB* pDB = DBFactory::GetSQLite();
- return pDB->execQuery(_T("SELECT * FROM task WHERE status = 1 ORDER BY task_time DESC limit 20;"));
- }
- catch (CppSQLite3Exception& e)
- {
- LOG::E(e.errorMessage());
- }
- }
- /**************************************************************************************************
- 函 数 名 :IsExist
- 功能描述 :根据TaskId判断数据是否存在
- 输入参数 :无
- 输出参数 :无
- 返 回 值 :TRUE 成功;FALSE 失败
- **************************************************************************************************/
- BOOL TaskManager::IsExist(DWORD pkTaskId)
- {
- try
- {
- CppSQLite3DB* pDB = DBFactory::GetSQLite();
- char szCmd[256];
- sprintf_s(szCmd, "SELECT * FROM task WHERE task_id=%d;", pkTaskId);
- CppSQLite3Query q = pDB->execQuery(szCmd);
- if (!q.eof())
- {
- q.finalize();
- return TRUE;
- }
- else
- {
- q.finalize();
- return FALSE;
- }
- }
- catch (CppSQLite3Exception& e)
- {
- LOG::E(e.errorMessage());
- return FALSE;
- }
- }
- /**************************************************************************************************
- 函 数 名 :Add
- 功能描述 :增加
- 输入参数 :略
- 输出参数 :略
- 返 回 值 :TRUE 成功;FALSE 失败
- **************************************************************************************************/
- DWORD TaskManager::Add(const Task& data)
- {
- CString szTaskTime = data.GetTaskTime();
- CString szEquipTypeCode = data.GetEquipTypeCode();
- CString szEquipCode = data.GetEquipCode();
- CString szTaskTitle = data.GetTaskTitle();
- int iTaskType = data.GetTaskType();
- CString szTaskDesc = data.GetTaskDesc();
- try
- {
- CppSQLite3DB* pDB = DBFactory::GetSQLite();
- CppSQLite3Buffer bufSQL;
- bufSQL.format("INSERT INTO task (task_time, equip_type_code, equip_code, task_title, task_type, task_desc, status) VALUES (%Q, %Q, %Q, %Q, %d, %Q, 0);",
- szTaskTime, szEquipTypeCode, szEquipCode, szTaskTitle, iTaskType, szTaskDesc);
- pDB->execDML("begin transaction;");
- pDB->execDML(bufSQL);
- pDB->execDML("commit transaction;");
- DWORD taskId = (DWORD)pDB->lastRowId();
- bufSQL.clear();
- return taskId;
- }
- catch (CppSQLite3Exception& e)
- {
- LOG::E(e.errorMessage());
- return -1;
- }
- }
- /**************************************************************************************************
- 函 数 名 :Update
- 功能描述 :更新
- 输入参数 :略
- 输出参数 :略
- 返 回 值 :TRUE 成功;FALSE 失败
- **************************************************************************************************/
- BOOL TaskManager::Update(const Task& data)
- {
- DWORD iTaskId = data.GetTaskId();
- LPCTSTR szEquipTypeCode = data.GetEquipTypeCode();
- LPCTSTR szEquipCode = data.GetEquipCode();
- LPCTSTR szTaskTitle = data.GetTaskTitle();
- LPCTSTR szTaskDesc = data.GetTaskDesc();
- try
- {
- CppSQLite3DB* pDB = DBFactory::GetSQLite();
- CppSQLite3Buffer bufSQL;
- bufSQL.format("UPDATE task SET equip_type_code = %Q, equip_code=%Q, task_title=%Q, task_desc=%Q WHERE task_id = %d;",
- szEquipTypeCode, szEquipCode, szTaskTitle, szTaskDesc, iTaskId);
- pDB->execDML("begin transaction;");
- int affected = pDB->execDML(bufSQL);
- pDB->execDML("commit transaction;");
- bufSQL.clear();
- }
- catch (CppSQLite3Exception& e)
- {
- LOG::E(e.errorMessage());
- return FALSE;
- }
- return TRUE;
- }
- /**************************************************************************************************
- 函 数 名 :Update
- 功能描述 :更新
- 输入参数 :略
- 输出参数 :略
- 返 回 值 :TRUE 成功;FALSE 失败
- **************************************************************************************************/
- BOOL TaskManager::UpdateStatus(DWORD iTaskId, int iStatus)
- {
- try
- {
- CppSQLite3DB* pDB = DBFactory::GetSQLite();
- CppSQLite3Buffer bufSQL;
- bufSQL.format("UPDATE task SET status = %d WHERE task_id = %d;",
- iStatus, iTaskId);
- pDB->execDML("begin transaction;");
- int affected = pDB->execDML(bufSQL);
- pDB->execDML("commit transaction;");
- bufSQL.clear();
- }
- catch (CppSQLite3Exception& e)
- {
- LOG::E(e.errorMessage());
- return FALSE;
- }
- return TRUE;
- }
- /**************************************************************************************************
- 函 数 名 :Delete
- 功能描述 :删除
- 输入参数 :略
- 输出参数 :略
- 返 回 值 :TRUE 成功;FALSE 失败
- **************************************************************************************************/
- BOOL TaskManager::Delete(DWORD pkTaskId)
- {
- try
- {
- CppSQLite3DB* pDB = DBFactory::GetSQLite();
- CppSQLite3Buffer bufSQL;
- bufSQL.format("DELETE FROM task WHERE task_id = %d;", pkTaskId);
- pDB->execDML("begin transaction;");
- pDB->execDML(bufSQL);
- pDB->execDML("commit transaction;");
- bufSQL.clear();
- }
- catch (CppSQLite3Exception& e)
- {
- LOG::E(e.errorMessage());
- return FALSE;
- }
- return TRUE;
- }
- /**************************************************************************************************
- 函 数 名 :ClearAll
- 功能描述 :清除所有设备
- 输入参数 :略
- 输出参数 :略
- 返 回 值 :TRUE 成功;FALSE 失败
- **************************************************************************************************/
- BOOL TaskManager::ClearAll()
- {
- try
- {
- CppSQLite3DB* pDB = DBFactory::GetSQLite();
- CppSQLite3Buffer bufSQL;
- pDB->execDML("begin transaction;");
- bufSQL.format("DELETE FROM task;");//删除语句
- pDB->execDML("commit transaction;");
- pDB->execDML(bufSQL);
- }
- catch (CppSQLite3Exception& e)
- {
- LOG::E(e.errorMessage());
- return FALSE;
- }
- return TRUE;
- }
- /**************************************************************************************************
- 函 数 名 :Count
- 功能描述 :根据条件查询记录数目
- 输入参数 :略
- 输出参数 :略
- 返 回 值 :TRUE 成功;FALSE 失败
- **************************************************************************************************/
- int TaskManager::Count()
- {
- int iCount = 0;
- try
- {
- CppSQLite3DB* pDB = DBFactory::GetSQLite();
- char szCmd[256];
- sprintf_s(szCmd, "SELECT COUNT(*) AS NUM FROM task WHERE status = 1;");
- CppSQLite3Query q = pDB->execQuery(szCmd);
- iCount = q.getIntField("NUM");
- q.finalize();
- }
- catch (CppSQLite3Exception& e)
- {
- LOG::E(e.errorMessage());
- iCount = 0;
- }
- return iCount;
- }
|