| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | 
							- 'use strict';
 
- const JV = require('./jpc_value_define');
 
- const JpcField = {
 
-     createNew: function(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]);
 
-             }
 
-         }
 
-         return JpcFieldResult;
 
-     },
 
-     createSingle: function(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: function(fieldNode, parentObj) {
 
-         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];
 
-             parentObj[JV.PROP_ID + '_' + fieldNode[JV.PROP_ID]] = item;
 
-         }
 
-     },
 
- };
 
- module.exports = JpcField;
 
 
  |