157 lines
5.6 KiB
C++
157 lines
5.6 KiB
C++
#pragma once
|
||
#include "DAO.h"
|
||
|
||
namespace DBPlatformSpace
|
||
{
|
||
class TaskDAO;
|
||
|
||
///项目(文件名暂定为.ccsp)
|
||
class ProjectDAO : public subDBDAO// totalDAO
|
||
{
|
||
public:
|
||
string _folderPath; ///<工程文件夹路径
|
||
|
||
string _projectFileName; ///<项目文件名
|
||
string _openTime; ///<最后打开时间
|
||
|
||
// [3/29/2021 wwu] // 弃用 [3/31/2021 wwu]
|
||
string _createTime; ///<建立时间(数据平台保存)
|
||
string _updateTime; ///<更新时间(上应用保存)
|
||
|
||
// [3/31/2021 wwu]
|
||
int _createYear; ///<建立年
|
||
int _createMonth; ///<建立月
|
||
int _createDay; ///<建立日
|
||
int _createHour; ///<建立时
|
||
int _createMin; ///<建立分
|
||
int _createSec; ///<建立秒
|
||
int _editYear; ///<编辑年
|
||
int _editMonth; ///<编辑月
|
||
int _editDay; ///<编辑日
|
||
int _editHour; ///<编辑时
|
||
int _editMin; ///<编辑分
|
||
int _editSec; ///<编辑秒
|
||
int _openYear; ///<打开年
|
||
int _openMonth; ///<打开月
|
||
int _openDay; ///<打开日
|
||
int _openHour; ///<打开时
|
||
int _openMin; ///<打开分
|
||
int _openSec; ///<打开秒
|
||
|
||
int _validity; ///<1 -- 正常 0 --项目数据不可用 -1 --项目所属文件夹不存在
|
||
|
||
int _shipType_T; ///<船型_T
|
||
string _applicableRules_T; ///<适用规范_T
|
||
|
||
// [6/22/2021 wwu]
|
||
//int _ruleVersion; ///<规范版本
|
||
string _ruleVersion; ///<规范版本 // [5/28/2022 wwu]
|
||
int _sectionTipical; ///<典型横剖面类型
|
||
|
||
// [4/26/2021 wwu]
|
||
int _fixed; ///<固定非固定
|
||
|
||
/*string _fileName;*/
|
||
|
||
// [1/6/2022 wwu]
|
||
string _calculationCompany; ///<计算单位
|
||
string _calculator; ///<计算者
|
||
string _modeler; ///<建模者
|
||
string _planApprovalNo; ///<审图控制号
|
||
|
||
// [5/9/2022 wwu]
|
||
string _dB_MVersion; ///<新建时元模型版本
|
||
string _dP_RVersion; ///<建立时的数据平台发布版本
|
||
|
||
// [5/10/2022 wwu]
|
||
int _upgrade; ///<数据升级情况 (0 未升级 =1 已升级)
|
||
|
||
ODI ProjectDAO();
|
||
virtual ODI ~ProjectDAO();
|
||
|
||
virtual ODI Mapper* createMapper();
|
||
|
||
virtual ODI ResultMsg save(int commitType = COMMIT_T_IMMEDIATELY);
|
||
|
||
ODI static DAO* createObject();
|
||
|
||
ODI string projectFolderPath();
|
||
ODI string projectFilePath();
|
||
|
||
///建立项目
|
||
///@note 执行之前,需要把属性设置完整
|
||
/// 执行成功会自动记录至 曾打开项目列表
|
||
/// 默认建立Model_2D和SDP_HCSR两个子文件夹
|
||
ODI ResultMsg create();
|
||
|
||
///删除项目[暂时不可用]
|
||
///@note 执行之前,需要把属性设置完整。
|
||
///@note 为防止.ccsp使用中无法删除,设置了延迟删除。
|
||
ODI ResultMsg delself();
|
||
|
||
|
||
///删除项目的打开记录 // [5/11/2021 wwu]
|
||
///@note 只删除打开记录,不删除具体文件和文件夹。
|
||
ODI ResultMsg eraseOpenedRecord();
|
||
|
||
|
||
///打开项目
|
||
///@note 执行之前,需要把属性设置完整
|
||
/// 执行成功会自动记录至 曾打开项目列表。
|
||
/// 当找不到对应项目文件时,会自动在 曾打开项目列表 中删除记录
|
||
ODI ResultMsg open();
|
||
|
||
|
||
///备份项目文件 // [9/7/2021 wwu]
|
||
///@note 以当前项目文件名+时间戳的方式增加备份文件
|
||
/// 保持最新的5次备份文件
|
||
ODI ResultMsg backupProjectFile();
|
||
|
||
///复制项目文件夹 [10/28/2021 wwu]
|
||
///@note 将当前项目文件夹复制为新路径,并可修改项目文件名称
|
||
/**
|
||
* @param[in] newFolderPath 复制后的文件夹路径
|
||
* @param[in] newFileName 复制后的项目文件名称
|
||
* @return 执行状态,状态码 + 返回信息字符串
|
||
*/
|
||
ODI ResultMsg copyProjectFolder(string newFolderPath, string newFileName);
|
||
|
||
|
||
/// 更新用于打开列表的_fixed属性值设置 // [11/17/2021 wwu]
|
||
/**
|
||
* @param[in] newFixedValue _fixed新的属性值
|
||
* @return 执行状态,状态码 + 返回信息字符串
|
||
*/
|
||
ODI ResultMsg updateFixedFlag(int newFixedValue);
|
||
|
||
|
||
/// 获取工程新建时的版本信息 [5/9/2022 wwu]
|
||
/**
|
||
* @param[out] modelVersionCreated 项目建立时,数据模型的版本 (添加此接口前建立的项目,改信息为"--")
|
||
* @param[out] releaseVsersionCreated 项目建立时,数据平台发布的版本 (添加此接口前建立的项目,改信息为"--")
|
||
*/
|
||
ODI ResultMsg getVersionInfo(string &modelVersionCreated, string &releaseVsersionCreated);
|
||
|
||
|
||
// 按照2021.03.16需求讨论结论,不再记录project和task的强关联信息 ,改为利用文件夹的从属关系确认关联 // 按照2021.03.16需求讨论结论,不再记录project和task的 [3/17/2021 wwu]
|
||
// ODI ResultMsg addRootTask(TaskDAO* ptaskdao);
|
||
|
||
//按照文件夹从属关系处理 project 和task的关系
|
||
// ODI ResultMsg addTask(TaskDAO* ptask);
|
||
|
||
|
||
///获取项目目录下所有子目录下的.ccst文件对应的TaskDAO信息
|
||
/**
|
||
* @param [out] tlist TaskDAO列表
|
||
* @return 执行状态,状态码+返回信息字符串
|
||
*/
|
||
ODI ResultMsg getTaskList(list<TaskDAO*> &tlist);
|
||
|
||
ODI static ResultMsg FindAllProjectOpened(list<ProjectDAO*> &plist);/**/
|
||
|
||
ODI static ResultMsg FindAll(ProjectDAO*& pnewdao);
|
||
|
||
|
||
};
|
||
|
||
} |