DPS/include/ProjectDAO.h

157 lines
4.9 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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);
};
}