| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | 'use strict';const JV = require('./jpc_value_define');const JpcField = {    createNew(rptTpl) {        const JpcFieldResult = {};        const me = this;        JpcFieldResult[JV.NODE_DISCRETE_FIELDS] = {};        if (rptTpl[JV.NODE_FIELD_MAP] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DISCRETE_FIELDS]) {            for (let i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DISCRETE_FIELDS].length; i++) {                me.createSingle(rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DISCRETE_FIELDS][i], JpcFieldResult[JV.NODE_DISCRETE_FIELDS], rptTpl, JV.DATA_DISCRETE_DATA, i);            }        }        JpcFieldResult[JV.NODE_MASTER_FIELDS] = {};        if (rptTpl[JV.NODE_FIELD_MAP] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS]) {            for (let i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS].length; i++) {                me.createSingle(rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS][i], JpcFieldResult[JV.NODE_MASTER_FIELDS], rptTpl, JV.DATA_MASTER_DATA, i);            }        }        JpcFieldResult[JV.NODE_DETAIL_FIELDS] = {};        if (rptTpl[JV.NODE_FIELD_MAP] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS]) {            for (let i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS].length; i++) {                me.createSingle(rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS][i], JpcFieldResult[JV.NODE_DETAIL_FIELDS], rptTpl, JV.DATA_DETAIL_DATA, i);            }        }        JpcFieldResult[JV.NODE_NO_MAPPING_FIELDS] = {};        if (rptTpl[JV.NODE_NO_MAPPING_FIELDS]) {            for (let i = 0; i < rptTpl[JV.NODE_NO_MAPPING_FIELDS].length; i++) {                me.createSingle(rptTpl[JV.NODE_NO_MAPPING_FIELDS][i], JpcFieldResult[JV.NODE_NO_MAPPING_FIELDS], rptTpl, 'NA', JV.BLANK_FIELD_INDEX);            }        }        JpcFieldResult[JV.NODE_MASTER_FIELDS_EX] = {};        if (rptTpl[JV.NODE_FIELD_MAP] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS_EX]) {            for (let i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS_EX].length; i++) {                me.createSingle(rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS_EX][i], JpcFieldResult[JV.NODE_MASTER_FIELDS_EX], rptTpl, JV.DATA_MASTER_DATA_EX, i);            }        }        JpcFieldResult[JV.NODE_DETAIL_FIELDS_EX] = {};        if (rptTpl[JV.NODE_FIELD_MAP] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS_EX]) {            for (let i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS_EX].length; i++) {                me.createSingle(rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS_EX][i], JpcFieldResult[JV.NODE_DETAIL_FIELDS_EX], rptTpl, JV.DATA_DETAIL_DATA_EX, i);            }        }        JpcFieldResult[JV.NODE_SIGNATURE_FIELDS] = {};        if (rptTpl[JV.NODE_SIGNATURE_FIELDS]) {            for (let i = 0; i < rptTpl[JV.NODE_SIGNATURE_FIELDS].length; i++) {                me.createSignatureSingle(rptTpl[JV.NODE_SIGNATURE_FIELDS][i], JpcFieldResult[JV.NODE_SIGNATURE_FIELDS], i);            }        }        return JpcFieldResult;    },    createSingle(fieldNode, parentObj, rptTpl, dataNodeName, sequence) {        if (fieldNode && fieldNode[JV.PROP_ID]) {            const item = {};            item[JV.PROP_ID] = fieldNode[JV.PROP_ID];            item[JV.PROP_NAME] = fieldNode[JV.PROP_NAME];            item[JV.PROP_DATA_TYPE] = fieldNode[JV.PROP_DATA_TYPE];            if (fieldNode[JV.PROP_PRECISION]) {                item[JV.PROP_PRECISION] = {};                item[JV.PROP_PRECISION].type = fieldNode[JV.PROP_PRECISION].type;                if (fieldNode[JV.PROP_PRECISION].type === 'fixed') {                    item[JV.PROP_FIXED_PRECISION_AMT] = fieldNode[JV.PROP_FIXED_PRECISION_AMT];                } else {                    item[JV.PROP_PRECISION][JV.PROP_FLEXIBLE_REF_FILED_ID] = fieldNode[JV.PROP_PRECISION][JV.PROP_FLEXIBLE_REF_FILED_ID];                    item.flexiblePrecisionRefObj = fieldNode.flexiblePrecisionRefObj;                }            }            if (fieldNode.hasOwnProperty('isPic')) {                item.isPic = fieldNode.isPic;            }            item.DataNodeName = dataNodeName;            item.DataSeq = sequence;            parentObj[JV.PROP_ID + '_' + fieldNode[JV.PROP_ID]] = item;        }    },    createSignatureSingle(fieldNode, parentObj, order) {        if (fieldNode && fieldNode[JV.PROP_ID]) {            const item = {};            item[JV.PROP_ID] = fieldNode[JV.PROP_ID];            item[JV.PROP_NAME] = fieldNode[JV.PROP_NAME];            item[JV.PROP_DATA_TYPE] = fieldNode[JV.PROP_DATA_TYPE];            item[JV.PROP_PATH] = fieldNode[JV.PROP_PATH];            item[JV.PROP_PIC_STREAM] = fieldNode[JV.PROP_PIC_STREAM];            item[JV.PROP_FIELD_ORDER] = order; // 签名需要这个order            parentObj[JV.PROP_ID + '_' + fieldNode[JV.PROP_ID]] = item;        }    },};module.exports = JpcField;
 |