|
@@ -13,6 +13,17 @@ INTERFACE_IMPORT = (() => {
|
|
|
* @param {Object} xmlObj - xml经过x2js转换后的xml对象
|
|
* @param {Object} xmlObj - xml经过x2js转换后的xml对象
|
|
|
* @return {Object} - 返回的格式需要统一,具体参考函数内返回的内容。返回的内容会经过一系列的统一处理形成可入库的数据。
|
|
* @return {Object} - 返回的格式需要统一,具体参考函数内返回的内容。返回的内容会经过一系列的统一处理形成可入库的数据。
|
|
|
*/
|
|
*/
|
|
|
|
|
+ const RoadGradeMap = {
|
|
|
|
|
+ "0": "高速公路",
|
|
|
|
|
+ "1": "一级公路",
|
|
|
|
|
+ "2": "二级公路",
|
|
|
|
|
+ "3": "三级公路",
|
|
|
|
|
+ "4": "四级公路",
|
|
|
|
|
+ "5": "等外公路",
|
|
|
|
|
+ "6": "独立桥梁",
|
|
|
|
|
+ "7":"独立隧道"
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
async function entry(areaKey, xmlObj) {
|
|
async function entry(areaKey, xmlObj) {
|
|
|
const {
|
|
const {
|
|
|
UTIL: {
|
|
UTIL: {
|
|
@@ -29,18 +40,37 @@ INTERFACE_IMPORT = (() => {
|
|
|
if (EprjInfos.length > 0) {
|
|
if (EprjInfos.length > 0) {
|
|
|
let MakeInfo = EprjInfos[0].MakeInfo;
|
|
let MakeInfo = EprjInfos[0].MakeInfo;
|
|
|
let Params = EprjInfos[0].Params;
|
|
let Params = EprjInfos[0].Params;
|
|
|
|
|
+ let BuildType = getValue(Params, ['_BuildType']);
|
|
|
|
|
+ let natureConstruction = "";
|
|
|
|
|
+ if (BuildType == "0") natureConstruction = "新建";
|
|
|
|
|
+ if (BuildType == "1") natureConstruction = "改扩建";
|
|
|
|
|
+
|
|
|
|
|
+ let terrainCategory = "";
|
|
|
|
|
+ let Terrain = getValue(Params, ['_Terrain']);
|
|
|
|
|
+ if (Terrain == "0") terrainCategory = "平原微丘";
|
|
|
|
|
+ if (Terrain == "1") terrainCategory = "山岭重丘";
|
|
|
|
|
+ let RoadGrade = getValue(Params, ['_RoadGrade']);
|
|
|
|
|
+ let roadGrade = "";
|
|
|
|
|
+ if (RoadGradeMap[RoadGrade]) roadGrade = RoadGradeMap[RoadGrade];
|
|
|
|
|
+
|
|
|
info = [
|
|
info = [
|
|
|
- { key: 'constructingUnits', value: getValue(MakeInfo, ['_Manage']) },
|
|
|
|
|
- { key: 'designUnits', value: getValue(MakeInfo, ['_Designer']) },
|
|
|
|
|
- { key: 'establishUnit', value: getValue(MakeInfo, ['_Compile']) },
|
|
|
|
|
- { key: 'tenderCompiler', value: getValue(MakeInfo, ['_CompileApprover']) },
|
|
|
|
|
- { key: 'authorNo', value: getValue(MakeInfo, ['_CompileCertNo']) },
|
|
|
|
|
- { key: 'establishDate', value: getValue(MakeInfo, ['_CompileDate']) },
|
|
|
|
|
- { key: 'tenderExaminer', value: getValue(MakeInfo, ['_ReviewApprover']) },
|
|
|
|
|
- { key: 'certificateReviewer', value: getValue(MakeInfo, ['_ReviewCertNo']) },
|
|
|
|
|
- { key: 'reviewTime', value: getValue(MakeInfo, ['_ReviewDate']) },
|
|
|
|
|
- { key: 'startAndChainages', value: getValue(Params, ['_StartPileNo'])},
|
|
|
|
|
|
|
+ { key: 'constructingUnit', value: getValue(MakeInfo, ['_Manage']) },
|
|
|
|
|
+ { key: 'designUnit', value: getValue(MakeInfo, ['_Designer']) },
|
|
|
|
|
+ { key: 'compileUnit', value: getValue(MakeInfo, ['_Compile']) },
|
|
|
|
|
+ { key: 'compileApprover', value: getValue(MakeInfo, ['_CompileApprover']) },
|
|
|
|
|
+ { key: 'compileCertNo', value: getValue(MakeInfo, ['_CompileCertNo']) },
|
|
|
|
|
+ { key: 'compileDate', value: getValue(MakeInfo, ['_CompileDate']) },
|
|
|
|
|
+ { key: 'reviewUnit', value: getValue(MakeInfo, ['_Review']) },
|
|
|
|
|
+ { key: 'reviewApprover', value: getValue(MakeInfo, ['_ReviewApprover']) },
|
|
|
|
|
+ { key: 'reviewCertNo', value: getValue(MakeInfo, ['_ReviewCertNo']) },
|
|
|
|
|
+ { key: 'reviewDate', value: getValue(MakeInfo, ['_ReviewDate']) },
|
|
|
|
|
+ { key: 'startChainages', value: getValue(Params, ['_StartPileNo'])},
|
|
|
{ key: 'endChainages', value: getValue(Params, ['_EndPileNo']) },
|
|
{ key: 'endChainages', value: getValue(Params, ['_EndPileNo']) },
|
|
|
|
|
+ { key: 'location', value: getValue(Params, ['_PrjArea']) },
|
|
|
|
|
+ { key: 'natureConstruction', value: natureConstruction },
|
|
|
|
|
+ { key: 'terrainCategory', value: terrainCategory },
|
|
|
|
|
+ { key: 'roadGrade', value: roadGrade },
|
|
|
|
|
+
|
|
|
]
|
|
]
|
|
|
for (let t of EprjInfos) {
|
|
for (let t of EprjInfos) {
|
|
|
tenders.push(setupTender(t))
|
|
tenders.push(setupTender(t))
|
|
@@ -52,32 +82,39 @@ INTERFACE_IMPORT = (() => {
|
|
|
function setupTender(EprjInfo) {
|
|
function setupTender(EprjInfo) {
|
|
|
let tender = {};
|
|
let tender = {};
|
|
|
let Params = EprjInfo.Params;
|
|
let Params = EprjInfo.Params;
|
|
|
|
|
+ let SummaryOfCost = EprjInfo.SummaryOfCost;
|
|
|
tender.name = EprjInfo._Name;
|
|
tender.name = EprjInfo._Name;
|
|
|
tender.bills = [];
|
|
tender.bills = [];
|
|
|
tender.bidEvaluationList = [];
|
|
tender.bidEvaluationList = [];
|
|
|
tender.evaluationList = [];
|
|
tender.evaluationList = [];
|
|
|
- let terrainCategory = "";
|
|
|
|
|
- if (getValue(Params, ['_Terrain']) == '平原微丘陵区') terrainCategory = 0;
|
|
|
|
|
- if (getValue(Params, ['_Terrain']) == '山岭重丘陵区') terrainCategory = 0;
|
|
|
|
|
|
|
+ let ProvisionalSums = getValue(SummaryOfCost, ['_ProvisionalSums']);
|
|
|
|
|
+ let Structure = getValue(Params, ['_Structure']);
|
|
|
|
|
+ let pavementStructure = "";
|
|
|
|
|
+ if (Structure == "0") pavementStructure = "沥青路面";
|
|
|
|
|
+ if (Structure == "1") pavementStructure = "水泥混凝土路面";
|
|
|
|
|
+ if (Structure == "2") pavementStructure = "其他类型路面";
|
|
|
tender.feature = [
|
|
tender.feature = [
|
|
|
- { key: 'projLocation', value: getValue(Params, ['_PrjArea']) },
|
|
|
|
|
- { key: 'buildType', value: getValue(Params, ['_BuildType']) },// --todo
|
|
|
|
|
- { key: 'terrainCategory', value: terrainCategory },
|
|
|
|
|
- { key: 'establishDate', value: getValue(Params, ['_RoadGrade']) },// --todo
|
|
|
|
|
- { key: 'tenderExaminer', value: getValue(Params, ['_DesignSpeed']) },// --todo
|
|
|
|
|
- { key: 'pavementStructure', value: getValue(Params, ['_Structure']) },// --todo
|
|
|
|
|
|
|
+ { key: 'tenderSumLimit', value: getValue(SummaryOfCost, ['_TenderSumLimit'])},//招标控制价
|
|
|
|
|
+ { key: 'designSpeed', value: getValue(Params, ['_DesignSpeed']) },// --todo
|
|
|
|
|
+ { key: 'pavementStructure', value: pavementStructure},// --todo
|
|
|
{ key: 'subgradeWidth', value: getValue(Params, ['_SubgradeWidth']) },
|
|
{ key: 'subgradeWidth', value: getValue(Params, ['_SubgradeWidth']) },
|
|
|
- { key: 'routeLength', value: getValue(Params, ['_RoadLength']) },// --todo
|
|
|
|
|
|
|
+ { key: 'roadLength', value: getValue(Params, ['_RoadLength']) },// --todo
|
|
|
{ key: 'bridgeLength', value: getValue(Params, ['_BridgeLength']) },
|
|
{ key: 'bridgeLength', value: getValue(Params, ['_BridgeLength']) },
|
|
|
{ key: 'tunnelLength', value: getValue(Params, ['_TunnelLength']) },// --todo
|
|
{ key: 'tunnelLength', value: getValue(Params, ['_TunnelLength']) },// --todo
|
|
|
- { key: 'bridgeTunnelProportion', value: getValue(Params, ['_BriTunRate']) },// --todo
|
|
|
|
|
- { key: 'interchangeNo', value: getValue(Params, ['_InterchangeNum']) },// --todo
|
|
|
|
|
- { key: 'lineContactLineLength', value: getValue(Params, ['_StubLengths']) },// --todo
|
|
|
|
|
- { key: 'auxiliaryContactLineLength', value: getValue(Params, ['_LaneLength']) },// --todo
|
|
|
|
|
|
|
+ { key: 'briTunRate', value: getValue(Params, ['_BriTunRate']) },// --todo
|
|
|
|
|
+ { key: 'interchangeNum', value: getValue(Params, ['_InterchangeNum']) },// --todo
|
|
|
|
|
+ { key: 'stubLengths', value: getValue(Params, ['_StubLengths']) },// --todo
|
|
|
|
|
+ { key: 'laneLength', value: getValue(Params, ['_LaneLength']) },// --todo
|
|
|
]
|
|
]
|
|
|
const items = arrayValue(EprjInfo, ['Items', 'Item']);
|
|
const items = arrayValue(EprjInfo, ['Items', 'Item']);
|
|
|
- for (let i of items) {
|
|
|
|
|
- tender.bills.push(setupBills(i));
|
|
|
|
|
|
|
+ for (let i of items) {
|
|
|
|
|
+ let bill = setupBills(i);
|
|
|
|
|
+ if (bill.name == "暂列金额(不含计日工总额)") {
|
|
|
|
|
+ bill.fees = [{ fieldName: "common",tenderTotalFee:ProvisionalSums, tenderUnitFee: "0", totalFee: ProvisionalSums, unitFee: "0" }];
|
|
|
|
|
+ bill.calcBase = ProvisionalSums;
|
|
|
|
|
+ bill.calcFlag = 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ tender.bills.push(bill);
|
|
|
}
|
|
}
|
|
|
const BidEvaluationMainMaterial = arrayValue(EprjInfo, ['BidEvaluationMainMaterial']);
|
|
const BidEvaluationMainMaterial = arrayValue(EprjInfo, ['BidEvaluationMainMaterial']);
|
|
|
for (let b of BidEvaluationMainMaterial) {
|
|
for (let b of BidEvaluationMainMaterial) {
|
|
@@ -102,8 +139,9 @@ INTERFACE_IMPORT = (() => {
|
|
|
if (item._ProvisionalType == '0') bill.specialProvisional = '材料';
|
|
if (item._ProvisionalType == '0') bill.specialProvisional = '材料';
|
|
|
if (item._ProvisionalType == '1') bill.specialProvisional = '工程设备';
|
|
if (item._ProvisionalType == '1') bill.specialProvisional = '工程设备';
|
|
|
if (item._ProvisionalType == '2') bill.specialProvisional = '工程设备';
|
|
if (item._ProvisionalType == '2') bill.specialProvisional = '工程设备';
|
|
|
- if (item.Item && item.Item.length > 0) {
|
|
|
|
|
- for (let i of item.Item) {
|
|
|
|
|
|
|
+ let subItems = arrayValue(item, ['Item']);
|
|
|
|
|
+ if (subItems && subItems.length > 0) {
|
|
|
|
|
+ for (let i of subItems) {
|
|
|
bill.children.push(setupBills(i))
|
|
bill.children.push(setupBills(i))
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|