Selaa lähdekoodia

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

chenshilong 7 vuotta sitten
vanhempi
commit
a37e838669

+ 1 - 7
modules/pm/controllers/pm_controller.js

@@ -248,14 +248,8 @@ module.exports = {
         request.session.sessionCompilation = compilationData;
         sessionCompilation = request.session.sessionCompilation;
         //更新用户的使用过的费用定额列表
-        let userData = await userModel.findOne({_id: mongoose.Types.ObjectId(request.session.sessionUser.id)}, '-_id used_list');
         //是否第一次进入该费用定额
-        let isFirst = false;
-        if (userData) {
-            isFirst = !_.find(userData.used_list, function (o) {
-                return o.compilationId === compilationData._id.toString();
-            });;
-        }
+        let isFirst = await pm_facade.isFirst(request.session.sessionUser.id, compilationData._id.toString());
         // 清单计价
         let billValuation = sessionCompilation.bill_valuation !== undefined ?
             sessionCompilation.bill_valuation : [];

+ 30 - 8
modules/pm/facade/pm_facade.js

@@ -21,6 +21,7 @@ module.exports={
     projectType: projectType,
     getPosterityProjects: getPosterityProjects,
     isShare: isShare,
+    isFirst: isFirst,
     getShareInfo: getShareInfo,
     prepareInitialData: prepareInitialData,
     changeFile:changeFile
@@ -403,6 +404,12 @@ async function copyRationSubList(originalPID,newProjectID,billIDMap,rationIDMap,
         s._doc.billID&&billIDMap[s._doc.billID]?s._doc.billID = billIDMap[s._doc.billID]:'';
         s._doc.billsItemID&&billIDMap[s._doc.billsItemID]?s._doc.billsItemID = billIDMap[s._doc.billsItemID]:'';
         s._doc.projectGLJID&&projectGLJIDMap[s._doc.projectGLJID]?s._doc.projectGLJID = projectGLJIDMap[s._doc.projectGLJID]:'';
+        if(s._doc.templateList && s._doc.templateList.length > 0 ){
+            for(let t of s._doc.templateList){
+                if(t.billID && billIDMap[t.billID]) t.billID =  billIDMap[t.billID];
+                if(t.fxID && billIDMap[t.fxID]) t.fxID =  billIDMap[t.fxID];
+            }
+        }
         newList.push(s._doc);
     }
     await insertMany(newList,model);
@@ -925,17 +932,32 @@ async function isShare(userId, project){
     return false;
 }
 
+//用户是否第一次进入费用定额
+async function isFirst(userId, compilationId) {
+    let userData = await userModel.findOne({_id: mongoose.Types.ObjectId(userId)}, '-_id used_list');
+    let isFirst = false;
+    if (userData) {
+        isFirst = !_.find(userData.used_list, function (o) {
+            return o.compilationId === compilationId;
+        });;
+    }
+    return isFirst;
+}
+
 //用户第一次进入费用定额的数据准备
 async function prepareInitialData(userId, compilation, example) {
-    let prepareTask = [
-        updateUsedList(userId, compilation),
-        copyCompleRationSection(userId, compilation),
-        copyCompleGljSection(userId, compilation)
-    ];
-    if (example && example.length > 0) {
-        prepareTask.push(copyExample(userId, compilation, example));
+    let first = await isFirst(userId, compilation);
+    if (first) {
+        await updateUsedList(userId, compilation);
+        let prepareTask = [
+            copyCompleRationSection(userId, compilation),
+            copyCompleGljSection(userId, compilation)
+        ];
+        if (example && example.length > 0) {
+            prepareTask.push(copyExample(userId, compilation, example));
+        }
+        await Promise.all(prepareTask);
     }
-    await Promise.all(prepareTask);
 }
 
 async function updateUsedList(userId, compilation) {

+ 2 - 2
modules/ration_glj/facade/glj_calculate_facade.js

@@ -373,13 +373,13 @@ function getCalculateResult(quantify,c,coe,gljList,decimal) {
         case '+*' :
             o_glj = getCoeSelectedGLJ(gljList,coe.original_code,coe.select_code);
             if(o_glj){
-              q = q +  c.amount * scMathUtil.roundForObj(o_glj.quantity,decimal);
+              q = q +  c.amount * scMathUtil.roundForObj(o_glj.rationItemQuantity,decimal);
             }
             break;
         case '-*' :
             o_glj = getCoeSelectedGLJ(gljList,coe.original_code,coe.select_code);
             if(o_glj){
-                q = q -  c.amount * scMathUtil.roundForObj(o_glj.quantity,decimal);
+                q = q -  c.amount * scMathUtil.roundForObj(o_glj.rationItemQuantity,decimal);
             }
             break;
         case '=' :

+ 3 - 3
web/building_saas/main/js/views/glj_col.js

@@ -8,7 +8,7 @@ let gljCol = {
             {headerName: "名称", headerWidth: 160, dataCode: "name", dataType: "String",cellType:'tipsCell'},
             {headerName: "规格型号", headerWidth: 120, dataCode: "specs", dataType: "String", hAlign: "left",cellType:'tipsCell'},
             {headerName: "单位", headerWidth: 45, dataCode: "unit", dataType: "String", hAlign: "center"},
-            {headerName: "市场价", headerWidth: 65, dataCode: "marketPrice", dataType: "Number", hAlign: "right"},//, decimalField: "glj.unitPrice"
+            {headerName: "预算价", headerWidth: 65, dataCode: "marketPrice", dataType: "Number", hAlign: "right"},//, decimalField: "glj.unitPrice"
             {headerName: "调整价", headerWidth: 65, dataCode: "adjustPrice", dataType: "Number", hAlign: "right"},//, decimalField: "glj.unitPrice"1
             {headerName: "自定消耗", headerWidth: 65, dataCode: "customQuantity", dataType: "Number", hAlign: "right", decimalField: "glj.quantity"},
             {headerName: "消耗量", headerWidth: 65, dataCode: "quantity", dataType: "Number", hAlign: "right", decimalField: "glj.quantity"},
@@ -38,7 +38,7 @@ let gljCol = {
             {headerName: "规格型号", headerWidth: 120, dataCode: "specs", hAlign: "left", dataType: "String",cellType:'tipsCell'},
             {headerName: "单位", headerWidth: 45, dataCode: "unit", hAlign: "center", dataType: "String"},
             {headerName: "类型", headerWidth: 45, dataCode: "short_name", hAlign: "center", dataType: "String"},
-            {headerName: "市场价", headerWidth: 70, dataCode: "marketPrice", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:"glj.unitPrice"
+            {headerName: "预算价", headerWidth: 70, dataCode: "marketPrice", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:"glj.unitPrice"
             {headerName: "调整价", headerWidth: 70, dataCode: "adjustPrice", hAlign: "right", dataType: "Number"},//,decimalField:"glj.unitPrice"
             {headerName: "定额价", headerWidth: 70, dataCode: "basePrice", hAlign: "right", dataType: "Number",validator:"number"},//decimalField:'glj.unitPrice',
             {headerName: "总消耗量", headerWidth: 90, dataCode: "quantity", hAlign: "right", dataType: "Number",decimalField:'glj.quantity'},
@@ -67,7 +67,7 @@ let gljCol = {
             {headerName: "类型", headerWidth: 45, dataCode: "short_name", hAlign: "center", dataType: "String"},
             {headerName: "定额价", headerWidth: 80, dataCode: "basePrice", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:'glj.unitPrice'
             {headerName: "调整价", headerWidth: 80, dataCode: "adjustPrice", hAlign: "right", dataType: "Number"},//,decimalField:"glj.unitPrice"
-            {headerName: "市场价", headerWidth: 80, dataCode: "marketPrice", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:"glj.unitPrice"
+            {headerName: "预算价", headerWidth: 80, dataCode: "marketPrice", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:"glj.unitPrice"
             {headerName: "消耗量", headerWidth: 80, dataCode: "consumption", hAlign: "right", dataType: "Number",decimalField:"glj.quantity",validator:"number"}
         ],
         view: {

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

@@ -28,7 +28,7 @@ projectGljObject={
             {headerName: "规格型号", headerWidth: 160, dataCode: "specs", hAlign: "left", dataType: "String"},
             {headerName: "单位", headerWidth: 45, dataCode: "unit", hAlign: "center", dataType: "String"},
             {headerName: "定额价", headerWidth: 70, dataCode: "basePrice", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:'glj.unitPrice'
-            {headerName: "市场价", headerWidth: 70, dataCode: "marketPrice", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:"glj.unitPrice"
+            {headerName: "预算价", headerWidth: 70, dataCode: "marketPrice", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:"glj.unitPrice"
             {headerName: "总消耗量", headerWidth: 70, dataCode: "quantity", hAlign: "right", dataType: "Number",decimalField:'glj.quantity'},
             {headerName: "三材系数", headerWidth: 70, dataCode: "materialCoe", hAlign: "right", dataType: "Number",validator:"number"},//,decimalField:'material'
             {headerName: "三材量", headerWidth: 100, dataCode: "materialQuantity", hAlign: "right", dataType: "Number",decimalField:'glj.quantity'},

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

@@ -6,7 +6,6 @@
     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
     <meta http-equiv="x-ua-compatible" content="ie=edge">
     <title>项目管理-纵横建筑云计价</title>
-    <!-- inject:css -->
     <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css">
     <link rel="stylesheet" href="/web/building_saas/css/main.css">
     <link rel="stylesheet" href="/web/building_saas/css/custom.css">
@@ -15,7 +14,6 @@
     <!--zTree-->
     <link rel="stylesheet" href="/lib/ztree/css/zTreeStyle.css" type="text/css">
     <link rel="stylesheet" href="/lib/jquery-contextmenu/jquery.contextMenu.css">
-    <!-- endinject -->
     <link rel="shortcut icon" href="/web/building_saas/css/favicon.ico">
     <link rel="icon" type="image/gif" href="/web/building_saas/css/animated_favicon1.gif">
     <script>