1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /**
- * Created by zhang on 2018/2/24.
- */
- let mongoose = require('mongoose');
- let rationInstallationModel = mongoose.model('ration_installation');
- let consts = require('../models/project_consts');
- let projectConsts = consts.projectConst;
- module.exports={
- updateRationInstallation:updateRationInstallation,
- applyRuleByIDs:applyRuleByIDs,
- 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 applyRuleByIDs(data){
- console.log(data);
- if(data.projectID&&data.IDs){
- return rationInstallationModel.update({projectID: data.projectID, ID:{'$in':data.IDs}},{ruleId:data.ruleId,unifiedSetting:0},{multi: true});
- }else {
- throw new Error('项目ID或者ID为空,更新失败!');
- }
- //ration.update({projectID: doc.updateData.projectID, ID: doc.updateData.ID}, doc.updateData,{multi: true},cb);
- }
- 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);
- }
- })
- }
|