Bladeren bron

清单专项材料及工程设备导出

Tony Kang 3 jaren geleden
bovenliggende
commit
928bb01ce8
1 gewijzigde bestanden met toevoegingen van 62 en 3 verwijderingen
  1. 62 3
      web/building_saas/standard_interface/export/shandong_common.js

+ 62 - 3
web/building_saas/standard_interface/export/shandong_common.js

@@ -1219,18 +1219,44 @@ INTERFACE_EXPORT = (() => {
       function materialEstimate(tenderProject) {
         let mEstNode = new emptyElement('MaterialEstimate');
         let items = [];
+        let billItems = [];
+        let itemNo = 1;
         //材料暂估价明细
+        tenderProject.Bills.datas.forEach((bill)=> {
+          if (bill.specialProvisional === '材料暂估') {
+            billItems.push(bill);
+          }
+        });
+        if (billItems.length > 0) {
+          billItems.forEach((bill)=> {
+            let mEstItemNode = new emptyElement('Item');
+            mEstNode.children.push(mEstItemNode);
+            let attrs = [
+              {name: 'ItemNo', value: itemNo},
+              {name: 'Code', value: bill.code},
+              {name: 'Number', value: bill.code},
+              {name: 'Name', value: bill.name},
+              {name: 'Unit', value: bill.unit},
+              {name: 'Num', value: bill.quantity},
+              {name: 'Price', value: _getFee(bill, 'common', 'tenderUnitFee')},
+              {name: 'Sum', value: _getFee(bill), type:TYPE.DECIMAL},
+              {name: 'Remark', value: (bill.remark) ? glj.remark : ''}
+            ];
+            itemNo++;
+            mEstItemNode.attrs.push(...attrs);
+          });
+        }
         tenderProject.projectGLJ.datas.gljList.forEach((glj)=> {
           if (glj.is_evaluate && glj.type !== 5 && glj.type !== 301) {
             items.push(glj);
           }
         });
         if (items.length > 0) {
-          items.forEach((glj, sno)=> {
+          items.forEach((glj)=> {
             let mEstItemNode = new emptyElement('Item');
             mEstNode.children.push(mEstItemNode);
             let attrs = [
-              {name: 'ItemNo', value: sno + 1},
+              {name: 'ItemNo', value: itemNo},
               {name: 'Code', value: _getBidGljCode(tenderProject, glj)},
               {name: 'Number', value: glj.code},
               {name: 'Name', value: glj.name},
@@ -1240,8 +1266,11 @@ INTERFACE_EXPORT = (() => {
               {name: 'Sum', value: glj.tenderQuantity * glj.unit_price.market_price, type:TYPE.DECIMAL},
               {name: 'Remark', value: (glj.remark) ? glj.remark : ''}
             ];
+            itemNo++;
             mEstItemNode.attrs.push(...attrs);
           });
+        }
+        if (billItems.length > 0 || items.length > 0) {
           return mEstNode;
         } else {
           return null;
@@ -1251,7 +1280,34 @@ INTERFACE_EXPORT = (() => {
       function getMachineTempEst(tenderProject) {
         let mEstNode = new emptyElement('PrjDeviceEstimate');
         let items = [];
+        let billItems = [];
+        let itemNo = 1;
         //工程设备明细
+        tenderProject.Bills.datas.forEach((bill)=> {
+          console.log(`bill.specialProvisional: ${bill.specialProvisional}`);
+          if (bill.specialProvisional === '工程设备') {
+            billItems.push(bill);
+          }
+        });
+        if (billItems.length > 0) {
+          billItems.forEach((bill)=> {
+            let mEstItemNode = new emptyElement('Item');
+            mEstNode.children.push(mEstItemNode);
+            let attrs = [
+              {name: 'ItemNo', value: itemNo},
+              {name: 'Code', value: bill.code},
+              {name: 'Number', value: bill.code},
+              {name: 'Name', value: bill.name},
+              {name: 'Unit', value: bill.unit},
+              {name: 'Num', value: bill.quantity},
+              {name: 'Price', value: _getFee(bill, 'common', 'tenderUnitFee')},
+              {name: 'Sum', value: _getFee(bill), type:TYPE.DECIMAL},
+              {name: 'Remark', value: (bill.remark) ? glj.remark : ''}
+            ];
+            itemNo++;
+            mEstItemNode.attrs.push(...attrs);
+          });
+        }
         tenderProject.projectGLJ.datas.gljList.forEach((glj)=> {
           if (glj.is_evaluate && glj.type === 5) {
             items.push(glj);
@@ -1262,7 +1318,7 @@ INTERFACE_EXPORT = (() => {
             let mEstItemNode = new emptyElement('Item');
             mEstNode.children.push(mEstItemNode);
             let attrs = [
-              {name: 'ItemNo', value: sno + 1},
+              {name: 'ItemNo', value: itemNo},
               {name: 'Code', value: _getBidGljCode(tenderProject, glj)},
               {name: 'Number', value: glj.code},
               {name: 'Name', value: glj.name},
@@ -1272,8 +1328,11 @@ INTERFACE_EXPORT = (() => {
               {name: 'Sum', value: glj.tenderQuantity * glj.unit_price.market_price, type:TYPE.DECIMAL},
               {name: 'Remark', value: (glj.remark) ? glj.remark : ''}
             ];
+            itemNo++;
             mEstItemNode.attrs.push(...attrs);
           });
+        }
+        if (billItems.length > 0 || items.length > 0) {
           return mEstNode;
         } else {
           return null;