zhangweicheng 6 éve
szülő
commit
764f2d8fe2

+ 11 - 2
modules/main/controllers/bills_controller.js

@@ -457,9 +457,18 @@ function  generateUpdateTasks(data,projectID,user_id) {
             }
         };
         if(updateData[key]===true){
-            task.updateOne.update={
+            //原先是假删除,现在改成真删除
+            task = {
+                deleteOne:{
+                    filter:{
+                        ID:key,
+                        projectID:projectID
+                    }
+                }
+            }
+           /* task.updateOne.update={
                 deleteInfo:deleteInfo
-            };
+            };*/
         }else {
             task.updateOne.update=updateData[key];
         }

+ 11 - 5
modules/main/controllers/ration_controller.js

@@ -1,9 +1,10 @@
 /**
  * Created by jimiz on 2017/4/9.
  */
-var rationData = require('../models/ration');
-var ration_glj_facade = require('../../ration_glj/facade/ration_glj_facade');
-var ration_facade = require('../facade/ration_facade');
+let rationData = require('../models/ration');
+let ration_glj_facade = require('../../ration_glj/facade/ration_glj_facade');
+let ration_ass_facade = require('../../ration_glj/facade/ration_ass_facade');
+let ration_facade = require('../facade/ration_facade');
 let bill_facade = require('../facade/bill_facade');
 let project_facade = require("../facade/project_facade");
 let logger = require("../../../logs/log_helper").logger;
@@ -65,10 +66,15 @@ let controller = {
         if(data.bills.update.length > 0)  prepareUpdateNodes(data.bills.update,updateDatas,"bills");
         applyTasks.push(project_facade.updateNodes(updateDatas));
         let [rationResult,billsResult,updates] = await Promise.all(applyTasks);
-
-
         return {rationResult:rationResult,billsResult:billsResult,updateDatas:updateDatas};
+    },
+    //更新辅助定额
+    updateRationAss:async function(req){
+        let data = req.body.data;
+        data = JSON.parse(data);
+        return ration_ass_facade.updateRationAss(data);
     }
+
 };
 
 function prepareUpdateNodes(datas,nodes,type) {

+ 11 - 2
modules/main/facade/bill_facade.js

@@ -208,7 +208,16 @@ function generateBillTasks(data) {
     let deleteInfo={deleted: true, deleteDateTime: new Date(), deleteBy: user_id};
     if(data.delete && data.delete.length > 0){
         for(let d_ID of data.delete){
-            let task={
+            //原先是假删除,现在改成真删除
+            let task = {
+                deleteOne:{
+                    filter:{
+                        ID:d_ID,
+                        projectID:projectID
+                    }
+                }
+            };
+          /*  let task={
                 updateOne:{
                     filter:{
                         ID:d_ID,
@@ -218,7 +227,7 @@ function generateBillTasks(data) {
                         deleteInfo:deleteInfo
                     }
                 }
-            };
+            };*/
             tasks.push(task);
         }
     }

+ 11 - 2
modules/main/facade/project_facade.js

@@ -99,7 +99,16 @@ function generateTasks(data,userID) {
     let deleteInfo={deleted: true, deleteDateTime: new Date(), deleteBy: userID};
     if(data.delete && data.delete.length > 0){
         for(let bd of data.delete){
-            let task={
+            //原先是假删除,现在改成真删除
+            let task = {
+                deleteOne:{
+                    filter:{
+                        ID:bd.ID,
+                        projectID:bd.projectID
+                    }
+                }
+            };
+           /* let task={
                 updateOne:{
                     filter:{
                         ID:bd.ID,
@@ -109,7 +118,7 @@ function generateTasks(data,userID) {
                         deleteInfo:deleteInfo
                     }
                 }
-            };
+            };*/
             tasks.push(task);
         }
     }

+ 1 - 0
modules/main/facade/ration_facade.js

@@ -562,6 +562,7 @@ function createRationAss(std) {
         for(let i=0;i<std.rationAssList.length;i++){
             let ass = std.rationAssList[i];
             ass._doc.actualValue = ass.stdValue;
+            if(_.isString(ass._doc.assistCode)) ass._doc.assistCode = ass._doc.assistCode.replace("\n","");
             rationAssList.push(ass);
         }
     }

+ 2 - 1
modules/main/models/bills.js

@@ -71,7 +71,8 @@ class billsModel extends baseModel {
                         break;
                     case commonConsts.UT_DELETE:
                         doc.updateData.deleteInfo = {deleted: true, deleteDateTime: new Date(), deleteBy: user_id};
-                        bills.update({projectID: doc.updateData.projectID, ID: doc.updateData.ID}, doc.updateData, cb);
+                       //bills.update({projectID: doc.updateData.projectID, ID: doc.updateData.ID}, doc.updateData, cb);
+                        bills.deleteOne({projectID: doc.updateData.projectID, ID: doc.updateData.ID},cb);
                         break;
                 }
             }

+ 2 - 2
modules/main/models/project.js

@@ -86,8 +86,8 @@ Project.prototype.save = function(datas, callback){
     asyncTool.parallel(functions, function(err, results) {
         if (!err){
             callback(null, '', results)
-        }
-        else{
+        } else{
+            console.log(err);
             callback(1, 'save project failed', null)
         }
     });

+ 1 - 0
modules/main/routes/ration_route.js

@@ -16,5 +16,6 @@ module.exports = function (app) {
     rationRouter.post('/getSameSectionRations', rationController.action);
     rationRouter.post('/getDefaultProgramID', rationController.action);
     rationRouter.post('/applyTemplate', rationController.action);
+    rationRouter.post('/updateRationAss', rationController.action);
     app.use('/ration', rationRouter);
 };

+ 18 - 1
modules/ration_glj/facade/ration_ass_facade.js

@@ -13,7 +13,8 @@ let glj_calculate_facade = require('./glj_calculate_facade');
 
 module.exports={
     save:save,
-    getData:getData
+    getData:getData,
+    updateRationAss
 }
 
 let operationMap={
@@ -26,6 +27,22 @@ function create_ration_ass(user_id,datas) {
 
 };
 
+async function updateRationAss(data){
+    let result =await doRationAssAdjust(data.query.ration,data.doc);
+    let ration_glj ={
+        quantityRefresh:true,
+        glj_result:result.cal_result.glj_result
+    }
+    let ration = {
+        ID:result.cal_result.rationID,
+        adjustState:result.cal_result.adjustState,
+        name:result.cal_result.rationName,
+        rationAssList:data.doc.rationAssList
+    };
+    return {ration_glj:ration_glj,ration:ration}
+}
+
+
 function update_ration_ass(user_id,datas) {
     return function (callback) {
         let editAss = datas.query.editAss;

+ 2 - 1
modules/ration_glj/facade/ration_glj_facade.js

@@ -316,7 +316,8 @@ async function doCustomQuantityUpdate(datas) {
 
 function delete_ration_glj(user_id, datas) {
     return function (callback) {
-        callback(new Error("删除子数据失败!"),null)
+        deleteByID(datas, callback);
+        //callback(new Error("删除子数据失败!"),null)
         //这个方法已经不用,先注释,稳定后再删除
        /* if (datas.deleteType == "RATION") {
             deleteByRation(datas, callback);

+ 7 - 7
web/building_saas/main/html/main.html

@@ -156,13 +156,13 @@
                           <li class="nav-item" id = "li_stdRationTab">
                               <a class="nav-link px-1 right-nav-link" href="javascript:void(0)" id="stdRationTab" relaPanel="#de">定额库</a>
                           </li>
-                  <!--   <li class="nav-item dropdown show">
-                <a class="nav-link dropdown-toggle more" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="true">更多</a>
-                <div class="dropdown-menu show" x-placement="bottom-start" style="position: absolute; transform: translate3d(-107px, 32px, 0px); top: 0px; left: 0px; will-change: transform;">
-                <a class="dropdown-item right-nav-link" href="javascript:void(0)" id="locateTab" relapanel="#locate">查找定位</a><a class="dropdown-item right-nav-link" href="javascript:void(0)" id="blockLibTab" relapanel="#kmbk">块模板库</a>
-                &lt;!&ndash; <a class="dropdown-item" data-toggle="tab" href="#sqpz" role="tab">书签批注</a>&ndash;&gt;
-                </div>
-                </li>-->
+                          <li class="nav-item dropdown">
+                              <!--<a class="nav-link dropdown-toggle more" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">更多</a>-->
+                              <div class="dropdown-menu">
+                                  <a class="dropdown-item  right-nav-link"  href="javascript:void(0)" id = 'locateTab' relaPanel="#locate">查找定位</a>
+                                  <!-- <a class="dropdown-item" data-toggle="tab" href="#sqpz" role="tab">书签批注</a>-->
+                              </div>
+                          </li>
                           <script>
                               //2018-11-23  zhang 模板库移动到更多下拉框
                               if (G_SHOW_BLOCK_LIB){

+ 10 - 2
web/building_saas/main/js/models/ration_ass.js

@@ -99,6 +99,7 @@ var ration_ass = {
             return updateData;
         };
         ration_ass.prototype.updateActualValue=function(assList,index,newVal){
+            let me = this;
             var selected = projectObj.project.mainTree.selected;
             assList[index].actualValue=newVal;
             var rationname = selected.data.name;
@@ -116,8 +117,15 @@ var ration_ass = {
             };
 
             var updateData = this.getUpdateData('ut_update',query,doc);
-
-            project.pushNow('updateRationAss',[this.getSourceType()],updateData);
+            $.bootstrapLoading.start();
+            CommonAjax.post("/ration/updateRationAss",updateData[0],function (result) {
+                $.bootstrapLoading.end();
+                let nodes = project.updateNodesCache([{type:ModuleNames.ration,data:result.ration}]);
+                zmhs_obj.showAssData();
+                projectObj.mainController.refreshTreeNode(nodes, false);
+                project.ration_glj.refreshAfterUpdate(result.ration_glj);
+            })
+           // project.pushNow('updateRationAss',[this.getSourceType()],updateData);
 
         };
         return new ration_ass(project);

+ 1 - 1
web/building_saas/main/js/views/project_view.js

@@ -1391,7 +1391,7 @@ var projectObj = {
                     callback: function () {
                         var selected = project.mainTree.selected;
                         if(selected.sourceType == project.Bills.getSourceType()&&selected.data.type==billType.FB&&selected.children.length<=0){//选中的是分部,并且没有子项,直接删除
-                            project.Bills.deleteSelectedNode();
+                            project.Bills.deleteSelectedNodes();//project.Bills.deleteSelectedNode();
                         }else {
                             $("#delete_row").modal({show:true});//弹出删除提示框;
                         }

+ 1 - 1
web/building_saas/main/js/views/zmhs_view.js

@@ -282,7 +282,7 @@ let zmhs_obj = {
         }
         if (isValidate) {
             newval = scMathUtil.roundTo(newval, -2);
-            projectObj.project.ration_ass.updateActualValue(me.assSheetData, args.row, newval)
+            projectObj.project.ration_ass.updateActualValue(me.assSheetData, args.row, newval);
         } else {
             newval = recode.actualValue;
             me.assSheet.getCell(args.row, args.col).value(newval);