|
@@ -929,6 +929,10 @@ INTERFACE_EXPORT = (() => {
|
|
|
this.children.push(estSpecPrjRpt);
|
|
this.children.push(estSpecPrjRpt);
|
|
|
}
|
|
}
|
|
|
// 6. 工程量清单单价分析表
|
|
// 6. 工程量清单单价分析表
|
|
|
|
|
+ let billAnalyzeRpt = getBillsAnalyze(tenderProject);
|
|
|
|
|
+ if (billAnalyzeRpt) {
|
|
|
|
|
+ this.children.push(billAnalyzeRpt);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function _getBidGljCode(tenderProject, orgGlj) {
|
|
function _getBidGljCode(tenderProject, orgGlj) {
|
|
@@ -960,7 +964,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
return rstSum;
|
|
return rstSum;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- function _getSum(orgSum) {
|
|
|
|
|
|
|
+ function _getNumValueByExportKind(orgSum) {
|
|
|
let rst = orgSum;
|
|
let rst = orgSum;
|
|
|
// const isBidInvitation = exportKind === BID_INVITATION; // 是否是招标
|
|
// const isBidInvitation = exportKind === BID_INVITATION; // 是否是招标
|
|
|
// const isBidSubmission = exportKind === BID_SUBMISSION; // 是否是投标
|
|
// const isBidSubmission = exportKind === BID_SUBMISSION; // 是否是投标
|
|
@@ -1072,7 +1076,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
value: item.Name
|
|
value: item.Name
|
|
|
},
|
|
},
|
|
|
{ name: 'Sum',
|
|
{ name: 'Sum',
|
|
|
- value: _getSum(item.Sum)
|
|
|
|
|
|
|
+ value: _getNumValueByExportKind(item.Sum)
|
|
|
// value: 0 // 所有清单的金额都是0
|
|
// value: 0 // 所有清单的金额都是0
|
|
|
}
|
|
}
|
|
|
];
|
|
];
|
|
@@ -1117,7 +1121,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
const pSumAttrs = [
|
|
const pSumAttrs = [
|
|
|
{
|
|
{
|
|
|
name: 'Sum',
|
|
name: 'Sum',
|
|
|
- value: _getSum(_getFee(orgNode))
|
|
|
|
|
|
|
+ value: _getNumValueByExportKind(_getFee(orgNode))
|
|
|
// value: 0
|
|
// value: 0
|
|
|
}
|
|
}
|
|
|
];
|
|
];
|
|
@@ -1140,11 +1144,11 @@ INTERFACE_EXPORT = (() => {
|
|
|
value: node.quantity
|
|
value: node.quantity
|
|
|
}, {
|
|
}, {
|
|
|
name: 'Price',
|
|
name: 'Price',
|
|
|
- value: _getSum(_getFee(node, 'common', 'tenderUnitFee'))
|
|
|
|
|
|
|
+ value: _getNumValueByExportKind(_getFee(node, 'common', 'tenderUnitFee'))
|
|
|
// value: 0
|
|
// value: 0
|
|
|
}, {
|
|
}, {
|
|
|
name: 'Sum',
|
|
name: 'Sum',
|
|
|
- value: _getSum(_getFee(node))
|
|
|
|
|
|
|
+ value: _getNumValueByExportKind(_getFee(node))
|
|
|
// value: 0
|
|
// value: 0
|
|
|
}
|
|
}
|
|
|
];
|
|
];
|
|
@@ -1201,7 +1205,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
{
|
|
{
|
|
|
name: 'Sum',
|
|
name: 'Sum',
|
|
|
// value: _getFee(nodeLabour) + _getFee(nodeMaterial) + _getFee(nodeMachine)
|
|
// value: _getFee(nodeLabour) + _getFee(nodeMaterial) + _getFee(nodeMachine)
|
|
|
- value: _getSum(_getFee(nodeLabour) + _getFee(nodeMaterial) + _getFee(nodeMachine))
|
|
|
|
|
|
|
+ value: _getNumValueByExportKind(_getFee(nodeLabour) + _getFee(nodeMaterial) + _getFee(nodeMachine))
|
|
|
}
|
|
}
|
|
|
];
|
|
];
|
|
|
summaryNode.attrs = pSumAttrs;
|
|
summaryNode.attrs = pSumAttrs;
|
|
@@ -1216,7 +1220,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
name: "Sum",
|
|
name: "Sum",
|
|
|
- value: _getSum(_getFee(node)),
|
|
|
|
|
|
|
+ value: _getNumValueByExportKind(_getFee(node)),
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
name: "Remark",
|
|
name: "Remark",
|
|
@@ -1259,8 +1263,8 @@ INTERFACE_EXPORT = (() => {
|
|
|
{name: 'Name', value: bill.name},
|
|
{name: 'Name', value: bill.name},
|
|
|
{name: 'Unit', value: bill.unit},
|
|
{name: 'Unit', value: bill.unit},
|
|
|
{name: 'Num', value: bill.quantity},
|
|
{name: 'Num', value: bill.quantity},
|
|
|
- {name: 'Price', value: _getSum(_getFee(bill, 'common', 'tenderUnitFee'))},
|
|
|
|
|
- {name: 'Sum', value: _getSum(_getFee(bill)), type:TYPE.DECIMAL},
|
|
|
|
|
|
|
+ {name: 'Price', value: _getNumValueByExportKind(_getFee(bill, 'common', 'tenderUnitFee'))},
|
|
|
|
|
+ {name: 'Sum', value: _getNumValueByExportKind(_getFee(bill)), type:TYPE.DECIMAL},
|
|
|
// {name: 'Price', value: 0},
|
|
// {name: 'Price', value: 0},
|
|
|
// {name: 'Sum', value: 0},
|
|
// {name: 'Sum', value: 0},
|
|
|
{name: 'Remark', value: (bill.remark) ? glj.remark : ''}
|
|
{name: 'Remark', value: (bill.remark) ? glj.remark : ''}
|
|
@@ -1285,8 +1289,8 @@ INTERFACE_EXPORT = (() => {
|
|
|
{name: 'Name', value: glj.name},
|
|
{name: 'Name', value: glj.name},
|
|
|
{name: 'Unit', value: glj.unit},
|
|
{name: 'Unit', value: glj.unit},
|
|
|
{name: 'Num', value: glj.tenderQuantity},
|
|
{name: 'Num', value: glj.tenderQuantity},
|
|
|
- {name: 'Price', value: _getSum(glj.unit_price.market_price)},
|
|
|
|
|
- {name: 'Sum', value: _getSum(glj.tenderQuantity * glj.unit_price.market_price), type:TYPE.DECIMAL},
|
|
|
|
|
|
|
+ {name: 'Price', value: _getNumValueByExportKind(glj.unit_price.market_price)},
|
|
|
|
|
+ {name: 'Sum', value: _getNumValueByExportKind(glj.tenderQuantity * glj.unit_price.market_price), type:TYPE.DECIMAL},
|
|
|
// {name: 'Price', value: 0},
|
|
// {name: 'Price', value: 0},
|
|
|
// {name: 'Sum', value: 0},
|
|
// {name: 'Sum', value: 0},
|
|
|
{name: 'Remark', value: (glj.remark) ? glj.remark : ''}
|
|
{name: 'Remark', value: (glj.remark) ? glj.remark : ''}
|
|
@@ -1325,8 +1329,8 @@ INTERFACE_EXPORT = (() => {
|
|
|
{name: 'Name', value: bill.name},
|
|
{name: 'Name', value: bill.name},
|
|
|
{name: 'Unit', value: bill.unit},
|
|
{name: 'Unit', value: bill.unit},
|
|
|
{name: 'Num', value: bill.quantity},
|
|
{name: 'Num', value: bill.quantity},
|
|
|
- {name: 'Price', value: _getSum(_getFee(bill, 'common', 'tenderUnitFee'))},
|
|
|
|
|
- {name: 'Sum', value: _getSum(_getFee(bill)), type:TYPE.DECIMAL},
|
|
|
|
|
|
|
+ {name: 'Price', value: _getNumValueByExportKind(_getFee(bill, 'common', 'tenderUnitFee'))},
|
|
|
|
|
+ {name: 'Sum', value: _getNumValueByExportKind(_getFee(bill)), type:TYPE.DECIMAL},
|
|
|
// {name: 'Price', value: 0},
|
|
// {name: 'Price', value: 0},
|
|
|
// {name: 'Sum', value: 0},
|
|
// {name: 'Sum', value: 0},
|
|
|
{name: 'Remark', value: (bill.remark) ? glj.remark : ''}
|
|
{name: 'Remark', value: (bill.remark) ? glj.remark : ''}
|
|
@@ -1351,8 +1355,8 @@ INTERFACE_EXPORT = (() => {
|
|
|
{name: 'Name', value: glj.name},
|
|
{name: 'Name', value: glj.name},
|
|
|
{name: 'Unit', value: glj.unit},
|
|
{name: 'Unit', value: glj.unit},
|
|
|
{name: 'Num', value: glj.tenderQuantity},
|
|
{name: 'Num', value: glj.tenderQuantity},
|
|
|
- {name: 'Price', value: _getSum(glj.unit_price.market_price)},
|
|
|
|
|
- {name: 'Sum', value: _getSum(glj.tenderQuantity * glj.unit_price.market_price), type:TYPE.DECIMAL},
|
|
|
|
|
|
|
+ {name: 'Price', value: _getNumValueByExportKind(glj.unit_price.market_price)},
|
|
|
|
|
+ {name: 'Sum', value: _getNumValueByExportKind(glj.tenderQuantity * glj.unit_price.market_price), type:TYPE.DECIMAL},
|
|
|
// {name: 'Price', value: 0},
|
|
// {name: 'Price', value: 0},
|
|
|
// {name: 'Sum', value: 0},
|
|
// {name: 'Sum', value: 0},
|
|
|
{name: 'Remark', value: (glj.remark) ? glj.remark : ''}
|
|
{name: 'Remark', value: (glj.remark) ? glj.remark : ''}
|
|
@@ -1390,7 +1394,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
{name: 'Number', value: bill.code},
|
|
{name: 'Number', value: bill.code},
|
|
|
{name: 'Name', value: bill.name},
|
|
{name: 'Name', value: bill.name},
|
|
|
{name: 'Content', value: bill.jobContent.toString()},
|
|
{name: 'Content', value: bill.jobContent.toString()},
|
|
|
- {name: 'Sum', value: _getSum(ttl), type:TYPE.DECIMAL},
|
|
|
|
|
|
|
+ {name: 'Sum', value: _getNumValueByExportKind(ttl), type:TYPE.DECIMAL},
|
|
|
// {name: 'Sum', value: 0, type:TYPE.DECIMAL},
|
|
// {name: 'Sum', value: 0, type:TYPE.DECIMAL},
|
|
|
];
|
|
];
|
|
|
mEstItemNode.attrs.push(...attrs);
|
|
mEstItemNode.attrs.push(...attrs);
|
|
@@ -1415,7 +1419,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
for (let flag of bill.flags) {
|
|
for (let flag of bill.flags) {
|
|
|
if (flag.flag === 19) {
|
|
if (flag.flag === 19) {
|
|
|
for (let rootBill of tenderProject.Bills.tree.roots) {
|
|
for (let rootBill of tenderProject.Bills.tree.roots) {
|
|
|
- if (rootBill.ID === bill.ID) {
|
|
|
|
|
|
|
+ if (rootBill.data.ID === bill.ID) {
|
|
|
topNode100To700 = rootBill;
|
|
topNode100To700 = rootBill;
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
@@ -1441,10 +1445,10 @@ INTERFACE_EXPORT = (() => {
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
const _getCacheObjInitialedItem = function(bill = null, glj = null) {
|
|
const _getCacheObjInitialedItem = function(bill = null, glj = null) {
|
|
|
- return {
|
|
|
|
|
|
|
+ let rst = {
|
|
|
code: (bill) ? bill.code : ((glj) ? glj.code : ''),
|
|
code: (bill) ? bill.code : ((glj) ? glj.code : ''),
|
|
|
name: (bill) ? bill.name : ((glj) ? glj.name : ''),
|
|
name: (bill) ? bill.name : ((glj) ? glj.name : ''),
|
|
|
- quantity: 0,
|
|
|
|
|
|
|
+ quantity: (bill) ? bill.quantity : 1,
|
|
|
labourConsume: 0,
|
|
labourConsume: 0,
|
|
|
labourUnitPrice: 0,
|
|
labourUnitPrice: 0,
|
|
|
labourTotalPrice: 0,
|
|
labourTotalPrice: 0,
|
|
@@ -1456,8 +1460,10 @@ INTERFACE_EXPORT = (() => {
|
|
|
managementFee: (bill) ? (_getFee(bill, 'manage') + _getFee(bill, 'force')) : 0, //管理+规费
|
|
managementFee: (bill) ? (_getFee(bill, 'manage') + _getFee(bill, 'force')) : 0, //管理+规费
|
|
|
taxFee: (bill) ? _getFee(bill, 'tax') : 0,
|
|
taxFee: (bill) ? _getFee(bill, 'tax') : 0,
|
|
|
profitFee: (bill) ? _getFee(bill, 'profit') : 0,
|
|
profitFee: (bill) ? _getFee(bill, 'profit') : 0,
|
|
|
- unitPrice: (bill) ? _getFee(bill, 'common', 'unitFee') : 0
|
|
|
|
|
|
|
+ unitPrice: (bill) ? _getFee(bill, 'common', 'unitFee') : 0,
|
|
|
|
|
+ items: []
|
|
|
};
|
|
};
|
|
|
|
|
+ return rst;
|
|
|
};
|
|
};
|
|
|
const _getPrjGLJ = function(gljID) {
|
|
const _getPrjGLJ = function(gljID) {
|
|
|
let rst = null;
|
|
let rst = null;
|
|
@@ -1467,6 +1473,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ return rst;
|
|
|
};
|
|
};
|
|
|
const _createNode = function(billIdKey, bill) {
|
|
const _createNode = function(billIdKey, bill) {
|
|
|
if (cacheObj[billIdKey]) {
|
|
if (cacheObj[billIdKey]) {
|
|
@@ -1479,54 +1486,59 @@ INTERFACE_EXPORT = (() => {
|
|
|
let billMainMaterialTtl = cacheObj[billIdKey].mainMaterialFee/bQtn;
|
|
let billMainMaterialTtl = cacheObj[billIdKey].mainMaterialFee/bQtn;
|
|
|
let billAuxiliaryMaterialTtl = cacheObj[billIdKey].auxiliaryMaterialFee/bQtn;
|
|
let billAuxiliaryMaterialTtl = cacheObj[billIdKey].auxiliaryMaterialFee/bQtn;
|
|
|
let leafBillAttrs = [
|
|
let leafBillAttrs = [
|
|
|
- {name: 'ItemNo', vlaue: sno},
|
|
|
|
|
- {name: 'Code', vlaue: cacheObj[billIdKey].code},
|
|
|
|
|
- {name: 'Name', vlaue: cacheObj[billIdKey].name},
|
|
|
|
|
- {name: 'LaborWorkDays', vlaue: cacheObj[billIdKey].labourConsume / bQtn},
|
|
|
|
|
- {name: 'LaborUnitPrice', vlaue: cacheObj[billIdKey].labourUnitPrice},
|
|
|
|
|
- {name: 'LaborUnitTotal', vlaue: cacheObj[billIdKey].labourTotalPrice / bQtn},
|
|
|
|
|
- {name: 'MainMaterialConsume', vlaue: 0},
|
|
|
|
|
- {name: 'MainMaterialUnit', vlaue: ''},
|
|
|
|
|
- {name: 'MainMaterialUnitPrice', vlaue: 0},
|
|
|
|
|
- {name: 'MainMaterialTotal', vlaue: billMainMaterialTtl},
|
|
|
|
|
- {name: 'AuxiliaryMaterialFee', vlaue: billAuxiliaryMaterialTtl},
|
|
|
|
|
- {name: 'MaterialSum', vlaue: billMainMaterialTtl + billAuxiliaryMaterialTtl},
|
|
|
|
|
- {name: 'MachUsageFee', vlaue: cacheObj[billIdKey].machineFee/bQtn},
|
|
|
|
|
- {name: 'OtherFee', vlaue: cacheObj[billIdKey].otherFee/bQtn},
|
|
|
|
|
- {name: 'ManageFee', vlaue: cacheObj[billIdKey].managementFee/bQtn},
|
|
|
|
|
- {name: 'Tax', vlaue: cacheObj[billIdKey].taxFee/bQtn},
|
|
|
|
|
- {name: 'Profit', vlaue: cacheObj[billIdKey].profitFee/bQtn},
|
|
|
|
|
- {name: 'Price', vlaue: _getFee(bill)},
|
|
|
|
|
|
|
+ {name: 'ItemNo', value: sno},
|
|
|
|
|
+ {name: 'Code', value: cacheObj[billIdKey].code},
|
|
|
|
|
+ {name: 'Name', value: cacheObj[billIdKey].name},
|
|
|
|
|
+ {name: 'LaborWorkDays', value: cacheObj[billIdKey].labourConsume / bQtn},
|
|
|
|
|
+ {name: 'LaborUnitPrice', value: cacheObj[billIdKey].labourUnitPrice},
|
|
|
|
|
+ {name: 'LaborUnitTotal', value: cacheObj[billIdKey].labourTotalPrice / bQtn},
|
|
|
|
|
+ {name: 'MainMaterialConsume', value: 0},
|
|
|
|
|
+ {name: 'MainMaterialUnit', value: ''},
|
|
|
|
|
+ {name: 'MainMaterialUnitPrice', value: 0},
|
|
|
|
|
+ {name: 'MainMaterialTotal', value: billMainMaterialTtl},
|
|
|
|
|
+ {name: 'AuxiliaryMaterialFee', value: billAuxiliaryMaterialTtl},
|
|
|
|
|
+ {name: 'MaterialSum', value: billMainMaterialTtl + billAuxiliaryMaterialTtl},
|
|
|
|
|
+ {name: 'MachUsageFee', value: cacheObj[billIdKey].machineFee/bQtn},
|
|
|
|
|
+ {name: 'OtherFee', value: cacheObj[billIdKey].otherFee/bQtn},
|
|
|
|
|
+ {name: 'ManageFee', value: cacheObj[billIdKey].managementFee/bQtn},
|
|
|
|
|
+ {name: 'Tax', value: cacheObj[billIdKey].taxFee/bQtn},
|
|
|
|
|
+ {name: 'Profit', value: cacheObj[billIdKey].profitFee/bQtn},
|
|
|
|
|
+ {name: 'Price', value: _getFee(bill)},
|
|
|
];
|
|
];
|
|
|
sno++;
|
|
sno++;
|
|
|
- let itemNode = new emptyElement('Item');
|
|
|
|
|
- itemNode.attrs.push(...leafBillAttrs);
|
|
|
|
|
- djfxbNode.children.push(itemNode);
|
|
|
|
|
|
|
+ let leafItemNode = new emptyElement('Item');
|
|
|
|
|
+ djfxbNode.children.push(leafItemNode);
|
|
|
|
|
+ // leafItemNode.attrs.push(...leafBillAttrs);
|
|
|
|
|
+ leafItemNode.attrs = leafBillAttrs;
|
|
|
//2. 清单下工料机
|
|
//2. 清单下工料机
|
|
|
cacheObj[billIdKey].items.forEach((gljItem)=> {
|
|
cacheObj[billIdKey].items.forEach((gljItem)=> {
|
|
|
- let showQty = gljItem.mainMaterialConsume/cacheObj[billIdKey].quantity;
|
|
|
|
|
|
|
+ let showQty = gljItem.mainMaterialConsume/bQtn;
|
|
|
showQty = Math.round(showQty * 1000000) / 1000000;
|
|
showQty = Math.round(showQty * 1000000) / 1000000;
|
|
|
let gljAttrs = [
|
|
let gljAttrs = [
|
|
|
- {name: 'ItemNo', vlaue: sno},
|
|
|
|
|
- {name: 'Code', vlaue: gljItem.code},
|
|
|
|
|
- {name: 'Name', vlaue: gljItem.name},
|
|
|
|
|
- {name: 'LaborWorkDays', vlaue: 0},
|
|
|
|
|
- {name: 'LaborUnitPrice', vlaue: 0},
|
|
|
|
|
- {name: 'LaborUnitTotal', vlaue: 0},
|
|
|
|
|
- {name: 'MainMaterialConsume', vlaue: showQty},
|
|
|
|
|
- {name: 'MainMaterialUnit', vlaue: gljItem.mainMaterialUnit},
|
|
|
|
|
- {name: 'MainMaterialUnitPrice', vlaue: gljItem.mainMaterialUnitPrice},
|
|
|
|
|
- {name: 'MainMaterialTotal', vlaue: showQty * gljItem.mainMaterialUnitPrice},
|
|
|
|
|
- {name: 'AuxiliaryMaterialFee', vlaue: 0},
|
|
|
|
|
- {name: 'MaterialSum', vlaue: 0},
|
|
|
|
|
- {name: 'MachUsageFee', vlaue: 0},
|
|
|
|
|
- {name: 'OtherFee', vlaue: 0},
|
|
|
|
|
- {name: 'ManageFee', vlaue: 0},
|
|
|
|
|
- {name: 'Tax', vlaue: 0},
|
|
|
|
|
- {name: 'Profit', vlaue: 0},
|
|
|
|
|
- {name: 'Price', vlaue: _getFee(bill)},
|
|
|
|
|
|
|
+ {name: 'ItemNo', value: sno},
|
|
|
|
|
+ {name: 'Code', value: gljItem.code},
|
|
|
|
|
+ {name: 'Name', value: gljItem.name},
|
|
|
|
|
+ {name: 'LaborWorkDays', value: 0},
|
|
|
|
|
+ {name: 'LaborUnitPrice', value: 0},
|
|
|
|
|
+ {name: 'LaborUnitTotal', value: 0},
|
|
|
|
|
+ {name: 'MainMaterialConsume', value: showQty},
|
|
|
|
|
+ {name: 'MainMaterialUnit', value: gljItem.mainMaterialUnit},
|
|
|
|
|
+ {name: 'MainMaterialUnitPrice', value: gljItem.mainMaterialUnitPrice},
|
|
|
|
|
+ {name: 'MainMaterialTotal', value: showQty * gljItem.mainMaterialUnitPrice},
|
|
|
|
|
+ {name: 'AuxiliaryMaterialFee', value: 0},
|
|
|
|
|
+ {name: 'MaterialSum', value: 0},
|
|
|
|
|
+ {name: 'MachUsageFee', value: 0},
|
|
|
|
|
+ {name: 'OtherFee', value: 0},
|
|
|
|
|
+ {name: 'ManageFee', value: 0},
|
|
|
|
|
+ {name: 'Tax', value: 0},
|
|
|
|
|
+ {name: 'Profit', value: 0},
|
|
|
|
|
+ {name: 'Price', value: _getFee(bill)},
|
|
|
];
|
|
];
|
|
|
sno++;
|
|
sno++;
|
|
|
|
|
+ let gljItemNode = new emptyElement('Item');
|
|
|
|
|
+ djfxbNode.children.push(gljItemNode);
|
|
|
|
|
+ // gljItemNode.attrs.push(...gljAttrs);
|
|
|
|
|
+ gljItemNode.attrs = gljAttrs;
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
@@ -1536,14 +1548,14 @@ INTERFACE_EXPORT = (() => {
|
|
|
_getAllGlj(subBill);
|
|
_getAllGlj(subBill);
|
|
|
});
|
|
});
|
|
|
} else {
|
|
} else {
|
|
|
- let billIdKey = prefix + parentBill.ID;
|
|
|
|
|
|
|
+ let billIdKey = prefix + parentBill.data.ID;
|
|
|
if (!cacheObj.hasOwnProperty(billIdKey)) {
|
|
if (!cacheObj.hasOwnProperty(billIdKey)) {
|
|
|
- cacheObj[billIdKey] = _getCacheObjInitialedItem(parentBill);
|
|
|
|
|
|
|
+ cacheObj[billIdKey] = _getCacheObjInitialedItem(parentBill.data);
|
|
|
addedGljCodeCache[billIdKey] = [];
|
|
addedGljCodeCache[billIdKey] = [];
|
|
|
proKeysArr.push(billIdKey);
|
|
proKeysArr.push(billIdKey);
|
|
|
}
|
|
}
|
|
|
- tenderProject.ration_glj.forEach((rglj)=> {
|
|
|
|
|
- if (rglj.billsItemID === parentBill.ID) {
|
|
|
|
|
|
|
+ tenderProject.ration_glj.datas.forEach((rglj)=> {
|
|
|
|
|
+ if (rglj.billsItemID === parentBill.data.ID) {
|
|
|
let gljQty = parseFloat(rglj.quantity);
|
|
let gljQty = parseFloat(rglj.quantity);
|
|
|
if (isNaN(gljQty)) gljQty = 0;
|
|
if (isNaN(gljQty)) gljQty = 0;
|
|
|
let gljRationQty = parseFloat(rglj.rationItemQuantity);
|
|
let gljRationQty = parseFloat(rglj.rationItemQuantity);
|
|
@@ -1559,7 +1571,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
cacheObj[billIdKey].labourConsume = cacheObj[billIdKey].labourConsume + gljCns;
|
|
cacheObj[billIdKey].labourConsume = cacheObj[billIdKey].labourConsume + gljCns;
|
|
|
cacheObj[billIdKey].labourUnitPrice = gljUnitPrice;
|
|
cacheObj[billIdKey].labourUnitPrice = gljUnitPrice;
|
|
|
cacheObj[billIdKey].labourTotalPrice = cacheObj[billIdKey].labourTotalPrice + gljTotalPrice;
|
|
cacheObj[billIdKey].labourTotalPrice = cacheObj[billIdKey].labourTotalPrice + gljTotalPrice;
|
|
|
- } else if (filterMtlTypes.indexOf(dtlType) < 0) {
|
|
|
|
|
|
|
+ } else if (filterMtlTypes.indexOf(rglj.type) < 0) {
|
|
|
if (!addedGljCodeCache[billIdKey].includes(gljCode)) {
|
|
if (!addedGljCodeCache[billIdKey].includes(gljCode)) {
|
|
|
addedGljCodeCache[billIdKey].push(gljCode);
|
|
addedGljCodeCache[billIdKey].push(gljCode);
|
|
|
}
|
|
}
|
|
@@ -1569,7 +1581,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
dtlObj.name = rglj.name;
|
|
dtlObj.name = rglj.name;
|
|
|
dtlObj.specs = rglj.specs;
|
|
dtlObj.specs = rglj.specs;
|
|
|
//
|
|
//
|
|
|
- let adhocGljQty = _getAdhocGljQty(parentBill.ID, dtlObj.code);
|
|
|
|
|
|
|
+ let adhocGljQty = _getAdhocGljQty(parentBill.data.ID, dtlObj.code);
|
|
|
let adhocGljTtl = adhocGljQty * gljUnitPrice;
|
|
let adhocGljTtl = adhocGljQty * gljUnitPrice;
|
|
|
dtlObj.mainMaterialConsume = gljCns + adhocGljQty; //考虑清单单独加工料机的情况,需要补上消耗量
|
|
dtlObj.mainMaterialConsume = gljCns + adhocGljQty; //考虑清单单独加工料机的情况,需要补上消耗量
|
|
|
dtlObj.mainMaterialUnitPrice = gljUnitPrice;
|
|
dtlObj.mainMaterialUnitPrice = gljUnitPrice;
|
|
@@ -1599,6 +1611,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
_createNode(billIdKey, parentBill);
|
|
_createNode(billIdKey, parentBill);
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
+
|
|
|
if (topNode100To700) {
|
|
if (topNode100To700) {
|
|
|
topNode100To700.children.forEach((topChapterBill)=> {
|
|
topNode100To700.children.forEach((topChapterBill)=> {
|
|
|
_getAllGlj(topChapterBill);
|
|
_getAllGlj(topChapterBill);
|
|
@@ -1639,12 +1652,12 @@ INTERFACE_EXPORT = (() => {
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
name: "Price",
|
|
name: "Price",
|
|
|
- value: b.marketPrice || '0',
|
|
|
|
|
|
|
+ value: _getNumValueByExportKind(b.marketPrice || '0'),
|
|
|
type: TYPE.DECIMAL
|
|
type: TYPE.DECIMAL
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
name: "LimitedPrice",
|
|
name: "LimitedPrice",
|
|
|
- value: b.marketPrice || '0',
|
|
|
|
|
|
|
+ value: _getNumValueByExportKind(b.marketPrice || '0'),
|
|
|
type: TYPE.DECIMAL
|
|
type: TYPE.DECIMAL
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
@@ -1794,6 +1807,22 @@ INTERFACE_EXPORT = (() => {
|
|
|
if (ListCodeMap[data.name]) ListCode = ListCodeMap[data.name];
|
|
if (ListCodeMap[data.name]) ListCode = ListCodeMap[data.name];
|
|
|
if (data.code && data.code != "") ListCode = data.code;
|
|
if (data.code && data.code != "") ListCode = data.code;
|
|
|
|
|
|
|
|
|
|
+ let qtyFormula = data.feesIndex && data.feesIndex.common ? data.feesIndex.common.tenderTotalFee : "";
|
|
|
|
|
+ //data.calcBase //data.calcBase ? cbParser.toFExpr(data.calcBase, tenderProject.mainTree.items) : "",
|
|
|
|
|
+ if (!data.name.includes('暂列金额')) {
|
|
|
|
|
+ if (data.hasOwnProperty('calcBase')) {
|
|
|
|
|
+ let chkNaN = parseFloat(data.calcBase);
|
|
|
|
|
+ if (isNaN(chkNaN)) {
|
|
|
|
|
+ qtyFormula = data.calcBase;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ qtyFormula = '';
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ qtyFormula = '';
|
|
|
|
|
+ }
|
|
|
|
|
+ //判断公式(calcBase)是否为正常的计算公式(即非直接输入数量),
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
const attrs = [{
|
|
const attrs = [{
|
|
|
name: "ListCode",
|
|
name: "ListCode",
|
|
|
value: ListCode,
|
|
value: ListCode,
|
|
@@ -1815,7 +1844,7 @@ INTERFACE_EXPORT = (() => {
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
name: "QtyFormula",
|
|
name: "QtyFormula",
|
|
|
- value: data.feesIndex && data.feesIndex.common ? data.feesIndex.common.tenderTotalFee : "",//data.calcBase //data.calcBase ? cbParser.toFExpr(data.calcBase, tenderProject.mainTree.items) : "",
|
|
|
|
|
|
|
+ value: qtyFormula,
|
|
|
type: TYPE.DECIMAL,
|
|
type: TYPE.DECIMAL,
|
|
|
toFix:2
|
|
toFix:2
|
|
|
},
|
|
},
|