瀏覽代碼

导入18Excel,识别父项调整

MaiXinRong 4 年之前
父節點
當前提交
a078f8d0e1
共有 1 個文件被更改,包括 7 次插入2 次删除
  1. 7 2
      app/lib/analysis_excel.js

+ 7 - 2
app/lib/analysis_excel.js

@@ -323,9 +323,12 @@ class ImportStd18Tree extends ImportBaseTree {
      * @private
      */
     _checkParent(parent, code) {
+        if (code === 'LJ0703') console.log(parent.code, code);
+        const codeNumberPart = code.replace(gdXmjPartReg, '');
         if (!parent.code) return false;
         const numberPart = parent.code.replace(gdXmjPartReg, '');
-        if (!numberPart) return false;
+        if (code === 'LJ0703') console.log(numberPart, codeNumberPart);
+        if (!numberPart || !codeNumberPart || numberPart.length >= codeNumberPart.length) return false;
         return code.indexOf(numberPart) === 0 ||
             code.indexOf('G' + numberPart) === 0 ||
             code.indexOf('GD' + numberPart) === 0;
@@ -355,7 +358,7 @@ class ImportStd18Tree extends ImportBaseTree {
      */
     findSubXmjParent(code) {
         let parent = this.cacheSubXmjNode;
-        while (parent && parent.code.match(subReg)) {
+        while (parent && parent.is_sub && parent.code.match(subReg)) {
             if (this._checkParent(parent, code)) return parent;
             parent = this.nodes[parent.ledger_pid];
         }
@@ -385,9 +388,11 @@ class ImportStd18Tree extends ImportBaseTree {
         super.defineCacheData(node);
         if (node.code) {
             if (node.code.match(mainReg)) {
+                node.is_main = true;
                 this.cacheMainXmjNode = node;
                 this.cacheSubXmjNode = null;
             } else if (node.code.match(subReg)) {
+                node.is_sub = true;
                 this.cacheSubXmjNode = node;
             }
             if (node.code.match(specCode106.reg)) {