| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | 
							- /**
 
-  * Created by Mai on 2017/4/14.
 
-  * 清单模板,新建项目使用
 
-  */
 
- import mongoose from "mongoose";
 
- import BaseModel from "../../common/base/base_model";
 
- class BillsTemplateModel extends BaseModel {
 
-     /**
 
-      * 构造函数
 
-      *
 
-      * @return {void}
 
-      */
 
-     constructor() {
 
-         let parent = super();
 
-         parent.model = mongoose.model('temp_bills');
 
-         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, type: 1,calcBase:1,feeRateID: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, type: 1};
 
-         let data = await this.findDataByCondition({valuationId: valuationId, engineering: engineering}, field, false);
 
-         return data === null ? [] : data;
 
-     }
 
-     async updateTemplate (valuationId, engineering, datas) {
 
-         try {
 
-             for (let data of datas) {
 
-                 data.data.valuationId = valuationId;
 
-                 data.data.engineering = engineering;
 
-                 let condition = {valuationId: valuationId, engineering: engineering, 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);
 
-                     result = result.result;
 
-                     if (result === undefined || result.ok ===undefined || !result.ok) {
 
-                         throw '删除数据错误';
 
-                     }
 
-                 }
 
-             }
 
-             return true;
 
-         } catch (error) {
 
-             console.log(error);
 
-         }
 
-     }
 
- };
 
- export default BillsTemplateModel;
 
 
  |