ClassSet.h 8.8 KB

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