Przeglądaj źródła

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

zhangweicheng 7 lat temu
rodzic
commit
281db98c0b

+ 13 - 13
modules/bills_lib/models/bills_lib_interfaces.js

@@ -65,7 +65,7 @@ billsLibDao.prototype.getStdBillsLib = function(callback){
 
 billsLibDao.prototype.createStdBillsLib = function(clibData, callback){
     counter.counterDAO.getIDAfterCount(counter.moduleName.billsLib, 1, function(err, result){
-        let billsLibId = result.value.sequence_value;
+        let billsLibId = result.sequence_value;
         let userAccount = clibData.userAccount;
         let billsLibName = clibData.name;
         let compilationId = clibData.compilationId;
@@ -1464,7 +1464,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                             cb(err);
                         }
                         else {
-                            let newJobId = result.value.sequence_value;
+                            let newJobId = result.sequence_value;
                             let newJobContent = {
                                 id: newJobId,
                                 billsLibId: billsLibId,
@@ -1521,7 +1521,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                             cb(err);
                         }
                         else {
-                            let newJobId = result.value.sequence_value;
+                            let newJobId = result.sequence_value;
                             let newJobContent = {
                                 id: newJobId,
                                 billsLibId: billsLibId,
@@ -1576,7 +1576,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                             cb(err);
                         }
                         else {
-                            let newItemId = result.value.sequence_value;
+                            let newItemId = result.sequence_value;
                             let newItemContent = {
                                 id: newItemId,
                                 billsLibId: billsLibId,
@@ -1631,7 +1631,7 @@ billsLibDao.prototype.pasteRel = function (data, callback) {
                             cb(err);
                         }
                         else {
-                            let newItemId = result.value.sequence_value;
+                            let newItemId = result.sequence_value;
                             let newItemContent = {
                                 id: newItemId,
                                 billsLibId: billsLibId,
@@ -1812,7 +1812,7 @@ billsLibDao.prototype.createJobContent = function(cJobData, callback){
                     cb(err)
                 }
                 else {
-                    let newJobId = result.value.sequence_value;
+                    let newJobId = result.sequence_value;
                     newJobContent = {
                         id: newJobId,
                         billsLibId: billsLibId,
@@ -2053,7 +2053,7 @@ billsLibDao.prototype.pasteJobs = function (data, callback) {
                         cb(err);
                     }
                     else {
-                        let newJobId = result.value.sequence_value;
+                        let newJobId = result.sequence_value;
                         jobObj.id = newJobId;
                         data.newJobId = newJobId
                         JobContent.create(jobObj, function(err){
@@ -2101,7 +2101,7 @@ billsLibDao.prototype.edCreateJob = function(data, callback){
                     cb(err, null);
                 }
                 else {
-                    let newJobId = result.value.sequence_value;
+                    let newJobId = result.sequence_value;
                     cb(null, newJobId);
                 }
             })
@@ -2180,7 +2180,7 @@ billsLibDao.prototype.edUpdateJob = function(data, callback){
                     cb(err, null);
                 }
                 else {
-                    let newJobId = result.value.sequence_value;
+                    let newJobId = result.sequence_value;
                     cb(null, newJobId);
                 }
             })
@@ -2270,7 +2270,7 @@ billsLibDao.prototype.createItemCharacter = function(cItemData, callback){
                     cb(err);
                 }
                 else{
-                    let newItemId = result.value.sequence_value;
+                    let newItemId = result.sequence_value;
                     newItemCharacter = {
                         id: newItemId,
                         billsLibId: billsLibId,
@@ -2696,7 +2696,7 @@ billsLibDao.prototype.pasteItems = function (data, callback) {
                         cb(err);
                     }
                     else{
-                        let newItemId = result.value.sequence_value;
+                        let newItemId = result.sequence_value;
                         itemObj.id = newItemId;
                         data.newItemId = newItemId;
                         ItemCharacter.create(itemObj, function(err){
@@ -2885,7 +2885,7 @@ billsLibDao.prototype.edCreateItem = function(data, callback){
                     cb(err, null);
                 }
                 else {
-                    let newItemId = result.value.sequence_value;
+                    let newItemId = result.sequence_value;
                     cb(null, newItemId);
                 }
             })
@@ -2964,7 +2964,7 @@ billsLibDao.prototype.edUpdateItem = function(data, callback){
                     cb(err, null);
                 }
                 else {
-                    let newItemId = result.value.sequence_value;
+                    let newItemId = result.sequence_value;
                     cb(null, newItemId);
                 }
             })

+ 1 - 1
modules/complementary_glj_lib/models/gljModel.js

@@ -217,7 +217,7 @@ class GljDao {
     static addGljItems (userId, compilationId, items, callback) {
         if (items && items.length > 0) {
             counter.counterDAO.getIDAfterCount(counter.moduleName.GLJ, items.length, function(err, result){
-                var maxId = result.value.sequence_value;
+                var maxId = result.sequence_value;
                 var arr = [];
                 for (var i = 0; i < items.length; i++) {
                     var obj = new complementaryGljModel(items[i]);

+ 1 - 1
modules/complementary_ration_lib/models/compleRationModel.js

@@ -385,7 +385,7 @@ class CompleRatoinDao {
      addRationItems(userID, compilationId, rationLibId, sectionId, items,callback){
         if (items && items.length > 0) {
             counter.counterDAO.getIDAfterCount(counter.moduleName.rations, items.length, function(err, result){
-                let maxId = result.value.sequence_value;
+                let maxId = result.sequence_value;
                 let arr = [];
                 for (let i = 0; i < items.length; i++) {
                     let obj = new compleRationModel(items[i]);

+ 1 - 1
modules/complementary_ration_lib/models/sectionTreeModel.js

@@ -14,7 +14,7 @@ class SectionTreeDao {
                 callback(err, null);
             }
             else {
-                callback(0, result.value.sequence_value);
+                callback(0, result.sequence_value);
             }
         });
 

+ 2 - 1
modules/pm/models/project_model.js

@@ -365,7 +365,8 @@ ProjectsDAO.prototype.beforeOpenProject = function (userId, projectId, updateDat
 
 ProjectsDAO.prototype.getNewProjectID = function (count, callback) {
     counter.counterDAO.getIDAfterCount(counter.moduleName.project, count, function (err, result) {
-        let highID = result.value.sequence_value;
+        console.log(result);
+        let highID = result.sequence_value;
         if (!err) {
             callback(0, '', {lowID: highID - count + 1, highID: highID});
         } else {

+ 1 - 1
modules/ration_repository/models/coe.js

@@ -71,7 +71,7 @@ coeListDAO.prototype.saveToCoeList = function(data, callback) {
 coeListDAO.prototype.addItems = function(addArr, callback) {
     if (addArr && addArr.length > 0) {
         counter.counterDAO.getIDAfterCount(counter.moduleName.coeList, addArr.length, function(err, result){
-            var maxId = result.value.sequence_value;
+            var maxId = result.sequence_value;
             for (var i = 0; i < addArr.length; i++) {
                 var obj = new coeListModel(addArr[i]);
                 obj.ID = (maxId - (addArr.length - 1) + i);

+ 2 - 2
modules/ration_repository/models/glj_repository.js

@@ -92,7 +92,7 @@ gljItemDAO.prototype.removeGljItems = function(rIds, callback) {
 gljItemDAO.prototype.addGljItems = function(repId, items, callback) {
     if (items && items.length > 0) {
         counter.counterDAO.getIDAfterCount(counter.moduleName.GLJ, items.length, function(err, result){
-            var maxId = result.value.sequence_value;
+            var maxId = result.sequence_value;
             var arr = [];
             for (var i = 0; i < items.length; i++) {
                 var obj = new gljItemModel(items[i]);
@@ -171,7 +171,7 @@ gljItemDAO.prototype.removeNodes =  function(nodeIds, preNodeId, preNodeNextId,
 gljItemDAO.prototype.createNewNode = function(repId, lastNodeId, nodeData, callback) {
     return counter.counterDAO.getIDAfterCount(counter.moduleName.GLJ, 1, function(err, result){
         nodeData.repositoryId = repId;
-        nodeData.ID = result.value.sequence_value;
+        nodeData.ID = result.sequence_value;
         var node = new gljTypeModel(nodeData);
         node.save(function (err, result) {
             if (err) {

+ 1 - 1
modules/ration_repository/models/ration_item.js

@@ -131,7 +131,7 @@ rationItemDAO.prototype.getRationItem = function (repId, code, callback) {
 rationItemDAO.prototype.addRationItems = function(rationLibId, sectionId, items,callback){
     if (items && items.length > 0) {
         counter.counterDAO.getIDAfterCount(counter.moduleName.rations, items.length, function(err, result){
-            var maxId = result.value.sequence_value;
+            var maxId = result.sequence_value;
             var arr = [];
             for (var i = 0; i < items.length; i++) {
                 var obj = new rationItemModel(items[i]);

+ 1 - 1
modules/ration_repository/models/ration_section_tree.js

@@ -28,7 +28,7 @@ rationChapterTreeDAO.prototype.getRationChapterTreeByRepId = function(repId,call
 rationChapterTreeDAO.prototype.createNewNode = function(libId, lastNodeId, nodeData,callback){
     counter.counterDAO.getIDAfterCount(counter.moduleName.rationTree, 1, function(err, result){
         nodeData.rationRepId = libId;
-        nodeData.ID = result.value.sequence_value;
+        nodeData.ID = result.sequence_value;
         var node = new rationChapterTreeModel(nodeData);
         node.save(function (err, result) {
             if (err) {

+ 1 - 1
modules/ration_repository/models/repository_map.js

@@ -61,7 +61,7 @@ rationRepositoryDao.prototype.getRepositoryById = function(repId,callback){
 rationRepositoryDao.prototype.addRationRepository = function( rationLibObj,callback){
     counter.counterDAO.getIDAfterCount(counter.moduleName.rationMap, 1, function(err, result){
         var rMap = createNewLibModel(rationLibObj);
-        rMap.ID = result.value.sequence_value;
+        rMap.ID = result.sequence_value;
         new rationRepository(rMap).save(function(err, result) {
             if (err) callback("Error", null)
             else

+ 1 - 1
modules/reports/controllers/rpt_tpl_controller.js

@@ -243,7 +243,7 @@ let mExport = {
         let params = JSON.parse(req.body.params),
             scope = params.scope;
         counter.counterDAO.getIDAfterCount(counter.moduleName.report, scope, function(err, result){
-            callback(req,res, false, "", result.value.sequence_value);
+            callback(req,res, false, "", result.sequence_value);
         });
     },
     createDftRptTpl: function(req, res) {

+ 1 - 1
modules/templates/models/bills_template.js

@@ -59,7 +59,7 @@ BillsTemplateDAO.prototype.updateTemplate = function (userID, tempType, datas, c
 };
 BillsTemplateDAO.prototype.getNewBillsTemplateID = function (count, callback) {
     counter.counterDAO.getIDAfterCount(counter.moduleName.template_bills, count, function (err, result) {
-        var highID = result.value.sequence_value;
+        var highID = result.sequence_value;
         if (!err) {
             callback(0, '', {lowID: highID - count + 1, highID: highID});
         } else {

+ 2 - 2
test/unit/counter/testCounter.js

@@ -31,8 +31,8 @@ test('test counter\'s usage 1:', function(t) {
 
 test('test counter\'s usage 2:', function(t) {
     counter.counterDAO.getIDAfterCount(counter.moduleName.report, 1, function(err, result){
-        console.log('result 2: ' + result.value.sequence_value);
-        t.equal(result.value.sequence_value, 1);
+        console.log('result 2: ' + result.sequence_value);
+        t.equal(result.sequence_value, 1);
         t.end();
     });
 })

+ 25 - 23
web/building_saas/main/js/models/calc_program.js

@@ -443,6 +443,11 @@ let calcTools = {
                 if(supply.code == composition.code && supply.name == composition.name && supply.unit == composition.unit &&
                     supply.specs == composition.specs && supply.type == composition.type ){
                     composition.basePrice = supply.unit_price.base_price;
+                    if (supply.supply == supplyType.BFJG){
+                        composition.supply = supply.supply;
+                        let Q = supply.quantity ? supply.quantity : 1;
+                        composition.supplyX = supply.supply_quantity / Q;
+                    }
                     return true;
                 }
             };
@@ -451,37 +456,34 @@ let calcTools = {
 
         let sum = 0;
         for (let glj of treeNode.data.gljList){
-            // 组成物的母体。母体如果有组成物,则母体无法作为甲供材料,无法设置,此时要看其组成物是否是甲供材料;母体如果没有组成物,则母体有可能成为甲供材料。
-            if (compT.includes(glj.type)) {
-                if (supplyGLJsIdx[glj.projectGLJID]) {  // 组成物的母体是甲供材料
-                    sum = (sum + glj.basePrice * glj.quantity).toDecimal(decimalObj.process);
+            let X = 1;    // 部分甲供系数(默认1,即完全甲供)
+            let tempSGLJ = supplyGLJsIdx[glj.projectGLJID];
+            // 当前材料是甲供材料:①普通 ②商品硂等不计组成物的母体材料
+            if (tempSGLJ) {
+                // 处理部分甲供
+                if (baseName.includes('甲供') && (tempSGLJ.supply == supplyType.BFJG)){
+                    let Q = tempSGLJ.quantity ? tempSGLJ.quantity : 1;
+                    X = tempSGLJ.supply_quantity / Q;
                 }
-                else{  // 组成物明细
+                sum = (sum + glj.basePrice * glj.quantity * X).toDecimal(decimalObj.process);
+            }
+            else{   // 当前材料不是甲供材料
+                if (compT.includes(glj.type)) {   // 混凝土等。组成物的母体,母体如果有组成物,则母体无法作为甲供材料,无法设置,此时要看其组成物是否是甲供材料;母体如果没有组成物,则母体有可能成为甲供材料。
                     let pGLJ = projectGLJ.getDataByID(glj.projectGLJID);
-                    let compositions = pGLJ.ratio_data;
+                    let compositions = pGLJ.ratio_data;    // 组成物明细
                     if (compositions.length > 0){
                         for (let c of compositions){
                             if (isSupply(c, supplyGLJs)) {
-                                sum = (sum + c.basePrice * c.consumption * glj.quantity).toDecimal(decimalObj.process);
+                                X = 1;
+                                if (baseName.includes('甲供') && (c.supply == supplyType.BFJG)){
+                                    X = c.supplyX;
+                                };
+                                sum = (sum + c.basePrice * c.consumption * glj.quantity * X).toDecimal(decimalObj.process);
                             }
-                        };
-                    }
-                }
-            }
-            else {
-                let tempSGLJ = supplyGLJsIdx[glj.projectGLJID];
-                if (tempSGLJ) {
-                    // 处理部分甲供
-                    if (baseName.includes('甲供') && (tempSGLJ.supply == supplyType.BFJG)){
-                        let Q = tempSGLJ.quantity ? tempSGLJ.quantity : 1;
-                        let X = tempSGLJ.supply_quantity / Q;
-                        sum = (sum + glj.basePrice * glj.quantity * X).toDecimal(decimalObj.process);
-                    }
-                    else
-                        sum = (sum + glj.basePrice * glj.quantity).toDecimal(decimalObj.process);
+                        }
+                    };
                 }
             };
-
         };
         sum = sum.toDecimal(decimalObj.ration.unitPrice);
         return sum;

+ 1 - 0
web/building_saas/pm/html/project-management.html

@@ -491,6 +491,7 @@
 <script src="/lib/popper/popper.min.js"></script>
 <script src="/lib/bootstrap/bootstrap.min.js"></script>
 <script src="/web/building_saas/js/global.js"></script>
+<script src="/public/web/PerfectLoad.js"></script>
 <script src="/public/web/date_util.js"></script>
 <script src="/web/building_saas/pm/js/pm_tree.js"></script>
 <script src="/public/web/tree_sheet/tree_sheet_helper.js"></script>

+ 21 - 7
web/building_saas/pm/js/pm_newMain.js

@@ -439,6 +439,15 @@ const projTreeObj = {
         this.addRow(node);
         return node;
     },
+    remove: function (sheet) {
+        let me = this;
+        me.renderSheetFuc(sheet, function () {
+            let rIdx = me.tree.items.indexOf(me.tree.selected);
+            sheet.deleteRows(rIdx - 1, me.tree.selected.posterityCount());
+            sheet.setRowCount(me.tree.items.length);
+            me.initSelection(sheet.getActiveRowIndex());
+        });
+    }
 };
 
 $(document).ready(function() {
@@ -688,6 +697,9 @@ $(document).ready(function() {
             UpdateProjectData(updateData, function () {
                 dialog.modal('hide');
                 projTreeObj.tree.removeNode(projTreeObj.tree.selected);
+                //delete view
+                let sheet = projTreeObj.workBook.getActiveSheet();
+                projTreeObj.remove(sheet);
             });
         }
     });
@@ -729,14 +741,14 @@ $(document).ready(function() {
 
     // 移动到按钮点击
     $('#move-to-btn').click(function () {
-        if (Tree && Tree.selected()) {
+        if (projTreeObj.tree && projTreeObj.tree.selected) {
             $('#move-to-dialog').modal('show');
         }
     });
 
     // 移动到窗口内容重组
     $('#move-to-dialog').on('show.bs.modal', function () {
-        movetoZTree = ConvertTreeToZtree(Tree, $('#treeDemo'), Tree.selected());
+        movetoZTree = ConvertTreeToZtree(projTreeObj.tree, $('#treeDemo'), projTreeObj.tree.selected);
     });
 
     // 移动到操作
@@ -744,7 +756,7 @@ $(document).ready(function() {
         let updateData = null;
         let dialog = $('#move-to-dialog');
         let target = GetTargetTreeNode($.fn.zTree.getZTreeObj('treeDemo'));
-        let cur = Tree.selected();
+        let cur = projTreeObj.tree.selected;
 
         if (!target) {
             dialog.modal('hide');
@@ -774,10 +786,10 @@ $(document).ready(function() {
                 updateType: 'update',
                 projectType: null
             };
-            updateData = GetUpdateData(null, parent, next, '', null, Tree.selected().id(), typeInfo);
+            updateData = GetUpdateData(null, parent, next, '', null, projTreeObj.tree.selected.id(), typeInfo);
             UpdateProjectData(updateData, function (data) {
                 dialog.modal('hide');
-                Tree.move(Tree.selected(), parent, next);
+                projTreeObj.tree.move(projTreeObj.tree.selected, parent, next);
             });
         } else {
             dialog.modal('hide');
@@ -916,6 +928,7 @@ function init() {
     billValuation = billValuation.replace(/\n/g, '\\n');
     rationValuation = rationValuation.replace(/\n/g, '\\n');
     //init spread and pmTree
+    $.bootstrapLoading.start();
     GetAllProjectData(function (datas) {
         projTreeObj.getShowData(datas);
         projTreeObj.tree = pmTree.createNew(projTreeObj.setting, datas);
@@ -924,6 +937,7 @@ function init() {
         projTreeObj.showTreeData(projTreeObj.tree.items, projTreeObj.setting.header);
         //初始选择
         projTreeObj.initSelection(0);
+        $.bootstrapLoading.end();
     });
     engineering = engineeringList !== null && engineeringList !== undefined ? JSON.parse(engineeringList) : [];
 }
@@ -1857,12 +1871,12 @@ function ConvertTreeToZtree(Tree, zTreeObj, filterNode) {
  * @return {object}
  */
 function GetTargetTreeNode(zTreeObj) {
-    if (!zTreeObj || !Tree) {
+    if (!zTreeObj || !projTreeObj.tree) {
         return null;
     }
 
     let ztree_selected = zTreeObj.getSelectedNodes().length === 0 ? null : zTreeObj.getSelectedNodes()[0];
-    return ztree_selected ? Tree.findNode(ztree_selected.id) : null;
+    return ztree_selected ? projTreeObj.tree.findNode(ztree_selected.id) : null;
 }
 
 /**

+ 1 - 1
web/building_saas/pm/js/pm_tree.js

@@ -233,7 +233,7 @@ const pmTree = {
                     }
                     node.parent.children.splice(iIndex, 1);
                 }
-                _view._removeNodesRowDom([node]);
+                sortTreeItems(this);
             };
 
             Tree.prototype.loadData = function (arrData) {