DataCollectionWidget.cpp 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #include "DataCollectionWidget.h"
  2. #include "DataTableWidget.h"
  3. #include "ConfigExpertWidget.h"
  4. #include "dbService/SchemeProcessService.h"
  5. #include "dbService/ClassSet.h"
  6. #include "dbService/CNodeDataService.h"
  7. #include <CNode.h>
  8. #include <QTabWidget>
  9. #include <QBoxLayout>
  10. #include <QMap>
  11. #include <QDebug>
  12. DataCollectionWidget::DataCollectionWidget(ProjectInfo *proj, QWidget *parent) : EvalWidget(proj, parent)
  13. {
  14. setTitle("评估数据采集");
  15. m_configExpert = new ConfigExpertWidget(this);
  16. m_contentLayout->addWidget(m_configExpert);
  17. }
  18. void DataCollectionWidget::setType(int type)
  19. {
  20. EvalWidget::setType(type);
  21. setupTabWidget();
  22. }
  23. void DataCollectionWidget::setupTabWidget()
  24. {
  25. m_tab->clear();
  26. QMap<int, QList<CNodeData>> nodeListMap;
  27. for (int i : indexList()) {
  28. // 获取指标体系数据
  29. QList<CNodeData> nodeList;
  30. bool ret = CNodeDataService().QueryAll(nodeList, m_proj->id, i);
  31. if (ret) {
  32. nodeListMap[i] = nodeList;
  33. } else {
  34. return;
  35. }
  36. // 获取方案规划数据
  37. QList<SchemePlanManager::SchemeProcessInfo> processList;
  38. ret = SchemeProcessService().QueryAllByProjectIdAndIndexType(processList, m_proj->id, i);
  39. if (ret == false) {
  40. return;
  41. }
  42. for (SchemePlanManager::SchemeProcessInfo process : processList) {
  43. if (process.dSource >= 0) {
  44. DataTableWidget *m = new DataTableWidget(process, this);
  45. m->mind1()->setNodeList(nodeListMap[i]);
  46. if (i == ProjectManager::TechIndex) {
  47. m->mind2()->setNodeList(nodeListMap[ProjectManager::AbilityIndex]);
  48. }
  49. m->setCurrentPage(1);
  50. ProjectManager::IndexType t = (ProjectManager::IndexType)i;
  51. QString indexName = ProjectManager::nameOfIndexType(t);
  52. QString processName = SchemePlanManager::processName(process);
  53. m_tab->addTab(m, indexName + " - " + processName);
  54. }
  55. }
  56. }
  57. }