'use strict'; /** * * * @author Mai * @date * @version */ module.exports = app => { class Valuation extends app.BaseService { /** * 构造函数 * * @param {Object} ctx - egg全局变量 * @return {void} */ constructor(ctx) { super(ctx); this.tableName = 'valuation_list'; } async getProjectValidValuation(pid) { const project = await this.ctx.service.project.getDataById(pid); const vid = this._.map(project.valuation.split(','), this._.toInteger); return await this.db.select(this.tableName, { where: {id: vid}, columns: ['id', 'name'], }); } async getValuationTemplate(id) { const valuation = await this.getDataById(id); return parseInt(valuation.template_id); } async getValuationStdList(id) { const valuation = await this.getDataById(id); const billsId = this._.map(valuation.bill_id.split(','), this._.toInteger); const chaptersId = this._.map(valuation.chapter_id.split(','), this._.toInteger); const sql = 'SELECT `id`, `name`' + ' From ?? ' + ' WHERE `id` in ( ? ) ORDER BY FIELD(`id`, ?)'; const sqlParam = ['zh_std_gcl_list', billsId, billsId]; const billsList = await this.db.query(sql, sqlParam); const sql2 = 'SELECT `id`, `name`' + ' From ?? ' + ' WHERE `id` in ( ? ) ORDER BY FIELD(`id`, ?)'; const sqlParam2 = ['zh_std_xmj_list', chaptersId, chaptersId]; const chapterList = await this.db.query(sql2, sqlParam2); return [billsList, chapterList]; } } return Valuation; };