/** * Created by jimiz on 2017/4/1. */ var mongoose = require("mongoose"); var db = require("../db/project_db"); var Schema = mongoose.Schema; var GLJSchema = new Schema({ ID: Number, projectID: Number, orgRQuantity: String, //Decimal rQuantity: String, //Decimal customQuantity: String, //Decimal quantity: String, //Decimal rationItemQuantity: String, //Decimal rationPrice: String, //Decimal adjustPrice: String, //Decimal price: String, //Decimal tenderQuantity: String, //Decimal tenderPrice: String, //Decimal type: Number // to do }); var GLJ = db.model("GLJList", GLJSchema); var GLJDAO = function(){}; GLJDAO.prototype.getData = function(projectId, callback){ GLJ.find({projectId: projectId}, function(err, datas){ if (!err) { callback(0, '', datas); } else { callback(1, '', null); }; }); }; GLJDAO.prototype.save = function(datas, callback){ var data, errList = [], updateLength = 0; var updateFunc = function (err, errData) { if (err){ errList.push(errData); }; }; if (datas){ for (var i = 0; i < datas.length; i++){ data = datas[i]; if (data.updateType === 'update') { delete data.updateType; data.save(updateFunc); } else if (data.updateType === 'create') { delete data.updateType; data.save(updateFunc); } else if (data.updateType === 'delete') { delete data.updateType; data.remove(updateFunc); }; }; if (errList.length > 0){ callback(1, errList); } else { callback(0, null); }; }; }; GLJDAO.prototype.getItemTemplate = function(callback){ var data = new bills; /* to do: 需要根据标准配置库填充fees和flags字段,是否需要更多的参数? */ callback(0, '', data); }; const IDStep = 50, IDModule = 'bills'; GLJDAO.prototype.allocIDs = function(IDStep, callback){ counter.counterDAO.getIDAfterCount(counter.moduleName.GLJ, IDStep, function(err, highID){ var lowID = highID - IDStep + 1; callback(0, '', {lowID: lowID, highID: highID}); }); }; module.exports = new GLJDAO();