ClassSet.h 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  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 EvalType
  62. {
  63. UnknownEval = 0,
  64. Importance = 0x001 | 0x010, // 能力与技术重要度评估
  65. TechSchema = 0x100, // 技术方案评估
  66. };
  67. Q_DECLARE_FLAGS(EvalFlags, EvalType)
  68. static QString nameOFEvalType(EvalType t);
  69. /// 指标体系类型
  70. enum IndexType
  71. {
  72. UnknownIndex = 0,
  73. Capability = 0x001, // 能力重要度评估指标体系
  74. TechMessaures = 0x010, // 技术措施重要度评估对象
  75. SchemaEval = 0x100, // 方案评估指标体系
  76. };
  77. static QString nameOFIndexType(IndexType t);
  78. static QList<IndexType> indexListOfEvalFlags(EvalFlags flags);
  79. int engineerId = -1; //工程id
  80. QString engineerName; //工程名称
  81. int indexSetId = -1; //指标体系id
  82. int measureFunctionId = -1; //测量方法id
  83. int schemaEvalId = -1; //方案评估id
  84. QString remark; //备注
  85. QString effectNameStr; //生效列(逗号分割)
  86. EvalFlags evalFlags() const;
  87. QList<IndexType> indexList() const;
  88. QList<UserConfig *> configs;
  89. };
  90. /**
  91. * @projectName QFD
  92. * @author cyh
  93. * @date 2021-05-12
  94. * @desc 用户信息
  95. */
  96. class QFUser
  97. {
  98. public:
  99. enum Role
  100. {
  101. SuperAdmin,
  102. GerneralAdmin,
  103. Expert
  104. };
  105. static QString nameOfRole(Role role);
  106. int id = -1; // id
  107. QString userName; //用户名称
  108. QString userNo; //用户账号
  109. QString password; //用户密码
  110. Role role; //角色 0-超级管理员,1-普通管理员,2-专家
  111. QString post; //职务
  112. QString major; //专业
  113. QString workPosition; //工作单位
  114. QString educationDegree; //文化程度
  115. QString phone; //联系方式
  116. QString remark; //注释信息
  117. QString projectId; //工程编号
  118. QString writeTime; //填写时间
  119. QFUser();
  120. QFUser(const QString userId, const QString password);
  121. const QString rawPassword() const;
  122. static QFUser *currentUser();
  123. QString roleName() const;
  124. int login(); // 登录
  125. static int logout(); // 退出
  126. int resetAdmin(QString account, QString password, QString repeatPassword); // 修改管理员账号
  127. private:
  128. QString m_rawPassword;
  129. };
  130. /**
  131. * @projectName QFD
  132. * @author cyh
  133. * @date 2021-05-12
  134. * @desc 评估方案信息类
  135. */
  136. class PlanInfo
  137. {
  138. public:
  139. int id = -1; // id
  140. QString planName; //方案名称
  141. int engineerId; //关联工程id
  142. QString desc; //方案描述
  143. };
  144. /**
  145. * @projectName QFD
  146. * @author cyh
  147. * @date 2021-05-12
  148. * @desc 评估方案信息与指标体系关系表
  149. */
  150. class IndexSetPlanInfo
  151. {
  152. public:
  153. int id = -1; // id
  154. int indexSetId; //指标体系id
  155. int planId; //方案id
  156. double weight; //权重值
  157. };
  158. /**
  159. * @projectName QFD
  160. * @author mimang
  161. * @date 2022-01-10
  162. * @desc 能力重要度评估指标体系 需求权重重要度
  163. */
  164. class DemandWeight
  165. {
  166. public:
  167. int id = -1; // id
  168. int engineerId; // 工程id
  169. QString expertId; // 专家id
  170. QString nodeName; //节点名称
  171. double nodeValue; //需求重要度
  172. double nodeWeight; //权重值
  173. int tableIndex; //表格索引
  174. int isValid; //是否有效
  175. int pageIndex; //页码
  176. QString tableMsg;
  177. };
  178. /**
  179. * @projectName QFD
  180. * @author mimang
  181. * @date 2022-01-10
  182. * @desc 能力重要度评估指标体系 需求权重重要度
  183. */
  184. class SchemaEval
  185. {
  186. public:
  187. int id = -1; // id
  188. int engineerId; // 工程id
  189. QString name; // 专家id
  190. QString remark; //节点名称
  191. QString valueStr; //指标得分
  192. double score; //得分
  193. };
  194. /**
  195. * @projectName QFD
  196. * @author mimang
  197. * @date 2022-01-11
  198. * @desc 技术措施重要度评估对象 技术重要度
  199. */
  200. class TechnicalImport
  201. {
  202. public:
  203. int id = -1; // id
  204. int engineerId; // 工程id
  205. int expertId; // 专家id
  206. QString nodeName; //节点名称
  207. double nodeValue; //技术重要度
  208. };
  209. /**
  210. * @brief 用户配置信息
  211. */
  212. class UserConfig
  213. {
  214. public:
  215. int id = -1;
  216. int userId; //用户id
  217. QString userName; //用户名称
  218. int engineerId; //工程id
  219. double weight; //工程权重
  220. QString createTime; //创建时间
  221. QString updateTime; //更新时间
  222. };
  223. #endif // CLASSSET_H