Browse Source

动态费率库。

Chenshilong 8 năm trước cách đây
mục cha
commit
207e59f015
2 tập tin đã thay đổi với 72 bổ sung6 xóa
  1. 71 0
      modules/feeLibs/models/feeLibs_db.js
  2. 1 6
      server.js

+ 71 - 0
modules/feeLibs/models/feeLibs_db.js

@@ -0,0 +1,71 @@
+var mg = require('mongoose');
+mg.connect('mongodb://localhost/stdFeeLibs');
+
+var stdFeeSchema1 = new mg.Schema({
+    region: String,                     // 工程所在地
+    fileName: String,                   // 费率标准文件
+    projectCategory: String,            // 工程分类
+    taxArea: String,                    // 纳税地点
+
+    manageFee: Array,                   // 企业管理费
+    forceFee: Array,                    // 规费
+    profit: Array,                      // 利润
+    tax: Array,                         // 税金
+    nightFee: Array,                    // 夜间施工费
+    winterFee: Array,                   // 冬雨季施工增加费
+    rehandFee: Array,                   // 二次搬运费
+    contractFee: Array,                 // 包干费
+    completedProtectFee: Array,         // 已完工程及设备保护费
+    aftermathFee: Array,                // 工程定位复测、点交及场地清理费
+    materialTestFee: Array,             // 材料检验试验费
+    archiveFee: Array                   // 建设工程竣工档案编制费
+});
+
+// 过滤选项
+var filterSchema = new mg.Schema({
+    filterName: String,
+    filterValue: String
+});
+
+// 12大费。如:企业管理费、规费等。各省不同,也不一定是12。
+var feeSchema = new mg.Schema({
+    feeName: String,
+    feeValues: Array
+});
+
+var feeLibSchema = new mg.Schema({
+    region: String,                     // 工程所在地
+    fileName: String,                   // 费率标准文件
+    filters: [filterSchema],
+    fees: [feeSchema]
+});
+
+var feeLibModel = mg.model('fees', feeLibSchema);
+
+var StdFeeLib = function(){};
+
+StdFeeLib.prototype.fee2 = function(region, fileName, filters, controllerFun){
+    feeLibModel.find({"region": region, "fileName": fileName}, function(err, data){
+        if(data){
+            controllerFun(JSON.stringify(data[0]));
+        }
+        else{
+            controllerFun(false);
+        }
+    })
+};
+
+StdFeeLib.prototype.fee1 = function(region, fileName, projectCategory, taxArea, controllerFun){
+    feeLibModel.find({"region": region, "fileName": fileName, "projectCategory": projectCategory,
+        "taxArea": taxArea}, function(err, data){
+        if(data){
+            controllerFun(JSON.stringify(data[0]));
+        }
+        else{
+            controllerFun(false);
+        }
+    })
+};
+module.exports = new StdFeeLib();
+
+

+ 1 - 6
server.js

@@ -3,27 +3,23 @@ var express = require('express');
 var config = require("./config/config.js");
 //config.setToLocalDb();
 config.setToQaDb();
-// chenshilong add this, 2017.03.07 --------------------------------begin
+
 var path = require('path');
 var session = require('express-session');
 //var DBStore = require('connect-mongo')(session);
-// -----------------------------------------------------------------end
 
 var app = express();
 var _rootDir = __dirname;
 app.use(express.static(_rootDir));
 
-// chenshilong add this, 2017.03.07 --------------------------------begin
 app.set('views', path.join(__dirname, 'web'));
 app.engine('.html', require('ejs').__express);
 app.set('view engine', 'html');
-// -----------------------------------------------------------------end
 
 var bodyParser = require('body-parser');
 app.use(bodyParser.urlencoded({extended: false}));
 app.use(bodyParser.json());
 
-// chenshilong add this, 2017.03.07 --------------------------------begin
 app.use(session({
     name: 'usersSession',
     secret: 'session users secret',
@@ -40,7 +36,6 @@ app.use(session({
 
 var users = require('./modules/users/routes/users_route');
 app.use('/', users);
-// -----------------------------------------------------------------end
 
 app.get('/pm', function(req, res){
     if(!req.session.userAccount){