zhangweicheng vor 8 Jahren
Ursprung
Commit
ec0f14fadc

+ 22 - 0
logs/log4js.json

@@ -0,0 +1,22 @@
+{
+  "customBaseDir" :"../logs/",
+  "customDefaultAtt" :{
+    "type": "dateFile",
+    "alwaysIncludePattern": false,
+    "pattern":".yyyy-MM-dd hhhr"
+  },
+  "appenders": {
+    "console": { "type": "console" },
+    "logInfo":{"filename":"info/ConstructionCost.log"},
+    "logDebug":{"filename":"debug/ConstructionCost.log"},
+    "logWarn":{"filename":"warn/ConstructionCost.log"},
+    "logErr":{"filename":"err/ConstructionCost.log"}
+  },
+  "categories": {
+    "default": { "appenders": ["console"], "level": "debug"},
+    "logInfo":{ "appenders": ["logInfo","console"], "level": "debug"},
+    "logDebug":{ "appenders": ["logDebug","console"], "level": "debug"},
+    "logWarn":{ "appenders": ["logWarn"], "level": "debug"},
+    "logErr":{ "appenders": ["logErr"], "level": "debug"}
+  }
+}

+ 80 - 0
logs/log_helper.js

@@ -0,0 +1,80 @@
+/**
+ * Created by chen on 2017/9/4.
+ */
+let helper = {};
+module.exports.logger = helper;
+
+let log4js = require('log4js');
+let fs = require("fs");
+let path = require("path");
+
+// 加载配置文件
+let objConfig = JSON.parse(fs.readFileSync(__dirname+"/log4js.json", "utf8"));
+
+// 加载基础配置
+if(objConfig.appenders){
+    let baseDir = objConfig["customBaseDir"];
+    let defaultAtt = objConfig["customDefaultAtt"];
+    for(let key in objConfig.appenders){
+        var item = objConfig.appenders[key];
+        if(item["type"] == "console")
+            continue;
+        if(defaultAtt != null){
+            for(let att in defaultAtt){
+                if(item[att] == null)
+                    item[att] = defaultAtt[att];
+            }
+        }
+        if(baseDir != null){
+            if(item["filename"] == null)
+                item["filename"] = baseDir;
+            else
+                item["filename"] = baseDir + item["filename"];
+        }
+    }
+}
+
+
+log4js.configure(objConfig);
+
+let logDebug = log4js.getLogger('logDebug');
+let logInfo = log4js.getLogger('logInfo');
+let logWarn = log4js.getLogger('logWarn');
+let logErr = log4js.getLogger('logErr');
+
+console.log = logInfo.info.bind(logInfo);//把控制台信息输出到文件中
+
+helper.debug = function(msg){
+    if(msg == null)
+        msg = "";
+    logDebug.debug(msg);
+};
+
+helper.info = function(msg){
+    if(msg == null)
+        msg = "";
+    logInfo.info(msg);
+};
+
+helper.warn = function(msg){
+    if(msg == null)
+        msg = "";
+    logWarn.warn(msg);
+};
+
+helper.err = function(msg, exp){
+    if(msg == null)
+        msg = "";
+    if(exp != null)
+        msg += "\r\n" + exp;
+    logErr.error(msg);
+};
+
+// 配合express用的方法
+module.exports.use = function(app) {
+    //页面请求日志, level用auto时,默认级别是WARN
+    app.use(log4js.connectLogger(logDebug, {level:'debug', format:':method :url'}));
+}
+
+
+

+ 314 - 14
modules/fee_rates/controllers/feerate_template.js

