jpc_field.js 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. if (fieldNode && fieldNode[JV.PROP_ID]) {
  47. let item = {};
  48. item[JV.PROP_ID] = fieldNode[JV.PROP_ID];
  49. item[JV.PROP_NAME] = fieldNode[JV.PROP_NAME];
  50. item[JV.PROP_DATA_TYPE] = fieldNode[JV.PROP_DATA_TYPE];
  51. item.DataNodeName = dataNodeName;
  52. item.DataSeq = sequence;
  53. parentObj[JV.PROP_ID + "_" + fieldNode[JV.PROP_ID]] = item;
  54. }
  55. }
  56. };
  57. module.exports = JpcField;