/** * Created by zhang on 2018/2/24. */ import rationInstallationModel from "../models/ration_installation"; let consts = require('../models/project_consts'); let projectConsts = consts.projectConst; module.exports={ updateRationInstallation:updateRationInstallation, updateFromInstallationFee:updateFromInstallationFee, getData:getData, deleteByRation:deleteByRation }; async function updateRationInstallation(data){ if(data.projectID&&data.ID){ let result = await rationInstallationModel.findOneAndUpdate({'projectID':data.projectID,'ID':data.ID},data); return result }else { throw new Error('项目ID或者ID为空,更新失败!'); } } async function updateFromInstallationFee(projectID,rationInstallations) { let tasks = []; for (let ri of rationInstallations){ let task = { updateOne:{ filter:{ ID:ri.ID, projectID:projectID }, update :ri.doc } }; tasks.push(task); } if(tasks.length>0){ await rationInstallationModel.bulkWrite(tasks); } } function deleteByRation(data) { return function (callback) { rationInstallationModel.deleteMany({projectID: data.projectID, rationID: data.ID},(err,result)=>{ commonCallback(callback,result,err); }); } } function commonCallback(callback,result,err) { if(err){ callback(err,''); }else { callback(null,result); } } function getData(projectID, callback) { rationInstallationModel.find({'projectID': projectID}, (err, datas) => { if (err) { callback(1, '', null); } else { callback(0, consts.projectConst.RATION_INSTALLATION, datas); } }) }