jpc_field.js 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. JpcFieldResult[JV.NODE_MASTER_FIELDS_EX] = {};
  31. if (rptTpl[JV.NODE_FIELD_MAP] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS_EX]) {
  32. for (let i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_MASTER_FIELDS_EX].length; i++) {
  33. 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);
  34. }
  35. }
  36. JpcFieldResult[JV.NODE_DETAIL_FIELDS_EX] = {};
  37. if (rptTpl[JV.NODE_FIELD_MAP] && rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS_EX]) {
  38. for (let i = 0; i < rptTpl[JV.NODE_FIELD_MAP][JV.NODE_DETAIL_FIELDS_EX].length; i++) {
  39. 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);
  40. }
  41. }
  42. //NODE_MASTER_FIELDS_EX
  43. return JpcFieldResult;
  44. },
  45. createSingle: function(fieldNode, parentObj, rptTpl, dataNodeName, sequence) {
  46. let me = this;
  47. if (fieldNode && fieldNode[JV.PROP_ID]) {
  48. let item = {};
  49. item[JV.PROP_ID] = fieldNode[JV.PROP_ID];
  50. item[JV.PROP_NAME] = fieldNode[JV.PROP_NAME];
  51. item[JV.PROP_DATA_TYPE] = fieldNode[JV.PROP_DATA_TYPE];
  52. item.DataNodeName = dataNodeName;
  53. item.DataSeq = sequence;
  54. parentObj[JV.PROP_ID + "_" + fieldNode[JV.PROP_ID]] = item;
  55. }
  56. }
  57. }
  58. module.exports = JpcField;