/** * Created by jimiz on 2017/4/16. */ var billsData = require('./bills'); var rationData = require('./ration'); var GLJData = require('./GLJ'); var consts = require('./projectConsts'); var moduleMap = {}; moduleMap[consts.BILLS] = billsData; moduleMap[consts.RATION] = rationData; moduleMap[consts.GLJ] = GLJData; var Project = function (){}; Project.prototype.datas = []; Project.prototype.prepare = function(data, callback){ data.updateData.forEach(function(item){ this.datas.push(item); /* to do moduleMap[item.moduleName].prepare(item.data, jobCallback); */ }); }; Project.prototype.save = function(data, callback){ var job, savePoint; var errDatas = []; this.prepare(data, function(job, savePoint){}); var saveCallback = function(err, moduleName, data){ if (err != 0){ var errData = {moduleName: moduleName, err: err, data: data}; errDatas.push(errData); } }; this.datas.forEach(function(item){ moduleMap[item.moduleName].save(item.data, saveCallback); }); this.datas = []; if (errDatas.length > 0){ callback(1, 'error', errDatas) } else{ callback(0, '', null) } }; module.exports = new Project();