ClassSet.h 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. #ifndef CLASSSET_H
  2. #define CLASSSET_H
  3. #include <QObject>
  4. #include <QDate>
  5. const int QF_CODE_SUCCEEDED = 1000;
  6. const int QF_CODE_ALREADY_LOGIN = 1001;
  7. const int QF_CODE_ADD_USER_SUCCEEDED = 1002;
  8. const int QF_CODE_DELETE_USER_SUCCEEDED = 1003;
  9. const int QF_CODE_FAILED = 2000;
  10. const int QF_CODE_EMPTY_ACCOUNT = 2001;
  11. const int QF_CODE_EMPTY_PASSWORD = 2002;
  12. const int QF_CODE_USER_NOT_EXISTS = 2003;
  13. const int QF_CODE_WRONG_PASSWORD = 2004;
  14. const int QF_CODE_NOT_LOGIN = 2005;
  15. const int QF_CODE_PASSWORD_NOT_SAME = 2006;
  16. const int QF_CODE_PASSWORD_UNCHANGED = 2007;
  17. const int QF_CODE_DATA_ERROR = 2008;
  18. const int QF_CODE_EMPTY_USERNAME = 2009;
  19. const int QF_CODE_ACCOUNT_OCCUPIED = 2010;
  20. const int QF_CODE_DELETE_USER_FAILED = 2011;
  21. /**
  22. * @projectName QFD
  23. * @author cyh
  24. * @date 2021-05-12
  25. * @desc 节点矩阵信息
  26. */
  27. class NodeMatrixInfo
  28. {
  29. public:
  30. int id = -1;
  31. QString expertName; //专家名称
  32. QString expertId; //专家id
  33. int engineerId; //工程id
  34. int mindId; //脑图名称
  35. QString node; //节点
  36. QString abscissa; //横坐标
  37. QString ordinate; //纵坐标
  38. QString nodeValue; //节点值
  39. QDateTime writeDate; //填写时间
  40. QString mark; //页码
  41. QString tableMsg;
  42. int tabIndex; // tab索引
  43. };
  44. class ClassSet
  45. {
  46. public:
  47. explicit ClassSet();
  48. static QList<NodeMatrixInfo *> datas;
  49. };
  50. class UserConfig;
  51. /**
  52. * @projectName QFD
  53. * @author cyh
  54. * @date 2021-05-12
  55. * @desc 工程信息
  56. */
  57. class EngineerInfo
  58. {
  59. public:
  60. /// 指标体系类型
  61. enum IndexType
  62. {
  63. Capability = 0b1, // 能力重要度评估指标体系
  64. TechMessaures = 0b1 << 1, // 技术措施重要度评估对象
  65. SchemaEval = 0b1 << 2, // 方案评估指标体系
  66. };
  67. static QString nameOFIndexType(IndexType t);
  68. /// 评估方案类型
  69. enum EvalType
  70. {
  71. Importance = Capability | TechMessaures, // 能力与技术重要度评估
  72. TechSchema = SchemaEval, // 技术方案评估
  73. // QFD2 新增
  74. Requirements = 0b1 << 5, // 需求分析评估
  75. SchemeOptimization = 0b1 << 6, // 方案优选评估
  76. OverallEfficiency = 0b1 << 7, // 综合效能评估
  77. };
  78. Q_DECLARE_FLAGS(EvalTypes, EvalType)
  79. static QString nameOfEvalType(EvalType t);
  80. static QList<IndexType> indexListOfEvalFlags(EvalTypes flags);
  81. int engineerId = -1; //工程id
  82. QString engineerName; //工程名称
  83. int indexSetId = -1; //指标体系id
  84. int measureFunctionId = -1; //测量方法id
  85. int schemaEvalId = -1; //方案评估id
  86. QString remark; //备注
  87. QString effectNameStr; //生效列(逗号分割)
  88. EvalTypes evalFlags() const;
  89. QList<IndexType> indexList() const;
  90. QList<UserConfig *> configs;
  91. };
  92. /**
  93. * @projectName QFD
  94. * @author cyh
  95. * @date 2021-05-12
  96. * @desc 用户信息
  97. */
  98. class QFUser
  99. {
  100. public:
  101. enum Role
  102. {
  103. SuperAdmin,
  104. GerneralAdmin,
  105. Expert
  106. };
  107. static QString nameOfRole(Role role);
  108. int id = -1; // id
  109. QString userName; //用户名称
  110. QString userNo; //用户账号
  111. QString password; //用户密码
  112. Role role; //角色 0-超级管理员,1-普通管理员,2-专家
  113. QString post; //职务
  114. QString major; //专业
  115. QString workPosition; //工作单位
  116. QString educationDegree; //文化程度
  117. QString phone; //联系方式
  118. QString remark; //注释信息
  119. QString projectId; //工程编号
  120. QString writeTime; //填写时间
  121. QFUser();
  122. QFUser(const QString userId, const QString password);
  123. const QString rawPassword() const;
  124. static QFUser *currentUser();
  125. QString roleName() const;
  126. int login(); // 登录
  127. static int logout(); // 退出
  128. int resetAdmin(QString account, QString password, QString repeatPassword); // 修改管理员账号
  129. private:
  130. QString m_rawPassword;
  131. };
  132. /**
  133. * @projectName QFD
  134. * @author cyh
  135. * @date 2021-05-12
  136. * @desc 评估方案信息类
  137. */
  138. class PlanInfo
  139. {
  140. public:
  141. int id = -1; // id
  142. QString planName; //方案名称
  143. int engineerId; //关联工程id
  144. QString desc; //方案描述
  145. };
  146. /**
  147. * @projectName QFD
  148. * @author cyh
  149. * @date 2021-05-12
  150. * @desc 评估方案信息与指标体系关系表
  151. */
  152. class IndexSetPlanInfo
  153. {
  154. public:
  155. int id = -1; // id
  156. int indexSetId; //指标体系id
  157. int planId; //方案id
  158. double weight; //权重值
  159. };
  160. /**
  161. * @projectName QFD
  162. * @author mimang
  163. * @date 2022-01-10
  164. * @desc 能力重要度评估指标体系 需求权重重要度
  165. */
  166. class DemandWeight
  167. {
  168. public:
  169. int id = -1; // id
  170. int engineerId; // 工程id
  171. QString expertId; // 专家id
  172. QString nodeName; //节点名称
  173. double nodeValue; //需求重要度
  174. double nodeWeight; //权重值
  175. int tableIndex; //表格索引
  176. int isValid; //是否有效
  177. int pageIndex; //页码
  178. QString tableMsg;
  179. };
  180. /**
  181. * @projectName QFD
  182. * @author mimang
  183. * @date 2022-01-10
  184. * @desc 能力重要度评估指标体系 需求权重重要度
  185. */
  186. class SchemaEval
  187. {
  188. public:
  189. int id = -1; // id
  190. int engineerId; // 工程id
  191. QString name; // 专家id
  192. QString remark; //节点名称
  193. QString valueStr; //指标得分
  194. double score; //得分
  195. };
  196. /**
  197. * @projectName QFD
  198. * @author mimang
  199. * @date 2022-01-11
  200. * @desc 技术措施重要度评估对象 技术重要度
  201. */
  202. class TechnicalImport
  203. {
  204. public:
  205. int id = -1; // id
  206. int engineerId; // 工程id
  207. int expertId; // 专家id
  208. QString nodeName; //节点名称
  209. double nodeValue; //技术重要度
  210. };
  211. /**
  212. * @brief 用户配置信息
  213. */
  214. class UserConfig
  215. {
  216. public:
  217. int id = -1;
  218. int userId; //用户id
  219. QString userName; //用户名称
  220. int engineerId; //工程id
  221. double weight; //工程权重
  222. QString createTime; //创建时间
  223. QString updateTime; //更新时间
  224. };
  225. /**
  226. * @projectName QFD2
  227. * @author mimang
  228. * @date 2023-09-12
  229. * @desc 项目信息
  230. */
  231. class ProjectInfo
  232. {
  233. public:
  234. int id = -1; //项目id
  235. QString projectName; //项目名称
  236. int demandMindId = -1; //需求分享评估脑图ID
  237. int programmeMindId = -1; //方案优选评估脑图ID
  238. int generalMindId = -1; //综合效能评估脑图ID
  239. QString remark; //备注
  240. QString taskName; //任务名称
  241. QString estimateTime; //评估时间
  242. QString estimateObjective; //评估目的
  243. QString estimateDept; //评估单位
  244. QString estimatePerson; //评估人员
  245. QString estimateType; //评估类型
  246. QString positionalTitles; //职务
  247. QString createTime; //创建时间
  248. QString updateTime; //更新时间
  249. };
  250. #endif // CLASSSET_H