AdapterMetaData.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package com.yihu.ehr.model.entity.adapter;
  2. import com.yihu.ehr.common.constants.DictDataType;
  3. import com.yihu.ehr.common.constants.MetaDataType;
  4. import com.yihu.ehr.dbhelper.jdbc.DBHelper;
  5. import com.yihu.ehr.model.entity.BaseEntity;
  6. import com.yihu.ehr.model.entity.standard.StdMetaDataT;
  7. import com.yihu.ehr.util.operator.StringUtil;
  8. import org.json.JSONObject;
  9. /**
  10. * @author Air
  11. * @version 1.0
  12. * @created 2015.08.11 11:31
  13. */
  14. public class AdapterMetaData extends BaseEntity {
  15. private AdapterMetaDataT adapterMetaDataT;
  16. private AdapterDict adapterDict;
  17. private StdMetaDataT stdMetaDataT;
  18. public AdapterMetaData(AdapterMetaDataT adapterMetaDataT, DBHelper db) {
  19. setDBHelper(db);
  20. this.adapterMetaDataT = adapterMetaDataT;
  21. }
  22. public AdapterMetaDataT getAdapterMetaDataT() {
  23. return adapterMetaDataT;
  24. }
  25. public AdapterDict getAdapterDict() {
  26. if (adapterDict == null) {
  27. StdMetaDataT metaDataT = getStdMetaDataT();
  28. if (!StringUtil.isEmpty(metaDataT.getDictCode())) {
  29. JSONObject json = db.load("select id, std_dict_code, std_dict_id, org_dict_code,org_dict_id from adapter_dict where std_dict_code = ?", metaDataT.getDictCode());
  30. if (json != null) {
  31. AdapterDictT adapterDictT = new AdapterDictT();
  32. adapterDictT.setId(json.getInt("id"));
  33. adapterDictT.setStdDictCode(json.getString("std_dict_code"));
  34. if (!json.isNull("org_dict_code")) {
  35. adapterDictT.setOrgDictCode(json.getString("org_dict_code"));
  36. }
  37. adapterDictT.setStdDictId(json.getInt("std_dict_id"));
  38. if (!json.isNull("org_dict_id")) {
  39. adapterDictT.setOrgDictId(json.getInt("org_dict_id"));
  40. }
  41. adapterDict = new AdapterDict(adapterDictT, db);
  42. }
  43. }
  44. }
  45. return adapterDict;
  46. }
  47. public StdMetaDataT getStdMetaDataT() {
  48. if (stdMetaDataT == null) {
  49. JSONObject json = db.load("select id, code, dict_code, dict_value_type, type from std_metadata where id = ?", adapterMetaDataT.getStdMetadataId());
  50. if (json != null) {
  51. stdMetaDataT = new StdMetaDataT();
  52. stdMetaDataT.setId(json.getInt("id"));
  53. if (!json.isNull("code")) {
  54. stdMetaDataT.setCode(json.getString("code"));
  55. }
  56. if (!json.isNull("type")) {
  57. stdMetaDataT.setType(json.getString("type"));
  58. }
  59. if (!json.isNull("dict_code")) {
  60. stdMetaDataT.setDictCode(json.getString("dict_code"));
  61. }
  62. if (!json.isNull("dict_value_type") && json.getString("dict_value_type").length()>0) {
  63. stdMetaDataT.setDictValueType(json.getInt("dict_value_type"));
  64. }
  65. }
  66. return stdMetaDataT;
  67. }
  68. return stdMetaDataT;
  69. }
  70. public DictDataType getOrgDictDataType() {
  71. Integer orgDictDataType = adapterMetaDataT.getOrgDictDataType();
  72. if (orgDictDataType == null){
  73. return DictDataType.VALUE;
  74. }
  75. return DictDataType.values()[orgDictDataType];
  76. }
  77. public DictDataType getStdDictDataType() {
  78. if (stdMetaDataT == null) {
  79. getStdMetaDataT();
  80. }
  81. String dictCode = stdMetaDataT.getDictCode();
  82. String type = stdMetaDataT.getType();
  83. int dictValueType;
  84. if (!StringUtil.isEmpty(dictCode) && (type.equals(MetaDataType.S2.name()) || type.equals(MetaDataType.S3.name()))) {
  85. dictValueType = DictDataType.CODE.ordinal();
  86. } else {
  87. dictValueType = DictDataType.VALUE.ordinal();
  88. }
  89. return DictDataType.values()[dictValueType];
  90. }
  91. }