|
@@ -0,0 +1,85 @@
|
|
|
+/**
|
|
|
+ * 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(callback){
|
|
|
+ var lowID, highID;
|
|
|
+ counter.getIDAfterCount(IDModule, IDStep, function(highID, err){});
|
|
|
+ lowID = highID - IDStep + 1;
|
|
|
+ callback(0, '', {lowID: lowID, highID: highID});
|
|
|
+};
|
|
|
+
|
|
|
+module.exports = new GLJDAO();
|