+ Add getProductByProgram method and case.
This commit is contained in:
@@ -30,6 +30,25 @@ class programTao extends programModel
|
||||
->fetchAll('id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取项目集下的产品列表信息。
|
||||
* Get product list information under the program.
|
||||
*
|
||||
* @param array $programIdList
|
||||
* @access protected
|
||||
* @return array
|
||||
*/
|
||||
protected function getProductByProgram(array $programIdList = array()): array
|
||||
{
|
||||
return $this->dao->select('*')->from(TABLE_PRODUCT)
|
||||
->where('deleted')->eq(0)
|
||||
->andWhere('status')->ne('closed')
|
||||
->beginIF(!empty($programIdList))->andWhere('program')->in($programIdList)->fi()
|
||||
->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->products)->fi()
|
||||
->orderBy('order_asc')
|
||||
->fetchGroup('program');
|
||||
}
|
||||
|
||||
/**
|
||||
*获取所有根项目集基本数据。
|
||||
* Get base data of all root programs.
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
zdTable('user')->gen(5);
|
||||
su('admin');
|
||||
|
||||
zdTable('product')->config('product')->gen(30);
|
||||
|
||||
/**
|
||||
|
||||
title=测试 programModel::getProductByProgram();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
*/
|
||||
|
||||
$programIdList = array(array(), array(1, 2, 3));
|
||||
|
||||
global $tester;
|
||||
$tester->loadModel('program');
|
||||
r(current($tester->program->getProductByProgram($programIdList[0]))) && p('0:program,name') && e('1,产品1'); // 获取系统内所有项目集下的产品信息
|
||||
r(current($tester->program->getProductByProgram($programIdList[1]))) && p('0:program,name') && e('1,产品1'); // 获取系统内所有项目集1、项目集2、项目集3下的产品信息
|
||||
r(count($tester->program->getProductByProgram($programIdList[0]))) && p() && e('10'); // 获取系统内所有项目集下的产品数量
|
||||
r(count($tester->program->getProductByProgram($programIdList[1]))) && p() && e('3'); // 获取系统内所有项目集1、项目集2、项目集3下的产品数量
|
||||
@@ -0,0 +1,18 @@
|
||||
title: product data
|
||||
author: zhouxin
|
||||
version: 1.0.0
|
||||
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-30
|
||||
- field: name
|
||||
range: 1-30
|
||||
prefix: '产品'
|
||||
- field: program
|
||||
range: 1-10
|
||||
- field: line
|
||||
range: 1{10},2{10},3{10}
|
||||
- field: status
|
||||
range: 'normal{20},closed{10}'
|
||||
- field: PO
|
||||
range: 'admin{10},user1{10},user2{10}'
|
||||
@@ -0,0 +1,69 @@
|
||||
title: program.
|
||||
desc: program data.
|
||||
author: Shujie Tian
|
||||
version: "1.0"
|
||||
fields:
|
||||
- field: id
|
||||
range: 1-10,11,60,61,100,101-700
|
||||
- field: name
|
||||
note: "名称"
|
||||
fields:
|
||||
- field: name1
|
||||
range: 项目集{10},敏捷项目,瀑布项目{2},看板项目,迭代{5},阶段{18},看板{5}
|
||||
- field: name2
|
||||
range: 1-10000
|
||||
- field: project
|
||||
range: 0{14},11{5},60{12},61{6},100{5}
|
||||
- field: model
|
||||
range: "[]{10},scrum,waterfall{2},kanban,[]{28}"
|
||||
- field: attribute
|
||||
range: "[]{19},request,design,dev,qa,release,review,request,design,dev,qa,release,review,request,design,dev,qa,release,review,[]{5}"
|
||||
- field: type
|
||||
range: program{10},project{4},sprint{5},stage{18},kanban{5}
|
||||
- field: budget
|
||||
range: 800000-1:100
|
||||
- field: status
|
||||
range: doing{2},wait{8},doing{4},wait{2},doing{2},suspended{2},closed{2}
|
||||
- field: auth
|
||||
range: "extend"
|
||||
- field: desc
|
||||
range: 1-10000
|
||||
prefix: "迭代描述"
|
||||
- field: begin
|
||||
range: "(-2M)-(+M):1D"
|
||||
type: timestamp
|
||||
format: "YY/MM/DD"
|
||||
postfix: "\t"
|
||||
- field: end
|
||||
range: "(+1w)-(+2M):1D"
|
||||
type: timestamp
|
||||
format: "YY/MM/DD"
|
||||
postfix: "\t"
|
||||
- field: grade
|
||||
range: 1,2,1{12},1{5},1{6},2{6},1{6},1{5}
|
||||
- field: parent
|
||||
range: 0,1,0{8},1,2,0{2},11{5},60{6},106-111,61{6},100{5}
|
||||
- field: path
|
||||
fields:
|
||||
- field: path1
|
||||
prefix: ","
|
||||
range: 1,1,3-10,1,2,61,100,11{5},60{12},61{6},100{5}
|
||||
- field: path2
|
||||
prefix: ","
|
||||
range: "[],2,[]{8},11,60,[]{2},101-105,106-111,106-111,118-700"
|
||||
postfix: ","
|
||||
- field: path3
|
||||
range: "[]{25},112-117,[]{50}"
|
||||
postfix: ","
|
||||
- field: acl
|
||||
range: open{10},program{2},open{2},private{4}
|
||||
- field: multiple
|
||||
range: 1{14},1{3},0{2},1{18},1{5}
|
||||
- field: whitelist
|
||||
prefix: ","
|
||||
range: "admin,user1,user2,user3,[]{10}"
|
||||
postfix: ","
|
||||
- field: hasProduct
|
||||
range: 1{10},0,1,0,1{100}
|
||||
- field: deleted
|
||||
range: 0{40},1
|
||||
Reference in New Issue
Block a user