فهرست منبع

fix: 安徽马鞍山接口,工程所在地所在数据由工程特征变更为基本信息

vian 5 سال پیش
والد
کامیت
31b444135b

+ 5 - 5
web/building_saas/standard_interface/export/anhui_maanshan.js

@@ -572,7 +572,7 @@ INTERFACE_EXPORT = (() => {
         if (!midLayerMap[midLayerKey]) {
           jingJiBiao.children.push(midLayerMap[midLayerKey] = new Dxgcxx(midLayerCode, midLayerName));
         }
-        midLayerMap[midLayerKey].children.push(setupTender(tenderData, feature));
+        midLayerMap[midLayerKey].children.push(setupTender(tenderData, information, feature));
       }
       // 校验信息
       const [cpuID, diskID, macID] = generateHardwareId().split(';');
@@ -596,7 +596,7 @@ INTERFACE_EXPORT = (() => {
     const projectGLJMap = {}; // 项目人材机与项目人材机数据映射
 
     // 组装单位工程数据
-    function setupTender(tenderData, feature) {
+    function setupTender(tenderData, info, feature) {
       curDetail = tenderDetailMap[tenderData.ID];
       curDetail.projectGLJ.datas.gljList.forEach((glj, index) => {
         projectGLJIDToRcjID[glj.id] = index + 1;
@@ -604,7 +604,7 @@ INTERFACE_EXPORT = (() => {
       });
       const dwgcxx = new Dwgcxx(tenderData.name, feature);
       dwgcxx.children.push(
-        setupFeeRate(curDetail.FeeRate, feature),
+        setupFeeRate(curDetail.FeeRate, info),
         setupBills(curDetail.mainTree),
         ...setupGLJList(curDetail)
       );
@@ -612,7 +612,7 @@ INTERFACE_EXPORT = (() => {
     }
 
     // 组装费率数据
-    function setupFeeRate(feeRateDetail, feature) {
+    function setupFeeRate(feeRateDetail, info) {
       const qfxx = new Qfxx();
       const jjflb = new JjFlb();
       // 费率界面左侧底层数据
@@ -628,7 +628,7 @@ INTERFACE_EXPORT = (() => {
       // 除右侧数据外,还应拼凑工程所在地、费率标准的数据。
       const jjflx = new JjFlx();
       // 工程所在地取建设项目-基本信息中的“工程所在地”;
-      const locationItem = { name: '工程所在地', value: getValueByKey(feature, 'projLocation') };
+      const locationItem = { name: '工程所在地', value: getValueByKey(info, 'location') };
       jjflx.children.push(new JjFlxMx(locationItem));
       // 费率标准取,费率-重选标准中当前用的费率标准名称。
       const feeRateStandardItem = { name: '费率标准', value: feeRateDetail.datas.libName };

+ 11 - 8
web/building_saas/standard_interface/import/anhui_maanshan.js

@@ -43,6 +43,16 @@ INTERFACE_IMPORT = (() => {
         { key: 'compilationTime', value: getValue(projectSrc, ['ZhaoBiaoXx', '_BzTime']) },
         { key: 'reviewTime', value: getValue(projectSrc, ['ZhaoBiaoXx', '_FhTime']) },
       ];
+      // 工程所在地,以第一个单位工程为准,在费率项中
+      const firstEng = arrayValue(projectSrc, ['Dxgcxx'])[0];
+      const firstTender = firstEng ? arrayValue(firstEng, ['Dwgcxx'])[0] : null;
+      if (firstTender) {
+        const feeRateItems = arrayValue(firstTender, ['Qfxx', 'JjFlx', 'JjFlxMx']);
+        const locationItem = feeRateItems.find(item => getValue(item, ['_Mc']) === '工程所在地');
+        if (locationItem) {
+          info.push({ key: 'location', value: getValue(locationItem, ['_ShuZhi']) });
+        }
+      }
       if (['淮北', '铜陵'].includes(subArea)) {
         const extraInfo = [
           { key: 'tendereeTaxpayerIdentificationNo', value: getValue(projectSrc, ['ZhaoBiaoXx', '_ZbrNssbh']) },
@@ -57,18 +67,11 @@ INTERFACE_IMPORT = (() => {
 
     // 提取工程特征信息,xml中提取出来的工程特征,最终会与模板工程特征进行合并处理。(接口内不需要处理合并)
     function setupFeature(midSrc, tenderSrc) {
-      const feature = [
+      return [
         { key: 'singleProjNo', value: getValue(midSrc, ['_Dxgcbh']) }, // 单项工程编号
         { key: 'singleProjName', value: getValue(midSrc, ['_Dxgcmc']) }, // 单项工程名称
         { key: 'unitProjNo', value: getValue(tenderSrc, ['_Dwgcbh']) },
       ];
-      // 工程所在地在费率项中
-      const feeRateItems = arrayValue(tenderSrc, ['Qfxx', 'JjFlx', 'JjFlxMx']);
-      const locationItem = feeRateItems.find(item => getValue(item, ['_Mc']) === '工程所在地');
-      if (locationItem) {
-        feature.push({ key: 'location', value: getValue(locationItem, ['_ShuZhi']) });
-      }
-      return feature;
     }
 
     // 费率值映射表,“接口中可有效识别的费率值类型值,此接口是Bm”与“软件中对应费率标准的名称”映射。