1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /**
- * Created by Mai on 2017/4/14.
- * 清单模板,新建项目使用
- */
- const BaseModel = require("../../../common/base/base_model");
- const mongoose = require('mongoose');
- const BillsTemplateSchema = mongoose.model('std_bills_template_items');
- class BillsTemplateModel extends BaseModel {
- /**
- * 构造函数
- *
- * @return {void}
- */
- constructor() {
- let parent = super();
- parent.model = BillsTemplateSchema;
- parent.init();
- }
- /**
- * 获取模板库对应的清单模板
- * @param libID
- * @returns {*}
- */
- async getTemplateData (libID) {
- // 筛选字段
- let field = {_id: 1, valuationId: 1, ID: 1, ParentID: 1, NextSiblingID: 1, code: 1, name: 1, unit: 1, flags: 1, calcBase: 1};
- let data = await this.findDataByCondition({valuationId: valuationId, engineering: engineering}, field, false);
- return data === null ? [] : data;
- }
- /**
- * 新建项目时,获取模板库对应的清单模板
- * @param valuationId
- * @param engineering
- * @returns {*}
- */
- async getTemplateDataForNewProj (libID) {
- // 筛选字段
- let field = {_id: 0, ID: 1, ParentID: 1, NextSiblingID: 1, code: 1, name: 1, unit: 1, flags: 1,type:1, calcBase: 1,feeRateID:1,quantity:1};
- let data = await this.findDataByCondition({libID: libID}, 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);
- }
- }
- };
- module.exports = BillsTemplateModel;
|