dataviews.php 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  1. <?php
  2. $config->bi->builtin->dataviews = array();
  3. $config->bi->builtin->modules->dataviews = array(array('id' => 101, 'root' => 0, 'branch' => 0, 'name' => '内置数据分组', 'parent' => 0, 'path' => ',101,', 'grade' => 1, 'order' => 10, 'type' => 'dataview', 'from' => 0));
  4. $build = array('name' => '版本数据', 'code' => 'build', 'view' => 'ztv_build', 'group' => '101', 'mode' => 'text');
  5. $build['sql'] = <<<EOT
  6. SELECT product.name AS `product_name`,product.id AS `product_id`,project.name AS `project_name`,project.id AS `project_id`,execution.name AS `execution_name`,execution.id AS `execution_id`,build.name AS `name`,build.builder AS `builder`,build.stories AS `stories`,build.bugs AS `bugs`,build.date AS `date`,build.desc AS `desc` FROM zt_build AS `build` LEFT JOIN zt_product AS `product` ON product.id = build.product LEFT JOIN zt_project AS `project` ON project.id = build.project LEFT JOIN zt_project AS `execution` ON execution.id = build.execution where `build`.deleted = '0' LIMIT 100
  7. EOT;
  8. $buildfields = array();
  9. $buildfields['product_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'product', 'type' => 'object');
  10. $buildfields['product_name'] = array('name' => '所属产品', 'field' => 'name', 'object' => 'product', 'type' => 'object');
  11. $buildfields['project_id'] = array('name' => '项目ID', 'field' => 'id', 'object' => 'project', 'type' => 'object');
  12. $buildfields['project_name'] = array('name' => '所属项目', 'field' => 'name', 'object' => 'project', 'type' => 'object');
  13. $buildfields['execution_id'] = array('name' => '迭代编号', 'field' => 'id', 'object' => 'execution', 'type' => 'object');
  14. $buildfields['execution_name'] = array('name' => '所属迭代', 'field' => 'name', 'object' => 'execution', 'type' => 'object');
  15. $buildfields['name'] = array('name' => '名称编号', 'field' => 'name', 'object' => 'build', 'type' => 'string');
  16. $buildfields['builder'] = array('name' => '构建者', 'field' => 'builder', 'object' => 'build', 'type' => 'user');
  17. $buildfields['stories'] = array('name' => '完成的研发需求', 'field' => 'stories', 'object' => 'build', 'type' => 'string');
  18. $buildfields['bugs'] = array('name' => '解决的Bug', 'field' => 'bugs', 'object' => 'build', 'type' => 'string');
  19. $buildfields['date'] = array('name' => '打包日期', 'field' => 'date', 'object' => 'build', 'type' => 'date');
  20. $buildfields['desc'] = array('name' => '描述', 'field' => 'desc', 'object' => 'build', 'type' => 'string');
  21. $build['fields'] = $buildfields;
  22. $config->bi->builtin->dataviews[] = $build;
  23. $product = array('name' => '产品数据', 'code' => 'product', 'view' => 'ztv_product', 'group' => '101', 'mode' => 'text');
  24. $product['sql'] = <<<EOT
  25. SELECT product.id AS `id`,program.name AS `program_name`,program.id AS `program_id`,line.name AS `line_name`,product.name AS `name`,product.code AS `code`,product.type AS `type`,product.status AS `status`,product.desc AS `desc`,product.PO AS `PO`,product.QD AS `QD`,product.RD AS `RD`,product.createdBy AS `createdBy`,product.createdDate AS `createdDate` FROM zt_product AS `product` LEFT JOIN zt_project AS `program` ON product.program = program.id LEFT JOIN zt_module AS `line` ON product.line = line.id where `product`.deleted = '0' LIMIT 100
  26. EOT;
  27. $productfields = array();
  28. $productfields['id'] = array('name' => '编号', 'field' => 'id', 'object' => 'product', 'type' => 'number');
  29. $productfields['program_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'program', 'type' => 'object');
  30. $productfields['program_name'] = array('name' => '所属项目集', 'field' => 'name', 'object' => 'program', 'type' => 'object');
  31. $productfields['line_name'] = array('name' => '产品线', 'field' => 'name', 'object' => 'line', 'type' => 'object');
  32. $productfields['name'] = array('name' => '产品名称', 'field' => 'name', 'object' => 'product', 'type' => 'string');
  33. $productfields['code'] = array('name' => '产品代号', 'field' => 'code', 'object' => 'product', 'type' => 'string');
  34. $productfields['type'] = array('name' => '产品类型', 'field' => 'type', 'object' => 'product', 'type' => 'option');
  35. $productfields['status'] = array('name' => '状态', 'field' => 'status', 'object' => 'product', 'type' => 'option');
  36. $productfields['desc'] = array('name' => '产品描述', 'field' => 'desc', 'object' => 'product', 'type' => 'string');
  37. $productfields['PO'] = array('name' => '产品负责人', 'field' => 'PO', 'object' => 'product', 'type' => 'user');
  38. $productfields['QD'] = array('name' => '测试负责人', 'field' => 'QD', 'object' => 'product', 'type' => 'user');
  39. $productfields['RD'] = array('name' => '发布负责人', 'field' => 'RD', 'object' => 'product', 'type' => 'user');
  40. $productfields['createdBy'] = array('name' => '由谁创建', 'field' => 'createdBy', 'object' => 'product', 'type' => 'user');
  41. $productfields['createdDate'] = array('name' => '创建日期', 'field' => 'createdDate', 'object' => 'product', 'type' => 'date');
  42. $product['fields'] = $productfields;
  43. $config->bi->builtin->dataviews[] = $product;
  44. $productplan = array('name' => '产品计划数据', 'code' => 'productplan', 'view' => 'ztv_productplan', 'group' => '101', 'mode' => 'text');
  45. $productplan['sql'] = <<<EOT
  46. SELECT product.name AS `product_name`,product.id AS `product_id`,productplan.title AS `title`,productplan.status AS `status`,productplan.desc AS `desc`,productplan.begin AS `begin`,productplan.end AS `end` FROM zt_productplan AS `productplan` LEFT JOIN zt_product AS `product` ON productplan.product = product.id where `productplan`.deleted = '0' LIMIT 100
  47. EOT;
  48. $productplanfields = array();
  49. $productplanfields['product_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'product', 'type' => 'object');
  50. $productplanfields['product_name'] = array('name' => '产品', 'field' => 'name', 'object' => 'product', 'type' => 'object');
  51. $productplanfields['title'] = array('name' => '名称', 'field' => 'title', 'object' => 'productplan', 'type' => 'string');
  52. $productplanfields['status'] = array('name' => '状态', 'field' => 'status', 'object' => 'productplan', 'type' => 'option');
  53. $productplanfields['desc'] = array('name' => '描述', 'field' => 'desc', 'object' => 'productplan', 'type' => 'string');
  54. $productplanfields['begin'] = array('name' => '开始日期', 'field' => 'begin', 'object' => 'productplan', 'type' => 'date');
  55. $productplanfields['end'] = array('name' => '结束日期', 'field' => 'end', 'object' => 'productplan', 'type' => 'date');
  56. $productplan['fields'] = $productplanfields;
  57. $config->bi->builtin->dataviews[] = $productplan;
  58. $release = array('name' => '产品发布数据', 'code' => 'release', 'view' => 'ztv_release', 'group' => '101', 'mode' => 'text');
  59. $release['sql'] = <<<EOT
  60. SELECT product.name AS `product_name`,product.id AS `product_id`,project.name AS `project_name`,project.id AS `project_id`,build.name AS `build_name`,build.id AS `build_id`,release.name AS `name`,release.status AS `status`,release.desc AS `desc`,release.date AS `date`,release.stories AS `stories`,release.bugs AS `bugs`,release.leftBugs AS `leftBugs` FROM zt_release AS `release` LEFT JOIN zt_product AS `product` ON release.product = product.id LEFT JOIN zt_project AS `project` ON release.project = project.id LEFT JOIN zt_build AS `build` ON release.build = build.id where `release`.deleted = '0' LIMIT 100
  61. EOT;
  62. $releasefields = array();
  63. $releasefields['product_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'product', 'type' => 'object');
  64. $releasefields['product_name'] = array('name' => '所属产品', 'field' => 'name', 'object' => 'product', 'type' => 'object');
  65. $releasefields['project_id'] = array('name' => '项目ID', 'field' => 'id', 'object' => 'project', 'type' => 'object');
  66. $releasefields['project_name'] = array('name' => '所属项目', 'field' => 'name', 'object' => 'project', 'type' => 'object');
  67. $releasefields['build_id'] = array('name' => 'ID', 'field' => 'id', 'object' => 'build', 'type' => 'object');
  68. $releasefields['build_name'] = array('name' => '版本', 'field' => 'name', 'object' => 'build', 'type' => 'object');
  69. $releasefields['name'] = array('name' => '发布名称', 'field' => 'name', 'object' => 'release', 'type' => 'string');
  70. $releasefields['status'] = array('name' => '状态', 'field' => 'status', 'object' => 'release', 'type' => 'option');
  71. $releasefields['desc'] = array('name' => '描述', 'field' => 'desc', 'object' => 'release', 'type' => 'string');
  72. $releasefields['date'] = array('name' => '发布日期', 'field' => 'date', 'object' => 'release', 'type' => 'date');
  73. $releasefields['stories'] = array('name' => '完成的研发需求', 'field' => 'stories', 'object' => 'release', 'type' => 'string');
  74. $releasefields['bugs'] = array('name' => '解决的Bug', 'field' => 'bugs', 'object' => 'release', 'type' => 'string');
  75. $releasefields['leftBugs'] = array('name' => '遗留的Bug', 'field' => 'leftBugs', 'object' => 'release', 'type' => 'string');
  76. $release['fields'] = $releasefields;
  77. $config->bi->builtin->dataviews[] = $release;
  78. $project = array('name' => '项目数据', 'code' => 'project', 'view' => 'ztv_project', 'group' => '101', 'mode' => 'text');
  79. $project['sql'] = <<<EOT
  80. SELECT project.name AS `name`,project.code AS `code`,project.model AS `model`,project.type AS `type`,project.status AS `status`,project.desc AS `desc`,project.begin AS `begin`,project.end AS `end`,project.PO AS `PO`,project.PM AS `PM`,project.QD AS `QD`,project.RD AS `RD`,project.openedBy AS `openedBy`,project.openedDate AS `openedDate` FROM zt_project AS `project` where `project`.deleted = '0' LIMIT 100
  81. EOT;
  82. $projectfields = array();
  83. $projectfields['name'] = array('name' => '项目名称', 'field' => 'name', 'object' => 'project', 'type' => 'string');
  84. $projectfields['code'] = array('name' => '项目代号', 'field' => 'code', 'object' => 'project', 'type' => 'string');
  85. $projectfields['model'] = array('name' => '项目管理方式', 'field' => 'model', 'object' => 'project', 'type' => 'option');
  86. $projectfields['type'] = array('name' => '项目类型', 'field' => 'type', 'object' => 'project', 'type' => 'option');
  87. $projectfields['status'] = array('name' => '状态', 'field' => 'status', 'object' => 'project', 'type' => 'option');
  88. $projectfields['desc'] = array('name' => '项目描述', 'field' => 'desc', 'object' => 'project', 'type' => 'string');
  89. $projectfields['begin'] = array('name' => '计划开始', 'field' => 'begin', 'object' => 'project', 'type' => 'date');
  90. $projectfields['end'] = array('name' => '计划完成', 'field' => 'end', 'object' => 'project', 'type' => 'date');
  91. $projectfields['PO'] = array('name' => '产品负责人', 'field' => 'PO', 'object' => 'project', 'type' => 'user');
  92. $projectfields['PM'] = array('name' => '项目负责人', 'field' => 'PM', 'object' => 'project', 'type' => 'user');
  93. $projectfields['QD'] = array('name' => '测试负责人', 'field' => 'QD', 'object' => 'project', 'type' => 'user');
  94. $projectfields['RD'] = array('name' => '发布负责人', 'field' => 'RD', 'object' => 'project', 'type' => 'user');
  95. $projectfields['openedBy'] = array('name' => '由谁创建', 'field' => 'openedBy', 'object' => 'project', 'type' => 'user');
  96. $projectfields['openedDate'] = array('name' => '创建日期', 'field' => 'openedDate', 'object' => 'project', 'type' => 'date');
  97. $project['fields'] = $projectfields;
  98. $config->bi->builtin->dataviews[] = $project;
  99. $execution = array('name' => '执行数据', 'code' => 'execution', 'view' => 'ztv_execution', 'group' => '101', 'mode' => 'text');
  100. $execution['sql'] = <<<EOT
  101. SELECT project.name AS `project_name`,project.id AS `project_id`,execution.name AS `name`,execution.code AS `code`,execution.type AS `type`,execution.status AS `status`,execution.desc AS `desc`,execution.begin AS `begin`,execution.end AS `end`,execution.PO AS `PO`,execution.PM AS `PM`,execution.QD AS `QD`,execution.RD AS `RD`,execution.openedBy AS `openedBy`,execution.openedDate AS `openedDate` FROM zt_project AS `execution` LEFT JOIN zt_project AS `project` ON execution.project = project.id LIMIT 100
  102. EOT;
  103. $executionfields = array();
  104. $executionfields['project_id'] = array('name' => '项目ID', 'field' => 'id', 'object' => 'project', 'type' => 'object');
  105. $executionfields['project_name'] = array('name' => '项目名称', 'field' => 'name', 'object' => 'project', 'type' => 'object');
  106. $executionfields['name'] = array('name' => '迭代名称', 'field' => 'name', 'object' => 'execution', 'type' => 'string');
  107. $executionfields['code'] = array('name' => '迭代代号', 'field' => 'code', 'object' => 'execution', 'type' => 'string');
  108. $executionfields['type'] = array('name' => '迭代类型', 'field' => 'type', 'object' => 'execution', 'type' => 'option');
  109. $executionfields['status'] = array('name' => '迭代状态', 'field' => 'status', 'object' => 'execution', 'type' => 'option');
  110. $executionfields['desc'] = array('name' => '迭代描述', 'field' => 'desc', 'object' => 'execution', 'type' => 'string');
  111. $executionfields['begin'] = array('name' => '计划开始', 'field' => 'begin', 'object' => 'execution', 'type' => 'date');
  112. $executionfields['end'] = array('name' => '计划完成', 'field' => 'end', 'object' => 'execution', 'type' => 'date');
  113. $executionfields['PO'] = array('name' => '产品负责人', 'field' => 'PO', 'object' => 'execution', 'type' => 'user');
  114. $executionfields['PM'] = array('name' => '迭代负责人', 'field' => 'PM', 'object' => 'execution', 'type' => 'user');
  115. $executionfields['QD'] = array('name' => '测试负责人', 'field' => 'QD', 'object' => 'execution', 'type' => 'user');
  116. $executionfields['RD'] = array('name' => '发布负责人', 'field' => 'RD', 'object' => 'execution', 'type' => 'user');
  117. $executionfields['openedBy'] = array('name' => '由谁创建', 'field' => 'openedBy', 'object' => 'execution', 'type' => 'user');
  118. $executionfields['openedDate'] = array('name' => '创建日期', 'field' => 'openedDate', 'object' => 'execution', 'type' => 'date');
  119. $execution['fields'] = $executionfields;
  120. $config->bi->builtin->dataviews[] = $execution;
  121. $task = array('name' => '任务数据', 'code' => 'task', 'view' => 'ztv_task', 'group' => '101', 'mode' => 'text');
  122. $task['sql'] = <<<EOT
  123. SELECT project.name AS `project_name`,project.id AS `project_id`,execution.name AS `execution_name`,execution.id AS `execution_id`,story.title AS `story_title`,story.id AS `story_id`,taskmodule.name AS `taskmodule_name`,taskmodule.id AS `taskmodule_id`,task.name AS `name`,task.pri AS `pri`,task.type AS `type`,task.status AS `status`,task.desc AS `desc`,task.estimate AS `estimate`,task.consumed AS `consumed`,task.left AS `left`,task.estStarted AS `estStarted`,task.deadline AS `deadline`,task.assignedTo AS `assignedTo`,task.finishedBy AS `finishedBy`,task.closedBy AS `closedBy`,task.openedBy AS `openedBy`,task.openedDate AS `openedDate` FROM zt_task AS `task` LEFT JOIN zt_project AS `execution` ON task.execution = execution.id LEFT JOIN zt_project AS `project` ON task.project = project.id LEFT JOIN zt_story AS `story` ON task.story = story.id LEFT JOIN zt_module AS `taskmodule` ON task.module = taskmodule.id where `task`.deleted = '0' LIMIT 100
  124. EOT;
  125. $taskfields = array();
  126. $taskfields['project_id'] = array('name' => '项目ID', 'field' => 'id', 'object' => 'project', 'type' => 'object');
  127. $taskfields['project_name'] = array('name' => '所属项目', 'field' => 'name', 'object' => 'project', 'type' => 'object');
  128. $taskfields['execution_id'] = array('name' => '迭代编号', 'field' => 'id', 'object' => 'execution', 'type' => 'object');
  129. $taskfields['execution_name'] = array('name' => '所属执行', 'field' => 'name', 'object' => 'execution', 'type' => 'object');
  130. $taskfields['story_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'story', 'type' => 'object');
  131. $taskfields['story_title'] = array('name' => '相关研发需求', 'field' => 'title', 'object' => 'story', 'type' => 'object');
  132. $taskfields['taskmodule_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'taskmodule', 'type' => 'object');
  133. $taskfields['taskmodule_name'] = array('name' => '所属模块', 'field' => 'name', 'object' => 'taskmodule', 'type' => 'object');
  134. $taskfields['name'] = array('name' => '任务名称', 'field' => 'name', 'object' => 'task', 'type' => 'string');
  135. $taskfields['pri'] = array('name' => '优先级', 'field' => 'pri', 'object' => 'task', 'type' => 'option');
  136. $taskfields['type'] = array('name' => '任务类型', 'field' => 'type', 'object' => 'task', 'type' => 'option');
  137. $taskfields['status'] = array('name' => '任务状态', 'field' => 'status', 'object' => 'task', 'type' => 'option');
  138. $taskfields['desc'] = array('name' => '任务描述', 'field' => 'desc', 'object' => 'task', 'type' => 'string');
  139. $taskfields['estimate'] = array('name' => '最初预计', 'field' => 'estimate', 'object' => 'task', 'type' => 'string');
  140. $taskfields['consumed'] = array('name' => '总计消耗', 'field' => 'consumed', 'object' => 'task', 'type' => 'string');
  141. $taskfields['left'] = array('name' => '预计剩余', 'field' => 'left', 'object' => 'task', 'type' => 'string');
  142. $taskfields['estStarted'] = array('name' => '预计开始', 'field' => 'estStarted', 'object' => 'task', 'type' => 'date');
  143. $taskfields['deadline'] = array('name' => '截止日期', 'field' => 'deadline', 'object' => 'task', 'type' => 'date');
  144. $taskfields['assignedTo'] = array('name' => '指派给', 'field' => 'assignedTo', 'object' => 'task', 'type' => 'user');
  145. $taskfields['finishedBy'] = array('name' => '由谁完成', 'field' => 'finishedBy', 'object' => 'task', 'type' => 'user');
  146. $taskfields['closedBy'] = array('name' => '由谁关闭', 'field' => 'closedBy', 'object' => 'task', 'type' => 'user');
  147. $taskfields['openedBy'] = array('name' => '由谁创建', 'field' => 'openedBy', 'object' => 'task', 'type' => 'user');
  148. $taskfields['openedDate'] = array('name' => '创建日期', 'field' => 'openedDate', 'object' => 'task', 'type' => 'date');
  149. $task['fields'] = $taskfields;
  150. $config->bi->builtin->dataviews[] = $task;
  151. $bug = array('name' => 'Bug数据', 'code' => 'bug', 'view' => 'ztv_bug', 'group' => '101', 'mode' => 'text');
  152. $bug['sql'] = <<<EOT
  153. SELECT bug.id AS `id`,bug.title AS `title`,bug.steps AS `steps`,bug.status AS `status`,bug.confirmed AS `confirmed`,bug.severity AS `severity`,product.name AS `product_name`,product.id AS `product_id`,project.name AS `project_name`,project.id AS `project_id`,bugmodule.name AS `bugmodule_name`,bugmodule.id AS `bugmodule_id`,story.title AS `story_title`,story.id AS `story_id`,bug.pri AS `pri`,bug.openedBy AS `openedBy`,bug.openedDate AS `openedDate`,bug.resolvedBy AS `resolvedBy`,bug.resolution AS `resolution`,bug.resolvedDate AS `resolvedDate` FROM zt_bug AS `bug` LEFT JOIN zt_product AS `product` ON product.id = bug.product LEFT JOIN zt_story AS `story` ON story.id = bug.story LEFT JOIN zt_module AS `productline` ON productline.id = product.line LEFT JOIN zt_project AS `program` ON program.id = product.program LEFT JOIN zt_project AS `project` ON project.id = bug.project LEFT JOIN zt_module AS `bugmodule` ON bugmodule.id = bug.module where `bug`.deleted = '0' LIMIT 100
  154. EOT;
  155. $bugfields = array();
  156. $bugfields['id'] = array('name' => 'Bug编号', 'field' => 'id', 'object' => 'bug', 'type' => 'number');
  157. $bugfields['title'] = array('name' => 'Bug标题', 'field' => 'title', 'object' => 'bug', 'type' => 'string');
  158. $bugfields['steps'] = array('name' => '重现步骤', 'field' => 'steps', 'object' => 'bug', 'type' => 'text');
  159. $bugfields['status'] = array('name' => 'Bug状态', 'field' => 'status', 'object' => 'bug', 'type' => 'option');
  160. $bugfields['confirmed'] = array('name' => '是否确认', 'field' => 'confirmed', 'object' => 'bug', 'type' => 'option');
  161. $bugfields['severity'] = array('name' => '严重程度', 'field' => 'severity', 'object' => 'bug', 'type' => 'option');
  162. $bugfields['product_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'product', 'type' => 'object');
  163. $bugfields['product_name'] = array('name' => '所属产品', 'field' => 'name', 'object' => 'product', 'type' => 'object');
  164. $bugfields['project_id'] = array('name' => '项目ID', 'field' => 'id', 'object' => 'project', 'type' => 'object');
  165. $bugfields['project_name'] = array('name' => '所属项目', 'field' => 'name', 'object' => 'project', 'type' => 'object');
  166. $bugfields['bugmodule_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'bugmodule', 'type' => 'object');
  167. $bugfields['bugmodule_name'] = array('name' => '所属模块', 'field' => 'name', 'object' => 'bugmodule', 'type' => 'object');
  168. $bugfields['story_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'story', 'type' => 'object');
  169. $bugfields['story_title'] = array('name' => '研发需求', 'field' => 'title', 'object' => 'story', 'type' => 'object');
  170. $bugfields['pri'] = array('name' => '优先级', 'field' => 'pri', 'object' => 'bug', 'type' => 'option');
  171. $bugfields['openedBy'] = array('name' => '由谁创建', 'field' => 'openedBy', 'object' => 'bug', 'type' => 'user');
  172. $bugfields['openedDate'] = array('name' => '创建日期', 'field' => 'openedDate', 'object' => 'bug', 'type' => 'date');
  173. $bugfields['resolvedBy'] = array('name' => '解决者', 'field' => 'resolvedBy', 'object' => 'bug', 'type' => 'user');
  174. $bugfields['resolution'] = array('name' => '解决方案', 'field' => 'resolution', 'object' => 'bug', 'type' => 'option');
  175. $bugfields['resolvedDate'] = array('name' => '解决日期', 'field' => 'resolvedDate', 'object' => 'bug', 'type' => 'date');
  176. $bug['fields'] = $bugfields;
  177. $config->bi->builtin->dataviews[] = $bug;
  178. $bugbuild = array('name' => '版本Bug数据', 'code' => 'bugbuild', 'view' => 'ztv_bugbuild', 'group' => '101', 'mode' => 'text');
  179. $bugbuild['sql'] = <<<EOT
  180. SELECT bug.id AS `id`,bug.title AS `title`,bug.steps AS `steps`,bug.status AS `status`,bug.confirmed AS `confirmed`,bug.severity AS `severity`,product.name AS `product_name`,product.id AS `product_id`,project.name AS `project_name`,project.id AS `project_id`,build.name AS `build_name`,build.id AS `build_id`,module.name AS `module_name`,module.id AS `module_id`,testtask.name AS `testtask_name`,testtask.id AS `testtask_id`,bug.pri AS `pri`,bug.openedBy AS `openedBy`,bug.openedDate AS `openedDate`,bug.resolvedBy AS `resolvedBy`,bug.resolution AS `resolution`,bug.resolvedDate AS `resolvedDate`,casemodule.name AS `casemodule_name`,casemodule.id AS `casemodule_id` FROM zt_bug AS `bug` LEFT JOIN zt_product AS `product` ON product.id = bug.product LEFT JOIN zt_testtask AS `testtask` ON testtask.id = bug.testtask LEFT JOIN zt_build AS `build` ON build.id = testtask.build LEFT JOIN zt_project AS `execution` ON execution.id = build.execution LEFT JOIN zt_project AS `project` ON project.id = build.project LEFT JOIN zt_module AS `module` ON module.id = bug.module LEFT JOIN zt_case AS `testcase` ON testcase.id = bug.case LEFT JOIN zt_module AS `casemodule` ON casemodule.id = testcase.module LIMIT 100
  181. EOT;
  182. $bugbuildfields = array();
  183. $bugbuildfields['id'] = array('name' => 'Bug编号', 'field' => 'id', 'object' => 'bugbuild', 'type' => 'number');
  184. $bugbuildfields['title'] = array('name' => 'Bug标题', 'field' => 'title', 'object' => 'bugbuild', 'type' => 'string');
  185. $bugbuildfields['steps'] = array('name' => '重现步骤', 'field' => 'steps', 'object' => 'bugbuild', 'type' => 'text');
  186. $bugbuildfields['status'] = array('name' => 'Bug状态', 'field' => 'status', 'object' => 'bugbuild', 'type' => 'option');
  187. $bugbuildfields['confirmed'] = array('name' => '是否确认', 'field' => 'confirmed', 'object' => 'bugbuild', 'type' => 'option');
  188. $bugbuildfields['severity'] = array('name' => '严重程度', 'field' => 'severity', 'object' => 'bugbuild', 'type' => 'option');
  189. $bugbuildfields['product_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'product', 'type' => 'object');
  190. $bugbuildfields['product_name'] = array('name' => '所属产品', 'field' => 'name', 'object' => 'product', 'type' => 'object');
  191. $bugbuildfields['project_id'] = array('name' => '项目ID', 'field' => 'id', 'object' => 'project', 'type' => 'object');
  192. $bugbuildfields['project_name'] = array('name' => '所属项目', 'field' => 'name', 'object' => 'project', 'type' => 'object');
  193. $bugbuildfields['build_id'] = array('name' => 'ID', 'field' => 'id', 'object' => 'build', 'type' => 'object');
  194. $bugbuildfields['build_name'] = array('name' => '版本', 'field' => 'name', 'object' => 'build', 'type' => 'object');
  195. $bugbuildfields['module_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'module', 'type' => 'object');
  196. $bugbuildfields['module_name'] = array('name' => '所属模块', 'field' => 'name', 'object' => 'module', 'type' => 'object');
  197. $bugbuildfields['testtask_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'testtask', 'type' => 'object');
  198. $bugbuildfields['testtask_name'] = array('name' => '测试单', 'field' => 'name', 'object' => 'testtask', 'type' => 'object');
  199. $bugbuildfields['pri'] = array('name' => '优先级', 'field' => 'pri', 'object' => 'bugbuild', 'type' => 'option');
  200. $bugbuildfields['openedBy'] = array('name' => '由谁创建', 'field' => 'openedBy', 'object' => 'bugbuild', 'type' => 'user');
  201. $bugbuildfields['openedDate'] = array('name' => '创建日期', 'field' => 'openedDate', 'object' => 'bugbuild', 'type' => 'datetime');
  202. $bugbuildfields['resolvedBy'] = array('name' => '解决者', 'field' => 'resolvedBy', 'object' => 'bugbuild', 'type' => 'user');
  203. $bugbuildfields['resolution'] = array('name' => '解决方案', 'field' => 'resolution', 'object' => 'bugbuild', 'type' => 'option');
  204. $bugbuildfields['resolvedDate'] = array('name' => '解决日期', 'field' => 'resolvedDate', 'object' => 'bugbuild', 'type' => 'datetime');
  205. $bugbuildfields['casemodule_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'casemodule', 'type' => 'object');
  206. $bugbuildfields['casemodule_name'] = array('name' => '模块', 'field' => 'name', 'object' => 'casemodule', 'type' => 'object');
  207. $bugbuild['fields'] = $bugbuildfields;
  208. $config->bi->builtin->dataviews[] = $bugbuild;
  209. $story = array('name' => '需求数据', 'code' => 'story', 'view' => 'ztv_story', 'group' => '101', 'mode' => 'text');
  210. $story['sql'] = <<<EOT
  211. SELECT story.id AS `id`,story.title AS `title`,story.status AS `status`,story.stage AS `stage`,story.pri AS `pri`,product.name AS `product_name`,product.id AS `product_id`,storymodule.name AS `storymodule_name`,storymodule.id AS `storymodule_id`,story.closedDate AS `closedDate`,story.closedReason AS `closedReason`,story.openedBy AS `openedBy`,story.openedDate AS `openedDate` FROM zt_story AS `story` LEFT JOIN zt_product AS `product` ON product.id = story.product LEFT JOIN zt_module AS `storymodule` ON storymodule.id = story.module where `story`.deleted = '0' LIMIT 100
  212. EOT;
  213. $storyfields = array();
  214. $storyfields['id'] = array('name' => '编号', 'field' => 'id', 'object' => 'story', 'type' => 'number');
  215. $storyfields['title'] = array('name' => '研发需求名称', 'field' => 'title', 'object' => 'story', 'type' => 'string');
  216. $storyfields['status'] = array('name' => '当前状态', 'field' => 'status', 'object' => 'story', 'type' => 'option');
  217. $storyfields['stage'] = array('name' => '所处阶段', 'field' => 'stage', 'object' => 'story', 'type' => 'option');
  218. $storyfields['pri'] = array('name' => '优先级', 'field' => 'pri', 'object' => 'story', 'type' => 'option');
  219. $storyfields['product_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'product', 'type' => 'object');
  220. $storyfields['product_name'] = array('name' => '所属产品', 'field' => 'name', 'object' => 'product', 'type' => 'object');
  221. $storyfields['storymodule_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'storymodule', 'type' => 'object');
  222. $storyfields['storymodule_name'] = array('name' => '所属模块', 'field' => 'name', 'object' => 'storymodule', 'type' => 'object');
  223. $storyfields['closedDate'] = array('name' => '关闭日期', 'field' => 'closedDate', 'object' => 'story', 'type' => 'date');
  224. $storyfields['closedReason'] = array('name' => '关闭原因', 'field' => 'closedReason', 'object' => 'story', 'type' => 'option');
  225. $storyfields['openedBy'] = array('name' => '由谁创建', 'field' => 'openedBy', 'object' => 'story', 'type' => 'user');
  226. $storyfields['openedDate'] = array('name' => '创建日期', 'field' => 'openedDate', 'object' => 'story', 'type' => 'date');
  227. $story['fields'] = $storyfields;
  228. $config->bi->builtin->dataviews[] = $story;
  229. $testcase = array('name' => '用例数据', 'code' => 'testcase', 'view' => 'ztv_testcase', 'group' => '101', 'mode' => 'text');
  230. $testcase['sql'] = <<<EOT
  231. SELECT testcase.id AS `id`,testcase.title AS `title`,testcase.pri AS `pri`,testcase.type AS `type`,testcase.stage AS `stage`,testcase.status AS `status`,testcase.version AS `version`,product.name AS `product_name`,product.id AS `product_id`,story.title AS `story_title`,story.id AS `story_id`,casemodule.name AS `casemodule_name`,casemodule.id AS `casemodule_id`,testcase.openedBy AS `openedBy`,testcase.openedDate AS `openedDate` FROM zt_case AS `testcase` LEFT JOIN zt_product AS `product` ON product.id = testcase.product LEFT JOIN zt_module AS `casemodule` ON casemodule.id = testcase.module LEFT JOIN zt_story AS `story` ON story.id = testcase.story LEFT JOIN zt_casestep AS `casestep` ON casestep.case = testcase.id where `testcase`.deleted = '0' LIMIT 100
  232. EOT;
  233. $testcasefields = array();
  234. $testcasefields['id'] = array('name' => '用例编号', 'field' => 'id', 'object' => 'testcase', 'type' => 'number');
  235. $testcasefields['title'] = array('name' => '用例标题', 'field' => 'title', 'object' => 'testcase', 'type' => 'string');
  236. $testcasefields['pri'] = array('name' => '优先级', 'field' => 'pri', 'object' => 'testcase', 'type' => 'option');
  237. $testcasefields['type'] = array('name' => '用例类型', 'field' => 'type', 'object' => 'testcase', 'type' => 'option');
  238. $testcasefields['stage'] = array('name' => '适用环节', 'field' => 'stage', 'object' => 'testcase', 'type' => 'option');
  239. $testcasefields['status'] = array('name' => '用例状态', 'field' => 'status', 'object' => 'testcase', 'type' => 'option');
  240. $testcasefields['version'] = array('name' => '用例版本', 'field' => 'version', 'object' => 'testcase', 'type' => 'number');
  241. $testcasefields['product_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'product', 'type' => 'object');
  242. $testcasefields['product_name'] = array('name' => '所属产品', 'field' => 'name', 'object' => 'product', 'type' => 'object');
  243. $testcasefields['story_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'story', 'type' => 'object');
  244. $testcasefields['story_title'] = array('name' => '相关研发需求', 'field' => 'title', 'object' => 'story', 'type' => 'object');
  245. $testcasefields['casemodule_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'casemodule', 'type' => 'object');
  246. $testcasefields['casemodule_name'] = array('name' => '所属模块', 'field' => 'name', 'object' => 'casemodule', 'type' => 'object');
  247. $testcasefields['openedBy'] = array('name' => '由谁创建', 'field' => 'openedBy', 'object' => 'testcase', 'type' => 'user');
  248. $testcasefields['openedDate'] = array('name' => '创建日期', 'field' => 'openedDate', 'object' => 'testcase', 'type' => 'date');
  249. $testcase['fields'] = $testcasefields;
  250. $config->bi->builtin->dataviews[] = $testcase;
  251. $casestep = array('name' => '用例步骤数据', 'code' => 'casestep', 'view' => 'ztv_casestep', 'group' => '101', 'mode' => 'text');
  252. $casestep['sql'] = <<<EOT
  253. SELECT testcase.title AS `testcase_title`,testcase.id AS `testcase_id`,casestep.type AS `type`,casestep.desc AS `desc`,casestep.expect AS `expect`,casestep.version AS `version` FROM zt_casestep AS `casestep` LEFT JOIN zt_case AS `testcase` ON testcase.id = casestep.`case` LIMIT 100
  254. EOT;
  255. $casestepfields = array();
  256. $casestepfields['testcase_id'] = array('name' => '用例编号', 'field' => 'id', 'object' => 'testcase', 'type' => 'object');
  257. $casestepfields['testcase_title'] = array('name' => '用例', 'field' => 'title', 'object' => 'testcase', 'type' => 'object');
  258. $casestepfields['type'] = array('name' => '步骤类型', 'field' => 'type', 'object' => 'casestep', 'type' => 'option');
  259. $casestepfields['desc'] = array('name' => '步骤', 'field' => 'desc', 'object' => 'casestep', 'type' => 'string');
  260. $casestepfields['expect'] = array('name' => '预期', 'field' => 'expect', 'object' => 'casestep', 'type' => 'string');
  261. $casestepfields['version'] = array('name' => '用例版本', 'field' => 'version', 'object' => 'casestep', 'type' => 'number');
  262. $casestep['fields'] = $casestepfields;
  263. $config->bi->builtin->dataviews[] = $casestep;
  264. $testtask = array('name' => '测试单列表', 'code' => 'testtask', 'view' => 'ztv_testtask', 'group' => '101', 'mode' => 'text');
  265. $testtask['sql'] = <<<EOT
  266. SELECT product.name AS `product_name`,product.id AS `product_id`,project.name AS `project_name`,project.id AS `project_id`,execution.name AS `execution_name`,execution.id AS `execution_id`,build.name AS `build_name`,build.id AS `build_id`,testtask.id AS `id`,testtask.name AS `name`,testtask.type AS `type`,testtask.owner AS `owner`,testtask.pri AS `pri`,testtask.begin AS `begin`,testtask.end AS `end`,testtask.status AS `status` FROM zt_testtask AS `testtask` LEFT JOIN zt_product AS `product` ON product.id = testtask.product LEFT JOIN zt_project AS `project` ON project.id = testtask.project LEFT JOIN zt_project AS `execution` ON execution.id = testtask.execution LEFT JOIN zt_build AS `build` ON build.id = testtask.build LIMIT 100
  267. EOT;
  268. $testtaskfields = array();
  269. $testtaskfields['product_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'product', 'type' => 'object');
  270. $testtaskfields['product_name'] = array('name' => '所属产品', 'field' => 'name', 'object' => 'product', 'type' => 'object');
  271. $testtaskfields['project_id'] = array('name' => '项目ID', 'field' => 'id', 'object' => 'project', 'type' => 'object');
  272. $testtaskfields['project_name'] = array('name' => '所属项目', 'field' => 'name', 'object' => 'project', 'type' => 'object');
  273. $testtaskfields['execution_id'] = array('name' => '迭代编号', 'field' => 'id', 'object' => 'execution', 'type' => 'object');
  274. $testtaskfields['execution_name'] = array('name' => '所属执行', 'field' => 'name', 'object' => 'execution', 'type' => 'object');
  275. $testtaskfields['build_id'] = array('name' => 'ID', 'field' => 'id', 'object' => 'build', 'type' => 'object');
  276. $testtaskfields['build_name'] = array('name' => '版本', 'field' => 'name', 'object' => 'build', 'type' => 'object');
  277. $testtaskfields['id'] = array('name' => '编号', 'field' => 'id', 'object' => 'testtask', 'type' => 'number');
  278. $testtaskfields['name'] = array('name' => '名称', 'field' => 'name', 'object' => 'testtask', 'type' => 'string');
  279. $testtaskfields['type'] = array('name' => '测试类型', 'field' => 'type', 'object' => 'testtask', 'type' => 'option');
  280. $testtaskfields['owner'] = array('name' => '负责人', 'field' => 'owner', 'object' => 'testtask', 'type' => 'user');
  281. $testtaskfields['pri'] = array('name' => '优先级', 'field' => 'pri', 'object' => 'testtask', 'type' => 'option');
  282. $testtaskfields['begin'] = array('name' => '开始日期', 'field' => 'begin', 'object' => 'testtask', 'type' => 'date');
  283. $testtaskfields['end'] = array('name' => '结束日期', 'field' => 'end', 'object' => 'testtask', 'type' => 'date');
  284. $testtaskfields['status'] = array('name' => '当前状态', 'field' => 'status', 'object' => 'testtask', 'type' => 'option');
  285. $testtask['fields'] = $testtaskfields;
  286. $config->bi->builtin->dataviews[] = $testtask;
  287. $testrun = array('name' => '测试单用例执行情况', 'code' => 'testrun', 'view' => 'ztv_testrun', 'group' => '101', 'mode' => 'text');
  288. $testrun['sql'] = <<<EOT
  289. SELECT testtask.name AS `testtask_name`,testtask.id AS `testtask_id`,testcase.title AS `testcase_title`,testcase.id AS `testcase_id`,testrun.assignedTo AS `assignedTo`,project.name AS `project_name`,project.id AS `project_id`,build.name AS `build_name`,build.id AS `build_id`,execution.name AS `execution_name`,execution.id AS `execution_id`,casemodule.name AS `casemodule_name`,casemodule.id AS `casemodule_id`,testrun.lastRunner AS `lastRunner`,testrun.lastRunDate AS `lastRunDate`,testrun.lastRunResult AS `lastRunResult` FROM zt_testrun AS `testrun` LEFT JOIN zt_case AS `testcase` ON testcase.id = testrun.case LEFT JOIN zt_product AS `product` ON product.id = testcase.product LEFT JOIN zt_testtask AS `testtask` ON testtask.id = testrun.task LEFT JOIN zt_module AS `casemodule` ON casemodule.id = testcase.module LEFT JOIN zt_project AS `project` ON project.id = testtask.project LEFT JOIN zt_project AS `execution` ON execution.id = testtask.execution LEFT JOIN zt_build AS `build` ON build.id = testtask.build LIMIT 100
  290. EOT;
  291. $testrunfields = array();
  292. $testrunfields['testtask_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'testtask', 'type' => 'object');
  293. $testrunfields['testtask_name'] = array('name' => '测试单', 'field' => 'name', 'object' => 'testtask', 'type' => 'object');
  294. $testrunfields['testcase_id'] = array('name' => '用例编号', 'field' => 'id', 'object' => 'testcase', 'type' => 'object');
  295. $testrunfields['testcase_title'] = array('name' => '用例', 'field' => 'title', 'object' => 'testcase', 'type' => 'object');
  296. $testrunfields['assignedTo'] = array('name' => '指派给', 'field' => 'assignedTo', 'object' => 'testrun', 'type' => 'user');
  297. $testrunfields['project_id'] = array('name' => '项目ID', 'field' => 'id', 'object' => 'project', 'type' => 'object');
  298. $testrunfields['project_name'] = array('name' => '项目', 'field' => 'name', 'object' => 'project', 'type' => 'object');
  299. $testrunfields['build_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'build', 'type' => 'object');
  300. $testrunfields['build_name'] = array('name' => '版本', 'field' => 'name', 'object' => 'build', 'type' => 'object');
  301. $testrunfields['execution_id'] = array('name' => '迭代编号', 'field' => 'id', 'object' => 'execution', 'type' => 'object');
  302. $testrunfields['execution_name'] = array('name' => '执行', 'field' => 'name', 'object' => 'execution', 'type' => 'object');
  303. $testrunfields['casemodule_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'casemodule', 'type' => 'object');
  304. $testrunfields['casemodule_name'] = array('name' => '模块维护', 'field' => 'name', 'object' => 'casemodule', 'type' => 'object');
  305. $testrunfields['lastRunner'] = array('name' => '最后执行人', 'field' => 'lastRunner', 'object' => 'testrun', 'type' => 'user');
  306. $testrunfields['lastRunDate'] = array('name' => '最后执行时间', 'field' => 'lastRunDate', 'object' => 'testrun', 'type' => 'user');
  307. $testrunfields['lastRunResult'] = array('name' => '结果', 'field' => 'lastRunResult', 'object' => 'testrun', 'type' => 'option');
  308. $testrun['fields'] = $testrunfields;
  309. $config->bi->builtin->dataviews[] = $testrun;
  310. $testresult = array('name' => '测试单用例每次执行结果', 'code' => 'testresult', 'view' => 'ztv_testresult', 'group' => '101', 'mode' => 'text');
  311. $testresult['sql'] = <<<EOT
  312. SELECT testresult.caseResult AS `caseResult`,testresult.stepResults AS `stepResults`,testresult.lastRunner AS `lastRunner`,testresult.date AS `date`,testcase.title AS `testcase_title`,testcase.id AS `testcase_id`,testtask.name AS `testtask_name`,testtask.id AS `testtask_id`,execution.name AS `execution_name`,execution.id AS `execution_id`,project.name AS `project_name`,project.id AS `project_id`,casemodule.name AS `casemodule_name`,casemodule.id AS `casemodule_id`,build.name AS `build_name`,build.id AS `build_id`,caselib.name AS `caselib_name`,caselib.id AS `caselib_id` FROM zt_testresult AS `testresult` LEFT JOIN zt_case AS `testcase` ON testcase.id = testresult.case LEFT JOIN zt_testrun AS `testrun` ON testrun.id = testresult.run LEFT JOIN zt_testtask AS `testtask` ON testrun.task = testtask.id LEFT JOIN zt_project AS `project` ON project.id = testtask.project LEFT JOIN zt_project AS `execution` ON execution.id = testtask.execution LEFT JOIN zt_module AS `casemodule` ON casemodule.id = testcase.module LEFT JOIN zt_build AS `build` ON build.id = testtask.build LEFT JOIN zt_testsuite AS `caselib` ON caselib.id = testcase.lib LEFT JOIN zt_product AS `product` ON product.id = testcase.product LIMIT 100
  313. EOT;
  314. $testresultfields = array();
  315. $testresultfields['caseResult'] = array('name' => '测试结果', 'field' => 'caseResult', 'object' => 'testresult', 'type' => 'option');
  316. $testresultfields['stepResults'] = array('name' => '步骤结果', 'field' => 'stepResults', 'object' => 'testresult', 'type' => 'json');
  317. $testresultfields['lastRunner'] = array('name' => '最后执行人', 'field' => 'lastRunner', 'object' => 'testresult', 'type' => 'user');
  318. $testresultfields['date'] = array('name' => '测试时间', 'field' => 'date', 'object' => 'testresult', 'type' => 'date');
  319. $testresultfields['testcase_id'] = array('name' => '用例编号', 'field' => 'id', 'object' => 'testcase', 'type' => 'object');
  320. $testresultfields['testcase_title'] = array('name' => '用例', 'field' => 'title', 'object' => 'testcase', 'type' => 'object');
  321. $testresultfields['testtask_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'testtask', 'type' => 'object');
  322. $testresultfields['testtask_name'] = array('name' => '测试单', 'field' => 'name', 'object' => 'testtask', 'type' => 'object');
  323. $testresultfields['execution_id'] = array('name' => '迭代编号', 'field' => 'id', 'object' => 'execution', 'type' => 'object');
  324. $testresultfields['execution_name'] = array('name' => '执行', 'field' => 'name', 'object' => 'execution', 'type' => 'object');
  325. $testresultfields['project_id'] = array('name' => '项目ID', 'field' => 'id', 'object' => 'project', 'type' => 'object');
  326. $testresultfields['project_name'] = array('name' => '项目', 'field' => 'name', 'object' => 'project', 'type' => 'object');
  327. $testresultfields['casemodule_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'casemodule', 'type' => 'object');
  328. $testresultfields['casemodule_name'] = array('name' => '模块维护', 'field' => 'name', 'object' => 'casemodule', 'type' => 'object');
  329. $testresultfields['build_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'build', 'type' => 'object');
  330. $testresultfields['build_name'] = array('name' => '版本', 'field' => 'name', 'object' => 'build', 'type' => 'object');
  331. $testresultfields['caselib_id'] = array('name' => '编号', 'field' => 'id', 'object' => 'caselib', 'type' => 'object');
  332. $testresultfields['caselib_name'] = array('name' => '用例库', 'field' => 'name', 'object' => 'caselib', 'type' => 'object');
  333. $testresult['fields'] = $testresultfields;
  334. $config->bi->builtin->dataviews[] = $testresult;