|
|
@@ -27,6 +27,7 @@ let gljUtil = {
|
|
|
pglj[sField] = result.subdivisionQuantity;
|
|
|
pglj[tField] = result.techQuantity;
|
|
|
pglj[qField] = result.quantity;
|
|
|
+ pglj.tenderQuantity = result.tenderQuantity;
|
|
|
quantityMap[pg_index] = pglj;
|
|
|
}
|
|
|
//计算做为组成物的消耗量
|
|
|
@@ -38,9 +39,11 @@ let gljUtil = {
|
|
|
let p_glj = quantityMap[pkey];
|
|
|
if(m_glj&&p_glj){
|
|
|
let quantity = scMathUtil.roundForObj(parseFloat(p_glj[qField])*parseFloat(m.consumption),q_decimal);
|
|
|
+ let tenderQuantity = scMathUtil.roundForObj(parseFloat(p_glj.tenderQuantity)*parseFloat(m.consumption),q_decimal);
|
|
|
let techQuantity = scMathUtil.roundForObj(parseFloat(p_glj[tField])*parseFloat(m.consumption),q_decimal);
|
|
|
let subdivisionQuantity = scMathUtil.roundForObj(parseFloat(p_glj[sField])*parseFloat(m.consumption),q_decimal);
|
|
|
m_glj[qField] = scMathUtil.roundForObj(parseFloat(m_glj[qField])+quantity,q_decimal);
|
|
|
+ m_glj.tenderQuantity = scMathUtil.roundForObj(parseFloat(m_glj.tenderQuantity)+tenderQuantity,q_decimal);
|
|
|
m_glj[tField] = scMathUtil.roundForObj(parseFloat(m_glj[tField])+techQuantity,q_decimal);
|
|
|
m_glj[sField] = scMathUtil.roundForObj(parseFloat(m_glj[sField])+subdivisionQuantity,q_decimal);
|
|
|
}
|
|
|
@@ -52,19 +55,24 @@ let gljUtil = {
|
|
|
let quantity_sum=0;//工料机汇总消耗量
|
|
|
let sum = 0;//分部分项总消耗量
|
|
|
let tech_sum = 0;//技术措施总消耗量
|
|
|
+ let tender_qantity_sum = 0;
|
|
|
for(let rg of ration_glj_list){
|
|
|
let tem_ration = rationMap[rg.rationID];
|
|
|
let r_quantity = tem_ration?scMathUtil.roundForObj(tem_ration.quantity,q_decimal):0;
|
|
|
let glj_quantity = scMathUtil.roundForObj(rg.quantity, q_decimal);
|
|
|
+ let tender_r_quantity = r_quantity;
|
|
|
+ let tender_glj_quantity = glj_quantity;
|
|
|
if(!r_quantity){
|
|
|
continue;
|
|
|
}
|
|
|
- if(isTender == true){
|
|
|
- glj_quantity = this.getRationGLJTenderQuantity(rg,tem_ration,q_decimal,scMathUtil);
|
|
|
- r_quantity = this.getRationTenderQuantity(tem_ration,q_decimal,scMathUtil);
|
|
|
+ if(!pglj.is_adjust_price){
|
|
|
+ tender_glj_quantity = this.getRationGLJTenderQuantity(rg,tem_ration,q_decimal,scMathUtil);
|
|
|
+ tender_r_quantity = this.getRationTenderQuantity(tem_ration,q_decimal,scMathUtil);
|
|
|
}
|
|
|
let total = scMathUtil.roundForObj(glj_quantity*r_quantity, q_decimal);
|
|
|
+ let tender_total = scMathUtil.roundForObj(tender_glj_quantity*tender_r_quantity, q_decimal);
|
|
|
quantity_sum = scMathUtil.roundForObj(quantity_sum+total,q_decimal);
|
|
|
+ tender_qantity_sum = scMathUtil.roundForObj(tender_qantity_sum+tender_total,q_decimal);
|
|
|
if(_.includes(billIDs,rg.billsItemID)){//计算分部分项
|
|
|
sum = scMathUtil.roundForObj(sum+total,q_decimal);
|
|
|
}
|
|
|
@@ -72,7 +80,8 @@ let gljUtil = {
|
|
|
tech_sum = scMathUtil.roundForObj(tech_sum+total,q_decimal);
|
|
|
}
|
|
|
}
|
|
|
- for(let ra of rations){//计算定额类型工料机的消耗量
|
|
|
+ //2019-11-07 定额类型工料机已经屏蔽,如果打开,记得加上调价后的消耗量
|
|
|
+ /*for(let ra of rations){//计算定额类型工料机的消耗量
|
|
|
if(ra.type == this.rationType.gljRation&&ra.projectGLJID===pglj.id){
|
|
|
let r_quantity = scMathUtil.roundForObj(ra.quantity,q_decimal);
|
|
|
r_quantity = r_quantity?r_quantity:0;
|
|
|
@@ -87,11 +96,11 @@ let gljUtil = {
|
|
|
tech_sum = scMathUtil.roundForObj(tech_sum+r_quantity,q_decimal);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- }
|
|
|
+ }*/
|
|
|
result.subdivisionQuantity = sum;
|
|
|
result.techQuantity = tech_sum;
|
|
|
result.quantity = quantity_sum;
|
|
|
+ result.tenderQuantity = tender_qantity_sum;
|
|
|
return result;
|
|
|
},
|
|
|
getRationGLJTenderQuantity:function (ration_glj,ration,q_decimal,scMathUtil) {
|
|
|
@@ -109,7 +118,8 @@ let gljUtil = {
|
|
|
coeField = coeMap[key];
|
|
|
}
|
|
|
}
|
|
|
- let coe = ration.quantityCoe&&this.isNotEmpty(ration.quantityCoe[coeField])?ration.quantityCoe[coeField]:1;
|
|
|
+ let coe = 1;
|
|
|
+ coe = ration.quantityCoe&&this.isNotEmpty(ration.quantityCoe[coeField])?ration.quantityCoe[coeField]:1;
|
|
|
coe = parseFloat(coe);
|
|
|
let glj_quantity = scMathUtil.roundForObj(ration_glj.quantity, q_decimal);
|
|
|
return scMathUtil.roundForObj(glj_quantity * coe,q_decimal);
|
|
|
@@ -164,9 +174,10 @@ let gljUtil = {
|
|
|
getFlag:function (b) {
|
|
|
return _.find(b.flags,{"fieldName":"fixed"});
|
|
|
},
|
|
|
- getGLJPrice:function (glj,projectGLJDatas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil) {
|
|
|
+ getGLJPrice:function (glj,projectGLJDatas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil,tenderCoe) {
|
|
|
let result = {};
|
|
|
result.marketPrice = this.getMarketPrice(glj,projectGLJDatas,calcOptions,decimalObj,isRadio,_,scMathUtil);
|
|
|
+ result.tenderPrice = this.getMarketPrice(glj,projectGLJDatas,calcOptions,decimalObj,isRadio,_,scMathUtil,tenderCoe);
|
|
|
if(this.calcPriceDiff(glj,calcOptions)==true){//计取价差
|
|
|
result.basePrice = this.getBasePrice(glj,projectGLJDatas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil);
|
|
|
result.adjustPrice = this.getAdjustPrice(glj,projectGLJDatas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil);
|