jpc_field.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. let JV = require('./jpc_value_define');
  2. let JpcField = {
  3. createNew: function(rptTpl) {
  4. let JpcFieldResult = {};
  5. let me = this;
  6. JpcFieldResult[JV.NODE_DISCRETE_FIELDS] = {};
  7. if (rptTpl[JV.NODE_FIELD_MAP] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DISCRETE_FIELDS]) {
  8. for (let i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DISCRETE_FIELDS].length; i++) {
  9. me.createSingle(rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DISCRETE_FIELDS][i], JpcFieldResult[JV.NODE_DISCRETE_FIELDS], rptTpl, JV.DATA_DISCRETE_DATA, i);
  10. }
  11. }
  12. JpcFieldResult[JV.NODE_MASTER_FIELDS] = {};
  13. if (rptTpl[JV.NODE_FIELD_MAP] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS]) {
  14. for (let i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS].length; i++) {
  15. me.createSingle(rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS][i], JpcFieldResult[JV.NODE_MASTER_FIELDS], rptTpl, JV.DATA_MASTER_DATA, i);
  16. }
  17. }
  18. JpcFieldResult[JV.NODE_DETAIL_FIELDS] = {};
  19. if (rptTpl[JV.NODE_FIELD_MAP] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS]) {
  20. for (let i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS].length; i++) {
  21. me.createSingle(rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS][i], JpcFieldResult[JV.NODE_DETAIL_FIELDS], rptTpl, JV.DATA_DETAIL_DATA, i);
  22. }
  23. }
  24. JpcFieldResult[JV.NODE_NO_MAPPING_FIELDS] = {};
  25. if (rptTpl[JV.NODE_NO_MAPPING_FIELDS]) {
  26. for (let i = 0; i < rptTpl[JV.NODE_NO_MAPPING_FIELDS].length; i++) {
  27. me.createSingle(rptTpl[JV.NODE_NO_MAPPING_FIELDS][i], JpcFieldResult[JV.NODE_NO_MAPPING_FIELDS], rptTpl, "NA", JV.BLANK_FIELD_INDEX);
  28. }
  29. }
  30. //
  31. return JpcFieldResult;
  32. },
  33. createSingle: function(fieldNode, parentObj, rptTpl, dataNodeName, sequence) {
  34. let me = this;
  35. if (fieldNode && fieldNode[JV.PROP_ID]) {
  36. let item = {};
  37. item[JV.PROP_ID] = fieldNode[JV.PROP_ID];
  38. item[JV.PROP_NAME] = fieldNode[JV.PROP_NAME];
  39. item[JV.PROP_DATA_TYPE] = fieldNode[JV.PROP_DATA_TYPE];
  40. item.DataNodeName = dataNodeName;
  41. item.DataSeq = sequence;
  42. parentObj[JV.PROP_ID + "_" + fieldNode[JV.PROP_ID]] = item;
  43. }
  44. }
  45. }
  46. module.exports = JpcField;