Explorar o código

内蒙清单基数、重庆18分包费

zhongzewei %!s(int64=6) %!d(string=hai) anos
pai
achega
1531071b22

+ 1 - 0
public/web/gljUtil.js

@@ -236,6 +236,7 @@ let gljUtil = {
             return scMathUtil.roundForObj(glj.unit_price.base_price,tem_decimal);
         }
     },
+    //这个函数isRadio目前看来没有用,如果后续改了方法,导致isRadio的值会影响结果的话,需要调整调用这个方法的地方.
     getAdjustPrice:function (glj,projectGLJDatas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil) {
         let decimal = decimalObj.glj.unitPrice;
         let price_hasM_decimal = decimalObj.glj.unitPriceHasMix?decimalObj.glj.unitPriceHasMix:decimalObj.glj.unitPrice;

+ 35 - 8
web/building_saas/main/js/models/exportStandardInterface.js

@@ -657,7 +657,7 @@ const XMLStandard = (function () {
                 {name: '费率', value: source.feeRate, type: TYPE.DECIMAL},
                 {name: '金额', value: source.commonTotalFee, type: TYPE.NUM2, required: true},
                 {name: '不计入合价标志', value: false, type: TYPE.BOOL},
-                {name: '招标人标志', value: true, type: TYPE.BOOL},
+                {name: '招标人标志', value: false, type: TYPE.BOOL},
                 {name: '备注', value: source.remark, maxLen: 255}
             ];
             element.call(this, '其他列项', attrs);
@@ -694,16 +694,16 @@ const XMLStandard = (function () {
                 {name: '单位', value: source.unit, minLen: 1, maxLen: 20, whiteSpace: WHITE_SPACE.COLLAPSE, required: true},
                 {name: '原始代码', value: source.orgCode, minLen: 1, maxLen: 20, whiteSpace: WHITE_SPACE.COLLAPSE},
                 {name: '费用类别', value: source.feeType, enumeration: ['1', '2', '3', '4'], required: true},
-                {name: '配比类别', value: '', type: TYPE.INT},  //todo
-                {name: '主要材料类别', value: '', type: TYPE.INT},  //todo
-                {name: '主要材料单位系数', value: '', type: TYPE.DECIMAL},  //todo
-                {name: '材料耗用类型', value: '', type: TYPE.INT, required: true},  //todo
-                {name: '供货方式', value: '', type: TYPE.INT},  //todo
+                {name: '配比类别', value: source.ratioType, type: TYPE.INT},
+                {name: '主要材料类别', value: source.mainMaterialType, type: TYPE.INT},
+                {name: '主要材料单位系数', value: source.materialCoe, type: TYPE.DECIMAL},
+                {name: '材料耗用类型', value: 0, type: TYPE.INT, required: true},
+                {name: '供货方式', value: source.supply, type: TYPE.INT},  //todo
                 {name: '暂估材料标志', value: !!source.is_evaluate, type: TYPE.BOOL},
                 {name: '不计税设备标志', value: !!source.is_adjust_price, type: TYPE.BOOL, required: true},  //todo
                 {name: '单价不从明细汇总标志', value: !!source.excludeRatio, type: TYPE.BOOL},  //todo
                 {name: '定额价', value: source.basePrice, type: TYPE.DECIMAL, required: true},
-                {name: '定额价调整', value: '', type: TYPE.DECIMAL, required: true},   //todo
+                {name: '定额价调整', value: source.adjPrice, type: TYPE.DECIMAL, required: true},   //todo
                 {name: '市场价', value: source.marketPrice, type: TYPE.DECIMAL, required: true},
                 {name: '数量', value: source.quantity, type: TYPE.DECIMAL, required: true},
                 {name: '产地', value: source.originPlace, maxLen: 255},
@@ -1657,9 +1657,30 @@ const XMLStandard = (function () {
                 //计算总消耗量
                 gljUtil.calcProjectGLJQuantity(detail.projectGLJ.datas,
                     detail.ration_glj.datas, detail.Ration.datas, detail.Bills.datas, curPMData.tender.property.decimal.glj.quantity, _, scMathUtil);
+                //类型-配比类别映射
+                let ratioMapping = {
+                    '202': '1', //为“混凝土”时,取“1”;
+                    '205': '2', //为“商品混凝土”时,取“2”;
+                    '203': '3', //为“砂浆”时,取“3”;
+                    '206': '4', //为“商品砂浆”时,取“4”;
+                    '204': '5'  //为“配合比”时,取“5”
+                };
+                //三材类别-主要材料类别映射 三材类型:钢材1、钢筋2、木材3、水泥4、商品砼5、商品砂浆6
+                let mainMaterialMapping = {
+                    '1': '100', //为“钢材”、“钢筋”时,取“100”;
+                    '2': '100',
+                    '4': '200', //为“水泥”时,取“200”;
+                    '3': '300', //为“木材”时,取“300”;
+                    '5': '400', //为“商品砼”、商品砂浆”时,取“400”。
+                    '6': '400'
+                };
                 for (let glj of allGljs) {
+                    //gljUtil.getAdjustPrice(glj,proGLJ.datas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil);
                     let price = gljUtil.getGLJPrice(glj, detail.projectGLJ.datas,
                         curPMData.tender.property.calcOptions, detail.labourCoe.datas, curPMData.tender.property.decimal, false, _, scMathUtil);
+                    //调整价
+                    let adjPrice = gljUtil.getAdjustPrice(glj, detail.projectGLJ.datas,
+                        curPMData.tender.property.calcOptions, detail.labourCoe.datas, curPMData.tender.property.decimal, false, _, scMathUtil);
                     //获取人材机费用类别: 1=人工费 2=材料费 3=机械费 4=未计价费
                     let feeType = glj.type.toString()[0];
                     if (feeType && !['1', '2', '3'].includes(feeType)) {
@@ -1668,12 +1689,18 @@ const XMLStandard = (function () {
                     let gljSource = {
                         code: glj.code,
                         name: glj.name,
-                        feeType: feeType,
                         spec: glj.spec,
                         unit: glj.unit,
                         orgCode: glj.original_code,
+                        feeType: feeType,
+                        ratioType: ratioMapping[glj.type],
+                        mainMaterialType: mainMaterialMapping[glj.materialType],
+                        materialCoe: glj.materialCoe,
+                        supply: glj.supply === 2 ? 2 : 1,   //供货方式为“完全甲供”,取“2”;否则取“1”。
                         is_evaluate: glj.is_evaluate,
+                        notFromDetail: !glj.ratio_data.length, //单价不从明细汇总标志,如果有配比组成,取“false”;否则取“true”。
                         basePrice: price.base,
+                        adjPrice: adjPrice,
                         marketPrice: price.marketPrice,
                         quantity: glj.quantity,
                         originPlace: glj.originPlace,

+ 7 - 27
web/over_write/js/chongqing_2018.js

@@ -265,6 +265,13 @@ if(typeof baseFigureMap !== 'undefined'){
         '甲定施工机具使用费': {base: 'JDJXF', class: 'RCJ'},
         '甲定主材费': {base: 'JDZCF', class: 'RCJ'},
         '暂估材料费(从子目汇总)': {base: 'ZGCLFFZM', class: 'RCJ'},
+        '分包费': {base: 'FBF', class: 'FBF'},
+        '分包定额人工费': {base: 'FBDEJJRGF', class: 'FBF'},
+        '分包定额材料费': {base: 'FBDEJJCLF', class: 'FBF'},
+        '分包定额机械费': {base: 'FBDEJJJXF', class: 'FBF'},
+        '分包主材费': {base: 'FBZCF', class: 'FBF'},
+        '分包设备费': {base: 'FBSBF', class: 'FBF'},
+        '分包人工工日': {base: 'FBRGGR', class: 'FBF'},
         '税前工程造价': {base: 'SQGCZJ', class: 'SQGCZJ',
             cycleCalcRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.OTHER, fixedFlag.CHARGE],   //循环计算相关固定行,由于计算排除了本身,不用判断措施项目
             multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE, fixedFlag.OTHER, fixedFlag.CHARGE]},//相关固定行
@@ -280,33 +287,6 @@ if(typeof baseFigureTemplate !== 'undefined'){
 if(typeof figureClassTemplate !== 'undefined'){
     figureClassTemplate['ADDED_VALUE_TAX'] = {flag: fixedFlag.ADDED_VALUE_TAX, filter: ['SJ', 'ZZS', 'SQGCZJ']}
 };
-//去除分类分包费
-if(typeof $ !== 'undefined' && $('#cbClassList')){
-    $('#cbClassList').find('li:eq(5)').remove();
-}
-//测试地区============
-/*if(typeof regions !== 'undefined') {
-    regions = [
-        '兰州',
-        '定西',
-        '天水',
-        '平凉',
-        '庆阳',
-        '武威',
-        '金昌',
-        '张掖',
-        '酒泉',
-        '甘矿',
-        '嘉峪关',
-        '临夏',
-        '合作',
-        '武都',
-        '白银',
-    ];
-}*/
-//==============
-
-
 
 //这个文档浏览器库和服务器端共用,所以这个文件中用到的变量都要记得做undefined判断,不然后端读取时会有问题
 //=================================================== 前后端分割线 ======================================================================

+ 61 - 1
web/over_write/js/neimenggu_2017.js

@@ -151,4 +151,64 @@ function overwriteRationCalcBases (taxType){
         else
             return 0;
     };
-};
+};
+
+//清单基数相关
+(() => {
+    if(typeof baseFigureMap !== 'undefined'){
+        baseFigureMap = {
+            //与清单直接关联
+            '分部分项工程费': {base: 'FBFXGCF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+            '分部分项定额人工费': {base: 'FBFXDEJJRGF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+            '分部分项定额材料费': {base: 'FBFXDEJJCLF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+            '分部分项定额施工机具使用费': {base: 'FBFXDEJJJXF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+            '分部分项主材费': {base: 'FBFXZCF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+            '分部分项设备费': {base: 'FBFXSBF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+            '分部分项人工工日': {base: 'FBFXRGGR', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
+            '措施项目费': {base: 'CSXMF', fixedFlag: fixedFlag.MEASURE, class: 'CSXM'},
+            '组织措施项目费': {base: 'ZZCSXMF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
+            '组织措施项目定额人工费': {base: 'ZZCSXMDEJJRGF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
+            '组织措施项目定额材料费': {base: 'ZZCSXMDEJJCLF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
+            '组织措施项目定额施工机具使用费': {base: 'ZZCSXMDEJJJXF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
+            '技术措施项目费': {base: 'JSCSXMF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
+            '技术措施项目定额人工费': {base: 'JSCSXMDEJJRGF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
+            '技术措施项目定额材料费': {base: 'JSCSXMDEJJCLF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
+            '技术措施项目定额施工机具使用费': {base: 'JSCSXMDEJJJXF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
+            '技术措施项目主材费': {base: 'JSCSXMZCF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
+            '技术措施项目设备费': {base: 'JSCSXMSBF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
+            '技术措施项目人工工日': {base: 'JSCSXMRGGR', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
+            '其他项目费': {base: 'QTXMF', fixedFlag: fixedFlag.OTHER, class: 'QTXM'},
+            '规费': {base: 'GF', fixedFlag: fixedFlag.CHARGE, class: 'GF'},
+            '税金': {base: 'SJ', fixedFlag: fixedFlag.TAX, class: 'SJ'},
+            //不与清单直接关联
+            '建筑面积': {base: 'JZMJ', class: 'FBFX'},
+            '甲供定额人工费': {base: 'JGDEJJRGF', class: 'RCJ'},
+            '甲供定额材料费': {base: 'JGDEJJCLF', class: 'RCJ'},
+            '甲供定额施工机具使用费': {base: 'JGDEJJJXF', class: 'RCJ'},
+            '甲供人工费': {base: 'JGRGF', class: 'RCJ'},
+            '甲供材料费': {base: 'JGCLF', class: 'RCJ'},
+            '甲供施工机具使用费': {base: 'JGJXF', class: 'RCJ'},
+            '甲供主材费': {base: 'JGZCF', class: 'RCJ'},
+            '甲供设备费': {base: 'JGSBF', class: 'RCJ'},
+            '甲定定额人工费': {base: 'JDDEJJRGF', class: 'RCJ'},
+            '甲定定额材料费': {base: 'JDDEJJCLF', class: 'RCJ'},
+            '甲定定额施工机具使用费': {base: 'JDDEJJJXF', class: 'RCJ'},
+            '甲定人工费': {base: 'JDRGF', class: 'RCJ'},
+            '甲定材料费': {base: 'JDCLF', class: 'RCJ'},
+            '甲定施工机具使用费': {base: 'JDJXF', class: 'RCJ'},
+            '甲定主材费': {base: 'JDZCF', class: 'RCJ'},
+            '甲定设备费': {base: 'JDSBF', class: 'RCJ'},
+            '暂估材料费(从子目汇总)': {base: 'ZGCLFFZM', class: 'RCJ'},
+            '分包费': {base: 'FBF', class: 'FBF'},
+            '分包定额人工费': {base: 'FBDEJJRGF', class: 'FBF'},
+            '分包定额材料费': {base: 'FBDEJJCLF', class: 'FBF'},
+            '分包定额施工机具使用费': {base: 'FBDEJJJXF', class: 'FBF'},
+            '分包主材费': {base: 'FBZCF', class: 'FBF'},
+            '分包设备费': {base: 'FBSBF', class: 'FBF'},
+            '分包人工工日': {base: 'FBRGGR', class: 'FBF'},
+            '税前工程造价': {base: 'SQGCZJ', class: 'SQGCZJ',
+                cycleCalcRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.OTHER, fixedFlag.CHARGE],   //循环计算相关固定行,由于计算排除了本身,不用判断措施项目
+                multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE, fixedFlag.OTHER, fixedFlag.CHARGE]},//相关固定行
+        }
+    }
+})();