| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | 'use strict';/** * * * @author Mai * @date 2018/6/29 * @version */module.exports = app => {    class MeasurePos extends app.BaseService {        /**         * 构造函数         *         * @param {Object} ctx - egg全局变量         * @return {void}         */        constructor(ctx) {            super(ctx);            this.tableName = 'measure_pos';        }        /**         * 查询中间计量下部位信息         *         * @param {Number} tenderId - 标段id         * @param {uuid} mid - 计量id         * @return {Promise<void>}         */        async getPosDetail(tenderId, mid) {            const sql = 'SELECT MP.`tender_id`, MP.`mid`, MP.`pid`, L.`code`, L.`name`, L.`full_path` ' +                'FROM ?? AS L, ?? AS MP ' +                'WHERE L.`tender_id` = ? and MP.`tender_id` = ? and MP.`mid` = ?' +                '    and MP.`pid` = L.`ledger_id`';            const sqlParam = [this.ctx.service.ledger.tableName, this.tableName, tenderId, tenderId, mid];            return await this.db.query(sql, sqlParam);        }        /**         * 查询中间计量下,某一条部位信息         * @param tenderId         * @param mid         * @param pid         * @return {Promise<*>}         */        async getPosData(tenderId, mid, pid) {            const sql = 'SELECT MP.`tender_id`, MP.`mid`, MP.`pid`, L.`code`, L.`name`, L.`full_path` ' +                'FROM ?? AS L, ?? AS MP ' +                'WHERE L.`tender_id` = ? and MP.`tender_id` = ? and MP.`mid` = ? and MP.`pid` = ?' +                '    and MP.`pid` = L.`ledger_id`';            const sqlParam = [this.ctx.service.ledger.tableName, this.tableName, tenderId, tenderId, mid, pid];            return await this.db.queryOne(sql, sqlParam);        }        /**         * 新增计量范围         *         * @param {Number} tenderId - 标段id         * @param {uuid} mid - 计量id         * @param {Number} pid -- 计量范围id         * @return {Promise<*>}         */        async addPos(tenderId, mid, pid) {            const result = await this.db.insert(this.tableName, {                tender_id: tenderId,                mid,                pid,                in_time: new Date(),                in_user: this.ctx.session.sessionUser.accountId,            });            return await this.getPosData(tenderId, mid, pid);        }        /**         * 删除计量范围         *         * @param {Number} tenderId - 标段id         * @param {uuid} mid - 计量id         * @param {Number} pid -- 计量范围id         * @return {Promise<void>}         */        async removePos(tenderId, mid, pid) {            await this.db.delete(this.tableName, {                tender_id: tenderId,                mid,                pid,            });        }    }    return MeasurePos;};
 |