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

Merge remote-tracking branch 'origin/master'

vian пре 6 година
родитељ
комит
e43770965d

+ 25 - 3
modules/glj/facade/glj_facade.js

@@ -9,7 +9,8 @@ module.exports={ //先导出后require可以解决循环引用问题
     updateMaterialCalc:updateMaterialCalc,
     updateMaterialCalcTasks:updateMaterialCalcTasks,
     updateUserFreight:updateUserFreight,
-    getUserFreights:getUserFreights
+    getUserFreights:getUserFreights,
+    insertElectrovalence:insertElectrovalence
 };
 
 const mongoose = require('mongoose');
@@ -24,7 +25,7 @@ let original_calc_model = mongoose.model('original_calc');
 let freight_calc_model = mongoose.model('freight_calc');
 let unit_price_model = mongoose.model('unit_price');
 let user_freights_model = mongoose.model('user_freights');
-
+let std_glj_lib_model = mongoose.model('std_glj_lib_map');
 
 let ration_glj = require('../../ration_glj/facade/ration_glj_facade');
 const uuidV1 = require('uuid/v1');
@@ -57,6 +58,8 @@ async function changeUnitFile(projectData,unitFile,type,userID) {
             insertData.user_id = userID;
             delete insertData._id;
             delete insertData.ID;
+            currentUnitPriceId = changeUnitPriceId; //从其它建设项目复制时,这个ID要变成被选中的来源的单价文件ID
+
         }
         // 获取即将更改的单价文件信息
         let targetUnitPriceFile = type === 0 ? await unitPriceFileModel.findDataByCondition({id: changeUnitPriceId}) :
@@ -159,7 +162,7 @@ async function handleVvTaxForChang(unitFileID,newVvTaxFileID) {//切换车船税
 async function addMixRatioForNew(projectID,unitFileId,engineerID,ext){
 /*    1050001机械工	工日	机上人工/ 3003001	重油	kg	普通材料/ 3003002 汽油	93号	kg	普通材料
     3003003	柴油	0号,-10号,-20号	kg	普通材料/  3003004	丙烷	kg	普通材料/ 3005001	煤	t	普通材料
-    3005002	电	kw·h	普通材料/  3005004	水	m3	普通材料/ 3005005	液化天然气	m3	普通材料
+    3005002	电	kW·h	普通材料/  3005004	水	m3	普通材料/ 3005005	液化天然气	m3	普通材料
      02JXF	折旧费	元	机械组成物/ 03WHF	检修费	元	机械组成物/    04ACFZF	维护费	元	机械组成物
   05QT	安拆辅助费	元	机械组成物/ 80CCS	车船税	元	机械组成物*/
     let mixCodes = ['1051001','3003001','3003002','3003003','3003004','3005001','3005002','3005004','3005005','02JXF','03WHF','04ACFZF','05QT','80CCS'];
@@ -208,6 +211,25 @@ async function getUserFreights(req) {
     return await user_freights_model.find({"userID":req.session.sessionUser.id,"compilationID": req.session.sessionCompilation._id}).lean();
 }
 
+//插入综合电价中的属性
+async function insertElectrovalence(data,compilationID) {
+    let result = {};
+    let projectGljModel = new GLJListModel();
+    let lib = await std_glj_lib_model.findOne({compilationId:compilationID}).lean();
+    let stdGLJs = await std_glj_lib_gljList_model.find({'repositoryId':lib.ID,'code':data.code}).lean();
+    for(let std of stdGLJs){
+        let sIndex = projectGljModel.getIndex(std,['code','specs','unit','gljType']);//机械台班下拉列表名字里kw和数据库里名字kw大小写不一致,忽略名字做对应
+        if(sIndex == projectGljModel.getIndex(data,['code','specs','unit','type'])){
+            let tem = {projectID:data.projectID};
+            ration_glj.setPropertyFromStd(tem,std);
+            result.projetcGLJData =  await projectGljModel.addList(ration_glj.getGLJSearchInfo(tem));
+        }
+    }
+
+    return result;
+}
+
+
 async function updateMaterialCalcTasks(data) {
     let freightTasks = [];
     let priceTasks = [];

+ 1 - 1
modules/glj/models/glj_list_model.js

@@ -362,7 +362,7 @@ class GLJListModel extends BaseModel {
                     }
                 }
             }
-            projectGljData.subList=CompositionGLJ;
+            projectGljData._doc.subList=CompositionGLJ;
             // 新增单价文件
             let [unitPriceInsertData, isAdd] = await unitPriceModel.addUnitPrice(data, unitPriceFileId);
 

+ 1 - 1
web/building_saas/main/js/models/quantity_detail.js

@@ -748,7 +748,7 @@ var quantity_detail = {
                                 times = 1;
                             }
                             rationNode.updateData.quantity = scMathUtil.roundForObj(ration_value / times,getDecimal("quantity",rationNode));
-                            rationNode.updateData.contain = value?scMathUtil.roundForObj(rationNode.data.quantity/value,getDecimal("process")):0;
+                            rationNode.updateData.contain = value?scMathUtil.roundForObj(rationNode.updateData.quantity/value,getDecimal("process")):0;
                             rationNode.changed = true;
                             needUpdateChildren.push(rationNode);
                             if (rationNode.children.length>0){//如果有子工料机