@@ -238,21 +238,138 @@ module.exports={
                 "ParentID": 1,
                 "name": "机械土石方",
                 "rate": 10.82,
-                "memo": ""
+                "memo": "",
+                "subFeeRate": {
+                    "recodes": [
+                        {
+                            "ID": 1,
+                            "name": "地区",
+                            "optionList": [
+                                {
+                                    "name": "在市区",
+                                    "value": "005",
+                                    "selected": true
+                                },
+                                {
+                                    "name": "县城镇",
+                                    "value": "006",
+                                    "selected": false
+                                },
+                                {
+                                    "name": "不在市区、县城镇",
+                                    "value": "007",
+                                    "selected": false
+                                }
+                            ]
+                        }
+                    ],
+                    "valueMaps": [
+                        {
+                            "ID": "005",
+                            "value": 10.82
+                        },
+                        {
+                            "ID": "006",
+                            "value": 10.56
+                        },
+                        {
+                            "ID": "007",
+                            "value": 10.07
+                        }
+                    ]
+                }
             },
             {
                 "ID": 104,
                 "ParentID": 1,
                 "name": "仿古建筑工程",
                 "rate": 12,
-                "memo": ""
+                "memo": "",
+                "subFeeRate": {
+                    "recodes": [
+                        {
+                            "ID": 1,
+                            "name": "地区",
+                            "optionList": [
+                                {
+                                    "name": "在市区",
+                                    "value": "005",
+                                    "selected": true
+                                },
+                                {
+                                    "name": "县城镇",
+                                    "value": "006",
+                                    "selected": false
+                                },
+                                {
+                                    "name": "不在市区、县城镇",
+                                    "value": "007",
+                                    "selected": false
+                                }
+                            ]
+                        }
+                    ],
+                    "valueMaps": [
+                        {
+                            "ID": "005",
+                            "value": 10.82
+                        },
+                        {
+                            "ID": "006",
+                            "value": 10.56
+                        },
+                        {
+                            "ID": "007",
+                            "value": 10.07
+                        }
+                    ]
+                }
             },
             {
                 "ID": 105,
                 "ParentID": 1,
                 "name": "建筑修缮工程",
                 "rate": 12.47,
-                "memo": ""
+                "memo": "",
+                "subFeeRate": {
+                    "recodes": [
+                        {
+                            "ID": 1,
+                            "name": "地区",
+                            "optionList": [
+                                {
+                                    "name": "在市区",
+                                    "value": "005",
+                                    "selected": true
+                                },
+                                {
+                                    "name": "县城镇",
+                                    "value": "006",
+                                    "selected": false
+                                },
+                                {
+                                    "name": "不在市区、县城镇",
+                                    "value": "007",
+                                    "selected": false
+                                }
+                            ]
+                        }
+                    ],
+                    "valueMaps": [
+                        {
+                            "ID": "005",
+                            "value": 10.82
+                        },
+                        {
+                            "ID": "006",
+                            "value": 10.56
+                        },
+                        {
+                            "ID": "007",
+                            "value": 10.07
+                        }
+                    ]
+                }
             },
             {
                 "ID": 106,
@@ -375,14 +492,110 @@ module.exports={
                 "ParentID": 2,
                 "name": "建筑工程",
                 "rate": 0.45,
-                "memo": ""
+                "memo": "",
+                "subFeeRate": {
+                    "recodes": [
+                        {
+                            "ID": 1,
+                            "name": "工程分类",
+                            "optionList": [
+                                {
+                                    "name": "一类工程",
+                                    "value": "001",
+                                    "selected": true
+                                },
+                                {
+                                    "name": "二类工程",
+                                    "value": "002",
+                                    "selected": false
+                                },
+                                {
+                                    "name": "三类工程",
+                                    "value": "003",
+                                    "selected": false
+                                },
+                                {
+                                    "name": "四类工程",
+                                    "value": "004",
+                                    "selected": false
+                                }
+                            ]
+                        }
+                    ],
+                    "valueMaps": [
+                        {
+                            "ID": "001",
+                            "value": 0.45
+                        },
+                        {
+                            "ID": "002",
+                            "value": 0.4
+                        },
+                        {
+                            "ID": "003",
+                            "value": 0.35
+                        },
+                        {
+                            "ID": "004",
+                            "value": 0.3
+                        }
+                    ]
+                }
             },
             {
                 "ID": 202,
                 "ParentID": 2,
                 "name": "市政工程",
                 "rate": 0.4,
-                "memo": ""
+                "memo": "",
+                "subFeeRate": {
+                    "recodes": [
+                        {
+                            "ID": 1,
+                            "name": "工程分类",
+                            "optionList": [
+                                {
+                                    "name": "一类工程",
+                                    "value": "001",
+                                    "selected": true
+                                },
+                                {
+                                    "name": "二类工程",
+                                    "value": "002",
+                                    "selected": false
+                                },
+                                {
+                                    "name": "三类工程",
+                                    "value": "003",
+                                    "selected": false
+                                },
+                                {
+                                    "name": "四类工程",
+                                    "value": "004",
+                                    "selected": false
+                                }
+                            ]
+                        }
+                    ],
+                    "valueMaps": [
+                        {
+                            "ID": "001",
+                            "value": 0.4
+                        },
+                        {
+                            "ID": "002",
+                            "value": 0.35
+                        },
+                        {
+                            "ID": "003",
+                            "value": 0.3
+                        },
+                        {
+                            "ID": "004",
+                            "value": 0.25
+                        }
+                    ]
+                }
             },
             {
                 "ID": 203,
@@ -410,7 +623,55 @@ module.exports={
                 "ParentID": 2,
                 "name": "炉窑砌筑工程",
                 "rate": 0.4,
-                "memo": ""
+                "memo": "",
+                "subFeeRate": {
+                    "recodes": [
+                        {
+                            "ID": 1,
+                            "name": "工程分类",
+                            "optionList": [
+                                {
+                                    "name": "一类工程",
+                                    "value": "001",
+                                    "selected": true
+                                },
+                                {
+                                    "name": "二类工程",
+                                    "value": "002",
+                                    "selected": false
+                                },
+                                {
+                                    "name": "三类工程",
+                                    "value": "003",
+                                    "selected": false
+                                },
+                                {
+                                    "name": "四类工程",
+                                    "value": "004",
+                                    "selected": false
+                                }
+                            ]
+                        }
+                    ],
+                    "valueMaps": [
+                        {
+                            "ID": "001",
+                            "value": 0.4
+                        },
+                        {
+                            "ID": "002",
+                            "value": 0.35
+                        },
+                        {
+                            "ID": "003",
+                            "value": 0.3
+                        },
+                        {
+                            "ID": "004",
+                            "value": 0.25
+                        }
+                    ]
+                }
             },
             {
                 "ID": 3,
@@ -423,42 +684,42 @@ module.exports={
                 "ID": 301,
                 "ParentID": 3,
                 "name": "建筑工程",
-                "rate": 16.03,
+                "rate": 4.87,
                 "memo": ""
             },
             {
                 "ID": 302,
                 "ParentID": 3,
                 "name": "市政工程",
-                "rate": 16.33,
+                "rate": 3.61,
                 "memo": ""
             },
             {
                 "ID": 303,
                 "ParentID": 3,
                 "name": "机械土石方",
-                "rate": 15.5,
+                "rate": 2.15,
                 "memo": ""
             },
             {
                 "ID": 304,
                 "ParentID": 3,
                 "name": "仿古建筑工程",
-                "rate": 12,
+                "rate": 2.84,
                 "memo": ""
             },
             {
                 "ID": 305,
                 "ParentID": 3,
                 "name": "建筑修缮工程",
-                "rate": 12.47,
+                "rate": 2.84,
                 "memo": ""
             },
             {
                 "ID": 306,
                 "ParentID": 3,
                 "name": "炉窑砌筑工程",
-                "rate": 10.8,
+                "rate": 3.61,
                 "memo": ""
             },
             {
@@ -604,7 +865,46 @@ module.exports={
                 "ParentID": 4,
                 "name": "炉窑砌筑工程",
                 "rate": 4.9,
-                "memo": ""
+                "memo": "",
+                "subFeeRate": {
+                    "recodes": [
+                        {
+                            "ID": 1,
+                            "name": "工程分类",
+                            "optionList": [
+                                {
+                                    "name": "一类工程",
+                                    "value": "001",
+                                    "selected": false
+                                },
+                                {
+                                    "name": "二类工程",
+                                    "value": "002",
+                                    "selected": false
+                                },
+                                {
+                                    "name": "三类工程",
+                                    "value": "003",
+                                    "selected": true
+                                }
+                            ]
+                        }
+                    ],
+                    "valueMaps": [
+                        {
+                            "ID": "001",
+                            "value": 8.94
+                        },
+                        {
+                            "ID": "002",
+                            "value": 7.72
+                        },
+                        {
+                            "ID": "003",
+                            "value": 4.9
+                        }
+                    ]
+                }
             },
             {
                 "ID": 5,
@@ -616,7 +916,7 @@ module.exports={
                     "recodes": [
                         {
                             "ID": 1,
-                            "name": "工程分类",
+                            "name": "纳税方式",
                             "optionList": [
                                 {
                                     "name": "一般纳税人",

+ 30 - 3
modules/fee_rates/facade/fee_rates_facade.js

@@ -11,6 +11,7 @@ let project_feerate_temp = mongoose.model('project_feerate_temp');
 let consts = require('../../main/models/project_consts');
 let _=require("lodash");
 let template = require('../controllers/feerate_template');
+let logger = require("../../../logs/log_helper").logger;
 const uuidV1 = require('uuid/v1');
 
 module.exports={
@@ -21,7 +22,8 @@ module.exports={
     checkFeeRateName:checkFeeRateName,
     getChangeInfo:getChangeInfo,
     changeFeeRateFileFromCurrent:changeFeeRateFileFromCurrent,
-    changeFeeRateFileFromOthers:changeFeeRateFileFromOthers
+    changeFeeRateFileFromOthers:changeFeeRateFileFromOthers,
+    newFeeRateFile:newFeeRateFile
 };
 let operationMap={
     'ut_create':create_fee_rate,
@@ -184,7 +186,7 @@ async function getFeeRateData(projectID) {
     }
     try {
         //
-        let tem = await project_feerate_temp.findOne({projectID:projectID});//暂时取tem表的记录,写死为99
+        let tem = await project_feerate_temp.findOne({projectID:projectID});//暂时取tem表的记录
         if (tem){
             let feeRateData = await feeRateFileModel.findOne({'ID':tem.feeRateFileID,deleteInfo:null});
             let feeRate = await feeRateModel.findOne({ID:feeRateData.feeRateID});
@@ -195,7 +197,7 @@ async function getFeeRateData(projectID) {
         }else {
             result.datas=[];
         }
-
+        logger.info("get fee rate data");
 
     }catch (err){
         console.log(err);
@@ -252,6 +254,31 @@ async function changeFeeRateStandard(jdata){
     return doc;
 }
 
+async function newFeeRateFile(data){
+  /*  data = {
+   libID:2,
+   rootProjectID:113,
+   name:'费率1'
+    }*/
+    let template = await std_fee_rate_lib_model.findOne({"ID":data.libID});
+    let newFeeRate = {};
+    newFeeRate.ID =uuidV1();
+    newFeeRate.rates=template.rates;
+    await feeRateModel.create(newFeeRate);
+    let doc={
+        libID:data.libID,
+        libName:template.libName,
+        feeRateID: newFeeRate.ID,
+        rootProjectID:data.rootProjectID,
+        name:data.name
+    };
+    doc.ID = uuidV1();
+    await feeRateFileModel.create(doc);
+    return doc;
+}
+
+
+
 async function checkFeeRateName(jdata) {
     let data = JSON.parse(jdata);
     let count = await feeRateFileModel.count({rootProjectID:data.rootProjectID,name:data.name,deleteInfo:null});

+ 2 - 1
package.json

@@ -28,7 +28,8 @@
     "socket.io": "^2.0.3",
     "ua-parser-js": "^0.7.14",
     "uuid": "^3.1.0",
-    "ioredis":"^3.1.4"
+    "ioredis":"^3.1.4",
+    "log4js":"~2.3.3"
   },
   "scripts": {
     "start": "C:\\Users\\mai\\AppData\\Roaming\\npm\\babel-node.cmd server.js"

+ 2 - 0
server.js

@@ -3,6 +3,7 @@ let express = require('express');
 let config = require("./config/config.js");
 let fileUtils = require("./modules/common/fileUtils");
 let dbm = require("./config/db/db_manager");
+let log = require("./logs/log_helper");
 ///config.setToLocalDb();
 config.setupDb(process.env.NODE_ENV);
 
@@ -32,6 +33,7 @@ cfgCacheUtil.setupDftCache();
 
 let app = express();
 let _rootDir = __dirname;
+log.use(app);
 app.use(express.static(_rootDir));
 
 app.set('views', path.join(__dirname, 'web'));