瀏覽代碼

中山接口相关

zhangweicheng 5 年之前
父節點
當前提交
d8abd60327

+ 70 - 23
web/building_saas/standard_interface/export/guangdong_zhongshan.js

@@ -115,6 +115,13 @@ INTERFACE_EXPORT = (() => {
     "清单 第900章 附属区房建工程":true
   }
 
+  const ratioCodeMap = { 
+    "01ZJF":"0",
+    "02JXF":"1",
+    "03WHF":"2",
+    "04ACFZF":"3"
+  }
+
   function getBasePrice(projectGLJID, tenderProject) {
     let glj = _.find(tenderProject.projectGLJ.datas.gljList, {
       id: projectGLJID
@@ -197,6 +204,9 @@ INTERFACE_EXPORT = (() => {
    */
   async function entry(areaKey, exportKind, projectData, tenderDetailMap) {
     const {
+      CONFIG: {
+        TYPE
+      },
       UTIL,
       Element
     } = INTERFACE_EXPORT_BASE;
@@ -210,9 +220,9 @@ INTERFACE_EXPORT = (() => {
       fixedFlag,
     } = window.commonConstants;
     let cprjType = {
-      1: "ZBKZJ", // 招标
+      1: "GCLQD", // 招标
       2: "TBBJ", // 投标
-      3: "GCLQD", // 控制价
+      3: "ZBKZJ", // 控制价
     };
     const isBidInvitation = exportKind === BID_INVITATION; // 是否是招标
     const isBidSubmission = exportKind === BID_SUBMISSION; // 是否是投标
@@ -239,6 +249,10 @@ INTERFACE_EXPORT = (() => {
     }
     // 项目基本信息
     function SystemInfo(projectData) {
+      let baseInfo = _.find(projectData.property.basicInformation, {
+        dispName: "基本信息",
+      });
+      let makeData = _.find(baseInfo.items, { "key": "makeDate" });
       let hardID = UTIL.generateHardwareId();
       let [cpuId, diskId, macId] = hardID.split(";");
       const attrs = [{
@@ -263,7 +277,7 @@ INTERFACE_EXPORT = (() => {
         },
         {
           name: "MakeDate",
-          value: UTIL.getNowFormatTime(),
+          value: makeData?makeData.value:"",
         },
         {
           name: "Key1",
@@ -281,7 +295,7 @@ INTERFACE_EXPORT = (() => {
       if (isBidSubmission)
         attrs.splice(6, 0, {
           name: "BidderVer",
-          value: UTIL.getNowFormatTime(),
+          value: UTIL.getNowFormatTime(true),
         });
       Element.call(this, "SystemInfo", attrs);
     }
@@ -476,7 +490,7 @@ INTERFACE_EXPORT = (() => {
 
       this.children.push(Param);
 
-      function MP(g) {
+      function Mp(g) {
         const attrs = [{
             name: "Code",
             value: g.code,
@@ -494,7 +508,7 @@ INTERFACE_EXPORT = (() => {
             value: g.unit,
           },
           {
-            name: "BugetPrice",
+            name: "BudgetPrice",
             value: g.priceInfo.tenderPrice,
           },
           {
@@ -506,7 +520,7 @@ INTERFACE_EXPORT = (() => {
             value: g.unit_price.is_add,
           },
         ];
-        Element.call(this, "MP", attrs);
+        Element.call(this, "Mp", attrs);
       }
 
       function Material(g) {
@@ -527,7 +541,7 @@ INTERFACE_EXPORT = (() => {
             value: g.unit,
           },
           {
-            name: "BugetPrice",
+            name: "BudgetPrice",
             value: g.priceInfo.tenderPrice,
           },
           {
@@ -698,7 +712,7 @@ INTERFACE_EXPORT = (() => {
             value: g.unit,
           },
           {
-            name: "BugetPrice",
+            name: "BudgetPrice",
             value: g.priceInfo.tenderPrice,
           },
           {
@@ -776,7 +790,7 @@ INTERFACE_EXPORT = (() => {
         function FixedCostItem(item) { 
           const attrs = [{
             name: "FixedCostNo",
-            value: item.code,
+            value: ratioCodeMap[item.code],
           },{
             name: "Sum",
             value: item.consumption,
@@ -797,7 +811,7 @@ INTERFACE_EXPORT = (() => {
           gljKeyMap[gljUtil.getIndex(g)] = g;
           type = type.charAt(0);
           if (type == "1") {
-            Mps.children.push(new MP(g));
+            Mps.children.push(new Mp(g));
           } else if (type == "2" || type == 5) {
             Materials.children.push(new Material(g));
           } else if (type == "3") {
@@ -1019,6 +1033,7 @@ INTERFACE_EXPORT = (() => {
             {
               name: "Num",
               value: data.quantity,
+              type:TYPE.DECIMAL
             },
             {
               name: "QtyFormula",
@@ -1026,7 +1041,8 @@ INTERFACE_EXPORT = (() => {
             },
             {
               name: "Price",
-              value: 0//data.feesIndex && data.feesIndex.common ? data.feesIndex.common.tenderUnitFee : "",
+              value: 0,//data.feesIndex && data.feesIndex.common ? data.feesIndex.common.tenderUnitFee : "",
+              type:TYPE.DECIMAL
             },
             {
               name: "Rate",
@@ -1034,7 +1050,8 @@ INTERFACE_EXPORT = (() => {
             },
             {
               name: "Sum",
-              value: 0//data.feesIndex && data.feesIndex.common ? data.feesIndex.common.tenderTotalFee : "",
+              value: 0,//data.feesIndex && data.feesIndex.common ? data.feesIndex.common.tenderTotalFee : "",
+              type:TYPE.DECIMAL
             },
             {
               name: "ChapterKind",
@@ -1051,6 +1068,7 @@ INTERFACE_EXPORT = (() => {
             {
               name: "ProvisionalType",
               value: ProvisionalType,
+              mustHasValue:true
             },
             {
               name: "MeterRules",
@@ -1064,7 +1082,7 @@ INTERFACE_EXPORT = (() => {
               name: "Remarks",
               value: data.remark,
             },
-            {
+           /*  {
               name: "MpRatio",
               value: MpRatio,
             },
@@ -1083,15 +1101,15 @@ INTERFACE_EXPORT = (() => {
             {
               name: "AdjustedSums",
               value: data.feesIndex && data.feesIndex.common ? data.feesIndex.common.tenderTotalFee : "",
-            },
+            }, */
             {
               name: "ItemType",
               value: 1,
             },
-            {
+            /* {
               name: "FomulaCode",
               value: ""
-            },
+            }, */
           ];
 
           if (isBidSubmission || isControl) { 
@@ -1140,6 +1158,7 @@ INTERFACE_EXPORT = (() => {
                 {
                   name: "Sum",
                   value: bills.feesIndex && bills.feesIndex.common ? bills.feesIndex.common.tenderTotalFee : "",
+                  type:TYPE.DECIMAL
                 },
                 {
                   name: "Remarks",
@@ -1352,15 +1371,17 @@ INTERFACE_EXPORT = (() => {
 
       const attrs = [{
           name: "PrjArea",
-          value: baseMap["location"] ? baseMap["location"].value : "",
+          value: baseMap["location"] ? baseMap["location"].value : ""
         },
         {
           name: "StartPileNo",
           value: baseMap["startChainages"] ? baseMap["startChainages"].value : "",
+          mustHasValue: true
         },
         {
           name: "EndPileNo",
           value: baseMap["endChainages"] ? baseMap["endChainages"].value : "",
+          mustHasValue: true
         },
         {
           name: "BuildType",
@@ -1369,50 +1390,62 @@ INTERFACE_EXPORT = (() => {
         {
           name: "Terrain",
           value: Terrain,
+          mustHasValue: true
         },
         {
           name: "RoadGrade",
           value: RoadGrade,
+          mustHasValue: true
         },
         {
           name: "DesignSpeed",
           value: DesignSpeed,
+          mustHasValue: true
         },
         {
           name: "Structure",
           value: Structure,
+          mustHasValue: true
         },
         {
           name: "SubgradeWidth",
           value: featrueMap["subgradeWidth"] ? featrueMap["subgradeWidth"].value : "",
+          mustHasValue: true
         },
         {
           name: "RoadLength",
           value: featrueMap["roadLength"] ? featrueMap["roadLength"].value : "",
+          mustHasValue: true
         },
         {
           name: "BridgeLength",
           value: featrueMap["bridgeLength"] ? featrueMap["bridgeLength"].value : "",
+          mustHasValue: true
         },
         {
           name: "TunnelLength",
           value: featrueMap["tunnelLength"] ? featrueMap["tunnelLength"].value : "",
+          mustHasValue: true
         },
         {
           name: "BriTunRate",
           value: featrueMap["briTunRate"] ? featrueMap["briTunRate"].value : "",
+          mustHasValue: true
         },
         {
           name: "InterchangeNum",
           value: featrueMap["interchangeNum"] ? featrueMap["interchangeNum"].value : "",
+          mustHasValue: true
         },
         {
           name: "StubLengths",
           value: featrueMap["stubLengths"] ? featrueMap["stubLengths"].value : "",
+          mustHasValue: true
         },
         {
           name: "LaneLength",
           value: featrueMap["laneLength"] ? featrueMap["laneLength"].value : "",
+          mustHasValue: true
         },
       ];
       Element.call(this, "Params", attrs);
@@ -1466,7 +1499,7 @@ INTERFACE_EXPORT = (() => {
         //if (i.dispName == "编制日期") key = "编制时间";
         baseMap[key] = i;
       }
-
+      //mustHasValue  
       const attrs = [{
           name: "ValuationModel",
           value: property.taxType,
@@ -1478,6 +1511,7 @@ INTERFACE_EXPORT = (() => {
         {
           name: "Designer",
           value: baseMap["designUnit"] ? baseMap["designUnit"].value : "",
+          mustHasValue:true
         },
         {
           name: "Compile",
@@ -1490,54 +1524,67 @@ INTERFACE_EXPORT = (() => {
         {
           name: "CompileCertNo",
           value: baseMap["compileCertNo"] ? baseMap["compileCertNo"].value : "",
+          mustHasValue:true
         },
         {
           name: "CompileDate",
-          value: baseMap["compileDate"] ? baseMap["compileDate"].value : "",
+          value: baseMap["compileDate"] && baseMap["compileDate"].value != "" ? baseMap["compileDate"].value + "T00:00:00" : "",
+          mustHasValue:true
         },
         {
           name: "Review",
           value: baseMap["reviewUnit"] ? baseMap["reviewUnit"].value : "",
+          mustHasValue:true
         },
         {
           name: "ReviewApprover",
           value: baseMap["reviewApprover"] ? baseMap["reviewApprover"].value : "",
+          mustHasValue:true
         },
         {
           name: "ReviewCertNo",
           value: baseMap["reviewCertNo"] ? baseMap["reviewCertNo"].value : "",
+          mustHasValue:true
         },
         {
           name: "ReviewDate",
-          value: baseMap["reviewDate"] ? baseMap["reviewDate"].value : "",
+          value: baseMap["reviewDate"] && baseMap["reviewDate"].value != "" ? baseMap["reviewDate"].value + "T00:00:00" : "",
+          mustHasValue:true
         },
         {
           name: "Examine",
           value: baseMap["examineUnit"] ? baseMap["examineUnit"].value : "",
+          mustHasValue:true
         },
         {
           name: "ExamineApprover",
           value: baseMap["examineApprover"] ? baseMap["examineApprover"].value : "",
+          mustHasValue:true
         },
         {
           name: "ExamineCertNo",
           value: baseMap["examineCertNo"] ? baseMap["examineCertNo"].value : "",
+          mustHasValue:true
         },
         {
           name: "ExamineDate",
-          value: baseMap["examineDate"] ? baseMap["examineDate"].value : "",
+          value: baseMap["examineDate"] && baseMap["examineDate"].value != "" ? baseMap["examineDate"].value + "T00:00:00" : "",
+          mustHasValue:true
         },
         {
           name: "CompileExplain",
           value: baseMap["compileExplain"] ? baseMap["compileExplain"].value : "",
+          mustHasValue:true
         },
         {
           name: "ExamineExplain",
           value: baseMap["examineExplain"] ? baseMap["examineExplain"].value : "",
+          mustHasValue:true
         },
         {
           name: "ProjectExplain",
           value: baseMap["projectExplain"] ? baseMap["projectExplain"].value : "",
+          mustHasValue:true
         },
       ];
       if (isBidInvitation) { //招标文件,则以下的8、12~18则不输出
@@ -1548,7 +1595,7 @@ INTERFACE_EXPORT = (() => {
     }
 
     let data = new CprjInfo(projectData.name); 
-    data.children.push(new SystemInfo());
+    data.children.push(new SystemInfo(projectData));
     data.children.push(new CostBasis());
     let seriNo = 1;
     let Rates = [];

+ 11 - 2
web/building_saas/standard_interface/import/guangdong_zhongshan.js

@@ -24,6 +24,12 @@ INTERFACE_IMPORT = (() => {
     "7":"独立隧道"
   }
   
+  function formateDataString(dstring) { 
+    if (!dstring || dstring == "") return "";
+    const strArr = dstring.split("T");
+    return strArr[0]
+  }
+
   async function entry(areaKey, xmlObj) {
     const {
       UTIL: {
@@ -53,23 +59,26 @@ INTERFACE_IMPORT = (() => {
       let roadGrade = "";
       if (RoadGradeMap[RoadGrade]) roadGrade = RoadGradeMap[RoadGrade];
 
+
+
       info = [
         { 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: 'compileDate', value: formateDataString(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: 'reviewDate', value: formateDataString(getValue(MakeInfo, ['_ReviewDate'])) },
         { key: 'startChainages', value: getValue(Params, ['_StartPileNo'])},
         { key: 'endChainages', value: getValue(Params, ['_EndPileNo']) },  
         { key: 'location', value: getValue(Params, ['_PrjArea']) },  
         { key: 'natureConstruction', value: natureConstruction },  
         { key: 'terrainCategory', value: terrainCategory },  
         { key: 'roadGrade', value: roadGrade },  
+        { key: 'makeDate', value: getValue(CprjInfo, ['SystemInfo','_MakeDate']) },  
 
       ]
       for (let t of EprjInfos) {