|
@@ -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)) {
|