Преглед изворни кода

人材机删除不重算(之前需求改成了,能删除的人材机都是没用被引用的)

zhongzewei пре 7 година
родитељ
комит
49f0341564

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

@@ -79,11 +79,11 @@ gljItemDAO.prototype.getStdCompleGljItems = async function (compleGljIds, stdGlj
     try{
         let rst = [];
         if(compleGljIds.length > 0){
-            let compleGlj = await compleGljModel.find({ID: {$in: compleGljIds}, deleteInfo: null}, {ID: 1, gljType: 1, basePrice: 1});
+            let compleGlj = await compleGljModel.find({ID: {$in: compleGljIds}}, {ID: 1, gljType: 1, basePrice: 1});
             rst = rst.concat(compleGlj);
         }
         if(stdGljIds.length > 0){
-            let stdGlj = await gljModel.find({ID: {$in: stdGljIds}, $or: [{deleted: null}, {deleted: false}]}, {ID: 1, gljType: 1, basePrice: 1});
+            let stdGlj = await gljModel.find({ID: {$in: stdGljIds}}, {ID: 1, gljType: 1, basePrice: 1, priceProperty: 1});
             rst = rst.concat(stdGlj);
         }
         callback(0, rst);

+ 0 - 1
modules/std_glj_lib/controllers/gljController.js

@@ -13,7 +13,6 @@ const gljModel = mongoose.model('std_glj_lib_gljList');
 const stdRationModel = mongoose.model('std_ration_lib_ration_items');
 const cplRationModel = mongoose.model('complementary_ration_items');
 const fs = require('fs');
-
 let gljDao = new GljDao();
 let callback = function(req, res, err, message, data){
     res.json({error: err, message: message, data: data});

+ 43 - 0
modules/std_glj_lib/models/gljModel.js

@@ -8,12 +8,55 @@ const gljClassModel = mongoose.model('std_glj_lib_gljClass');
 const gljClassTemplateModel = mongoose.model('std_glj_lib_gljClassTemplate');
 const compilationModel = mongoose.model('compilation');
 const scMathUtil = require('../../../public/scMathUtil').getUtil();
+const rationModel = mongoose.model('std_ration_lib_ration_items');
 import {OprDao} from  "./gljMapModel";
 import moment from "moment";
 import counter from "../../../public/counter/counter";
 import async from "async";
 
 class GljDao  extends OprDao{
+    //test
+    async deSomething (libID){
+        let pClass = await gljClassModel.find({repositoryId: libID, Name: '2013全省材料预算价格'});
+        let classIDs = [],
+            pClassIDs = [];
+        for (let p of pClass) {
+            let p1Class = await gljClassModel.find({repositoryId: libID, ParentID: p.ID});
+            for (let c of p1Class) {
+                pClassIDs.push(c.ID);
+            }
+        }
+        let subClass = await gljClassModel.find({repositoryId: libID, ParentID: {$in: pClassIDs}});
+        for (let s of subClass) {
+            classIDs.push(s.ID);
+        }
+        let subSonClass = await gljClassModel.find({repositoryId: libID, ParentID: {$in: classIDs}});
+        for (let ss of subSonClass){
+            classIDs.push(ss.ID);
+        }
+        classIDs = Array.from(new Set(classIDs));
+        //相关人材机
+        let gljs = await gljModel.find({repositoryId: libID, gljClass: {$in: classIDs}}, '-_id gljClass ID');
+        let gljIDs = [];
+        for (let g of gljs) {
+            gljIDs.push(g.ID);
+        }
+        let gljLib = await gljMapModel.findOne({ID: libID});
+        let refRationLibIDs = [];
+        for (let rl of gljLib.rationLibs) {
+            refRationLibIDs.push(rl.ID);
+        }
+        let i = 0;
+        for (let rationLibID of refRationLibIDs) {
+            await rationModel.update({rationRepId: rationLibID, 'rationGljList.gljId': {$in: gljIDs}}, {$pull: {rationGljList: {gljId: {$in: gljIDs}}}}, {multi: true});
+            console.log(`i++======================`);
+            console.log(i++);
+        }
+        await gljModel.remove({ID: {$in: gljIDs}});
+        console.log('end');
+
+    }
+    //test
     getGljTypes (gljLibId, callback){
         gljClassModel.find({"repositoryId": gljLibId, "$or": [{"isDeleted": null}, {"isDeleted": false}, {deleted: false} ]},function(err,data){
             if(err) callback("获取工料机类型错误!",false)

+ 9 - 2
web/maintain/std_glj_lib/js/glj.js

@@ -1007,10 +1007,10 @@ let repositoryGljObj = {
                                 }
                             }
                             me.mixUpdateRequest(updateArr, [], removeIDs);
-                            if(updateBasePrcArr.length > 0 && me.rationLibs.length > 0){
+                           /* if(updateBasePrcArr.length > 0 && me.rationLibs.length > 0){
                                 me.updateRationBasePrcRq(updateBasePrcArr);
                                 me.workBook.focus(true);
-                            }
+                            }*/
                         });
                     }
                 }, function () {
@@ -1385,6 +1385,7 @@ let repositoryGljObj = {
         }
     },
     onClipboardPasted: function(e, info) {
+        $.bootstrapLoading.start();
         let me = repositoryGljObj;
         let updateArr = [], addArr = [];
         let items = sheetCommonObj.analyzePasteData(me.setting, info);
@@ -1546,8 +1547,14 @@ let repositoryGljObj = {
                     sheetCommonObj.cleanData(gljComponentOprObj.workBook.getSheet(0), gljComponentOprObj.setting, -1);
                     sheetsOprObj.showData(gljComponentOprObj, gljComponentOprObj.workBook.getSheet(0), gljComponentOprObj.setting, me.currentComponent);
                 }
+                if ($.bootstrapLoading.isLoading()) {
+                    $.bootstrapLoading.end();
+                }
             },
             error:function(err){
+                if ($.bootstrapLoading.isLoading()) {
+                    $.bootstrapLoading.end();
+                }
                 console.log(err);
                 alert("保存失败");
             }