| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | /** * Created by Mai on 2017/4/14. * 清单模板,新建项目使用 */import BaseModel from "../../../common/base/base_model";import BillsTemplateSchema from "./schemas/bills_template";class BillsTemplateModel extends BaseModel {    /**     * 构造函数     *     * @return {void}     */    constructor() {        let parent = super();        parent.model = BillsTemplateSchema;        parent.init();    }    /**     * 获取计价类别对应的清单模板     * @param valuationId     * @param engineering     * @returns {*}     */    async getTemplateData (valuationId, engineering) {        // 筛选字段        let field = {_id: 1, valuationId: 1, ID: 1, ParentID: 1, NextSiblingID: 1, code: 1, name: 1, unit: 1, flags: 1};        let data = await this.findDataByCondition({valuationId: valuationId, engineering: engineering}, field, false);        return data === null ? [] : data;    }    /**     * 新建项目时,获取计价类别对应的清单模板     * @param valuationId     * @param engineering     * @returns {*}     */    async getTemplateDataForNewProj (valuationId, engineering) {        // 筛选字段        let field = {_id: 0, ID: 1, ParentID: 1, NextSiblingID: 1, code: 1, name: 1, unit: 1, flags: 1};        let data = await this.findDataByCondition({valuationId: valuationId, engineering: engineering}, field, false);        return data === null ? [] : data;    }    async updateTemplate (valuationId, datas) {        try {            for (let data of datas) {                data.data.valuationId = valuationId;                let condition = {valuationId: valuationId, ID: data.data.ID}, result;                if (data.type === 'update') {                    result = await this.db.update(condition, data.data);                    if (result === undefined || result.ok ===undefined || !result.ok) {                        throw '更新数据错误';                    }                } else if (data.type === 'new') {                    result = await this.db.create(data.data);                    if (!result) {                        throw '新增数据错误';                    }                } else if (data.type === 'delete') {                    result = await this.db.delete(condition);                    if (result === undefined || result.ok ===undefined || !result.ok) {                        throw '删除数据错误';                    }                }            }            return true;        } catch (error) {            console.log(error);        }    }};export default BillsTemplateModel;
 |