Browse Source

Merge branch 'master' of http://smartcost.f3322.net:3000/SmartCost/ConstructionCost

zhongzewei 8 years ago
parent
commit
1cae9877e7

+ 14 - 14
modules/feeLibs/models/feeLibs_db.js

@@ -4,29 +4,29 @@
 
 var mg = require('mongoose');
 var dbm = require("../../../config/db/db_manager");
-var umDB = dbm.getCfgConnection("feeLibs");
+var umDB = dbm.getCfgConnection("stdFeeRateLibs");
 
-var feesSchema = new mg.Schema({
+var ratesSchema = new mg.Schema({
     ID: Number,
     ParentID: Number,
     name: String,
-    fee: Number,
+    rate: Number,
     memo: String
 });
 
-var stdFeeSchema = new mg.Schema({
+var libsSchema = new mg.Schema({
     region: String,                     // 工程所在地
-    fileID: Number,                     // 费率标准文件ID
-    fileName: String,                   // 费率标准文件名称
-    fees: [feesSchema]                  // 树表结构费率值
+    libID: Number,                     // 费率标准文件ID
+    libName: String,                   // 费率标准文件名称
+    rates: [ratesSchema]                  // 树表结构费率值
 });
 
-var feeLibModel = umDB.model('files', stdFeeSchema);
+var libsModel = umDB.model('libs', libsSchema);
 
-var StdFeeLib = function(){};
+var StdFeeRateLibs = function(){};
 
-StdFeeLib.prototype.files = function(region, controllerFun){
-    feeLibModel.find({"region": region}, ["fileID", "fileName"], function(err, data){
+StdFeeRateLibs.prototype.libNames = function(region, controllerFun){
+    libsModel.find({"region": region}, ["libID", "libName"], function(err, data){
         if(data.length){
             controllerFun(data);
         }
@@ -36,8 +36,8 @@ StdFeeLib.prototype.files = function(region, controllerFun){
     })
 };
 
-StdFeeLib.prototype.fees = function(fileID, controllerFun){
-    feeLibModel.find({"fileID": fileID}, ["fees"], function(err, data){
+StdFeeRateLibs.prototype.rates = function(libID, controllerFun){
+    libsModel.find({"libID": libID}, ["rates"], function(err, data){
         if(data.length){
             controllerFun(data);
         }
@@ -47,6 +47,6 @@ StdFeeLib.prototype.fees = function(fileID, controllerFun){
     })
 };
 
-module.exports = new StdFeeLib();
+module.exports = new StdFeeRateLibs();
 
 

+ 9 - 9
modules/fees/controllers/fees_controller.js

@@ -2,27 +2,27 @@
  * Created by CSL on 2017-03-23.
  */
 
-var stdFeeLib = require('../../feeLibs/models/feeLibs_db');
-var projectFeeFile = require('../models/fees_db');
+var stdFeeRateLibs = require('../../feeLibs/models/feeLibs_db');
+var projectFeeRateFile = require('../models/fees_db');
 
 module.exports = {
-    feeLibFiles: function (req, res) {
+    libNames: function (req, res) {
         var region = req.body.region;
-        stdFeeLib.files(region, function (doc) {
+        stdFeeRateLibs.libNames(region, function (doc) {
             res.json({data: doc});
         });
     },
 
-    feeLibFees: function (req, res) {
-        var fileID = req.body.fileID;
-        stdFeeLib.fees(fileID, function (doc) {
+    libFeeRates: function (req, res) {
+        var libID = req.body.libID;
+        stdFeeRateLibs.rates(libID, function (doc) {
             res.json({data: doc});
         })
     },
 
-    projectFees: function (req, res) {
+    projectFeeRates: function (req, res) {
         var fileID = req.body.fileID;
-        projectFeeFile.fees(fileID, function (doc) {
+        projectFeeRateFile.rates(fileID, function (doc) {
             res.json({data: doc});
         })
     }

+ 11 - 12
modules/fees/models/fees_db.js

@@ -6,28 +6,27 @@ var mg = require('mongoose');
 var dbm = require("../../../config/db/db_manager");
 var umDB = dbm.getCfgConnection("projectFees");
 
-var feeArrSchema = new mg.Schema({
+var ratesSchema = new mg.Schema({
     ID: Number,
     ParentID: Number,
     name: String,
-    fee: Number,
+    rate: Number,
     memo: String
 });
 
-var feeSchema = new mg.Schema({
+var feeRatesSchema = new mg.Schema({
     ID: Number,
-    //projectID: Number,    // 被多个项目引用。项目记录该文件ID
-    feeFileID: Number,
-    feeFileName: String,
-    fees: [feeArrSchema]
+    libID: Number,
+    libName: String,
+    rates: [ratesSchema]
 });
 
-var feeModel = umDB.model('fees', feeSchema);
+var feeRatesModel = umDB.model('feeRates', feeRatesSchema, 'feeRates');
 
-var feeFile = function(){};
+var FeeRateFile = function(){};
 
-feeFile.prototype.fees = function(fileID, controllerFun){
-    feeModel.find({"ID": fileID}, ["fees"], function(err, data){
+FeeRateFile.prototype.rates = function(fileID, controllerFun){
+    feeRatesModel.find({"ID": fileID}, ["rates"], function(err, data){
         if(data.length){
             controllerFun(data);
         }
@@ -37,6 +36,6 @@ feeFile.prototype.fees = function(fileID, controllerFun){
     })
 };
 
-module.exports = new feeFile();
+module.exports = new FeeRateFile();
 
 

+ 3 - 3
modules/fees/routes/fees_router.js

@@ -10,9 +10,9 @@ feesRouter.get('/', function(req, res) {
     res.render('fees/feeRate', {});
 });
 
-feesRouter.post('/getLibFiles', feesController.feeLibFiles);
-feesRouter.post('/getLibFees', feesController.feeLibFees);
-feesRouter.post('/getProjectFees', feesController.projectFees);
+feesRouter.post('/getLibNames', feesController.libNames);
+feesRouter.post('/getLibFeeRates', feesController.libFeeRates);
+feesRouter.post('/getProjectFeeRates', feesController.projectFeeRates);
 
 
 module.exports = feesRouter;

+ 55 - 0
test/unit/others/decimalSchema.js

@@ -0,0 +1,55 @@
+/**
+ * Created by Tony on 2017/3/30.
+ */
+var test = require('tape');
+var mongoose = require('mongoose');
+var dbm = require("../../../config/db/db_manager");
+var smartcostdb = dbm.getLocalConnection("Demo");
+var Schema = mongoose.Schema;
+var DecSchema = new Schema({
+    "id" : Number,
+    "name" : String,
+    "value" : Schema.Types.Decimal128
+});
+
+var DouSchema = new Schema({
+    "id" : Number,
+    "name" : String,
+    "value" : Number
+});
+
+var Dec = smartcostdb.model("dec_tests", DecSchema);
+var Dou = smartcostdb.model("dou_tests", DouSchema);
+
+test('try to save decimal: ', function (t) {
+        new Dec({id: 2, name:"save decimal new model", value: "2.0999"}).save(function(err){
+            console.log("err:" + err);
+            t.equal(err == null, true);
+            t.end();
+        });
+    }
+);
+
+test('test decimal: ', function (t) {
+        Dec.find( {}, function(err, result) {
+            console.log(result);
+            t.equal(result != null, true);
+            t.end();
+        });
+    }
+);
+
+test('test double: ', function (t) {
+        Dou.find( {}, function(err, result) {
+            console.log(result);
+            t.equal(result != null, true);
+            t.end();
+        });
+    }
+);
+
+test('finish', function (t) {
+    mongoose.disconnect();
+    t.pass('closing db connection');
+    t.end();
+});

+ 2 - 2
web/fees/feeRate.html

@@ -117,8 +117,8 @@
 </body>
 <script type="text/javascript">
     autoFlashHeight();
-    loadLibFiles(region);
-    loadProjectFees(projectID);
+    loadStdFeeRateLibNames(region);
+    loadProjectFeeRates(feeRateFileID);
 </script>
 
 </html>

+ 17 - 17
web/fees/feeRate.js

@@ -2,28 +2,28 @@
  * Created by CSL on 2017-03-23.
  */
 var region = '重庆';
-var projectID = 5;
+var feeRateFileID = 5;
 var spreadView;
 
 $(document).ready(function () {
     $("#inlineFormCustomSelect").change(function () {
-        var fileID = $("#inlineFormCustomSelect").val();
-        loadLibFees(fileID);
+        var libID = $("#inlineFormCustomSelect").val();
+        loadLibFeeRates(libID);
     });
 
     $("#projectFeeFile").click(function () {
-        loadProjectFees(projectID);
+        loadProjectFeeRates(feeRateFileID);
     });
 });
 
-function loadProjectFees(fileID) {
+function loadProjectFeeRates(fileID) {
     $.ajax({
         type: "POST",
-        url: '/fees/getProjectFees',
+        url: '/fees/getProjectFeeRates',
         data: {"fileID": fileID},
         success: function (result) {
             if (result.data) {
-                createSpreadView(result.data[0].fees, true);
+                createSpreadView(result.data[0].rates, true);
             }
         },
         error: function (result) {
@@ -32,18 +32,18 @@ function loadProjectFees(fileID) {
     });
 }
 
-function loadLibFiles(region) {
+function loadStdFeeRateLibNames(region) {
     $('#inlineFormCustomSelect').empty();
 
     $.ajax({
         type: "POST",
-        url: '/fees/getLibFiles',
+        url: '/fees/getLibNames',
         data: {"region": region},
         success: function (result) {
             if (result.data) {
                 for (var i = 0; i < result.data.length; i++) {
-                    $("#inlineFormCustomSelect").append("<option value=" + result.data[i].fileID + '>' +
-                        result.data[i].fileName + "</option>");
+                    $("#inlineFormCustomSelect").append("<option value=" + result.data[i].libID + '>' +
+                        result.data[i].libName + "</option>");
                 }
                 $("#inlineFormCustomSelect").get(0).selectedIndex = 0;
             }
@@ -54,14 +54,14 @@ function loadLibFiles(region) {
     });
 }
 
-function loadLibFees(fileID) {
+function loadLibFeeRates(libID) {
     $.ajax({
         type: "POST",
-        url: '/fees/getLibFees',
-        data: {"fileID": fileID},
+        url: '/fees/getLibFeeRates',
+        data: {"libID": libID},
         success: function (result) {
             if (result.data) {
-                createSpreadView(result.data[0].fees, false);
+                createSpreadView(result.data[0].rates, false);
             }
         },
         error: function (result) {
@@ -89,9 +89,9 @@ function createSpreadView(data, canEdit) {
             width: 250
         },
         {
-            id: 'fee',
+            id: 'rate',
             caption: '费率',
-            dataField: 'fee',
+            dataField: 'rate',
             format: '0.000',
             width: 80,
             minWidth: 50