zhangweicheng 7 years ago
parent
commit
309bec5746

+ 11 - 0
modules/main/controllers/project_controller.js

@@ -67,5 +67,16 @@ module.exports = {
             result.message = err.message;
         }
         res.json(result);
+    },
+    updateNodes:function (req,res) {
+        var data = JSON.parse(req.body.data);
+        project_facade.updateNodes(data, function (err, message, result) {
+            if (err) {
+                logger.err(err);
+                callback(req, res, err, message, null);
+            } else {
+                callback(req, res, err, message, result);
+            }
+        });
     }
 };

+ 34 - 1
modules/main/facade/project_facade.js

@@ -2,12 +2,45 @@
  * Created by zhang on 2018/1/26.
  */
 let  projectsModel = require("../../pm/models/project_schema");
+let async_n = require("async");
+let ration_model = require('../models/ration');
+let bill_model = require('../models/bills');
+let consts = require('../models/project_consts');
+let projectConsts = consts.projectConst;
 
 module.exports = {
     markUpdateProject:markUpdateProject,
-    removeProjectMark:removeProjectMark
+    removeProjectMark:removeProjectMark,
+    updateNodes:updateNodes
 };
 
+function updateNodes(datas,callback) {
+    let tasks = [];
+    for(let node of datas){
+        tasks.push(updateOne(node))
+    }
+    async_n.parallel(tasks, function(err, results) {
+        if (!err){
+            callback(0, '', results);
+        }
+        else{
+            console.log(err);
+            callback(1, 'save project failed'+err.message, null);
+        }
+    });
+    function updateOne(node) {
+        if(node.type == projectConsts.BILLS){
+            return function (asCallback) {
+                bill_model.model.findOneAndUpdate({projectID: node.data.projectID, ID: node.data.ID,deleteInfo: null}, node.data,{new: true}, asCallback);
+            }
+        }else if(node.type ==projectConsts.RATION){
+            return function (asCallback) {
+                ration_model.model.findOneAndUpdate({projectID: node.data.projectID, ID: node.data.ID,deleteInfo: null}, node.data,{new: true}, asCallback);
+            }
+        }
+    }
+}
+
 //data = {feeRateID:111111,projectID:1245}; type = feeRate
 async function markUpdateProject(data,type) {
     let tasks=[];

+ 2 - 2
modules/main/facade/ration_facade.js

@@ -9,7 +9,7 @@ let quantity_detail = require("../facade/quantity_detail_facade");
 let ration_glj = mongoose.model('ration_glj');
 let ration_coe = mongoose.model('ration_coe');
 let ration_model = require('../models/ration');
-var bill_model = require('../models/bills');
+let bill_model = require('../models/bills');
 let decimal_facade = require('./decimal_facade');
 const uuidV1 = require('uuid/v1');
 let std_glj_lib_gljList_model = mongoose.model('std_glj_lib_gljList');
@@ -177,7 +177,7 @@ async function addRationGLJ(std,newRation) {
             newGLJ.projectID = newRation.projectID;
             newGLJ.GLJID = sub.gljId;
             newGLJ.rationID = newRation.ID;
-            newGLJ.billsItemID = newRation.billsItemID,
+            newGLJ.billsItemID = newRation.billsItemID;
             newGLJ.rationItemQuantity = sub.consumeAmt;
             newGLJ.quantity = sub.consumeAmt;
             newGLJ.glj_repository_id = std.rationRepId;

+ 1 - 1
modules/main/routes/project_route.js

@@ -11,7 +11,7 @@ module.exports = function (app) {
     projectRouter.post('/getData', projectController.getData);
     projectRouter.post('/markUpdateProject', projectController.markUpdateProject);
     projectRouter.post('/removeProjectMark', projectController.removeProjectMark);
-
+    projectRouter.post('/updateNodes', projectController.updateNodes);
 
     app.use('/project',projectRouter);
 };

+ 25 - 0
web/building_saas/main/js/models/project.js

@@ -328,6 +328,31 @@ var PROJECT = {
                 });
             }
         };
+        project.prototype.updateNodes = function (datas,callback) {
+          /*  let datas = [
+                {
+                    type:'ration',
+                    data:{
+                        projectID:1605,
+                        ID:"7b962fb0-1131-11e8-b3da-af725dadd7ae",
+                        name:'testRation'
+                    }
+                },
+                {
+                    type:'bills',
+                    data:{
+                        projectID:1605,
+                        ID:"af9f0081-1127-11e8-99a8-2fc02230b6e7",
+                        name:'安全文明施工专项费用123'
+                    }
+                }
+            ]*/
+            CommonAjax.post("/project/updateNodes",datas,function (data) {
+                if(callback){
+                    callback(data);
+                }
+            })
+        };
         /*        project.prototype.setBillsCalcMode = function (calcMode) {
                     this.property.billsCalcMode = calcMode;
                     this.initCalcFields();

+ 25 - 0
web/building_saas/main/js/views/installation_fee_view.js

@@ -928,9 +928,34 @@ $(function () {
         let me = installationFeeObj;
         me.refreshFeeDetailRow(me.feeDetailSheet.getSelections()[0].row);
     });
+
     $('#more_feeRule_close').click(function () {
         let me = installationFeeObj;
         me.refreshFeeDetailRow(me.feeDetailSheet.getSelections()[0].row);
     });
+/*    $('#testUpdate').click(function () {
+        let datas = [
+            {
+                type:'ration',
+                data:{
+                    projectID:1605,
+                    ID:"7b962fb0-1131-11e8-b3da-af725dadd7ae",
+                    name:'testRation000'
+                }
+            },
+            {
+                type:'bills',
+                data:{
+                    projectID:1605,
+                    ID:"af9f0081-1127-11e8-99a8-2fc02230b6e7",
+                    name:'安全文明施工专项费用'
+                }
+            }
+        ];
+        projectObj.project.updateNodes(datas,function (data) {
+            console.log(data);
+        });
+    });*/
+
 
 });