Bladeren bron

恢复之前代码

caiaolin 8 jaren geleden
bovenliggende
commit
8e9a7df52b

+ 8 - 0
modules/glj/db/unit_price_file_db.js

@@ -0,0 +1,8 @@
+/**
+ * Created by jimiz on 2017/5/12.
+ */
+var mongoose = require("mongoose");
+var dbm = require("../../../config/db/db_manager");
+var db = dbm.getCfgConnection("unitPriceFile");
+
+module.exports = db;

+ 99 - 0
modules/glj/models/glj_list.js

@@ -0,0 +1,99 @@
+/**
+ * Created by jimiz on 2017/5/10.
+ * 单价文件的GLJ列表,注意与项目GLJ区分
+ */
+var mongoose = require("mongoose");
+var db = require("../db/unit_price_file_db");
+var Schema = mongoose.Schema;
+var deleteSchema = require('../../../public/models/delete_schema');
+var counter = require("../../../public/counter/counter.js");
+var consts = require('../../main/models/project_consts');
+var projectConsts = consts.projectConst;
+var commonConsts = consts.commonConst;
+
+var GLJListSchema = new Schema({
+    ID: Number,
+    fileID: Number,
+    code: String,
+    name: String,
+    specs: String,
+    unit: String,
+    type: Number,
+    adjustPrice: String,
+    rationPrice: String,
+    price: String, //Decimal
+    deleteInfo: deleteSchema
+});
+
+var GLJList = db.model("GLJList", GLJListSchema, "GLJList");
+
+var GLJListDAO = function(){};
+
+GLJListDAO.prototype.getData = function(fileID, callback){
+    var me = this;
+    GLJList.find({'$or': [{fileID: fileID, deleteInfo: null}, {fileID: fileID, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id', function(err, datas){
+        if (!err) {
+            callback(0, projectConsts.GLJLIST, datas);
+        } else {
+            callback(1, '', null);
+        }
+    });
+};
+
+// 单价文件中的工料机不在这里新增,只能由add方法新增,删除需要在前端projectGLJ判断:1、是新工料机;2、没有定额引用,才可以删除
+GLJListDAO.prototype.save = function(fileId, datas, callback){
+    var functions = [];
+    var data;
+
+    // cb中返回doc,以便进行同步
+    function saveOne(doc) {
+        return function (cb) {
+            function updateCallback(err, data){
+                cb(err, doc);
+            }
+            switch (doc.updateType) {
+                case commonConsts.UT_UPDATE:
+                    ration.update({ID: doc.ID}, doc, updateCallback);
+                    break;
+                case commonConsts.UT_DELETE:
+                /* 假删除
+                 var item = new ration(doc);
+                 item.remove(cb);
+                 */
+            }
+        }
+    }
+    for (var i = 0; i < datas.length; i++){
+        data = datas[i];
+        functions.push(saveOne(data));
+    }
+
+    async.parallel(functions, callback);
+};
+
+GLJListDAO.prototype.add = function(fileID, count, callback){
+
+    function newCallback(err, lowID, highID){
+        if (!err) {
+            var datas = [];
+            for (var i = lowID; i <= highID; i++){
+                var GLJ = new GLJList;
+                GLJ.ID = i;
+                GLJ.fileID = fileID;
+                datas.push(GLJ);
+            }
+            callback(err, datas);
+
+        }
+        else{
+            callback(err, null);
+        }
+    }
+
+    counter.counterDAO.getIDAfterCount(COUNTER_MODULE_NAME.unitPriceGLJ, IDStep, function(err, highID){
+        var lowID = highID - IDStep + 1;
+        newCallback(err, lowID, highID);
+    });
+};
+
+module.exports = new GLJListDAO();

+ 99 - 0
modules/glj/models/unit_price_file.js

@@ -0,0 +1,99 @@
+/**
+ * Created by jimiz on 2017/5/10.
+ * 单价文件的GLJ列表,注意与项目GLJ区分
+ */
+var mongoose = require("mongoose");
+var db = require("../db/unit_price_file_db");
+var Schema = mongoose.Schema;
+var deleteSchema = require('../../../public/models/delete_schema');
+var counter = require("../../../public/counter/counter.js");
+var consts = require('../../main/models/project_consts');
+var projectConsts = consts.projectConst;
+var commonConsts = consts.commonConst;
+
+var GLJListSchema = new Schema({
+    ID: Number,
+    fileID: Number,
+    code: String,
+    name: String,
+    specs: String,
+    unit: String,
+    type: Number,
+    adjustPrice: String,
+    rationPrice: String,
+    price: String, //Decimal
+    deleteInfo: deleteSchema
+});
+
+var GLJList = db.model("GLJList", GLJListSchema, "GLJList");
+
+var GLJListDAO = function(){};
+
+GLJListDAO.prototype.getData = function(fileID, callback){
+    var me = this;
+    GLJList.find({'$or': [{fileID: fileID, deleteInfo: null}, {fileID: fileID, 'deleteInfo.deleted': {$in: [null, false]}}]}, '-_id', function(err, datas){
+        if (!err) {
+            callback(0, projectConsts.GLJLIST, datas);
+        } else {
+            callback(1, '', null);
+        }
+    });
+};
+
+// 单价文件中的工料机不在这里新增,只能由add方法新增,删除需要在前端projectGLJ判断:1、是新工料机;2、没有定额引用,才可以删除
+GLJListDAO.prototype.save = function(fileId, datas, callback){
+    var functions = [];
+    var data;
+
+    // cb中返回doc,以便进行同步
+    function saveOne(doc) {
+        return function (cb) {
+            function updateCallback(err, data){
+                cb(err, doc);
+            }
+            switch (doc.updateType) {
+                case commonConsts.UT_UPDATE:
+                    ration.update({ID: doc.ID}, doc, updateCallback);
+                    break;
+                case commonConsts.UT_DELETE:
+                /* 假删除
+                 var item = new ration(doc);
+                 item.remove(cb);
+                 */
+            }
+        }
+    }
+    for (var i = 0; i < datas.length; i++){
+        data = datas[i];
+        functions.push(saveOne(data));
+    }
+
+    async.parallel(functions, callback);
+};
+
+GLJListDAO.prototype.add = function(fileID, count, callback){
+
+    function newCallback(err, lowID, highID){
+        if (!err) {
+            var datas = [];
+            for (var i = lowID; i <= highID; i++){
+                var GLJ = new GLJList;
+                GLJ.ID = i;
+                GLJ.fileID = fileID;
+                datas.push(GLJ);
+            }
+            callback(err, datas);
+
+        }
+        else{
+            callback(err, null);
+        }
+    }
+
+    counter.counterDAO.getIDAfterCount(COUNTER_MODULE_NAME.unitPriceGLJ, IDStep, function(err, highID){
+        var lowID = highID - IDStep + 1;
+        newCallback(err, lowID, highID);
+    });
+};
+
+module.exports = new GLJListDAO();

+ 7 - 0
modules/glj/models/user_glj_lib.js

@@ -0,0 +1,7 @@
+/**
+ *
+ *
+ * @author CaiAoLin
+ * @date 2017/7/5
+ * @version
+ */