|
@@ -78,8 +78,15 @@ module.exports = app => {
|
|
async getList() {
|
|
async getList() {
|
|
// 获取当前项目信息
|
|
// 获取当前项目信息
|
|
const session = this.ctx.session;
|
|
const session = this.ctx.session;
|
|
- const sql = 'SELECT t.`id`, t.`project_id`, t.`name`, t.`status`, t.`category`, t.`ledger_times`, t.`ledger_status`, t.`measure_type`, t.`user_id` '+
|
|
|
|
|
|
+ // tender 163条数据,project_account 68条数据测试
|
|
|
|
+ // 查询两张表耗时0.003s,查询tender左连接project_account耗时0.002s
|
|
|
|
+ const sql = 'SELECT t.`id`, t.`project_id`, t.`name`, t.`status`, t.`category`, t.`ledger_times`, t.`ledger_status`, t.`measure_type`, t.`user_id`, t.`create_time`, '+
|
|
|
|
+ ' pa.`name` As `user_name`, pa.`role` As `user_role`, pa.`company` As `user_company` ' +
|
|
|
|
+ // ' FROM ?? As t, ?? As pa ' +
|
|
|
|
+ // ' WHERE t.`project_id` = ? AND t.`user_id` = pa.`id` AND (' +
|
|
' FROM ?? As t ' +
|
|
' FROM ?? As t ' +
|
|
|
|
+ ' Left Join ?? As pa ' +
|
|
|
|
+ ' ON t.`user_id` = pa.`id` ' +
|
|
' WHERE t.`project_id` = ? AND (' +
|
|
' WHERE t.`project_id` = ? AND (' +
|
|
// 创建的标段
|
|
// 创建的标段
|
|
' t.`user_id` = ?' +
|
|
' t.`user_id` = ?' +
|
|
@@ -94,11 +101,12 @@ module.exports = app => {
|
|
' t.id IN ( SELECT ca.`tid` FROM ?? AS ca WHERE ca.`uid` = ? GROUP BY ca.`tid`))' +
|
|
' t.id IN ( SELECT ca.`tid` FROM ?? AS ca WHERE ca.`uid` = ? GROUP BY ca.`tid`))' +
|
|
// 未参与,但可见的标段
|
|
// 未参与,但可见的标段
|
|
')';
|
|
')';
|
|
- const sqlParam = [this.tableName, session.sessionProject.id, session.sessionUser.accountId,
|
|
|
|
|
|
+ const sqlParam = [this.tableName, this.ctx.service.projectAccount.tableName, session.sessionProject.id, session.sessionUser.accountId,
|
|
this.ctx.service.ledgerAudit.tableName, session.sessionUser.accountId,
|
|
this.ctx.service.ledgerAudit.tableName, session.sessionUser.accountId,
|
|
this.ctx.service.stageAudit.tableName, session.sessionUser.accountId,
|
|
this.ctx.service.stageAudit.tableName, session.sessionUser.accountId,
|
|
this.ctx.service.changeAudit.tableName, session.sessionUser.accountId];
|
|
this.ctx.service.changeAudit.tableName, session.sessionUser.accountId];
|
|
|
|
|
|
|
|
+ //console.log(this.db.format(sql, sqlParam));
|
|
const list = await this.db.query(sql, sqlParam);
|
|
const list = await this.db.query(sql, sqlParam);
|
|
for (const l of list) {
|
|
for (const l of list) {
|
|
l.category = l.category && l.category !== '' ? JSON.parse(l.category) : null;
|
|
l.category = l.category && l.category !== '' ? JSON.parse(l.category) : null;
|