| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | 
							- /**
 
-  * 配合比业务模型
 
-  *
 
-  * @author CaiAoLin
 
-  * @date 2017/7/12
 
-  * @version
 
-  */
 
- import BaseModel from "../../common/base/base_model";
 
- import {default as MixRatioSchema, collectionName as collectionName} from "./schemas/mix_ratio";
 
- import CounterModel from "./counter_model"
 
- class MixRatioModel extends BaseModel {
 
-     /**
 
-      * 构造函数
 
-      *
 
-      * @return {void}
 
-      */
 
-     constructor() {
 
-         let parent = super();
 
-         parent.model = MixRatioSchema;
 
-         parent.init();
 
-     }
 
-     /**
 
-      * 设置场景
 
-      *
 
-      * @param {string} scene
 
-      * @return {void}
 
-      */
 
-     setScene(scene = '') {
 
-         switch (scene) {
 
-             // 新增数据的验证规则
 
-             case 'add':
 
-                 this.model.schema.path('glj_id').required(true);
 
-                 this.model.schema.path('consumption').required(true);
 
-                 this.model.schema.path('unit_price_file_id').required(true);
 
-                 this.model.schema.path('connect_key').required(true);
 
-                 break;
 
-         }
 
-     }
 
-     /**
 
-      * 新增配合比数据(自动判断是否存在)
 
-      *
 
-      * @param {object} data
 
-      * @return {Promise}
 
-      */
 
-     async add(data) {
 
-         let counterModel = new CounterModel();
 
-         if (data instanceof Array) {
 
-             for(let tmp in data) {
 
-                 data[tmp].id = await counterModel.getId(collectionName);
 
-             }
 
-         } else {
 
-             data.id = await counterModel.getId(collectionName);
 
-         }
 
-         this.setScene('add');
 
-         return this.db.model.create(data);
 
-     }
 
-     /**
 
-      * 更新数据
 
-      *
 
-      * @param {Number} id
 
-      * @param {Object} updateData
 
-      * @return {Promise}
 
-      */
 
-     async updateById(id, updateData) {
 
-         id = parseInt(id);
 
-         if (isNaN(id) || id <= 0 || Object.keys(updateData).length <= 0) {
 
-             return false;
 
-         }
 
-         let result = await this.db.update({id: id}, updateData);
 
-         return result.ok !== undefined && result.ok === 1;
 
-     }
 
- }
 
- export default MixRatioModel;
 
 
  |